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,沒有進行寫入操做。
結果以下:
測量讀出的時間:
結果以下:
結果以下: