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

專業性能測試

更多參考:

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