标签:btrfs
btrfs文件系统
Btrfs(B-tree,Butter FS,Better FS)其遵从GPL协定,由Oracle于2007年开发。
特性:
1.多物理卷支持:由底层多个物理卷组成,支持RAID{0,1,5,6,10},以联机“添加”,“移除”,“修改”。
2.写时复制更新机制(COW):复制,更新及替换指针,而非“就地更新”:改变文件是先将文件复制一份,在新文件上进行修改,最后将文件名指针指向新文件,原文件保留,利于文件恢复。
3.数据集元数据校验机制:checksum
4.子卷(sub_volume):在一个卷上创建子卷,子卷可单独挂载使用
5.快照(snapshot):区别于LVM快照的是可以对快照进行快照
6.透明压缩机制:存放文件时自动压缩(lzo,zlib),查看文件时自动解压缩,但会消耗更多的cpu的时钟周期
7.Btrfs命令将多个小命令组合为一个命令
文件系统创建:centos7以上版本使用
mkfs.btrfs
-L ‘LABEI’:指明卷标
-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‘ /dev/sdb /dev/sdc /dev/sdd
属性查看:
查看指定文件系统的属信息
例:btrfs filesystem show /dev/sdb
查看所有文件系统的信息
例:btrfs filesystem show --all-devices
查看已挂载的文件系统的信息
例:btrfs filesystem show --mounted
查看卷标:
例:btrfs filesystem label /dev/sdb
文件系统挂载:
例:mount -t btrfs /dev/sdb /mydata
Note:-t如能自动获取到,可以不指定
例:mount -o compress=lzo /dev/sdb /mydata
Note:使用压缩算法存放文件,可以使用lzo与zlib两种
调整文件系统大小:
例:btrfs filesystem resize max /mydata
Note:max选项是调整至最大,[+/-]<size>[kKmMgGtTpPeE]可增大或减小文件系统
添加或删除磁盘
例1:添加
btrfs device add /dev/sdb /mydata
Note:添加新的磁盘后要将文件均衡
btrfs balance start /mydata/
Note:此操作如文件系统中占用空间过多时,速度慢,且占用磁盘IO
例2:删除
btrfs device delete /dev/sdb /mydata
Note:磁盘移除可支持联机操作,不损坏数据,在磁盘被移除前,数据会被转移到别的磁盘
改变元数据级别的组织形式
例:btrfs balance start -mconvert=raid5 /mydata
子卷:
例1:创建子卷
btrfs subvolume creat /mydata/logs
例2:查看新创建的子卷
btrfs subvolume list /mydata/
例3:单独挂载子卷
mount -o subvol=logs /dev/sdc /mnt
mount -o subvolid=260 /dev/sdc /mnt
例4:删除子卷
btrfs subvolume delete /mydata/logs
例5:子卷快照
btrfs subvolume snapshot /mydata/logs /mydata/logs_snapshot
Note:子卷快照必须与子卷在同一个父卷内
例6:对单文件快照
cp --reflink ifcfg.conf ifcfg_snapshot
文件系统转换
例1:ext4转换为btrfs
btrfs-convert /dev/sdd1
例2:btrfs转换为ext4
btrfs-convert -r /dev/sdd1
本文出自 “linux启航” 博客,请务必保留此出处http://jiayimeng.blog.51cto.com/10604001/1841030
标签:btrfs
原文地址:http://jiayimeng.blog.51cto.com/10604001/1841030