在Ubuntu22.04中创建ZFS文件系统并挂载

在Ubuntu22.04中创建ZFS文件系统并挂载

安装zfs工具

sudo apt update
sudo apt install zfsutils-linux

创建ZFS存储池(Pool)

# 创建一个最默认的存储池
sudo zpool create 存储池名 硬盘路径...
#例如
sudo zpool create myzpool /dev/sdb /dev/sdc
# 还可以指定创建的存储池的vdev类型(这个vdev类型可以理解为raid类似的存储形式,只是zfs系统有它独特的存储形式)
sudo zpool create 存储池名 vdev类型 硬盘路径...
# 例如
sudo zpool create myzpool raidz0 /dev/sdb /dev/sdc /dev/sdd
# 创建好后可以查看存储池状态
zpool list
zpool status

# 删除存储池,注意删除存储池时当前处在的目录不能为存储池里面,否则会显示设备忙碌
sudo zpool destroy 存储池名
# 例如
sudo zpool destroy myzpool

在这里插入图片描述
存储池创建好后,根目录会多出一个和你存储池名字一样的文件夹/myzpool,这是因为还没有挂载存储池,可以把它挂载到/mnt

sudo zfs set mountpoint=/mnt/myzpool myzpool

在创建的存储池中创建数据集(DataSet)

一般我们文件都是存在数据集中的数据集可以理解为在存储池中又建了一个类似文件夹的东西,但是这个文件夹有很多属性:比如文件是否压缩存储是否启用acl权限等等。而且可以设置成继承,继承的意思就是我们在数据集上存了文件和文件夹,这些文件和文件夹的默认属性和这个数据集一样的。

创建数据集

sudo zfs create 存储池名/数据集名
sudo zfs create myzpool/mydata

# 创建好后可以查看数据集状态
zfs list

在这里插入图片描述
可以用以下命令获取某个数据集的属性。

# 获取数据集的全部属性
zfs get all 存储池/数据集
# 例如
zfs get all myzpool/mydata
# 获取数据集的某个属性
zfs get 属性名 存储池/数据集
# 例如获取(是否压缩存储)
zfs get compression myzpool/mydata

# 修改某个数据集的某个属性,对于不同属性,设置的值的格式不同,可以去chatgpt问一下或者去网上搜
zfs set 属性名=值 存储池/数据集

以下是我用chatgpt翻译的数据集所有属性的含义,可以稍微浏览一下。

type: 数据集类型,这里是 filesystem,表示该数据集是一个文件系统。
creation: 数据集创建时间。
used: 数据集已使用的空间大小。
available: 数据集可用的空间大小。
referenced: 数据集和快照所引用的存储空间的大小。
compressratio: 数据集压缩比例。
mounted: 数据集是否已经挂载。
quota: 数据集的配额。
reservation: 数据集的保留空间。
recordsize: 数据集中文件的记录大小。
mountpoint: 数据集的挂载点。
sharenfs: 是否通过 NFS 共享。
checksum: 数据集的校验类型。
compression: 数据集的压缩类型。
atime: 是否启用访问时间。
devices: 是否允许设备节点。
exec: 是否允许执行文件。
setuid: 是否设置用户 ID 位。
readonly: 是否为只读。
zoned: 是否在数据集上启用区域性。
snapdir: 快照目录的可见性。
aclmode: 数据集的 ACL 模式。
aclinherit: 数据集的 ACL 继承模式。
createtxg: 创建数据集的事务组。
canmount: 是否允许挂载数据集。
xattr: 是否启用扩展属性。
copies: 数据集的副本数。
version: 数据集版本。
utf8only: 是否限制文件名只能使用 UTF-8。
normalization: 文件名是否进行规范化。
casesensitivity: 文件名的大小写敏感性。
vscan: 是否启用病毒扫描。
nbmand: 是否启用网络绑定挂载。
sharesmb: 是否通过 SMB 共享。
refquota: 数据集的参考配额。
refreservation: 数据集的参考保留。
guid: 数据集的全局唯一标识符。
primarycache: 数据集的主缓存策略。
secondarycache: 数据集的辅助缓存策略。
usedbysnapshots: 快照使用的空间大小。
usedbydataset: 数据集使用的空间大小。
usedbychildren: 子数据集使用的空间大小。
usedbyrefreservation: 保留空间使用的空间大小。
logbias: 数据集的日志偏好设置。
objsetid: 数据集的对象集标识符。
dedup: 是否启用数据去重。
mlslabel: 多级安全标签。
sync: 数据集的同步策略。
dnodesize: 数据节点大小。
refcompressratio: 数据集的参考压缩比率。
written: 数据集已写入的空间大小。
logicalused: 逻辑使用空间大小。
logicalreferenced: 逻辑引用空间大小。
volmode: 卷模式。
filesystem_limit: 文件系统限制。
snapshot_limit: 快照限制。
filesystem_count: 文件系统计数。
snapshot_count: 快照计数。
snapdev: 快照设备的可见性。
acltype: ACL 类型。
context: SELinux 上下文。
fscontext: 文件系统 SELinux 上下文。
defcontext: 默认 SELinux 上下文。
rootcontext: 根 SELinux 上下文。
relatime: 是否启用相对访问时间。
redundant_metadata: 冗余元数据设置。
overlay: 是否启用重叠。
encryption: 是否启用加密。
keylocation: 密钥存储位置。
keyformat: 密钥格式。
pbkdf2iters: PBKDF2 迭代次数。
special_small_blocks: 特殊小块的大小。

  • 21
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卍逝去&夜的星空卍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值