更新时间:2023-01-18 10:58:40浏览次数:416+次
本文介绍如何在Rocky Linux 8/AlmaLinux 8系统上安装和配置Stratis的方法。Stratis是一种本地存储管理服务,它可以方便地从物理存储设备管理池,它简化了复杂存储配置的设置和管理,并允许访问高级功能。
具体的安装和配置Stratis方法
1、在Rocky Linux 8/AlmaLinux 8上安装Stratis
Stratis提供以下两个包:
stratisd daemon:负责创建和管理块设备以及提供DBUS API的守护程序。
stratis-cli:stratis的命令行工具
现在使用以下命令在Rocky Linux 8/AlmaLinux 8上安装Stratis:
sudo dnf install stratisd stratis-cli
安装后,启动并启用Stratis服务:
sudo systemctl enable --now stratisd
检查服务状态:
$ systemctl status stratisd
2、创建Stratis池
如前所述,可以使用一个或多个块设备创建池。首先,识别磁盘:
$ lsblk
这里有5个辅助磁盘sdb、sdc、sdd、sde和sdf,每个磁盘的容量为10GB。
您需要使用具有以下语法的命令从所有块设备中擦除任何文件系统、分区表或RAID签名:
sudoo wipefs --all block-device1 block-device2
例如:
sudo wipefs --all /dev/sdX
根据您的偏好,您可以使用以下方法之一创建Stratis池:
A、使用单块设备创建地层池
要从一个块设备创建Stratis池,请使用具有以下语法的命令:
sudo stratis pool create <pool-name> <block-device>
将pool-name替换为所需的池名称,将block-device替换为磁盘。例如:
stratis pool create pool_1 /dev/sdX
创建后,使用以下命令进行验证:
$ sudo stratis pool list
pool_1 10 GiB / 37.63 MiB / 9.96 GiB ~Ca,~Cr 538cb5f5-c0a3-487e-aafa-8a21d589e11f
B、使用多个区块设备创建地层池
要使用多个块设备创建池,请使用具有以下语法的命令:
stratis pool create <pool_name> device-1 device-2 device-n
例如,使用sdc、sdd、sde创建另一个池:
sudo stratis pool create pool_2 /dev/sdc /dev/sdd /dev/sde
创建后,列出池:
$ sudo stratis pool list
从上面的输出中,您可以同意池的总大小等于单个块设备大小的总和。
C、创建加密的Stratis池
以上所有方法都用于创建未加密的Stratis池。但是,如果您需要创建一个加密的Stratis池来保护您的数据,则必须执行以下操作:
首先,获取用于加密的密钥集:
$ sudo stratis key set --capture-key key-description
Enter key data followed by the return key: Enter Key and press Enter
现在使用密钥,使用语法为的命令创建加密的Stratis池:
sudo stratis pool create --key-desc key-description my-pool block-device
这里,key-description引用了上面创建的内核密钥环。例如:
sudo stratis pool create --key-desc key-description pool_3 /dev/sdf
您仍然可以使用多个块设备创建加密池:
sudo stratis pool create --key-desc key-description my-pool block-device-1 block-device-2
验证创建:
$ sudo stratis pool list
3、在池中创建文件系统
创建池后,您可以继续在其上创建文件系统。这可以通过使用以下语法执行命令来实现:
sudo stratis fs create <poolname> <filesystemname>
例如:
sudo stratis fs create pool_1 filesystem-1
sudo stratis fs create pool_2 filesystem-2
sudo stratis fs create pool_3 filesystem-3
查看创建的文件系统,可用以下命令:
$ sudo stratis fs list
您还可以查看单个池上的文件系统:
sudo stratis fs list <poolname>
例如:
$ sudo stratis fs list pool_1
对于详细视图,可以使用以下命令:
lsblk
样本输出:
您将注意到加密池中磁盘的一些差异。他们使用cryptsetup库进行加密。
4、安装Stratis文件系统
为了使用池,您需要装载文件系统。创建装载点并装载文件系统,如下所示:
对于第一个池:
sudo mkdir /mnt/pool_1
sudo mount /dev/stratis/pool_1/filesystem-1 /mnt/pool_1
第二个池:
sudo mkdir /mnt/pool_2
sudo mount /dev/stratis/pool_2/filesystem-2 /mnt/pool_2
对于第三个池:
sudo mkdir /mnt/pool_3
sudo mount /dev/stratis/pool_3/filesystem-3 /mnt/pool_3
为了使文件系统在重新启动后仍然存在,您需要将它们添加到Fstab文件中。确定文件系统的UUID:
$ sudo lsblk --output=UUID /dev/stratis/pool_1/filesystem-1
UUID
b9b05db4-99a0-4036-ad5f-96de3f8a9c0a
$ sudo lsblk --output=UUID /dev/stratis/pool_2/filesystem-2
UUID
77970ccc-2298-49ce-bfd0-adb7218c2418
$ sudo lsblk --output=UUID /dev/stratis/pool_3/filesystem-3
UUID
f3b6276b-7daf-4756-ad8c-991a58cf0e20
现在使用获得的UUID将文件系统添加到fstab文件中:
$ sudo vi /etc/fstab
UUID=b9b05db4-99a0-4036-ad5f-96de3f8a9c0a /mnt/pool_1 xfs defaults,x-systemd.requires=stratisd.service 0 0
UUID=77970ccc-2298-49ce-bfd0-adb7218c2418 /mnt/pool_2 xfs defaults,x-systemd.requires=stratisd.service 0 0
UUID=f3b6276b-7daf-4756-ad8c-991a58cf0e20 /mnt/pool_3 xfs defaults,x-systemd.requires=stratisd.service 0 0
完成上述更改后,重新加载守护程序:
sudo systemctl daemon-reload
重新启动后,加密池将不可用。您需要解锁它才能看到它。
5、创建Stratis快照
快照在给定时间创建文件系统的精简配置副本。这可以使用以下命令在Stratis上创建:
sudo stratis fs snapshot <poolname> <fsname> <snapshotname>
例如:
stratis fs snapshot pool_2 filesystem-2 mysnapshot
列出可用快照:
$ sudo stratis filesystem list pool_2
6、恢复到Stratis快照
创建快照后,可以使用以下步骤恢复快照:
首先,卸载原始文件系统:
sudo umount /dev/stratis/pool_2/filesystem-2
然后将快照复制到文件系统:
sudo stratis filesystem snapshot pool_2 mysnapshot block
现在装载快照:
sudo mount /dev/stratis/my-pool/my-fs mount-point
例如:
sudo mount /dev/stratis/pool_2/filesystem-2 /mnt/pool_2
7、删除Stratis文件系统
要删除文件系统,首先需要卸载它。例如:
sudo umount /mnt/pool_3
然后销毁文件系统:
sudo stratis filesystem destroy <poolname> <filesystem-name>
例如:
sudo stratis filesystem destroy pool_3 filesystem-3
验证这一点:
$ sudo stratis filesystem list pool_3
Pool Name Name Used Created Device UUID
池中不应有文件系统。
8、移除Stratis池
删除文件系统后,可以使用以下语法的命令删除池:
sudo stratis pool destroy <poolname>
例如:
stratis pool destroy pool_3
使用以下命令进行验证:
$ sudo stratis pool list
9、向现有Stratis池添加磁盘
可以使用以下命令将磁盘添加到现有池:
sudo stratis pool add-data <poolname> /<devicepath>
但请记住,池中的块设备需要全部加密或全部未加密。
擦除磁盘上的分区:
sudo wipefs --all block-device
继续并添加块设备。例如:
sudo stratis pool add-data pool_1 /dev/sdf
验证这一点:
到这里,在Rocky Linux 8/AlmaLinux 8系统上安装和配置Stratis的内容讲完了。