Stratis和VDO高级存储
Stratis和VDO高级存储
Stratis和vdo高级存储
Stratis高级存储
简介
- Stratis原理:将文件系统构建在一个精简配置的共享池中。通过Stratis,可以便捷的使用精简配置(thin provisioning),快照(snapshots)和基于池(pool-based)的管理和监控等高级存储功能
- 一个共享池中可以创建多个文件系统,文件系统为xfs(在pool池中创建文件系统时,类型就已经定为xfs格式)
- 守护进程:stratisd.service
配置stratis服务
** 安装stratis软件包**
[root@localhost ~]# yum -y install stratis-cli.noarch stratisd.x86_64
** 启动服务**
[root@localhost ~]# systemctl enable --now stratisd //开启服务,并设置为开机自启
创建pool精简池
[root@localhost ~]# stratis pool create pool01 /dev/nvme0n2
pool01 是精简池名称 /dev/nvme0n2 是本地的块设备
- 创建精简池失败
- 查看块设备是否存在签名认证
fdisk -l /dev/nvme0n2 wipefs /dev/nvme0n2
[root@localhost ~]# fdisk -l /dev/nvme0n2 Disk /dev/nvme0n2: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x363bea89 [root@localhost ~]# wipefs /dev/nvme0n2 DEVICE OFFSET TYPE UUID LABEL nvme0n2 0x1fe dos
- 删除磁盘的签名
wipefs -a -f /dev/nvme0n2
[root@localhost ~]# wipefs -a -f /dev/nvme0n2 /dev/nvme0n2: 2 bytes were erased at offset 0x000001fe (dos): 55 aa [root@localhost ~]# wipefs /dev/nvme0n2 [root@localhost ~]# fdisk -l /dev/nvme0n2 Disk /dev/nvme0n2: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes [root@localhost ~]#
- 创建pool精简池
[root@localhost ~]# stratis pool create pool01 /dev/nvme0n2 [root@localhost ~]# lsblk /dev/nvme0n2 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n2 259:3 0 20G 0 disk └─stratis-1-private-720f87ac1b43468cad8b275dd2242a82-physical-originsub 253:2 0 20G 0 stratis ├─stratis-1-private-720f87ac1b43468cad8b275dd2242a82-flex-thinmeta │ 253:3 0 16M 0 stratis │ └─stratis-1-private-720f87ac1b43468cad8b275dd2242a82-thinpool-pool │ 253:6 0 20G 0 stratis ├─stratis-1-private-720f87ac1b43468cad8b275dd2242a82-flex-thindata │ 253:4 0 20G 0 stratis │ └─stratis-1-private-720f87ac1b43468cad8b275dd2242a82-thinpool-pool │ 253:6 0 20G 0 stratis └─stratis-1-private-720f87ac1b43468cad8b275dd2242a82-flex-mdv 253:5 0 16M 0 stratis [root@localhost ~]#
查看精简池
stratis pool list 查看所有的精简池
stratis blockdev list pool01 查看精简池块设备信息
[root@localhost ~]# stratis pool list
Name Total Physical Size Total Physical Used
pool01 20 GiB 52 MiB
[root@localhost ~]# stratis blockdev list pool01
Pool Name Device Node Physical Size State Tier
pool01 /dev/nvme0n2 20 GiB In-use Data
[root@localhost ~]#
创建文件系统
stratis filesystem create pool01 pool_file
查看文件系统
stratis filesystem list 查看所有pool的文件系统
stratis filesystem list pool_file 查看指定pool池中的filesystem
[root@localhost ~]# stratis filesystem create pool01 pool_file
[root@localhost ~]# stratis filesystem list
Pool Name Name Used Created Device UUID
pool01 pool_file 546 MiB Dec 17 2021 08:21 /stratis/pool01/pool_file 9a9ff2f334314055ba901fb82971e5a4
挂载文件系统
- 临时挂载
mount /stratis/pool01/pool_file /file
[root@localhost ~]# mount /stratis/pool01/pool_file /file [root@localhost ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 889M 0 889M 0% /dev tmpfs tmpfs 904M 0 904M 0% /dev/shm tmpfs tmpfs 904M 9.8M 894M 2% /run tmpfs tmpfs 904M 0 904M 0% /sys/fs/cgroup /dev/mapper/rhel-root xfs 17G 4.1G 13G 24% / /dev/sr0 iso9660 6.7G 6.7G 0 100% /media/cdrom /dev/nvme0n1p1 xfs 1014M 169M 846M 17% /boot tmpfs tmpfs 181M 16K 181M 1% /run/user/42 tmpfs tmpfs 181M 3.5M 178M 2% /run/user/0 /dev/mapper/stratis-1-720f87ac1b43468cad8b275dd2242a82-thin-fs-9a9ff2f334314055ba901fb82971e5a4 xfs 1.0T 7.2G 1017G 1% /file [root@localhost ~]#
- 永久挂载
查看文件系统UUID
修改/etc/fstab配置文件blkid /stratis/pool01/pool_file lsblk --ouput=UUID /stratis/pool01/pool_file
[root@localhost ~]# blkid /stratis/pool01/pool_file /stratis/pool01/pool_file: UUID="9a9ff2f3-3431-4055-ba90-1fb82971e5a4" TYPE="xfs" [root@localhost ~]# echo UUID="9a9ff2f3-3431-4055-ba90-1fb82971e5a4" /file xfs defaults,x-systemd.requires=stratis.service 0 0 >> /etc/fstab [root@localhost ~]# tail -n 1 /etc/fstab UUID=9a9ff2f3-3431-4055-ba90-1fb82971e5a4 /file xfs defaults,x-systemd.requires=stratis.service 0 0
挂载选项x-systemd.requires=stratisd.service可延迟挂载文件系统,直到stratisd.service启动为止
扩容pool精简池
stratis pool add-data pool01 /dev/nvme0n3
pool01 是创建的pool精简池名 /dev/nvme0n3 是要添加进pool精简池的磁盘
创建快照
stratis filesystem snapshot pool01 pool_file snap01
恢复快照
umount /file 取消挂载
stratis filesystem destroy pool01 pool_file 删除原文件系统
stratis filesystem snapshot pool01 pool_file snap01 pool_snap pool_snap是要创建文件系统的名字
stratis filesystem list 查看已创建的文件系统
删除文件系统
stratis filesystem destroy pool01 pool_file
删除pool精简池
stratis pool destroy pool01
VDO高级存储
简介
- 使用VDO功能,可以优化块设备上数据空间占用问题,它可以减少块设备上的磁盘使用空间,同时最大限度减少数据重复,从而节省磁盘空间
- VDO包含两个模块:kvdo用于控制数据压缩,uds用于重复数据删除
- VDO层位于块设备(RAID或者本地磁盘)之上,存储层(如LVM和文件系统)位于vdo之上。
- 创建vdo卷时,可以指定块设备,以及vdo卷名,也可以指定vdo逻辑卷大小,vdo卷的逻辑大小可以大于实际块设备的物理大小。
- 如果未指定逻辑大小,则vdo会将实际物理大小视为卷的逻辑大小,这种方式有利于提高性能,但是会降低存储空间的使用效率,应视情况而定
- 使用场景:重复高的冷数据存储,数据备份,需要精简置备的场合等
配置VDO服务
安装VDO软件包(rhel8默认已安装)
[root@localhost /]# yum -y install vdo kmod-kvdo
启动服务
systemctl enable --now vdo.service
创建vdo卷
vdo create --name=myvdo --device=/dev/nvme0n2 --vdoLogicalSize=50G
[root@localhost /]# vdo create --name=myvdo --device=/dev/nvme0n2 --vdoLogicalSize=50G
Creating VDO myvdo
vdo: ERROR - dos signature detected on /dev/nvme0n2 at offset 510; use --force to override
'报错原因还是因为磁盘签名,我们可以通过错误提示,加上 --force选项将磁盘签名覆盖,也可以将磁盘签名删除'
[root@localhost /]# wipefs -a -f /dev/nvme0n2
/dev/nvme0n2: 2 bytes were erased at offset 0x000001fe (dos): 55 aa
[root@localhost /]# vdo create --name=myvdo --device=/dev/nvme0n2 --vdoLogicalSize=50G
Creating VDO myvdo
Starting VDO myvdo
Starting compression on VDO myvdo
VDO instance 0 volume is ready at /dev/mapper/myvdo
[root@localhost /]#
查看vdo卷
vdo list #查看vdo卷列表
vdo status --name=myvdo | grep -E 'Com|Dedu' # 验证压缩和重删功能已经开启
Compression: enabled
Deduplication: enabled
df -Th #查看的是vdo卷的逻辑大小
vdostats --human-readable #查看vdo卷的状态,是实际vdo卷的大小
格式化vdo卷
mkfs.xfs /dev/mapper/myvdo # vdo卷的逻辑大小越大,格式化时间越长
挂载vdo卷
-
临时挂载
mount /dev/mapper/myvdo /file
-
永久挂载
[root@localhost /]# echo /dev/mapper/myvdo /file/ xfs defaults,x-systemd.requires=vdo.service 0 0 >> /etc/fstab [root@localhost /]# tail -n 1 /etc/fstab /dev/mapper/myvdo /file/ xfs defaults,x-systemd.requires=vdo.service 0 0
挂载选项x-systemd.requires=stratisd.service可延迟挂载文件系统,直到stratisd.service启动为止
如果没有x-systemd.requires=stratisd.service这个选项,会导致重启后,无法进入系统,在等待一段时间后将进入紧急模式
修改/etc/fstab配置文件,添加x-systemd.requires=vdo.service选项
reboot重启后,成功进入系统,并自动挂载vdo卷
本文来自博客园,作者:未来的你!,转载请注明原文链接:https://www.cnblogs.com/frost-descent/p/16651054.html