- A+
所属分类:系统运维
前言
今年年初,也就是半个月左右前吧,由于ubuntu的网络管理较为混乱,且在其中的桥接复用网络和docker似乎有冲突,再加上vps实践对centos7的熟悉度的提升。我把家中的机器换成了centos7,并于之后升级了elrepo的4.9.6内核,用着还不错,还使我对docker和文件系统有一定的思考。这点以后再谈吧。
笔者个人认为比较有用的zfs特性
部署后保留ZFS是因为其去重能力,和其储存池概念。获得了较为大的文件系统,且能一块为单位节省下kvm虚拟机的镜像储存空间。对于希望使用软raid的用户可以试着用一下zfs的raidz。这里因为熟悉命令较晚,暂时没法导出数据重建pool了就不测试了。
部署介绍
1.添加zfs源
首先需要添加zfs源、epel源,并安装对于内核devel包,这里笔者已经添加了阿里的epel源,如有需要可以自行选择合适的epel源。
1 | yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el7.noarch.rpm |
2.安装
之后是没有什么好说的,只需要yum安装
1 | yum install kernel-devel zfs |
这里笔者因为使用了elrepo的kernel-ml内核,并且需要使用图形界面,所以在之前已经安装了kernel-ml-devel-4.9.6-1.el7.elrepo.x86_64包用于编译显卡驱动,所以无需安装kernel的devel包了
1 2 3 | [joshua@joshua ~]$ sudo yum install zfs 已加载插件:fastestmirror, langpacks base ecode:true">http://download.zfsonlinux.org/epel/7/x86_64/spl-dkms-0.6.5.9-1.el7.centos.noarch.rpm: [Errno 12] Timeout on http://download.zfsonlinux.org/epel/7/x86_64/spl-dkms-0.6.5.9-1.el7.centos.noarch.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds') |
因此,笔者只有在vps上wget相关的rpm包,再传回本地进行安装,这里由于是将缺失的包放在一起,省事使用了通配
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | sudo yum localinstall *.rpm 。。。。。。。。 --> 正在处理依赖关系 libuutil.so.1()(64bit),它被软件包 libzpool2-0.6.5.9-1.el7.centos.x86_64 需要 软件包 spl-dkms.noarch.0.0.6.5.9-1.el7.centos 将被 安装 正在处理依赖关系 dkms >= 2.2.0.2,它被软件包 spl-dkms-0.6.5.9-1.el7.centos.noarch 需要 软件包 zfs.x86_64.0.0.6.5.9-1.el7.centos 将被 安装 --> 正在处理依赖关系 libzfs2 = 0.6.5.9,它被软件包 zfs-0.6.5.9-1.el7.centos.x86_64 需要 --> 正在处理依赖关系 spl = 0.6.5.9,它被软件包 zfs-0.6.5.9-1.el7.centos.x86_64 需要 --> 正在处理依赖关系 libzfs.so.2()(64bit),它被软件包 zfs-0.6.5.9-1.el7.centos.x86_64 需要 --> 正在处理依赖关系 libzfs_core.so.1()(64bit),它被软件包 zfs-0.6.5.9-1.el7.centos.x86_64 需要 ---> 软件包 zfs-dkms.noarch.0.0.6.5.9-1.el7.centos 将被 安装 --> 正在检查事务 ---> 软件包 dkms.noarch.0.2.3-1.20161202gitde1dca9.el7 将被 安装 ---> 软件包 libnvpair1.x86_64.0.0.6.5.9-1.el7.centos 将被 安装 ---> 软件包 libuutil1.x86_64.0.0.6.5.9-1.el7.centos 将被 安装 ---> 软件包 libzfs2.x86_64.0.0.6.5.9-1.el7.centos 将被 安装 ---> 软件包 spl.x86_64.0.0.6.5.9-1.el7.centos 将被 安装 --> 解决依赖关系完成 Loading new spl-0.6.5.9 DKMS files... dpkg:警告:版本号 3.10.0-514.6.1.el7.x86_64语法错误:修订号含无效字符 dpkg:警告:版本号 3.10.0-514.6.1.el7.x86_64 3.10.0 语法错误:修订号含无效字符 dpkg:警告:版本号 3.10.0-514.el7.x86_64 语法错误:修订号含无效字符 dpkg:警告:版本号 3.10.0-514.6.1.el7.x86_64 3.10.0 语法错误:修订号含无效字符 dpkg:警告:版本号 4.9.5-1.el7.elrepo.x86_64 语法错误:修订号含无效字符 dpkg:警告:版本号 3.10.0-514.el7.x86_64 语法错误:修订号含无效字符 dpkg:警告:版本号 4.9.6-1.el7.elrepo.x86_64 语法错误:修订号含无效字符 Building for 4.9.6-1.el7.elrepo.x86_64 Building initial module for 4.9.6-1.el7.elrepo.x86_64 Done . spl: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/ splat.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/ Adding any weak-modules modprobe: FATAL: could not get modversions of /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/spl.ko: No such file or directory Warning: Module spl.ko from kernel 4.9.6-1.el7.elrepo.x86_64 has no modversions, so it cannot be reused for kernel 3.10.0-514.6.1.el7.x86_64 modprobe: FATAL: could not get modversions of /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/splat.ko: No such file or directory Warning: Module splat.ko from kernel 4.9.6-1.el7.elrepo.x86_64 has no modversions, so it cannot be reused for kernel 3.10.0-514.6.1.el7.x86_64 modprobe: FATAL: could not get modversions of /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/spl.ko: No such file or directory Warning: Module spl.ko from kernel 4.9.6-1.el7.elrepo.x86_64 has no modversions, so it cannot be reused for kernel 3.10.0-514.el7.x86_64 modprobe: FATAL: could not get modversions of /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/splat.ko: No such file or directory Warning: Module splat.ko from kernel 4.9.6-1.el7.elrepo.x86_64 has no modversions, so it cannot be reused for kernel 3.10.0-514.el7.x86_64 modprobe: FATAL: could not get modversions of /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/spl.ko: No such file or directory Warning: Module spl.ko from kernel 4.9.6-1.el7.elrepo.x86_64 has no modversions, so it cannot be reused for kernel 4.9.5-1.el7.elrepo.x86_64 modprobe: FATAL: could not get modversions of /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/splat.ko: No such file or directory Warning: Module splat.ko from kernel 4.9.6-1.el7.elrepo.x86_64 has no modversions, so it cannot be reused for kernel 4.9.5-1.el7.elrepo.x86_64 depmod... DKMS: install completed. 正在安装 : zfs-dkms-0.6.5.9-1.el7.centos.noarch 6/9 Loading new zfs-0.6.5.9 DKMS files... dpkg:警告:版本号 3.10.0-514.6.1.el7.x86_64 语法错误:修订号含无效字符 dpkg:警告:版本号 3.10.0-514.6.1.el7.x86_64 3.10.0 语法错误:修订号含无效字符 dpkg:警告:版本号 3.10.0-514.el7.x86_64 语法错误:修订号含无效字符 dpkg:警告:版本号 3.10.0-514.6.1.el7.x86_64 3.10.0 语法错误:修订号含无效字符 dpkg:警告:版本号 4.9.5-1.el7.elrepo.x86_64 语法错误:修订号含无效字符 dpkg:警告:版本号 3.10.0-514.el7.x86_64 语法错误:修订号含无效字符 dpkg:警告:版本号 4.9.6-1.el7.elrepo.x86_64 语法错误:修订号含无效字符 dpkg:警告:版本号 4.9.5-1.el7.elrepo.x86_64 语法错误:修订号含无效字符 Building for 4.9.6-1.el7.elrepo.x86_64 Building initial module for 4.9.6-1.el7.elrepo.x86_64 Done. 特殊信息 zavl: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/ znvpair.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/ zunicode.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/ zcommon.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/ zfs.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/ zpios.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/ Adding any weak-modules modprobe: FATAL: could not get modversions of /lib/modules/4.9.6-1.el7.elrepo.x86_64/extra/zavl.ko: No such file or directory Warning: Module zavl.ko from kernel 4.9.6-1.el7.elrepo.x86_64 has no modversions, so it cannot be reused for kernel 3.10.0-514.6.1.el7.x86_64 ................................................................................. depmod... 已安装: libzpool2.x86_64 0:0.6.5.9-1.el7.centos spl-dkms.noarch 0:0.6.5.9-1.el7.centos zfs.x86_64 0:0.6.5.9-1.el7.centos zfs-dkms.noarch 0:0.6.5.9-1.el7.centos 作为依赖被安装: dkms.noarch 0:2.3-1.20161202gitde1dca9.el7 libnvpair1.x86_64 0:0.6.5.9-1.el7.centos libuutil1.x86_64 0:0.6.5.9-1.el7.centos libzfs2.x86_64 0:0.6.5.9-1.el7.centos spl.x86_64 0:0.6.5.9-1.el7.centos 完毕! |
可以发现kernel名字中el7和elrepo的“语法错误:修订号含无效字符”、部分内核没有devel包不能编译模块错误,没有modversion模块不能通用等一系列错误,但最终zfs是可以使用的没有问题

我的微信公众号
我的微信公众号扫一扫