今天想本来想升级下k8s集群gpu驱动,卸载完nvidia驱动后,重启机器后出现了错误,心里一想BBQ了,让我们一起看下什么原因。

[ 123.821843] kernel: raid6: sse2x2 xor() 10749 MB/s
[ 123.869854] kernel: raid6: sse2x1 gen() 9156 MB/s
[ 123.917855] kernel: raid6: sse2x1 xor() 8156 MB/s
[ 123.918581] kernel: raid6: using algorithm avx2x4 gen() 31519 MB/s
[ 123.919184] kernel: raid6: .... xor() 18883 MB/s, rmw enabled
[ 123.919784] kernel: raid6: using avx2x2 recovery algorithm
[ 123.921653] kernel: xor: automatically using best checksumming function avx
[ 123.924056] kernel: async_tx: api initialized (async)

原因分析: 这是由于开源GPU驱动nouveau先于安装的nvidia驱动加载,导致内核模块冲突。解决办法只需要在系统中,限制开源驱动nouveau加载并重启机器就可以了。

限制方法: 1,在/etc/modprobe.d/blacklist.conf文件末尾追加如下内容:

blacklist nouveaub
lacklist lbm-nouveauoptions
nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

2,卸载nouveau内核模块,加载nvidia内核模块。

# rmmod nouveau

3,重新生成kernel initramfs文件并重启机器

# update-initramfs -u
# reboot