ZFS快速安装和性能测试 顶 原

ZFS是一个新型的文件系统,周末在Ubuntu上进行了安装和测试,性能还是有了很惊人的提升。不过,不同的磁盘配置和存储模式选择,对性能的影响是很大的,需要根据自己的需求来设置和调整。

ZFS如果使用全盘加入其存储池,会抹去盘上的所有数据。因此,一旦存放数据后,就很难再去改变,需要在新系统建立时就做好规划。下面是一些实验过程的操作,你可以通过这个过程来了解你所建立的存储系统的大概运行参数,以便选择和优化。

安装ZFS

非常简单,运行:

sudo apt install zfsutils-linux

List Disks

列出磁盘上的所有活动的驱动器(未挂载的不会显示)。

  • df -h

显示所有的存储设备(包含ID信息):

  • ls -l /dev/disk/by-id

在建立zpool时推荐使用ID信息,以免磁盘调整时其标签发生改变导致挂载错误。

Create ZPool

创建ZFS的存储池,运行:

  • zpool create zpool /dev/sdb

上面的命令创建一个简单存储池,只包含一个磁盘。

其中,zpool为存储名称,可以改为其它名称,后面是磁盘的标识,可以空格隔开加入多个。

如果需要高性能和高可靠,建议使用“镜像+条带”的存储模式。

ZFS cache

在SSD上创建存储池的缓存(普通机械盘意义不大)来进行读数据时的加速。可以创建一个文件(也可以使用整块SSD,但是必须独立。因为Linux系统盘不能划出分区来单独使用。),如下(可以自行修改缓冲区文件的大小):

  • dd if=/dev/zero of=/home/supermap/zcachex.img bs=1M count=40960

添加到zpool之中,将会立即启用:

sudo zpool add zpool cache /home/supermap/zcachex.img -f

ZFS log

ZFS log文件放到快速盘上,可以加速文件访问。在SSD上创建一个文件用于ZIL(log)数据的存储。

  •  dd if=/dev/zero of=/home/supermap/zlogx.img bs=1M count=40960

添加到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

ZFS IO测试

创建测试文件

在磁盘上创建20G的测试文件:

  • sudo dd if=/dev/zero of=/zpool/testx.img bs=1M count=20480

结果如下:

  • 记录了20480+0 的读入
  • 记录了20480+0 的写出
  • 21474836480 bytes (21 GB, 20 GiB) copied, 8.41227 s, 2.6 GB/s

复制文件测试

将文件复制一份:

sudo dd if=testx.img of=/zpool/test2.img bs=1M count=20480

结果如下:

  • 记录了20480+0 的读入
  • 记录了20480+0 的写出
  • 21474836480 bytes (21 GB, 20 GiB) copied, 45.976 s, 467 MB/s

读出文件测试

读出文件,如下:

  • sudo dd if=/zpool/test2.img of=/dev/null bs=1M count=20480

这里输出到/dev/null,没有进行写入操作。

结果如下:

  • 记录了20480+0 的读入
  • 记录了20480+0 的写出
  • 21474836480 bytes (21 GB, 20 GiB) copied, 2.24908 s, 9.5 GB/s

测量读出的时间:

  • time sudo dd if=/zpool/test2.img of=/dev/null bs=1M count=20480

结果如下:

  • 记录了20480+0 的读入
  • 记录了20480+0 的写出
  • 21474836480 bytes (21 GB, 20 GiB) copied, 2.28752 s, 9.4 GB/s
  • real    0m2.317s
  • user    0m0.023s
  • sys    0m2.292s

Copy操作测试

  • time sudo cp test2.img /zpool/test3.img

结果如下:

  • real    0m43.401s
  • user    0m0.188s
  • sys    0m17.172s

专业性能测试

更多参考:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章