当前位置:首页 > 存储 > CentOS7.6 安装ZFS并创建Raid

CentOS7.6 安装ZFS并创建Raid

存储2年前 (2019-02-20)

CentOS7.6 安装ZFS并创建Raid

ZFS是一个128位的文件系统,支持逻辑卷,Raid,快照和其他高级文件系统功能。

在linux下zfs的模块有两种加载到内核的方式dkms和kabi。

它们区别在于如果安装了基于dkms的zfs模块,以后如果更新了系统内核,则必须重新编译zfs内核模块,否则无法使用。

如果基于kabi的zfs模块则具有优势,因为更新了操作系统的内核,它并不需要重新编译。


系统为五盘20G环境sdb、sdc、sdd、sde、sdf

CentOS7.6 安装ZFS并创建Raid


确定系统版本

cat /etc/redhat-release


安装对应系统版本的ZFS源

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


编辑ZFS源,启用kabi

#zfs源默认是启用基于dkms,需要禁用dkms并启用kabi

vi /etc/yum.repos.d/zfs.repo
找到[zfs]节点,将enabled=1改为enabled=0,禁用了dkms
找打[zfs-kmod]节点,将enabled=0改为enabled=1,开启kABI

CentOS7.6 安装ZFS并创建Raid


安装ZFS

yum install -y zfs
reboot

CentOS7.6 安装ZFS并创建Raid


加载ZFS模块

lsmod | grep zfs
#如果输出结果为空,则zfs内核模块没有被系统加载,需要手动加载zfs内核模块
modprobe zfs

CentOS7.6 安装ZFS并创建Raid


创建ZFS Strip存储池

Stripe(RAID0)磁盘带条,至少需要一个磁盘

zpool create ZFS /dev/sdb /dev/sdc  /dev/sdd /dev/sde /dev/sdf
zpool list

CentOS7.6 安装ZFS并创建Raid

df -h

CentOS7.6 安装ZFS并创建Raid

zpool status

CentOS7.6 安装ZFS并创建Raid

创建了一个名字为ZFS的存储池,容量大小97G的空间,并挂载在/ZFS下


创建ZFS 2-way Mirror 存储池

Mirror(RAID1)磁盘镜像,至少需要两个磁盘

zpool create ZFS1 mirror sdb sdc mirror sdd sde

CentOS7.6 安装ZFS并创建Raid


创建ZFS 3-Way  Mirror 存储池

Mirror(RAID1)磁盘镜像,至少需要两个磁盘

 zpool create ZFS31 mirror sdb sdc sdd

CentOS7.6 安装ZFS并创建Raid


创建ZFS RaidZ1 存储池

RAIDZ1(RAID5)一重奇偶校验,至少需要三个磁盘

zpool create ZFS2 raidz sdb sdc sdd sde sdf

CentOS7.6 安装ZFS并创建Raid


创建ZFS RaidZ2 存储池

RAIDZ2(RAID6)双重奇偶校验,至少需要四个磁盘

zpool create ZFS22 raidz2 sdb sdc sdd sde sdf

CentOS7.6 安装ZFS并创建Raid


创建ZFS RaidZ3 存储池

RAIDZ3(ZFS特有)三重奇偶校验,至少需要五个磁盘

 zpool create ZFS23 raidz3 sdb sdc sdd sde sdf

CentOS7.6 安装ZFS并创建Raid


其他操作

1. 更改ZFS存储池使用权限

groupadd vmos_group
useradd -g vmos_group vmos_user
su - vmos
mkdir /ZFS/test
#系统提示mkdir: cannot create directory ‘/ZFS/test’: Permission denied
#原因是默认情况下zfs存储池只允许root用户写入,如果普通用户需要写入zfs存储池,则必须更改zfs存储池权限
#chown -Rfv USERNAME:GROUPNAME /POOL_NAME

chown -Rfv vmos_user:vmos_group /ZFS
#系统提示changed ownership of ‘/ZFS’ from root:root to vmos_user:vmos_group


2. 删除zfs存储池

zpool destroy ZFS
#如果系统提示umount: /ZFS: target is busy.
#       (In some cases useful info about processes that use
#       the device is found by lsof(8) or fuser(1))
# cannot unmount '/ZFS': umount failed
# could not destroy 'ZFS': could not unmount datasets

CentOS7.6 安装ZFS并创建Raid

yum install -y  psmisc
fuser -cu /ZFS 
fuser -ck /ZFS
再次执行销毁zfs命令

CentOS7.6 安装ZFS并创建Raid


3. ZFS模拟故障

三块盘2G盘环境,sdb、sdc、sde,先创建一个2盘的mirror存储池,并不加入热备盘

