Centos + TeslaV100 + docker

2019.7.3 出差归来,开始部署GPU服务器,一顿操作下来,安装成功... ... ,一直运行到2019.8.23号,期间遇到过一些问题,也做过一些记录,但事情繁杂,需要时发现以找不到,于是,决定简书上开始记录之旅!


问题缘由:2019.8.23 下午,准备运行jupyter notebook上的文件,发现连接已断,putty也是连接不上。

发现问题:去机房查看,发现是同时安装另一台服务器系统时,不小心碰到了GPU服务器的电源。

解决问题:重启电脑后查看显卡:


命令:lspci | grep NVIDIA        【Tip: NVIDIA 需要大写】

可以检测到显卡信息

命令:nvidia-smi

无法连接到英伟达驱动

自己之前命名安装好了Nvidia驱动,怎么现在就报错了呢?没有办法,关掉电脑,下班回家,平复下心情,周六再来弄!

上网查询资料后,发现可能是由非正常关机导致的,解决方法是只能重装(恰好可以在熟练一遍

开始重装吧,记录一下:


目前 显卡驱动 安装方式有三种

1、CUDA(.run) 下载以后安装带上显卡驱动

2、显卡驱动 .run文件安装 (我采用的是这种方式

3、集成软件包安装(yum等)

接下来介绍第二种安装方式的卸载方法:

找到 .run 文件,执行以下命令:

命令:sh NVIDIA-Linux-x86_64-418.67.run --uninstall


开始卸载


手太快,这是第二遍卸载的显示

开始安装:

命令:sh NVIDIA-Linux-x86_64-418.67.run -no-opengl-files

报错了


前去机房,把在机房登录的桌面账户(注销),仍然出现如上的错误。


以下转自:https://www.jianshu.com/p/36dcf5185f01

图形界面 X Server的关闭与启动

Linux图形界面多数使用的是X Server,我们优势需要关闭/重启它。比如:安装NVIDIA的驱动程序时,就需要先关闭X server;希望让系统以server方式运行,关闭桌面环境以降低不必要的性能损耗。

Ubuntu 16.04 管理 x server

1. 用gdm管理


如果 /etc/init.d 下面没有gdm的话,可以尝试另一种方法

2. 用lightdm管理


3. 用service管理


centos7 管理 x server




所以首先查看下 X server的状态

命令:sudo systemctl status gdm.service

命令:sudo systemctl stop gdm.service

再执行:

sh NVIDIA-Linux-x86_64-418.67.run -no-opengl-files

此时,报如下错误:

ok 有错误是好事


是否需要帮助你创建使Nouveau disable的文件


需要重启,如果想要再启动Nouveau的话,请删除这些文件


找到 /usr/lib/modprobe.d/nvidia-installer-disable-nouveau.conf

打开后查看内容:


找到   /etc/modprobe.d/nvidia-installer-disable-nouveau.conf


两个文件同样的内容:

执行命令:lsmod | grep nouveau


linux中blacklist.conf解读

我们在linux中安装驱动,有时会遇到受限或冲突,通常解决方式都是要修改blacklist.conf,那么如何认识和深入了解它呢?下面就解读下

一、blacklist黑名单

对内核模块来说,黑名单是指禁止某个模块装入的机制

在 /etc/modprobe.d/中创建.conf文件,使用blacklist关键字屏蔽不需要的模块。

重新建立 initramfs image文件

## mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

# dracut /boot/initramfs-$(uname -r).img $(uname -r) 


执行命令:$(uname -r)

命令:reboot

默认进入第一个,报错

第二个,第三个内核可以执行成功:

但是,运行:lsmod | grep nouveau 

依旧如此

什么是Nouveau?

Nouveau是由第三方为NVIDIA显卡开发的一个开源3D驱动,也没能得到NVIDIA的认可与支持。虽然Nouveau Gallium3D在游戏速度上还远远和NVIDIA官方私有驱动相提并论,不过确让Linux更容易的应对各种复杂的NVIDIA显卡环境,让用户安装完系统即可进入桌面并且有不错的显示效果,所以,很多Linux发行版默认集成了Nouveau驱动,在遇到NVIDIA显卡时默认安装。企业版的Linux更是如此,几乎所有支持图形界面的企业Linux发行版都将Nouveau收入其中。

不过对于个人桌面用户来说,处于成长阶段的Nouveau并不完美,与企业版不一样,个人用户除了想让正常显示图形界面外很多时候还需要一些3D特效,Nouveau多数时候并不能完成,而用户在安装NVIDIA官方私有驱动的时候Nouveau又成为了障碍,不干掉Nouveau安装时总是报错。

nouveau 【百度百科】

这是一个旨在为nvidia的GPU建立高质量的,免费自由的开源驱动项目,nouveau"[nuvo]"与new谐音,是Linux KMS驱动的一部分,最新的版本在Linux内核中支持nvidia的帕斯卡构架。

nouveau是一个自由开放源代码CPU驱动程序,是为AMD的cpu所编写,也可用于系统芯片的高通系列,此驱动程序是由一群独立的软件工程师所编写,Nvidia的员工也提供了些微的帮助,微软也提供了很大的帮助,谷歌也不甘示弱地提供了尽可能多的帮助。


GRUB

GNU GRUB(GRand Unified Booloader简称“GRUB”)是一个来自GNU项目的操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内荣氏拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可以用于向这些内核传递启动参数。

GNU GRUB和GRUB是GRand Unified Bootloader的缩写,它是一个多重操作系统启动管理器。用来引导不同系统,如windows,linux。


Initramfs原理和实践

Linux系统启动时使用 initramfs(initram file system), initramfs可以在启动早期提供一个用户态环境,借助它可以完成一些内核在启动阶段不易完成的工作。当然 initramfs 是可选的,Linux中的内核编译选项默认开启initrd。


initramfs包含引导所需的所有硬件的内核模块,以及进入下一个引导阶段所需的初始脚本。在Centos/RHEL系统上,initramfs包含一个完整的操作系统(可用于故障排除)。

偶尔,initramfs镜像也可能会被损坏。如果发生这种情况,则无法将服务器启动到正常操作模式。要在引导到救援环境后修复initramfs镜像,可以使用dracut命令。如果不带参数使用,则此命令当前加载的内核创建新的initramfs。

或者,您可以使用带有多个选项的dracut命令为特定内核环境创建initramfs。还有一个名为 /etc/dracut.conf的配置文件,您可以在重新创建 initramfs时使用该文件包含特定选项。

initrd(rd-ramdisk)和initramfs(ramfs-ram file systme)之间的区别

几年前,Linux Torvalds有一个很好的想法:如果Linux的缓存可以像文件系统一样挂载会怎么样?只是将文件保存在缓存中,永远不要删除它们,直到它们被删除或系统重新启动,Linux在缓存周围写了一个名为“ramfs”的小包装器,其他内核开发人员创建了一个名为“tmpfs”的改进版本(它可以将数据写入交换空间,并限制给定安装点的大小,以便在消耗之前填满所有可能的内存)。Initramfs是tmpfs的一个实例。



本文链接:https://blog.csdn.net/fickyou/article/details/51331911

当Linux内核启动时,必须找到并执行第一个用户程序,通常是init。用户程序存放在文件系统,故Linux必须找到并挂载第一个文件系统。

通常,可用的文件系统都列在/etc/fstab,所以mount可以找到它们。但是/etc/fstab本身存在于文件系统中。因此,这类似鸡生蛋蛋生鸡的问题。

为解决该问题,内核开发者建立了内核命令列表选项 root=,用来指定root文件系统存在于那个设备上。

之前root通常位于软盘和硬盘上的分区。如今root文件系统可存在于各种不同类型的硬盘中,如flash等等。同时root文件系统也可能被进行各种形式的压缩,加密等等。

如果在内核中假如所有这些特殊案例,可以做到,但是就像用汇编语言写web软件。

解决方法

Linux2.6将一个小的ram-based initial root filesystem ( initramfs ) 包进内核,如果这个文件系统包含一个init程序,内核将执行它。

Ramdisk

是一个基于ram的block device,是一个大小固定的内存快,可像disk一样格式化和挂载。Ramdisk像所有的block device一样,它需要一个文件系统驱动。此外还有一些弊端,比如如果ramdisk没有满,那么它占有的额外内存不能被使用;如果满了,那么不能进行扩展。

由于caching,ramdisk浪费了更多的内存。Linux设计为缓存所有从block device中读取或写入的文件和目录,ramdisk(实际上也是在内存里)和caching一起,浪费很多内存。

Initrd

Boot loader Init Ram disk缩写,是一种机制,装载一个临时根文件系统到内存中,作为Linux startup process的一部分,为实际根文件系统的加载做准备。

对于2.4或更早的kernel来说,使用的是该方法。

Ramfs

后续Linux Torvalds有一个巧妙的想法:Linux的缓存是否可以被挂载为一个文件系统,只要保持文件在缓存中,且不将它们清除,直到它们被删除或系统重启。Linux写了一个小段程序将缓存包起来,称为ramfs,其他kernel的开发者建立一个加强版称为tmpfs(它可以写数据到swap,及限制挂载点的大小),initramfs就是tmpfs的一个实例。

Initramfs

Init ramfs缩写,是一种机制,装载一个临时根文件系统到内存中,作为Linux startup process的一部分,为实际根文件系统的加载做准备。

比较:

(1)initrd通常是一个单独的文件,initramfs通常和linux kernel映像在一起。

(2)Initrd进行了gzip压缩,有文件系统格式,比如ext2,需要kernel包含对于的驱动。然而initramfs是一个gzip cpio压缩,类似tar不过更简单。内核的cpio提取代码非常小。

(3) Initrd中的init会做一些设置,然后返回到kernel。Initramfs中init不会返回到kernel,它可能通过exec转到其他根文件系统

(4)当转到其他根设备时,initrd将pivot_root然后umount ramdisk。但是initramfs是rootfs,即不需要pivot_root,又不需要umount,只需要释放所有空间,然后转到其他rootfs即可。

(1) Linux内核只人cpio格式的initramfs文件包(因为unpack_to_rootfs只能解析cpio格式文件),非cpio格式的initramfs文件包将被系统抛弃,而initrd可以是cpio包也可以是传统的镜像(image)文件,实际使用中initrd都是传统镜像文件。

2) initramfs在编译内核的同时被编译并与内核连接成一个文件,它被链接到地址_initramfs_start处,与内核同时被bootloader加载到ram中,而initrd另外单独编译生成的,是一个独立的文件,它由bootloader单独加载到ram中内核空间外的地址,比如加载的地址为addr(是物理地址而非虚拟地址),大小为8MB,那么只要在命令行加入“initrd=addr" 8M” 命令,系统就可以找到initrd(当然通过适当修改Linux的目录结构,makefile文件和相关代码,以上两种情况都是可以相通的)。


总之,initrd使用了ramdisk,initramfs使用了ramfs。Initramfs机制比initrd机制要优越,是一种新的实现方式。


cpio基本介绍

cpio是一个非常古老的归档工具。已逐渐被tar替代,但是有些功能是tar不存在的,所以还是分享下它的用法。

cpio - copy files to and from archives

cpio用于创建、解压归档文件,也可以对归档文件进行拷入拷出的动作,即向归档文件中追加文件,或从归档文件中提取文件。它也支持tar格式的归档文件,但是对压缩后的tar(如.tar.gz格式)就没法支持了,cpio毕竟不会调用对应的(解)压缩工具。

cpio一般从标准输入获取数据,写入到标准输出,所以一般会结合管道、输入重定向、输出重定向使用。



重新建立 initramfs image文件

## mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

# dracut /boot/initramfs-$(uname -r).img $(uname -r) 


上面是之前的命令,运行后,reboot发现开机错误,原因是# dracut /boot/initramfs-$(uname -r).img $(uname -r) 这个命令没有执行成功!!!或者是 disk-blacklist-nouveau.conf的问题(之前是blacklist.conf)。


现改为如下流程:

命令:lsmod | grep nouveau

这回终于可以安装显卡驱动了!重复上面的安装方法!!!


命令:nvidia-smi

nvidia-docker run -it -p 8888:8888 --ipc=host -v /home/share:/share ufoym/deepo:all-py36-jupyter jupyter notebook --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token= --notebook-dir='/share'


运行jupyter book文件,terminal上安装 seaborn:

pip install seaborn

发现没有动......

执行:

systemctl stop firewalld.service

systemctl start smb.service

pip install seaborn 成功


书钟声敲,百炼成钢

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,864评论 6 494
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,175评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,401评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,170评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,276评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,364评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,401评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,179评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,604评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,902评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,070评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,751评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,380评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,077评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,312评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,924评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,957评论 2 351

推荐阅读更多精彩内容