1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > linux分区btrfs 系统基础之Btrfs文件系统详解

linux分区btrfs 系统基础之Btrfs文件系统详解

时间:2018-08-23 23:29:40

相关推荐

linux分区btrfs 系统基础之Btrfs文件系统详解

btrfs文件系统:技术预览版(centos7)

描述:

Btrfs(B-tree,ButterFS,Betterfs),GPL授权,Orale,

写实复制特性(Cow)

cp--reflink(只能在btrfs文件系统中使用)

想取代ext系统系统,

支持非常大文件,文件检查,快照,增量快照,快照单个文件,支持raid功能lvm功能.

已经有企业在生产环境中使用btrfs

核心特性:

1.多物理卷支持:支持将多个底层物理设备组织成同一个文件系统,类似物理卷,,btrfs可由多个底层物理卷组成,支持RAID,以联机实现物理卷的"添加,移除,修改"

2写时复制更新机制(CoW):复制,更新及替换指针,而非"就地更新"

不修改文件时,复制的文件无文件内容,指针仍指向原文件的数据

修改文件时,不立即修改源文件,会对目标文件进行备份,对备份文件进行修改,把文件名指向,由源文件改为备份文件,源数据保留,方便数据恢复.

3.数据及元数据校验码机制:存储每个文件时,把文件的元数据的校验码和数据的校验码,通过文件的属性拓展保存下来.访问文件时,通过扫描校验码,可快速判断文件是否受损.一旦受损,自动尝试修复.极大保证数据的可靠性

4.支持子卷(sub_volume):在某卷上创建诸多子卷,每个子卷可以实现单独使用和挂载

5.快照:基于写时复制机制,比lvm的快照,增加了差异(增量)快照,可以对快照的进行快照.完成对快照后的文件改变进行再次快照.

6透明压缩机制:在这个分区上存储文件,,想节约空间,可以把任何数据流发往btrfs文件系统上,自动通过某些占据cpu的时钟周期完成数据压缩存放,用户不知道.读取时自动解压缩.但消耗cpu的时钟周期.

使用:

1.创建btrfs文件系统

mkfs.btrfs命令:

mkfs.btrfs[OPTINOS]

-L'LABEL':指明卷标

-d:指明数据存储类型

raid0,raid0,raid5,raid6,raid10,single

-m:指明元数据存储机制(底层物理存储设备空间够用)

raid0,raid0,raid5,raid6,raid10,single(单个文件)ordup(冗余)

-O:在格式化,指明其他特性

-Olist-all:列出支持的所有feature:

创建意义:基于分区,btrfs文件系统既然支持raid0,raid0,raid5,raid6,raid10 ,把btrfs创建在不同磁盘不同分区有意义吗?

不打算使用raid0,raid0,raid5,raid6,raid10具有冗余能力的磁盘io能力外,可以简单使用多个磁盘组合起来成为一个大分区使用,那么在不同磁盘不同分区创建并无意义.

btrfs filesystem命令:

show:

sync:

df:查看

defragmenting:

resize:

label:指明或显示卷标

管理物理卷(btrfs处于使用挂载状态)

1.添加新的物理卷

dtrfs device

dtrfs device add /dev/sd# /mntdate

2.把原有的数据均衡到新的物理卷

btrfs-balance:start(开始),cancel(暂停),resume(继续),status(状态)

btrfs balance start /mydate

3.移除物理卷

btrfs文件系统移除物理卷,会在操作前,自动移走要移除物理卷里的数据,可直接执行移除命令.

btrfsdivicedelete

btrfsdivicedelete/devsdb/mydate

需要改数据的raid级别

btrfs balance start -mconvert=raid5 /mntdate

创建子卷

btrfs subvolume create /挂载点/子卷名

实战:

1.创建

[root@w7~]#mkfs.btrfs-Lbtrfs/dev/sde/dev/sdf(磁盘不分区,直接格式化)

[root@w7~]#btrfsfilesystemshow查看btrfs

Label:'btrfs'uuid:c1e91916-3ab1-40a5-a1b4-b41c11abfbfd

Totaldevices2FSbytesused112.00KiB

devid1size20.00GiBused2.03GiBpath/dev/sde

devid2size20.00GiBused2.01GiBpath/dev/sdf

btrfs-progsv3.19.1

[root@w7~]#blkid/dev/sde两个磁盘UUID一样

/dev/sde:LABEL="btrfs"UUID="c1e91916-3ab1-40a5-a1b4-b41c11abfbfd"UUID_SUB="a7cd116c-fa7d-44f8-9763-892f2c9549d3"TYPE="btrfs"

[root@w7~]#blkid/dev/sdf两个磁盘UUID一样

