ifLab回忆录——后门生

  第一篇先说说我是怎么进的社团吧。

  每年健翔桥这边的社团招新,说实话挺让人烦的,跟现在社会上浮夸之风类似,看似有序,实则混乱,看似百花齐放,实则败絮其中。当然这种说法不一定贴切,但大概就是大一小鲜肉看啥都新鲜,任社团宰割,到大二或者更以后,感受也就只剩下反感了。

  当年作为小鲜肉的我,看到这万花筒似得社团招新,不得不说也是有点茫然无措,只能雾里看花。作为对学生会的敬仰,同时对手机摄影比较有兴趣(请原谅我当年对摄影的无知),就报了校学生会和院学生会的宣传部。当时年少无知的我还用心的准备了PPT,好像是在PPT里面,我加入了之前玩无人机的一些照片。我确实记不清是不是因为这个,还是因为别的什么原因,校会的一个面试官(记不清是宣传部部长还是文艺部部长了)就把我推荐给了信息技术部的部长。于是我就阴差阳错的遇到了喆神,并顺利的通过了校会信技部的“面试”。

  到此,我才刚刚跟ifLab沾上一点边,因为喆神不但是校会信技部部长,还是ifLab里iOS组的组长。至于说那ifLab招新的时候我有没有关注到这个社团呢,我可以很负责的说,我确实看到了这个社团,但是已经被万花筒搞的晕头转向之后,我并没有关注到这个社团,因为它在招新中的存在感太低了。其次我也根本没搞明白ifLab是什么意思。所以我也就根本没有在意,自然更谈不上报名和面试的事,更不要提加入了。

  但是故事是不可能就此终结的,在和喆神深入交流了无人机相关内容后,我们又继续对iOS编程等话题展开讨论。由于我当时痴迷于苹果公司和乔布斯,非常想跳入iOS开发的大坑。最重要的是:因为喆神既是校会部长又是ifLab组长,于是ifLab就有了一个独特的“校会组”!而我,就成为了校会组的一员,走后门加入了ifLab。

「记录」在vSphere中基于Ubuntu Server 1604部署Docker,并安装CUDA,构建多层虚拟化深度学习开发环境

首先准备好Ubuntu Server 1604的虚拟机,只设定基本功能,不添加显卡直通等特殊功能,以便于基础环境完成后进行快照。

安装好系统后,进行ssh端口设置,apt换源,apt upgrade等基本操作,之后关机打快照。

1、 显卡直通

1.1、 添加显卡直通

勾选“预留所有客户机内存(全部锁定)”,并添加显卡PCI设备,确定修改。不在第一步直通显卡的话,之后的驱动安装可能有问题!

1.2、 修改虚拟机硬件配置参数

切换到“虚拟机硬件”选项卡。展开“高级”,修改“配置参数”。 在打开的“配置参数”对话框中,点击“添加配置参数”,填入“
hypervisor.cpuid.v0 = FALSE”
,确定修改。完成后务必再次进入“配置参数”,检查参数确实已经添加并保存!

1.3、 启动虚拟机并配置基本环境

配置网络、换源、更新软件包等

完成基本配置后建议对虚拟机生成快照!

2、 安装显卡驱动

2.1、 下载驱动

可以在 NVIDIA驱动下载 或者 Geforce显卡驱动下载 页面搜索并下载需要的驱动程序,也可以通过直接拼接资源链接:
http://cn.download.nvidia.com/XFree86/Linux-x86_64/[驱动版本号]/NVIDIA-Linux-x86_64-[驱动版本号].run,进行下载。比如我要下载430.14版本号的Linux驱动,可以直接在服务器运行以下代码:

2.2、 检查GPU

应该显示相应的PCI设备

2.3、 禁用nouveau

2.3、 安装显卡驱动

安装完驱动建议对虚拟机生成快照!

然后开机安装docker,去清华源帮助文档里找清华源安装方法。安装好之后配置docker远程管理,参考“docker 配置 TLS 认证开启远程访问”“Docker 守护进程+远程连接+安全访问+启动冲突解决办法 (完整收藏版)”。配置好docker之后关机打快照。

在ESXi中添加显卡直通,并启动。

