gla*_*len 8 linux zfs filesystems
在 ZFS 中,您可以构建文件系统层次结构,为每个文件系统包含不同的 fs 属性。例如,一个区域的压缩,其他区域的 no-exec/suid,noatime。
例如,FreeBSD 的 HOWTO 建议创建以下文件系统:
zfs create -o compression=off -o atime=off zroot/root
zfs create -o compression=on -o setuid=off zroot/tmp
zfs create -o zroot/usr
zfs create -o zroot/usr/home
zfs create -o compression=lzjb -o setuid=off zroot/usr/ports
zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/distfiles
zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/packages
zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/usr/src
zfs create zroot/var
zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/crash
zfs create -o exec=off -o setuid=off zroot/var/db
zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/db/pkg
zfs create -o exec=off -o setuid=off zroot/var/empty
zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/log
zfs create -o compression=gzip -o exec=off -o setuid=off zroot/var/mail
zfs create -o exec=off -o setuid=off zroot/var/run
zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/tmp
Run Code Online (Sandbox Code Playgroud)
我听说不要在 /var 上使用 Linux 本机 ZFS 打开压缩或其他功能,因为它会崩溃。ZFS 文件系统结构和特性(压缩、atime、禁用 setuid 等)在 Linux 系统上应该是什么?
小智 1
我听说不要在 /var 上使用 Linux 本机 ZFS 打开压缩或其他功能,因为它会崩溃。
我想不出在 /var 上启用压缩可能导致系统崩溃的任何原因:压缩在块级别上完全透明地完成。无论是否激活压缩,文件级操作都没有区别。
使用lz4算法进行压缩,您将获得相当不错的数据压缩,而几乎不需要额外的 CPU 利用率。事实上:我经常听到在所有文件系统上打开压缩的建议,并且我已经在生产系统上稳定运行多年的所有池上默认启用了压缩。
因此,如果您不使用高性能数据库等边缘用例,我建议始终启用压缩。
关于其他选项:
我在你发布的 FreeBSD HOWTO 的建议中看不出有什么不好的地方,除了我不会使用lzjb进行压缩,而只是设置compression=on来使用最新的默认算法(可能是lz4 )的写作)。
使用zfs create命令指定这些选项这一事实并不意味着这些设置只能设置一次。事实上,你可以做一个
zfs get all <dataset>
Run Code Online (Sandbox Code Playgroud)
查看当前设置并使用 更新它们zfs set <option> <dataset>。
例如,如果您有一个压缩=off的数据集,您可以简单地执行
zfs set compression=on <dataset>
Run Code Online (Sandbox Code Playgroud)
来启用它。这不会压缩该数据集中的所有数据,但设置此选项后写入数据集的所有块都将被压缩。您甚至可以从一种压缩算法切换到另一种压缩算法,而无论写入块时使用哪种压缩算法,或者即使根本启用了压缩,存储在该数据集中的所有数据仍然可以访问。
| 归档时间: |
|
| 查看次数: |
520 次 |
| 最近记录: |