SGI的xfs是非常好的日志文件系統,是一個64位的高性能文件系統,不但提供了完美的性能,還提供了完美的功能。
SGI的xfs是非常好的日志文件系統,是一個64位的高性能文件系統,不但提供了完美的性能,還提供了完美的功能。當然,事實上他原本是屬於irix系統的。
安裝:
我們可以從以下地址獲取:http://http://oss.sgi.com/projects/xfs/ .裡面還有其他的非常棒的Linux 項目,也可以看看。
我們可以下載兩種補丁包:release 和 development tree,以及tools 文件包。我下載了development tree 的all補丁包和各個tools包,其中包含了xfs文件系統補丁、acl等,可以自己看一下。文件名是xfs-2.4.20-all-i386.bz2。然後就是例行公事:bzip2 -d xfs-2.4.20-all-i386.bz2,把解出來的東西放到kernel中執行patch -p1 < xfs-2.4.20-all-i386 。注意對應好正確的kernel 版本。
make config ,在file system中把xfs系統加入,如果需要啟動,那麼就不能編譯成模塊,或是後期mkinitrd。這裡需要加入的選項還有quota和acl,我相信任何人都不會拒絕的。還有其他選項可以不用,dmapi現在還沒有什麼linux應用;realtime 是提供了實時子卷的支持。確定好你需要的功能(這裡注意,不要同時選擇ibm的jfs系統。如果一定要用,需要補丁。),然後我們就可以保存退出。例行公事:make dep;make bzImage;make modules;make modules_install 。
加載:
重啟以後,我們就擁有了一個支持xfs文件系統的linux。然後我們就可以把需要轉化為xfs系統的mount點確定,我幾乎選擇了所有mount區,除了/,/boot。規劃完畢後,備份你的系統和需要轉換的mount點。然後,umount 你需要xfs的區。接下來我們就可以實現xfs了,mkfs.xfs -L volume [filesystem](具體察看man 手冊,為了更好的性能,我們可以使用更多的控制,例如log size等。有時候調整是必須的,因為xfs畢竟是為高端服務器設置的。)。完成以後,修改fstab,重新mount 系統,恢復備份就可以使用了。
設置:
還記得我們在ext文件系統中對於細粒度控制的無可奈何嗎?只有三個權限;對於quota反復的提問嗎?現在我們不需要為這些煩惱了。
acl:提供了細粒度的權限控制。通過幾個工具:getfacl和setfacl。如我要在一個文件上加上某個用戶的寫權限,只需要setfacl -m u:user:w file。然後getfacl file,ok。其他問題man手冊。
quota:忘掉ext的quota 多麼痛苦吧。兩步就可以解決,在fstab中需要的mount點上加入quota,重新mount後,edquota user or group,保存退出,立即生效。
還有一些其他的功能如:提供了一個附加的attr等等。可以參看網站的文檔。
後記:
非常高的性能;強大的功能;不斷地開發能力;優秀的傳統(irix的純正血統)令我感受到了xfs的希望和linux高端應用的希望。另外提一句,為什麼我沒有使用ibm的jfs呢?可能更多的還是個人原因:jfs相對於aix上的功能和性能都有很大的縮水;網站上介紹不殷實,基本很難找到faq和功能列表等信息;個人對於ibm的大公司病的憎惡。種種原因,令我放棄了jfs系統。