2020年6月28日补充

2.4、安装CUDA

本处使用的CUDA安装文件是文章在19年6月初次完成时下载的,因此安装方法也是当时的安装方法。根据从英伟达官网的CUDA安装文档来看,最新的推荐安装方式似乎变成了用apt包管理器安装。但是根据最新的安装文档,我在操作过程中出现了两个问题:首先是所有的下载资源(包括软件源证书和软件包)都无法在中国大陆正常下载;另一个是安装后server系统会出现GUI界面。因此,我决定使用去年的安装包和安装方法。

安装完CUDA建议对虚拟机生成快照!

3、 安装Docker

3.1、 安装Docker

根据清华开源镜像站的帮助文档,安装Docker。

3.2、 安装nvidia-docker

安装并配置好docker建议对虚拟机生成快照!

4、 配置TLS远程管理,及Portainer接入

配置TLS远程管理是在Docker服务器(运行docker守护进程的服务器)进行配置,因此下面的$HOSTDocker服务器的IP

4.1、 修改openssl配置的CA部分

ubuntu 16.04 下 openssl 配置文件位置:/usr/lib/ssl/openssl.cnf,其他系统可参考

4.2、 生成私钥并自签证书

4.3、 颁发证书

4.4、 配置Docker使用TLS认证

4.5、 Portainer接入

如果已经添加过服务器,只更新TLS认证配置,则只需要上传相应证书:

/etc/docker/ssl/目录内的cert.pemkey.pem文件拷贝到本地,上传至Portainer。

上传证书

如果是新服务器,按照下面步骤进行添加:

配置好TLS远程管理后建议对虚拟机生成快照!

参考资料

docker 配置 TLS 认证开启远程访问

Docker 守护进程+远程连接+安全访问+启动冲突解决办法 (完整收藏版)

「记录」解决VSCode编辑Python文件时自动给过长的行换行问题

在使用VSCode写Python的时候,总是莫名其妙的被换行,记得之前已经改过一次全局的行长度限制,但问题依旧,本来懒得管了,最近写数据处理经常要写很长的 columns数组,实在受不了,记录下解决过程。

通过逐一排查插件确定了是官方的“
ms-python.python”插件导致了这个问题,排查设置没找到相关项。通过搜索发现是因为该插件默认使用了格式化工具“autopep8”,这个工具有默认行长度限制。需要添加参数修改此限制:

参考:visual studio code disable auto wrap long line

ifLab回忆录——序

  去年底曾老师邀请我写一些关于社团的文章,不仅可以作为社团存档,也算是经验分享和传承。我觉得既然要写,那就好好写一些,这样也可以给自己逝去的青葱岁月留下一些印记。

  我一直语文很差,文笔不行,也一直没兴趣增加这方面的技能点,所以这个系列大概怎么写、具体写那些、总共写多少,我完全没有概念。所以,我大约是要开新坑了,说起来我已经开过两个坑了,一个游记坑,一个书记坑,不多不多,加上这个才3个。(话说这篇都拖了好久。。。)

我只能说尽量吧,尽量做到一周一更,尽量不拖太久,尽量把这个坑填完。前面说了我文笔不行,所以还请各位多担待,要是我写的像流水账,或者前言不搭后语,或者排序混乱,请不要太介意,各位就当看茶余饭后看故事了。

  作为开篇,我就说说我大致会怎么写这些回忆录。我觉得一个很好的比喻是哈利波特里的冥想盆。我会把我所有关于ifLab的记忆都提取出来,不管是有趣的还是乏味的,都把他们放在回忆录里,大家可以随时查看。这些记忆会以一个一个小片段的形式来呈现,大体上是按照时间的先后顺序。但是这也不一定,也可能因为某个事情更有趣,或是因为某个事情更重要,又或是在某件事说到一半的时候需要解释一个前因而引出另一段往事,这都是有可能的。有些时候,记忆是残破的,也有时候记忆是经过修补的,甚至是艺术加工的,这都是正常情况,还请不要太较真。语言上则是口语化的,因为我觉得专门为这样一个轻松休闲的事情而大费脑筋,琢磨修辞,着实没啥意义,又不是写论文。