五、btrfs文件系统
技术预览版
Btrfs (B-tree, Butter FS, Better FS), GPL, Oracle,2007, CoW
核心特性:
多物理卷支持: btrfs可由多个底层物理卷组成;支持RAID,以及联机“添加”、“移除”,“修改”
写时复制更新机制(CoW):复制、更新及替换指针,而非“就地”更新
数据及元数据校验码: checksum
子卷: sub_volume
快照:支持快照的快照
透明压缩
btrfs文件系统
文件系统创建:
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
mkfs.btrfs -L mydata -f /dev/sdb /dev/sdc
属性查看:
btrfs filesystem show ; blkid
btrfs filesystem show –mounted|all-devices
挂载文件系统:
mount -t btrfs /dev/sdb MOUNT_POINT
透明压缩机制:
mount -o compress={lzo|zlib} DEVICE MOUNT_POINT
在线修改文件系统大小
man btrfs
btrfs filesystem resize -10G /mydata
btrfs filesystem resize +5G /mydata
btrfs filesystem resize max /mydata
查看
df –lh; btrfs filesytem df /mydata
添加设备:man btrfs-device
btrfs device add /dev/sdd /mydata
平衡数据:man btrfs-banlance
btrfs banlance status /mydata
btrfs banlance start /mydata
btrfs banlance pause /mydata
btrfs banlance cancel /mydata
btrfs banlance resume /mydata
删除设备
btrfs device delete /dev/sdb /mydata
修改raid级别:注意raid对成员数量的要求
btrfs balance start -mconvert=raid1|raid0|raid5 /mydata
btrfs balance start -dconvert=raid1|raid0|raid5 /mydata
子卷管理:man btrfs-subvolume
btrfs subvolume list /mydata 查看子卷ID等信息
btrfs subvolume create /mydata/subv1
umount /mydata
mount -o subvol=subv1 /dev/sdd /mnt/subv1
btrfs subvolume show /mnt/subv1
mount /dev/sdb /mydata 挂父卷,子卷自动挂载
mount -o subvolid=### /dev/sdd /mnt/subv1
btrfs subvolume show /mnt/subv1
btrfs subvolume delete /mydata/subv1
创建快照:
btrfs subvolume snapshot /mydata/subv1 \
/mydata/snapshot_subv1
btrfs subvolume list /mydata
删除快照
btrfs subvolume delete /mydata/snapshot_subv1
对一个文件做快照(当前卷)
cd /mydata/subv1
cp –reflink testfile snapshot_testfile
实验ext4和btrfs互转
btrfs balance start -dconvert=single /mydata
btrfs balance start -mconvert=raid1 /mydata
btrfs device delete /dev/sdd /mydata
fdisk /dev/sdd分区
mkfs.ext4 /dev/sdd1
mount /dev/sdd1 /mnt
cp /etc/fstab /mnt
umount /mnt/
fsck -f /dev/sdd1
btrfs-convert /dev/sdd1 转化ext4为btrfs
btrfs fikesystem show
mount /dev/sdd1 /mnt
btrfs转化ext4文件系统
umount /mnt
btrfs-convert -r /dev/sdd1
blkid /dev/sdd1
再转换成btrfs
btrfs-convert /dev/sdd1
原创文章,作者:DYW,如若转载,请注明出处:http://www.178linux.com/43345