/dev/sdf:LABEL="btrfs"UUID="c1e91916-3ab1-40a5-a1b4-b41c11abfbfd"UUID_SUB="53bcfb31-fe56-4cdb-a987-ac9a9d7b41fd"TYPE="btrfs"

[root@w7~]#mkdir/mntdate

[root@w7~]#mount-tbtrfs/dev/sde/mntdate/使用两个磁盘中的任何一个

2.缩减

mount/dev/sde/mntdate/缩减必须在挂载的情况下

btrfsfilesystemshow/mntdate查看btrfs的磁盘情况

btrfsfilesystemresize-10G/mntdate减10G

btrfsfilesystemshow/mntdate查看btrfs的磁盘情况,并没有更改

btrfsfilesystemdf/mntdate查看btrfs的各磁盘情况,并没有更改

df-h看当前系统下的挂载磁盘情况,查看btrfs的整体磁盘大小变30G

3.扩展(必须在物理磁盘的空间范围内,如想继续扩大,需添加新的物理卷)

[root@w7 ~]#mount /dev/sde /mntdate/ 操作必须在挂载的情况下

[root@w7 ~]#btrfs filesystem show /mntdate 查看btrfs的磁盘情况

[root@w7 ~]# btrfs filesystem resize +5G /mntdate

Resize '/mntdate' of '+5G'

[root@w7 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda2 59G 1.8G 57G 3% /

devtmpfs 480M 0 480M 0% /dev

tmpfs 489M 0 489M 0% /dev/shm

tmpfs 489M 6.8M 483M 2% /run

tmpfs 489M 0 489M 0% /sys/fs/cgroup

/dev/sda1 197M 111M 87M 57% /boot

tmpfs 98M 0 98M 0% /run/user/0

/dev/sde 35G 18M 28G 1% /mntdate

[root@w7 ~]# btrfs filesystem resize max /mntdate 直接调整为最大

Resize '/mntdate' of 'max'

[root@w7 ~]# df -h 查看文件系统的空间大小为40

Filesystem Size Used Avail Use% Mounted on

/dev/sde 40G 18M 38G 1% /mntdate

4.添加新的物理卷

dtrfs device

dtrfs device add /dev/sd# /mntdate

[root@w7 ~]# btrfs device add /dev/sdb /mntdate

/dev/sdb appears to contain a partition table (dos).

Use the -f option to force overwrite.

[root@w7 ~]# btrfs device add -f /dev/sdb /mntdate

[root@w7 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda2 59G 1.8G 57G 3% /

devtmpfs 480M 0 480M 0% /dev

tmpfs 489M 0 489M 0% /dev/shm

tmpfs 489M 6.8M 483M 2% /run

tmpfs 489M 0 489M 0% /sys/fs/cgroup

/dev/sda1 197M 111M 87M 57% /boot

tmpfs 98M 0 98M 0% /run/user/0

/dev/sde 120G 18M 56G 1% /mntdate

2.原有数据均衡到新的物理卷

[root@w7 ~]# btrfs balance start /mntdate

Done, had to relocate 5 out of 5 chunks

[root@w7 ~]# btrfs filesystem show

Label: 'btrfs' uuid: c1e91916-3ab1-40a5-a1b4-b41c11abfbfd

Total devices 3 FS bytes used 1.13MiB

devid 1 size 20.00GiB used 1.03GiB path /dev/sde

devid 2 size 20.00GiB used 2.00GiB path /dev/sdf

devid 3 size 80.00GiB used 2.03GiB path /dev/sdb

btrfs-progs v3.19.1

3.移除物理卷

[root@w7 ~]# btrfs filesystem show

Label: 'btrfs' uuid: c1e91916-3ab1-40a5-a1b4-b41c11abfbfd

Total devices 3 FS bytes used 1.13MiB

devid 1 size 20.00GiB used 1.03GiB path /dev/sde

devid 2 size 20.00GiB used 2.00GiB path /dev/sdf

devid 3 size 80.00GiB used 2.03GiB path /dev/sdb

btrfs-progs v3.19.1

[root@w7 ~]# btrfs device delete /dev/sdb /mntdate 移除物理卷

[root@w7 ~]# btrfs filesystem show

Label: 'btrfs' uuid: c1e91916-3ab1-40a5-a1b4-b41c11abfbfd

Total devices 2 FS bytes used 1.45MiB

devid 1 size 20.00GiB used 1.28GiB path /dev/sde

devid 2 size 20.00GiB used 1.28GiB path /dev/sdf

btrfs-progs v3.19.1

原创文章,作者:wencx,如若转载,请注明出处:/48226

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。