ZFS是一个新型的文件系统,周末在Ubuntu上进行了安装和测试,性能仍是有了很惊人的提高。不过,不一样的磁盘配置和存储模式选择,对性能的影响是很大的,须要根据本身的需求来设置和调整。linux
ZFS若是使用全盘加入其存储池,会抹去盘上的全部数据。所以,一旦存放数据后,就很难再去改变,须要在新系统创建时就作好规划。下面是一些实验过程的操做,你能够经过这个过程来了解你所创建的存储系统的大概运行参数,以便选择和优化。缓存
很是简单,运行:性能
sudo apt install zfsutils-linux
列出磁盘上的全部活动的驱动器(未挂载的不会显示)。测试
显示全部的存储设备(包含ID信息):优化
在创建zpool时推荐使用ID信息,以避免磁盘调整时其标签发生改变致使挂载错误。ui
建立ZFS的存储池,运行:spa
上面的命令建立一个简单存储池,只包含一个磁盘。.net
其中,zpool为存储名称,能够改成其它名称,后面是磁盘的标识,能够空格隔开加入多个。blog
若是须要高性能和高可靠,建议使用“镜像+条带”的存储模式。get
在SSD上建立存储池的缓存(普通机械盘意义不大)来进行读数据时的加速。能够建立一个文件(也可使用整块SSD,可是必须独立。由于Linux系统盘不能划出分区来单独使用。),以下(能够自行修改缓冲区文件的大小):
添加到zpool之中,将会当即启用:
sudo zpool add zpool cache /home/supermap/zcachex.img -f
ZFS log文件放到快速盘上,能够加速文件访问。在SSD上建立一个文件用于ZIL(log)数据的存储。
添加到zpool之中,将会当即启用:
sudo zpool add zpool log /home/supermap/zlogx.img -f
在/zpool的根目录能够建立目录,但经过下面的方式建立文件系统,能够单独指定其特性,如配额、压缩、权限等等。
sudo zfs create zpool/data
指定配额:
sudo zfs set quota=10G zpool/data
启用压缩:
sudo zfs set compression=on mypool/projects
在磁盘上建立20G的测试文件:
结果以下:
将文件复制一份:
sudo dd if=testx.img of=/zpool/test2.img bs=1M count=20480
结果以下:
读出文件,以下:
这里输出到/dev/null,没有进行写入操做。
结果以下:
测量读出的时间:
结果以下:
结果以下: