linux安装zfs性能,CentOS安装配置ZFS——万千硬盘集于一池

一.介绍

如果想看一堆介绍,请去百度百科,我这边就简单说说了。文件系统的优越性之争持续了很多年了,常规的ext3、ext4以及xfs还有brtfs啥的其实说来都是各有优势,ext4和xfs其实都比较求稳,所以在新特性上都比较慢,而brtfs则很激进,这个就导致很多情况下会崩,而我今天介绍的zfs则有一定的取舍,支持很多新的功能,但是稳定性上也不逊色。

广受好评的FreeNAS系统便使用了ZFS作为其文件系统,得益于其优越的性能以及良好的稳定性,FreeNAS在DIY NAS领域以及存储领域很受欢迎。

要说最大的不同,就是ZFS相比常见EXT3或4来说多了存储池的概念,这个必须知道,因为这是其精髓之处,也是你管理使用ZFS所需要习惯的。

二.安装

我建议在安装zfs前先更新下系统确保内核为最新的,另外,对于CentOS6来说,我已经确认了支持BBR的4.9版本内核可以使用ZFS,如果需要安装可以看我之前的文章——>传送门

yum install epel-release -y

yum install http://download.zfsonlinux.org/epel/zfs-release.el6.noarch.rpm -y

#默认安装的是dmks的,依赖于kernel-devel,所以必装,如果你是自己编译的内核,自己把devel包搞上去,不过如果你是CentOS6请务必确保内核编译使用的GCC为系统自带的版本,高版本编译的内核无法兼容zfs安装过程中即时编译的.ko内核模块,会出现状况的(别问我怎么知道的)

yum install kernel-devel zfs -y

1

2

3

4

5

yuminstallepel-release-y

yuminstallhttp://download.zfsonlinux.org/epel/zfs-release.el6.noarch.rpm -y

#默认安装的是dmks的,依赖于kernel-devel,所以必装,如果你是自己编译的内核,自己把devel包搞上去,不过如果你是CentOS6请务必确保内核编译使用的GCC为系统自带的版本,高版本编译的内核无法兼容zfs安装过程中即时编译的.ko内核模块,会出现状况的(别问我怎么知道的)

yuminstallkernel-develzfs-y

当然如果你想切换为非dkms的而是kABI-tracking kmod模式的,请参照下面的,只是要注意kABI-tracking kmod没有dkms那么好的兼容性,在非分发版本(官方发布的内核版本)的内核上可能无法使用

yum install epel-release -y

yum install http://download.zfsonlinux.org/epel/zfs-release.el6.noarch.rpm -y

#禁用dkms并启用kmod

sed -i '4s/enabled=1/enabled=0/g' /etc/yum.repos.d/zfs.repo

sed -i '12s/enabled=0/enabled=1/g' /etc/yum.repos.d/zfs.repo

yum install zfs -y

1

2

3

4

5

6

yuminstallepel-release-y

yuminstallhttp://download.zfsonlinux.org/epel/zfs-release.el6.noarch.rpm -y

#禁用dkms并启用kmod

sed-i'4s/enabled=1/enabled=0/g'/etc/yum.repos.d/zfs.repo

sed-i'12s/enabled=0/enabled=1/g'/etc/yum.repos.d/zfs.repo

yuminstallzfs-y

更多的安装说明可以参考官方Github的Wiki ——> https://github.com/zfsonlinux/zfs/wiki/RHEL-and-CentOS

安装完后第一次是需要你手动挂载模块的,之后就不用了。

modprobe zfs

#检测模块是否挂载成功

lsmod | grep zfs

1

2

3

modprobezfs

#检测模块是否挂载成功

lsmod|grepzfs

1abede8d222f724b08f43be2ea716af3.gif

三.使用

#查看当前存储池挂载状态

zfs list

#查看当前存储池状态

zpool status

#使用 sdb、sdc、sdd 这几块硬盘创建一个名为 senra-zfs的池

zpool create senra-zfs sdb sdc sdd

#可以使用-f启用强制模式,这个在正常的创建中没有必要,如果碰到你要创建raidz或者mirror类型的池,那么这个可以帮助你忽略由于添加的硬盘容量不相等导致的错误提示

#查看存储池 senra-zfs 的一些信息

zpool get all senra-zfs

#将硬盘 sde 添加到池 senra-zfs 中

zpool add senra-zfs sde

#使用硬盘 sdf 替换 senra-zfs 池中的 sde

zpool replace senra-zfs sde sdf

#检测池 senra-zfs 是否存在问题

zpool scrub senra-zfs

#查看池 senra-zfs 的IO使用状况,可以加 -v 来详细到池所拥有的每块磁盘

zpool iostat senra-zfs

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

#查看当前存储池挂载状态

zfslist

#查看当前存储池状态

zpoolstatus

#使用 sdb、sdc、sdd 这几块硬盘创建一个名为 senra-zfs的池

zpoolcreatesenra-zfssdbsdcsdd

#可以使用-f启用强制模式,这个在正常的创建中没有必要,如果碰到你要创建raidz或者mirror类型的池,那么这个可以帮助你忽略由于添加的硬盘容量不相等导致的错误提示

#查看存储池 senra-zfs 的一些信息

zpoolgetallsenra-zfs

#将硬盘 sde 添加到池 senra-zfs 中

zpooladdsenra-zfssde

#使用硬盘 sdf 替换 senra-zfs 池中的 sde

zpoolreplacesenra-zfssdesdf

#检测池 senra-zfs 是否存在问题

zpoolscrubsenra-zfs

#查看池 senra-zfs 的IO使用状况,可以加 -v 来详细到池所拥有的每块磁盘

zpooliostatsenra-zfs

还有一堆比如导入导出啊,快照啊,压缩啊啥的,自己去看吧,我就懒得说了,创建并挂载完就能直接用,想咋用就咋样,当然如果是存储重要数据请使用mirror或者raidz来一定程度上增加数据安全性。

另外,如果是特殊环境下,我们甚至可以对大容量池添加SSD作为cache,来实现容量与访问速度在一定程度上的平衡,这些都可以由你自己去尝试,这也是zfs作为广受好评的革命性的文件系统的优势。

嘿嘿嘿,还能存好多东西_(:з」∠)_

1abede8d222f724b08f43be2ea716af3.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值