ZFS快速安装和性能测试

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

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

安装ZFS

很是简单,运行:性能

sudo apt install zfsutils-linux

List Disks

列出磁盘上的全部活动的驱动器(未挂载的不会显示)。测试

  • df -h

显示全部的存储设备(包含ID信息):优化

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

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

Create ZPool

建立ZFS的存储池,运行:spa

  • zpool create zpool /dev/sdb

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

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

若是须要高性能和高可靠,建议使用“镜像+条带”的存储模式。get

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

专业性能测试

更多参考:

相关文章
相关标签/搜索