标签:btrfs文件系统
1.btrfs文件系统简介
Btrfs(B-tree, Butter FS, Better FS),由Oracle于2007年宣布并进行中的COW(copy-on-write写时复制)文件系统。目标是取代Linux目前的ext3/4文件系统,改善ext3/4的限制,特别是单一文件大小的限制,总文件系统大小限制以及加入文件校验和特性。加入目前ext3/4未支持的一些功能,例如可写的磁盘快照(snapshots),以及支持递归的快照(snapshots of snapshots),内建磁盘阵列(RAID)支持,支持子卷(Subvolumes)的概念,允许在线调整文件系统大小等。
2.btrfs文件系统的特性
(1)扩展性
btrfs 最重要的设计目标是应对大型机器对文件系统的扩展性要求。 Extent,B-Tree和动态 inode 创建等特性保证了 btrfs 在大型机器上仍有卓越的表现,其整体性能而不会随着系统容量的增加而降低。
(2)数据一致性
系统面临不可预料的硬件故障,Btrfs 采用 COW 事务技术来保证文件系统的一致性。 btrfs 还支持 checksum,避免了 silent corrupt 的出现。而传统文件系统则无法做到这一点。
(3)多物理卷支持
Btrfs 支持创建快照 (snapshot),和克隆 (clone) 。 btrfs 还能够方便的管理多个物理设备,使得传统的卷管理软件变得多余。
(4)透明压缩
btrfs支持文件已压缩方式存储到磁盘上,用户查看文件并不是已压缩文件。
3.创建btrfs文件系统
mkfs.btrfs:创建btrfs文件系统
常用选项:
-L LABEL:创建卷标
-d <type>:指定数据存储方式
-m <profile>:元数据存储方式
-O <feature>:-O list-all 列出支持的所有feature
[root@bogon ~]# mkfs.btrfs -L mybtrfs /dev/sdb /dev/sdc <-----创建btrfs文件系统 Btrfs v3.16.2 See http://btrfs.wiki.kernel.org for more information. Turning ON incompat feature ‘extref‘: increased hardlink limit per file to 65536 adding device /dev/sdc id 2 fs created label mybtrfs on /dev/sdb nodesize 16384 leafsize 16384 sectorsize 4096 size 40.00GiB |
4.查看btrfs文件系统属性
btrfs filesystem show:查看btrfs文件系统的属性信息
[root@bogon ~]# btrfs filesystem show <------查看btrfs文件系统属性 Label: ‘mybtrfs‘ uuid: 55265c80-b45a-449c-b35e-df1d584bfc1a Total devices 2 FS bytes used 112.00KiB devid 1 size 20.00GiB used 2.03GiB path /dev/sdb devid 2 size 20.00GiB used 2.01GiB path /dev/sdc Btrfs v3.16.2 [root@bogon ~]# df -lh Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 2.6G 48G 6% / devtmpfs 481M 0 481M 0% /dev tmpfs 490M 0 490M 0% /dev/shm tmpfs 490M 6.7M 484M 2% /run tmpfs 490M 0 490M 0% /sys/fs/cgroup /dev/mapper/centos-home 68G 33M 68G 1% /home /dev/sda1 497M 106M 392M 22% /boot /dev/sdb 40G 1.0M 38G 1% /mydata |
5.挂载btrfs文件系统
[root@bogon ~]# mkdir /mydata <------创建/mydata目录 [root@bogon ~]# mount -t btrfs /dev/sdb /mydata/ <------挂载文件系统 |
6.创建btrfs文件系统透明压缩机制
[root@bogon ~]# umount /dev/sdb [root@bogon ~]# mount -o compress=lzo /dev/sdb /mydata/ <------透明压缩机 |
7.调整btrfs文件系统大小
[root@bogon ~]# btrfs filesystem resize -10G /mydata <------大小减少10G Resize ‘/mydata‘ of ‘-10G‘ [root@bogon ~]# btrfs filesystem show Label: ‘mybtrfs‘ uuid: 55265c80-b45a-449c-b35e-df1d584bfc1a Total devices 2 FS bytes used 896.00KiB devid 1 size 10.00GiB used 2.03GiB path /dev/sdb devid 2 size 20.00GiB used 2.01GiB path /dev/sdc Btrfs v3.16.2 [root@localhost ~]# btrfs filesystem resize +5G /mydata/ <------大小增加5G Resize ‘/mydata/‘ of ‘+5G‘ [root@localhost ~]# df -lh Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 2.6G 48G 6% / devtmpfs 481M 0 481M 0% /dev tmpfs 490M 0 490M 0% /dev/shm tmpfs 490M 6.7M 484M 2% /run tmpfs 490M 0 490M 0% /sys/fs/cgroup /dev/mapper/centos-home 68G 33M 68G 1% /home /dev/sda1 497M 106M 392M 22% /boot /dev/sdb 35G 1.0M 28G 1% /mydata [root@localhost ~]# btrfs filesystem resize max /mydata/ <------调整文件系统容量最大值 Resize ‘/mydata/‘ of ‘max‘ [root@localhost ~]# df -lh Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 2.6G 48G 6% / devtmpfs 481M 0 481M 0% /dev tmpfs 490M 0 490M 0% /dev/shm tmpfs 490M 6.7M 484M 2% /run tmpfs 490M 0 490M 0% /sys/fs/cgroup /dev/mapper/centos-home 68G 33M 68G 1% /home /dev/sda1 497M 106M 392M 22% /boot /dev/sdb 40G 1.0M 38G 1% /mydata |
8.添加设备
[root@localhost ~]# btrfs device add /dev/sdd /mydata <------添加ssd [root@localhost ~]# df -lh Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 2.6G 48G 6% / devtmpfs 481M 0 481M 0% /dev tmpfs 490M 0 490M 0% /dev/shm tmpfs 490M 6.7M 484M 2% /run tmpfs 490M 0 490M 0% /sys/fs/cgroup /dev/mapper/centos-home 68G 33M 68G 1% /home /dev/sda1 497M 106M 392M 22% /boot /dev/sdb 60G 1.0M 56G 1% /mydata |
9.删除设备
[root@localhost ~]# btrfs device delete /dev/sdd /mydata <------删除sdd设备 [root@localhost ~]# df -lh Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 2.6G 48G 6% / devtmpfs 481M 0 481M 0% /dev tmpfs 490M 0 490M 0% /dev/shm tmpfs 490M 6.7M 484M 2% /run tmpfs 490M 0 490M 0% /sys/fs/cgroup /dev/mapper/centos-home 68G 33M 68G 1% /home /dev/sda1 497M 106M 392M 22% /boot /dev/sdb 40G 1.0M 38G 1% /mydata |
10.创建子卷
[root@localhost ~]# btrfs subvolume create /mydata/logs <------在mydata目录下创建子卷logs Create subvolume ‘/mydata/logs‘ [root@localhost ~]# btrfs subvolume list /mydata/ ID 258 gen 13 top level 5 path logs |
11.挂载子卷
[root@localhost ~]# umount /mydata [root@localhost ~]# mount -o subvol=logs /dev/sdb /mnt |
12.创建快照
[root@localhost ~]# btrfs subvolume snapshot /mydata/logs/ /mydata/logs_snapshot Create a snapshot of ‘/mydata/logs/‘ in ‘/mydata/logs_snapshot‘ [root@localhost ~]# btrfs subvolume list /mydata ID 258 gen 16 top level 5 path logs ID 259 gen 16 top level 5 path logs_snapshot |
标签:btrfs文件系统
原文地址:http://zhaibo.blog.51cto.com/8252246/1695824