btrfs文件系统管理与应用

技术预览版

b-tree FS, butter FS, better FS

GPL授权

由Oracle在2007年前后开始研发,CoW

核心特性:

  • 多物理卷支持:btrfs可由多个底层物理卷组成;支持RAID,以联机“添加”,“移除”,“修改”
  • 写时复制更新机制(CoW):复制,更新及替换指针,而非“就地”更新

  • 数据及元数据校验码:checksum
  • 子卷:sub_volume
  • 快照:支持快照的快照(增量快照)
  • 透明压缩

文件系统创建:

  • mkfs.btrfs
    • -L 'LABEL'
    • -d <type>: RAID0, RAID1, RAID5, RAID6, RAID10, single
    • -m <profile>:RAID0, RAID1, RAID5, RAID6, RAID10, single, dup
    • -O <feature>
      • -O list-all:列出支持的所有feature
  • 创建b-tree文件系统: 
    • fdisk -l:查看磁盘情况
    • mkfs.btrfs -L mydata /dev/sdb /dev/sdc,在sdb和sdc上创建一个btrfs文件系统(多卷支持)
    • btrfs filesystem show:检查是否创建成功,也可以使用blkid /dev/sdb或者blkid /dev/sdc查看

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

属性查看:

  • btrfs filesystem show

挂载文件系统

  • mount -t btrfs /dev/sdb mount_point(挂载哪个卷都行,最后都是一样的)

透明压缩机制

  • mount -o compress={lzo | zlib} DEVICE MOUNT_POINT

调整大小

  • btrfs filesystem resize -10G /mydata
  • btrfs filesystem resize max /mydata,调整为最大

添加一个设备

  • btrfs device add /dev/sdd /mydata

往新添加的设备里移动一些数据(数据平衡)

  • btrfs balance start /mydata
    • pause
    • resume
    • cancel
    • status

删除一个设备

  • btrfs device delete /dev/sdd /mydata

改变RAID级别

  • btrfs balance start -mconvert=raid5 /mydata,注意:RAID5必须要有三个设备

创建子卷

  • btrfs subvolume create /mydata/logs

列出子卷

  • btrfs subvolume list /mydata

子卷挂载

  • mount -o subvol=logs /dev/sdb /mnt
  • mount -o subvolid=ID /dev/sdb /mnt

显示子卷详细信息

  • btrfs subvolume show /mnt

注:挂载父卷时,子卷也会自动挂载上来,可以通过路径访问;如果单独挂载子卷,父卷的内容无法访问

删除子卷

  • btrfs subvolume delete /mydata/logs

创建子卷快照

  • btrfs subvolume snapshot /mydata/logs /mydata/logs_snapshot
  • 注:子卷快照必须与子卷放在同一个父卷上;同样,快照卷必须与原卷放在同一个卷组上
  • 删除快照卷和删除子卷是一样的方法

在btrfs文件系统中可以对某个文件创建快照

  • cp --reflink grub2.cfg grub2.cfg_snap

ext文件系统转换为btrfs文件系统

  • umount /mnt,联机操作比较危险,所以要先卸载
  • fsck -f /dev/sdd1,强制检测
  • btrfs-convert /dev/sdd1
  • mount /dev/sdd1 /mnt,挂载使用
  • umount /mnt,卸载
  • btrfs-convert -r /dev/sdd1,回滚回ext系统
  • blkid /dev/sdd1,查看文件系统类型
posted on 2017-11-12 12:50  小兔无情  阅读(465)  评论(0编辑  收藏  举报