btrfs 的特性和使用:ide
Btrfs 被稱爲是下一代 Linux 文件系統。近年來 ext2/3 遇到愈來愈多的擴展性問題,在期待 ext4 的同時,人們發現了 btrfs,聽說它採用了不少先進的文件系統設計,不只解決了 ext2/3 的擴展性問題,還讓人們看到了下一代文件系統所具備的許多其餘特性。這一切都讓人不由心生好奇,btrfs 究竟提供了哪些特性?它是如何實現的?本文便圍繞這些問題展開探討,首先研究了 btrfs 所提供的新特性,並簡要介紹了 btrfs 內部實現這些特性的原理;而後演示了 btrfs 的經常使用命令。spa
btrfs的簡要命令:
設計
文件系統建立:orm
mkfs.btrfsip
-L 'LABEL'it
-d <type>: raid0, raid1, raid5, raid6, raid10, singleclass
-m <profile>: raid0, raid1, raid5, raid6, raid10, single, dup效率
-O <feature>原理
-O list-all: 列出支持的全部feature;擴展
屬性查看:
btrfs filesystem show
掛載文件系統:
mount -t btrfs /dev/sdb MOUNT_POINT
透明壓縮機制:
mount -o compress={lzo|zlib} DEVICE MOUNT_POINT
子命令:filesystem, device, balance, subvolume
每一個 Unix 管理員都曾面臨爲用戶和各類應用分配磁盤空間的任務。多數狀況下,人們沒法事先準確地估計一個用戶或者應用在將來究竟須要多少磁盤空間。磁盤空間被用盡的狀況常常發生,此時人們不得不試圖增長文件系統空間。傳統的 ext2/3 沒法應付這種需求。不少卷管理軟件被設計出來知足用戶對多設備管理的需求,好比 LVM 。 Btrfs 集成了卷管理軟件的功能,一方面簡化了用戶命令;另外一方面提升了效率。
多設備管理:
Btrfs 支持動態添加設備。用戶在系統中增長新的磁盤以後,可使用 btrfs 的命令將該設備添加到文件系統中。爲了靈活利用設備空間,Btrfs 將磁盤空間劃分爲多個 chunk 。每一個 chunk 可使用不一樣的磁盤空間分配策略。好比某些 chunk 只存放 metadata,某些 chunk 只存放數據。一些 chunk 能夠配置爲 mirror,而另外一些 chunk 則能夠配置爲 stripe 。這爲用戶提供了很是靈活的配置可能性。