一、基礎簡介
#Btrfs(又稱:B-tree, Butter FS, Better FS),GPL授權, Oracle從2007研發,寫實複製更新機制CoW,其主要是為了取代ext2,ext3,ext4,其主要功能有
例如我們現在去修改一個檔案A,COW機制是先將目標檔案A複製一份為檔案B,那麼我們修改檔案時是修改的複製檔案B,相當於對來源檔案A做了快照,如對檔案B修改操作失誤,可以有效的復原來源檔案A。
多實體磁碟區支援:btrfs可由多個底層實體磁碟區組成,內建支援RAID(即支援條帶、mirror等功能),以連線「新增」、「移除」,「修改」操作
支援b-tree檔案功能即支援子磁碟區功能,如在vg中建立lv一樣
寫時複製更新機制(英譯CoW):複製、更新及替換指針,而非「就地」更新機制
資料及來源資料校驗碼機制checksum:我們儲存某個檔案時,checksum會將資料的來源資料和資料的校驗碼,分別透過檔案的屬性擴充來儲存,當我們再次讀取資料時可以方便的檢測資料是否受損,如果檔案受損系統可以完成自動修復。
支援子卷sub_volume:可以在一個磁碟區上建立子卷,然後分別掛載使用
快照:支援快照的快照功能即增量快照
#透明壓縮:即資料自動實現壓縮和解壓縮,以節省空間,會消耗一定的cpu的
:
二、檔案系統建立
#指令幫助btrfs --help
mkfs.btrfs
-L 'LABEL' 指定卷標
-d
-m
-O
-O list-all: 列出所有支援的feature
man btrfs-filesystem查看更多的子指令
mount -t btrfs /dev/sdbMOUNT_POINT 掛載檔案系統
mount -o compress={lzo|zlib} DEVICE MOUNT_POINT 透明壓縮機制
btrfs filesystem resize ±VALUE MOUNT_POINT 調整磁碟大小
btrfs devices [subcommand] args 管理磁碟裝置
btrfs-balance subcomand|args 均衡資料
btrfs subvolume [subcommand][args] 建立子磁碟區
btrfs snapshot 建立快照
快照必須與原卷在同一卷組中,子卷的快照必須與子卷在同一個父卷中
btrfs subvolume delete snapshot-name 刪除子快照
三、建立應用程式範例
## fdisk -l 查看存在的分割區的磁碟
# mkfs.btrfs -L"mybtrfs" /dev/sdb /dev/sdc 將sdb、sdc磁碟建立成一個btrfs系統
# btrfs filesystem show 查看已經建立的btrfs檔案系統
# blid /dev/sdb 看UUID是相同的(說明其實是屬於同一個磁碟區的)
# mkdir /mybtrfs 建立掛載點
# mount -t btrfs /dev/sda(掛載點是/dev/sda也是可以的)
# umount /dev/sda 卸載
# mount -o compress=lzo /dev/sdb /mybtrs重新使用,此時就是自動壓縮(透明壓縮)
#btrfs filesystem resize -10G /mybtrfs
(btrfs filesystem resize調整磁碟大小)
# btrfs devices add /dev/sdd /mybtrfs 自動磁碟擴充邏輯邊界
# man btrfs-balance start /mytrfs
# btrfs-lalance start -mconvert=raid1 /mytrfs 修改元資料的raid等級
# btrfs balance status /mytrfs
# btrfs device delete /dev/sda /mybtrfs 拆除設備,系統會自動移動資料
# btrfs sublimvolume create /mybtrfs 建立子磁碟區
# btrfs subvolume create /mybtrfs/logs 建立logs子磁碟區
umount /mybtrfs
##mount /dev/sdb /mybtrfs 可以卸載父卷,只掛著子卷### ###btrfs subvolume list /mybtrfs 顯示mybtrs###以上是深入解析centos7的btrfs檔案系統管理的詳細內容。更多資訊請關注PHP中文網其他相關文章!