正如本系列第 1 部分和第 2 部分中所讨论的那样,Stratis 是一个卷管理文件系统,其功能类似于 ZFS 和 Btrfs。在本文中,我们将逐步介绍如何在命令行上使用 Stratis。
获取 Stratis
对于非开发人员来说,现在尝试 Stratis 最简单的方法是在 Fedora 28 中。
一旦你运行了它,你可以使用以下命令安装 Stratis 守护进程和 Stratis 命令行工具
# dnf install stratis-cli stratisd
创建池
Stratis 有三个概念:块设备(blockdevs)、池(pools) 和 文件系统(filesystems)。块设备是组成池的块设备,例如磁盘或磁盘分区。一旦创建了池,就可以从中创建文件系统。
假设你的系统上有一个名为 vdg
的块设备,当前未使用或未挂载,你可以使用以下命令在其上创建一个 Stratis 池
# stratis pool create mypool /dev/vdg
这假设 vdg
是完全清零且为空的。如果它未使用但上面有旧数据,则可能需要使用 pool create
的 - force
选项。如果它正在使用中,请不要将其用于 Stratis。
如果你想从多个块设备创建一个池,只需在 pool create
命令行中列出它们即可。你也可以稍后使用 blockdev add-data
命令添加更多块设备。请注意,Stratis 要求块设备的大小至少为 1 GiB。
创建文件系统
一旦你创建了一个名为 mypool
的池,你就可以从中创建文件系统
# stratis fs create mypool myfs1
从池 mypool
创建名为 myfs1
的文件系统后,你可以挂载并使用它,使用 Stratis 在 /dev/stratis 中创建的条目
# mkdir myfs1
# mount /dev/stratis/mypool/myfs1 myfs1
文件系统现在已挂载在 myfs1
上,可以开始使用了。
快照
除了创建空文件系统外,你还可以将文件系统创建为现有文件系统的快照
# stratis fs snapshot mypool myfs1 myfs1-experiment
这样做之后,你可以挂载新的 myfs1-experiment
,它最初将包含与 myfs1
相同的文件内容,但可能会随着文件系统的修改而改变。除非你卸载 myfs1
并使用以下命令销毁它,否则你对 myfs1-experiment
所做的任何更改都不会反映在 myfs1
中
# umount myfs1
# stratis fs destroy mypool myfs1
然后对快照进行快照以重新创建并重新挂载它
# stratis fs snapshot mypool myfs1-experiment myfs1
# mount /dev/stratis/mypool/myfs1 myfs1
获取信息
Stratis 可以列出系统上的池
# stratis pool list
随着更多数据写入文件系统,你将看到“物理总使用量”值增加。当它接近“物理总大小”时要小心;我们仍在努力正确处理这个问题。
要列出池中的文件系统
# stratis fs list mypool
要列出组成池的块设备
# stratis blockdev list mypool
这些目前仅提供最少的信息,但未来将提供更多信息。
销毁池
一旦你了解了 Stratis 可以做什么,要销毁池,首先要确保从中创建的所有文件系统都已卸载和销毁,然后使用 pool destroy
命令
# umount myfs1
# umount myfs1-experiment (if you created it)
# stratis fs destroy mypool myfs1
# stratis fs destroy mypool myfs1-experiment
# stratis pool destroy mypool
stratis pool list
现在应该不显示任何池。
就是这样!有关更多信息,请参阅手册页:man stratis
。
评论已关闭。