1. 程式人生 > >CentOS7.4-btrfs管理及使用

CentOS7.4-btrfs管理及使用

nbsp 2-2 lis require 圖片 options 支持 多個 aps

btrfs, B-tree File System, GPL開源文件系統, 支持CoW即讀時寫入.

核心特性:

  1. 多物理卷支持;
    • btrfs可由多個底層磁盤組成
  2. 支持RAID
    • mkfs.btrfs 命令的man文檔支持: raid0, raid1, raid5, raid6,raid10, single or dup
  3. 聯機"添加, 移除, 修改"
  4. CoW寫時復制更新機制
    • 對文件做更改時, 先復制一份, 而後對復制過的文件做更改並且替換指針, 而非就地更新
    • 技術分享圖片
  5. 數據及元數據校驗碼: checksum*
  6. 子卷: sub_volume
  7. 快照: 支持快照的快照
  8. 透明壓縮

創建文件系統: mkfs.btrfs

  • 卷創建:
    • mkfs.btrfs [options] <device> [<device>...]
      • -L ‘Label’ : 設置卷標
      • -d <data-profile> : raid0,raid1,raid5,raid6,raid10, single, dup
      • -m<metadata-profile>: raid0,raid1,raid5,raid6,raid10, single, dup
      • -O<feature>
        • -O list-all: 列出所有支持的feature
  • 屬性查看:
    • btrfs filesystem show //此處命令在下面的btrfs中有
      • 列出當前文件系統中的btrfs,並顯示信息
      • 加上<DEVICE>將顯示指定信息
  • 掛載:
    • mount [–t btrfs] /dev/sdb MOUNT_POINT
      • -t可選可不選
      • 以 /dev/sdb 做btrfs系統示例
  • 透明壓縮機制:
    • 解釋: 在寫入時自動壓縮, 讀取時自動解壓; [un]compress過程對用戶隱藏;
    • mount -o compress={ lzo|zlib } DEVICE MOUNT_POINT
      lzo, zlib壓縮機制
  • btrfs命令, 以及其子命令, 子子命令:
    1. btrfs filesystem
      1. show: 查看所有btrfs系統信息
      2. df <MOUNT_POINT>: 查看已掛載 *具體空間使用情況*
      3. resize<MOUNT_POINT>: 聯機/在線更改大小
        • 減小容量 修改有風險, 操作需謹慎
    2. btrfs device
      1. btrfs device add <NEW_DEVCIE> <MOUNT_POINT>添加一個磁盤到掛載點
      2. btrfs device delete <OLD_DEVCIE> <MOUNT_POINT>刪除一個磁盤到掛載點
    3. btrfs-balance 均衡負載
      1. btrfs balance start <MOUNT_POINT> 開始均衡負載過程
        • state 查看均衡進度
        • pause 暫停
        • resume 繼續
        • cancel 取消
          • 負載均衡將會消耗很大一部分的系統性能, 僅建議在不忙時操作; 可使用pause暫停;
      2. btrfs balance start -mconvert=<profile> <MOUNT_POINT> 修改raid級別
        • <profile>: raid0, raid1, raid10, raid5, raid6, dup,single
        • -dconvert//數據區 data blocks
        • -mconvert//元數據區 metadata chunks
        • -sconvert//系統區 system chunks (requires -f)
    4. btrfs-subvolume 子卷
      • 掛載子卷:
        • mount -o subvol=‘ ‘ /dev/DEVICE MOUNT_POIN
          • #先查看待掛載的subvolume的id
            • # btrfs subvolume list /mnt/btrf
            • ID 256 gen 9 top level 5 path su
            • 或者通過路徑掛載也可以
      • list: 顯示所有子卷
      • create:創建子卷
      • delete:刪除子卷
        • 註意:delete子卷不會真正刪除物理卷上的數據, 如需要可使用-c
      • snapshot
        • btrfs subvolume snapshot /MOUNT_POINT/SUB /MOUNT_POINT/SUB_snapsho
    5. btrfs-convert 轉換其他格式到btrfs
      • btrfs-convert </dev/DEVICE>: 轉換其他fs到btrfs
        • -r 回滾到原來的fs
    6. 命令註意:
      • btrfs命令僅對掛載後的掛載點生效, 直接操作/dev/sd[a-z]不可行

btrfs子命令: filesystem, device, balance, subvolume, convert

技術分享圖片

CentOS7.4-btrfs管理及使用