去年花了點時間將我手上的gentoo server的partition轉成ZFS,當時會這樣做的原因是我手上的gentoo server因為不正常斷電而造成xfs及reiserfs的partition資料毀損,雖然用fsck搶救,但仍有部份資料無法找回,於是開始找有沒有更好的撰擇,後來發現了zfs,仔細研究了一下發現對我的優點還真是不少:
1. zfs支援copy on write(cow)可避免斷電時資料毀損的問題
2. 靈活的控間運用,所有的partition共用空間,不需要先指定空間給partition
3. 支援檔案壓縮,可減少使用空間
4. 支援Deduplication,可減少空間的使用
5. 支援snapshot,可進行時光回溯
當然zfs還有很多raid管理上的優點及nfs及samba的直接支援,只是我沒有用到就沒再去測試了,有興趣的人可以上網google一下
我主要是跟著下面網址的步驟去做的,gentoo應該是最容易實現zfs的套件了吧
http://forum.ubuntu.org.cn/viewtopic.php?f=105&t=386252
使用後的感想是共用空間的管理方式對我真的太方便了,cow也避免斷電的資料毀損問題,當時開了dedup的功能會吃掉太多的ram,後來還是將之關掉了,整個來看資料的存取感覺有變慢一點,但是一般用的時候差異不大,小檔案的讀取還是比xfs快,整體來說我覺得很ok,在btrfs還沒有ready之前,我覺得zfs是一個不錯的選擇。
但要把zfs用到production的環境上的話要好好的考慮一下,畢竟在linux上他不像其它的filesystem那麼的千錘百鍊,在測試的強度上及使用的經驗上(問題解決的SOP)都還不足,但是我相信應該是時間的問題而已
su:scsi_acer ~ # df
檔案系統 容量 已用 可用 已用% 掛載點
rootfs 558G 8.1G 550G 2% /
udev 10M 4.0K 10M 1% /dev
sda1pl/GENTOO/root 558G 8.1G 550G 2% /
tmpfs 7.8G 716K 7.8G 1% /run
shm 7.8G 0 7.8G 0% /dev/shm
cgroup_root 10M 0 10M 0% /sys/fs/cgroup
tmpfs 8.0G 105M 7.9G 2% /tmp
sda1pl/HOME 662G 113G 550G 17% /home
sda1pl/PORTAGE/portage 552G 2.2G 550G 1% /usr/portage
sda1pl/GENTOO/var 553G 3.1G 550G 1% /var
su:scsi_acer ~ # zfs list
NAME USED AVAIL REFER MOUNTPOINT
sda1pl 136G 549G 136K none
sda1pl/GENTOO 11.1G 549G 136K none
sda1pl/GENTOO/root 8.09G 549G 8.09G /
sda1pl/GENTOO/var 3.03G 549G 3.03G /var
sda1pl/HOME 112G 549G 112G /home
sda1pl/PORTAGE 2.12G 549G 136K none
sda1pl/PORTAGE/portage 2.12G 549G 2.12G /usr/portage
sda1pl/swap 10.6G 549G 10.3G -
su:scsi_acer ~ #
Deduplication feature requires up to 5 GB RAM per Terrabyte Storage Space, so if you cannot afford this amount of exclusive RAM disable dedup by entering
zfs set dedup=off storage
Set zfs_arc_min and zfs_arc_max memory limit
Create a file in /etc/modprobe.d/zfs.conf and add and adjust the zfs_arc_min and zfs_arc_max mem parameters:
# Min 2048MB / Max 4096 MB Limit
options zfs zfs_arc_min=2147483648
options zfs zfs_arc_max=4294967296
0 回應:
張貼留言