我是软件工程师,最近我构建了我的 Linux 机器,想探索更多系统管理员类型的任务。我已经探索并阅读了很多关于 ZFS 的内容,但我越来越困惑,因为每篇文章对它的描述都不一样。
Everything works fine, but I don't know how ZFS Engine calculates spaces and similar command make me confused.
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 8.0K 16G 1% /dev/shm
tmpfs 16G 122M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/centos_b4--2e--99--49--d4--6d-root 50G 7.8G 43G 16% /
/dev/nvme0n1p2 1014M 189M 826M 19% /boot
/dev/nvme0n1p1 200M 12M 189M 6% /boot/efi
/dev/mapper/centos_b4--2e--99--49--d4--6d-home 399G 122M 399G 1% /home
mypool 9.5T 256K 9.5T 1% /mypool
mypool/data 11T 833G 9.5T 8% /mypool/data
tmpfs 3.2G 0 3.2G 0% /run/user/1000
$ zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
mypool 14.5T 1.12T 13.4T - - 0% 7% 1.00x ONLINE -
$ zfs list
NAME USED AVAIL REFER MOUNTPOINT
mypool 834G 9.42T 145K /mypool
mypool/data 834G 9.42T 834G /mypool/data
$ zpool status mypool
pool: mypool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
mypool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
sda ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
更令人困惑的是来自不同 ZFS 存储计算器的不同答案:
最佳答案
ZPOOL 是大气泡,然后 ZFS 可以是多个内部气泡,或者在您的情况下,可以只是一个气泡
/usr/sbin/zfs list
只是在列出 mypool 时报告所有 zfs 的总和(例如,如果你有第二个 zfs,mypool/data2,它恰好是 .6TB USED,您的 mypool 行将显示 10TB USED,而 mypool/data 仍为 9.4TB USED);并且,您的 /usr/sbin/zpool list
不会受到影响并且仍然显示 14.5T SIZE
内部气泡并不总是必须与外部气泡相同;除非您打开配额,否则 zfs 会尽可能地增长;即封住那些内部气泡的能力;请注意,您也可以移动或移除该上限)
/usr/sbin/zfs get quota,logicalused mypool/data
sudo zfs set quota=10T mypool/data
sudo zfs set quota=12T mypool/data
sudo zfs set quota=10T mypool/data
/usr/sbin/zfs get quota,logicalused mypool/data
sudo zfs set quota=none mypool/data
/usr/sbin/zfs get quota,logicalused mypool/data
关于ZFS 列表与 ZFS 池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60239260/