第二十八章 DragonFlyBSD
第二节 ZFS

使用建议

  • 建议在 8G 及以上的内存机器上使用 ZFS。
  • 为了提高机械硬盘随机读能力,可设置 vfs.zfs.prefetch_disable=1
  • 为了避免 ZFS 吃掉太多内存,可设置 vfs.zfs.arc_max="XXX",例如:1024 M。
  • 如果要复制某个文件系统,可以用 zfs send/recv,这样还能通过 ssh 跨网络传输。
  • 推荐使用固态硬盘,使用 SSD 可以改善 ZFS 随机读能力,并且 ZFS 这种写时复制的文件系统也有益于 SSD 寿命。

ZFS 快照与还原

ZFS 快照类似于虚拟机快照。
默认创建分区(Auto ZFS)如下:
1
[email protected]:/home/ykla # zfs list
2
NAME USED AVAIL REFER MOUNTPOINT
3
zroot 1.72G 440G 96K /zroot
4
zroot/ROOT 1004M 440G 96K none
5
zroot/ROOT/default 1004M 440G 1004M /
6
zroot/tmp 104K 440G 104K /tmp
7
zroot/usr 760M 440G 96K /usr
8
zroot/usr/home 128K 440G 128K /usr/home
9
zroot/usr/ports 96K 440G 96K /usr/ports
10
zroot/usr/src 759M 440G 759M /usr/src
11
zroot/var 628K 440G 96K /var
12
zroot/var/audit 96K 440G 96K /var/audit
13
zroot/var/crash 96K 440G 96K /var/crash
14
zroot/var/log 148K 440G 148K /var/log
15
zroot/var/mail 96K 440G 96K /var/mail
16
zroot/var/tmp 96K 440G 96K /var/tmp
Copied!
快照 /(经测试,在上述默认分区下代表快照整个 ZFS 文件系统,start1 是随便起的名字):
1
[email protected]:/ # zfs snapshot zroot/ROOT/[email protected]
2
[email protected]:/ # zfs list -t snapshot
3
NAME USED AVAIL REFER MOUNTPOINT
4
5
zroot/ROOT/[email protected] 0B - 1004M -
Copied!
快照还原验证:
1
[email protected]:/ # rm 1.txt
3
.cshrc boot home mnt root usr
4
.profile dev lib net sbin var
5
COPYRIGHT entropy libexec proc sys zroot
6
bin etc media rescue tmp
7
[email protected]:/ # zfs rollback -r zroot/ROOT/[email protected]
9
.cshrc bin etc media rescue tmp
10
.profile boot home mnt root usr
11
1.txt dev lib net sbin var
12
COPYRIGHT entropy libexec proc sys zroot
Copied!
销毁快照:
2
[email protected]:/ # zfs list -t snap
3
NAME USED AVAIL REFER MOUNTPOINT
4
zroot/ROOT/[email protected] 8K - 1004M -
Copied!

注意事项

  • ZFS 并不使用 /etc/fstab,但是 EFI、Swap 仍然使用。
Copy link
Edit on GitHub