zpool create TEST mirror sdb sdc


对sdc写满数据

dd if=/dev/zero of=/dev/sdc

CentOS7.6 安装ZFS并创建Raid


对存储池进行查错

zpool scrub TEST
zpool status

CentOS7.6 安装ZFS并创建Raid


将sdd更换掉池中的故障sdc

zpool replace TEST sdc sdd; zpool status

CentOS7.6 安装ZFS并创建Raid

过一会

CentOS7.6 安装ZFS并创建Raid

存储池恢复正常


4. ZFS创建和删除文件系统

zfs create TEST/123
zfs create TEST/456

zfs destroy TEST/123
zfs destroy TEST/456

CentOS7.6 安装ZFS并创建Raid

文件系统创建后,文件挂载点会自动挂上


5. ZFS文件系统压缩

zfs set compression=lz4 TEST/123
zfs get compressratio TEST/123

CentOS7.6 安装ZFS并创建Raid


6. ZFS文件系统配额

zfs set quota=1000M TEST/123
zfs set reservation=1000M TEST/123
zfs list

CentOS7.6 安装ZFS并创建Raid


7. ZFS存储池设备管理

先创建一个名为POOL的Strip两盘存储池

zpool create POOL sdb sdc

CentOS7.6 安装ZFS并创建Raid


再向存储池中添加一块盘

zpool add POOL sdd

CentOS7.6 安装ZFS并创建Raid


删除刚加入存储池的sdd

zpool remove POOL sdd
#系统提示cannot remove sdd: only inactive hot spares, cache, or log devices can be removed
因为只有热备盘和缓存盘或者日志设备,才可以被这样移除


向存储池中添加一块热备盘

zpool add POOL spare sde
zpool autoreplace=on POOL
#加入热备盘后,可以在存储池中使用autoreplace特性 (zfs attribute)

CentOS7.6 安装ZFS并创建Raid

存储池中删除刚添加的热备盘

zpool remove POOL sde


8. ZFS存储池io统计

zpool iostat -v

CentOS7.6 安装ZFS并创建Raid


9. ZFS快照

原目录文件夹有三个

CentOS7.6 安装ZFS并创建Raid


对此文件夹打快照并查看快照表

zfs snapshot TEST/456@2019-0220 
zfs snapshot TEST/456@2019-02201
zfs list -t snapshot

CentOS7.6 安装ZFS并创建Raid


删除一个文件夹aix,然后进入快照目录

rm -rf aix
cd .zfs
cd snapshot/
ls

CentOS7.6 安装ZFS并创建Raid

原文件夹还在


删除快照

zfs destroy TEST/456@2019-02201


本站所有文章均可随意转载,转载时请保留原文链接及作者。

本文链接:https://www.vos.cn/storage/267.html

相关文章

Dell SC5020连接SC420存储扩展框

Dell SC5020连接SC420存储扩展框

使用12G SAS线缆连接2个SC420存储扩展框连接多个扩展框链一(橙色)1.存储控制器SC5020 A控第1个接口与第一个SC420顶部控制器第1个接口相连2.第一个SC420顶部控制器第2个接口...

N8500实验 集群NAS文件共享

N8500实验 集群NAS文件共享

【实验需求】数据中心有一台N8500设备,一台S2600T V2设备,用这两个设备搭建一个NAS文件共享中心,需要对N8500设备进行初始化,配置I/O fencing,另外再在S2600T V2上分...

CentOS7.6 iSCSI Partition

CentOS7.6 iSCSI Partition

接上一篇CentOS7 安装docker版Nextcloud,安装nextcloud服务器的/var目录用来放置docker的持久化数据,但是磁盘容量只有800G,需要扩容,使用iSCSi存储服务器中...

博科BROCADE交换机常用操作命令

博科BROCADE交换机常用操作命令

uptime 交换机工作时间ipaddrshow 交换机IP地址信息licenseshow 当前交换机所添加的license信息switchshow 交换机信息及端口状态firmwareshow 固件...

EterneCluster-DN 双机热备共享存储

EterneCluster-DN 双机热备共享存储

两台服务器业务地址172.16.2.x网段,心跳2.2.2.x网段,从存储上映射一个LUN到两台windows2016上,安装EterneCluster-DN双机热备软件,做共享热备EterneClu...

Openfiler iSCSI和Linux多路径

Openfiler iSCSI和Linux多路径

使用openfiler对oracle主机提供iscsi服务,并解决多路径问题环境搭建虚拟机安装好Openfiler后,新添加5块盘环境https://ip:446  用户名openfiler...