centos

sys.9.1 btrfs文件系统

 

btrfs : B-tree FS; Butter FS; Better FS;
btrfs文件系统,由Oracle于2007年开始研发的COW(copy-on-write式)文件系统;目标是取代Linux目前的ext3文件系统,改善ext3的限制,特别是单一文件大小的限制,总文件系统大小限制以及加入文件校验和特性。加入目前ext3/4未支持的一些功能,例如可写的磁盘快照(snapshots),以及支持递归的快照(snapshots of snapshots),内建磁盘阵列(RAID)支持,支持子卷(Subvolumes)的概念,允许在线调整文件系统大小;

1、brtfs核心特性
多物理卷支持:btrfs可由多个底层物理卷组成;支持RAID,以联机实现对物理卷的添加、移除、修改操作;
写时复制更新机制(COW): 复制、更新及替换block指针(指针指向由源文件复制而来的新文件路径),并非直接更新源文件;
元数据及数据的校验码机制:checksum,可检测文件是否受损,如果文件受损,也会自动进行修复操作;
支持子卷:sub_volume;
快照功能:支持快照的快照;
透明压缩机制:用户写数据时,自动进行压缩;读数据时,自动进行解压缩操作;这个机制会耗费CPU的时间周期;

2、btrfs文件系统管理命令

2.1 btrfs文件系统的创建
mkfs.btrfs –  create  a  btrfs  filesystem

OPTIONS:
-L    LABEL : 指定卷标名称;
-d <type> : 指明数据存储时的类型;raid0, raid1, raid5, raid6, raid10  or  single;
-m <profile> : 指明元数据存储机制;raid0, raid1, raid5, raid6, raid10 ,single  or  dup;
-O <feature> : 格式化时需要启用的特性;

-O   list-all : 列出支持的所有feature;

2.2 查看”brtfs   filesystem” 命令的用法
~]# man  8  btrfs-filesystem

2.3 btrfs文件系统属性查看
~]# btrfs   filesystem   show

2.4 挂载btrfs文件系统
~]# mount   /dev/DEVICE    MOUNT_POINT

2.5 透明压缩机制,在挂载时候就可以启用
~]# mount    -o    compress={lzo|zlib}    /dev/DEVICE    MOUNT_POINT

compress中的压缩机制选一个即可:’lzo’或者’zlib’;

2.6 btrfs  device: 对设备的管理

btrfs device add [options] <device> [<device>...] <path>
    Add a device to a filesystem
btrfs device delete <device>|<devid> [<device>|<devid>...] <path>
btrfs device remove <device>|<devid> [<device>|<devid>...] <path>
    Remove a device from a filesystem
btrfs device scan [(-d|--all-devices)|<device> [<device>...]]
    Scan devices for a btrfs filesystem
btrfs device ready <device>
    Check device to see if it has all of its devices in cache for mounting
btrfs device stats [options] <path>|<device>
    Show device IO error statistics
btrfs device usage [options] <path> [<path>..]
    Show detailed information about internal allocations in devices.

2.7   btrfs    balance:
在原有btrfs文件系统基础上,新增加了一块硬盘,此时可启用’balance’机制,把原来文件系统的数据分担到新硬盘;

~]# btrfs   device   add   /dev/sde   /lvdata

~]# btrfs   balance   start   –full-balance   /lvdata

2.8 实时修改数据、元数据的存储方式:
~]# btrfs   balance   start   -dconvert=raid5   /lvdata                修改数据的存储方式;

~]# btrfs   balance   start   -mconvert=raid1   /lvdata               修改元数据的存储方式;

~]# btrfs   balance   start   -sconvert=raid1   /lvdata                 修改系统(system chunks)的存储方式;默认不允许修改,可加参数’–force’,强制;

[root@kouyuushinn /]# btrfs balance start -sconvert=raid0 /lvdata
ERROR: Refusing to explicitly operate on system chunks.
Pass --force if you really want to do that.
[root@kouyuushinn /]#

2.9   btrfs   subvolume : 子卷管理命令
~]# mkfs.btrfs    -L    btrfile   /dev/sdc   /dev/sdd   /dev/sde                           添加3块磁盘,创建btrfs文件系统;
~]# mount   -o   compress=lzo   /dev/sdc   /lvdata                                             挂载操作,指定透明压缩方式为’lzo’, ‘/lvdata’是挂载点,也是父卷;
~]# btrfs    subvolume    list    /lvdata                                                                    查看子卷列表;

~]# btrfs   subvolume   create   /lvdata/subfirst                                                 创建子卷:’subfirst’ ,’subsecond’;
~]# btrfs   subvolume   create   /lvdata/subsecond

上面已经挂载了父卷’/lvdata’,此时创建的子卷也会自动挂载,通过父卷’/lvdata’为数据的访问入口;
如果要挂载子卷,则需要卸载父卷’umount    /lvdata’, 然后使用下面命令进行子卷的挂载:

~]# mount   -o   subvol=subfirst    /abc
~]# mount   -o   subvol=subsecond    /aabb

~]# btrfs    subvolume    show   /abc                                                                    查看子卷信息;
~]# btrfs    subvolume    show   /aabb

如果要删除子卷,则首先要卸载’umount’子卷,然后挂载’mount’父卷,再执行删除子卷的操作;
删除子卷的命令如下:
~]# btrfs    subvolume    delete    /lvdata/subfirst

2.10 快照功能
创建快照卷后,快照卷里面的文件保存的状态是:原卷里面的文件尚未发生变化的状态;
此时对源文件内容做增加、删除操作,不会影响到快照卷里面的文件内容;

如果对子卷创建快照,则快照必须位于跟子卷相同的父卷目录下;创建命令如下:
~]# btrfs   subvolume   snapshot   /lvdata/subsecond    /lvdata/subsecond_snap

删除快照(删除前,先备份快照里面的数据):
~]# btrfs    subvolume    delete    /lvdata/subsecond_snap

如果对单个文件做快照,则快照卷最好保存在同一卷组里面的其他目录中;即,如果要创建快照的文件位于父卷目录中,则快照卷保存在父卷目录下面的其他子目录即可;如果要创建快照的文件位于子卷目录中,则快照卷保存在子卷目录下面的其他子目录中即可;创建命令为:
~]# cp    –reflink    /lvdata/subsecond/abc      /lvdata/subsecond/test/abc_snap

上面命令中:’abc’是子卷’subsecond’里面的文件,’abc_snap’是保存在子卷下面的子目录’test’的快照文件;

====================       =========================       =========================

===========================================================================

1、创建btrfs文件系统:
--------------------------
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# mkfs.btrfs -L btrfile /dev/sdc /dev/sdd
btrfs-progs v4.9.1
See http://btrfs.wiki.kernel.org for more information.

Label:              btrfile
UUID:               a2180257-513b-4285-92aa-003ed62e2eda
Node size:          16384
Sector size:        4096
Filesystem size:    30.00GiB
Block group profiles:
  Data:             RAID0             2.00GiB
  Metadata:         RAID1             1.00GiB
  System:           RAID1             8.00MiB
SSD detected:       no
Incompat features:  extref, skinny-metadata
Number of devices:  2
Devices:
   ID        SIZE  PATH
    1    15.00GiB  /dev/sdc
    2    15.00GiB  /dev/sdd
2、查看UUID号:
-------------------
[root@kouyuushinn ~]# blkid /dev/sdc
/dev/sdc: LABEL="btrfile" UUID="a2180257-513b-4285-92aa-003ed62e2eda" UUID_SUB="9065d541-1cc6-4fe6-a149-240ae97ce858" TYPE="btrfs" 
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# blkid /dev/sdd
/dev/sdd: LABEL="btrfile" UUID="a2180257-513b-4285-92aa-003ed62e2eda" UUID_SUB="d23ebe69-cec9-422c-acc0-c97eef8c40d8" TYPE="btrfs" 
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# btrfs filesystem show
Label: 'btrfile'  uuid: a2180257-513b-4285-92aa-003ed62e2eda
  Total devices 2 FS bytes used 112.00KiB
  devid    1 size 15.00GiB used 2.01GiB path /dev/sdc
  devid    2 size 15.00GiB used 2.01GiB path /dev/sdd

[root@kouyuushinn ~]# 


3、查看btrfs设备信息:
-----------------
[root@kouyuushinn ~]# btrfs filesystem show --all-devices    查看所有btrfs设备的信息;
Label: 'btrfile'  uuid: a2180257-513b-4285-92aa-003ed62e2eda
  Total devices 2 FS bytes used 112.00KiB
  devid    1 size 15.00GiB used 2.01GiB path /dev/sdc
  devid    2 size 15.00GiB used 2.01GiB path /dev/sdd

[root@kouyuushinn ~]# btrfs filesystem show /dev/sdc
Label: 'btrfile'  uuid: a2180257-513b-4285-92aa-003ed62e2eda
  Total devices 2 FS bytes used 112.00KiB
  devid    1 size 15.00GiB used 2.01GiB path /dev/sdc
  devid    2 size 15.00GiB used 2.01GiB path /dev/sdd

[root@kouyuushinn ~]# btrfs filesystem show /dev/sdd
Label: 'btrfile'  uuid: a2180257-513b-4285-92aa-003ed62e2eda
  Total devices 2 FS bytes used 112.00KiB
  devid    1 size 15.00GiB used 2.01GiB path /dev/sdc
  devid    2 size 15.00GiB used 2.01GiB path /dev/sdd

[root@kouyuushinn ~]# 


4、查案卷标名称:
---------------------
[root@kouyuushinn ~]# btrfs filesystem label /dev/sdc
btrfile
[root@kouyuushinn ~]# btrfs filesystem label /dev/sdd
btrfile
[root@kouyuushinn ~]# 


5、挂载btrfs文件系统,并查看挂载情况:
--------------------------------
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# btrfs filesystem show /dev/sdd
Label: 'btrfile'  uuid: a2180257-513b-4285-92aa-003ed62e2eda
  Total devices 2 FS bytes used 112.00KiB
  devid    1 size 15.00GiB used 2.01GiB path /dev/sdc
  devid    2 size 15.00GiB used 2.01GiB path /dev/sdd

[root@kouyuushinn ~]# mount /dev/sdc /lvdata       挂载操作;
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# btrfs filesystem show -m     查看已挂载的btrfs文件系统的信息;
Label: 'btrfile'  uuid: a2180257-513b-4285-92aa-003ed62e2eda
  Total devices 2 FS bytes used 896.00KiB
  devid    1 size 15.00GiB used 2.01GiB path /dev/sdc
  devid    2 size 15.00GiB used 2.01GiB path /dev/sdd

[root@kouyuushinn ~]# btrfs filesystem show --mounted
Label: 'btrfile'  uuid: a2180257-513b-4285-92aa-003ed62e2eda
  Total devices 2 FS bytes used 896.00KiB
  devid    1 size 15.00GiB used 2.01GiB path /dev/sdc
  devid    2 size 15.00GiB used 2.01GiB path /dev/sdd

[root@kouyuushinn ~]# 


6、查看btrfs文件系统的大小,并做大小调整:
--------------------------------------
[root@kouyuushinn lvdata]# 
[root@kouyuushinn lvdata]# df -lh
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   37G  1.9G   36G   5% /
devtmpfs                 478M     0  478M   0% /dev
tmpfs                    488M     0  488M   0% /dev/shm
tmpfs                    488M  6.8M  481M   2% /run
tmpfs                    488M     0  488M   0% /sys/fs/cgroup
/dev/sdb5                2.0G   33M  2.0G   2% /sdb5
/dev/sdb1               1014M   33M  982M   4% /sdb1
/dev/sdb6                283M  2.1M  262M   1% /sdb6
/dev/sdb2                2.0G  6.0M  1.8G   1% /sdb2
/dev/md0                 968M  2.5M  900M   1% /mydata
/dev/sda1               1014M  153M  862M  16% /boot
tmpfs                     98M     0   98M   0% /run/user/0
/dev/sdc                  30G   17M   28G   1% /lvdata
[root@kouyuushinn lvdata]# 
[root@kouyuushinn lvdata]# btrfs filesystem show /lvdata
Label: 'btrfile'  uuid: a2180257-513b-4285-92aa-003ed62e2eda
  Total devices 2 FS bytes used 896.00KiB
  devid    1 size 15.00GiB used 2.01GiB path /dev/sdc
  devid    2 size 15.00GiB used 2.01GiB path /dev/sdd

[root@kouyuushinn lvdata]# btrfs filesystem df /lvdata
Data, RAID0: total=2.00GiB, used=768.00KiB
System, RAID1: total=8.00MiB, used=16.00KiB
Metadata, RAID1: total=1.00GiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B
[root@kouyuushinn lvdata]# 
[root@kouyuushinn lvdata]# btrfs filesystem resize -5G /lvdata     btrfs文件系统容量减少5G;
Resize '/lvdata' of '-5G'
[root@kouyuushinn lvdata]# 
[root@kouyuushinn lvdata]# df -lh
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   37G  1.9G   36G   5% /
devtmpfs                 478M     0  478M   0% /dev
tmpfs                    488M     0  488M   0% /dev/shm
tmpfs                    488M  6.8M  481M   2% /run
tmpfs                    488M     0  488M   0% /sys/fs/cgroup
/dev/sdb5                2.0G   33M  2.0G   2% /sdb5
/dev/sdb1               1014M   33M  982M   4% /sdb1
/dev/sdb6                283M  2.1M  262M   1% /sdb6
/dev/sdb2                2.0G  6.0M  1.8G   1% /sdb2
/dev/md0                 968M  2.5M  900M   1% /mydata
/dev/sda1               1014M  153M  862M  16% /boot
tmpfs                     98M     0   98M   0% /run/user/0
/dev/sdc                  25G   17M   18G   1% /lvdata
[root@kouyuushinn lvdata]# 


[root@kouyuushinn lvdata]# btrfs filesystem resize +3G /lvdata/    btrfs文件系统容量增加3G;
Resize '/lvdata/' of '+3G'
[root@kouyuushinn lvdata]# 
[root@kouyuushinn lvdata]# df -lh
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   37G  1.9G   36G   5% /
devtmpfs                 478M     0  478M   0% /dev
tmpfs                    488M     0  488M   0% /dev/shm
tmpfs                    488M  6.8M  481M   2% /run
tmpfs                    488M     0  488M   0% /sys/fs/cgroup
/dev/sdb5                2.0G   33M  2.0G   2% /sdb5
/dev/sdb1               1014M   33M  982M   4% /sdb1
/dev/sdb6                283M  2.1M  262M   1% /sdb6
/dev/sdb2                2.0G  6.0M  1.8G   1% /sdb2
/dev/md0                 968M  2.5M  900M   1% /mydata
/dev/sda1               1014M  153M  862M  16% /boot
tmpfs                     98M     0   98M   0% /run/user/0
/dev/sdc                  28G   17M   24G   1% /lvdata
[root@kouyuushinn lvdata]# 


[root@kouyuushinn lvdata]# btrfs filesystem resize max /lvdata/    btrfs文件系统使用最大可用容量;
Resize '/lvdata/' of 'max'
[root@kouyuushinn lvdata]# 
[root@kouyuushinn lvdata]# df -lh
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   37G  1.9G   36G   5% /
devtmpfs                 478M     0  478M   0% /dev
tmpfs                    488M     0  488M   0% /dev/shm
tmpfs                    488M  6.8M  481M   2% /run
tmpfs                    488M     0  488M   0% /sys/fs/cgroup
/dev/sdb5                2.0G   33M  2.0G   2% /sdb5
/dev/sdb1               1014M   33M  982M   4% /sdb1
/dev/sdb6                283M  2.1M  262M   1% /sdb6
/dev/sdb2                2.0G  6.0M  1.8G   1% /sdb2
/dev/md0                 968M  2.5M  900M   1% /mydata
/dev/sda1               1014M  153M  862M  16% /boot
tmpfs                     98M     0   98M   0% /run/user/0
/dev/sdc                  30G   17M   28G   1% /lvdata
[root@kouyuushinn lvdata]# 


7、向btrfs文件系统扩展(增加)磁盘设备:
---------------------------------------
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# btrfs filesystem show
Label: 'btrfile'  uuid: a2180257-513b-4285-92aa-003ed62e2eda
  Total devices 2 FS bytes used 896.00KiB
  devid    1 size 15.00GiB used 2.01GiB path /dev/sdc
  devid    2 size 15.00GiB used 2.01GiB path /dev/sdd

[root@kouyuushinn ~]# df -lh
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   37G  1.9G   36G   5% /
devtmpfs                 478M     0  478M   0% /dev
tmpfs                    488M     0  488M   0% /dev/shm
tmpfs                    488M  6.9M  481M   2% /run
tmpfs                    488M     0  488M   0% /sys/fs/cgroup
/dev/sdb1               1014M   33M  982M   4% /sdb1
/dev/sdb5                2.0G   33M  2.0G   2% /sdb5
/dev/sdb6                283M  2.1M  262M   1% /sdb6
/dev/sdb2                2.0G  6.0M  1.8G   1% /sdb2
/dev/md0                 968M  2.5M  900M   1% /mydata
/dev/sda1               1014M  153M  862M  16% /boot
tmpfs                     98M     0   98M   0% /run/user/0
/dev/sdc                  30G   17M   28G   1% /lvdata
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# btrfs filesystem df -h /lvdata
Data, RAID0: total=2.00GiB, used=768.00KiB
System, RAID1: total=8.00MiB, used=16.00KiB
Metadata, RAID1: total=1.00GiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B
[root@kouyuushinn ~]# 

[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# btrfs device add /dev/sde /lvdata
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# btrfs filesystem show
Label: 'btrfile'  uuid: a2180257-513b-4285-92aa-003ed62e2eda
  Total devices 3 FS bytes used 896.00KiB
  devid    1 size 15.00GiB used 2.01GiB path /dev/sdc
  devid    2 size 15.00GiB used 2.01GiB path /dev/sdd
  devid    3 size 15.00GiB used 0.00B path /dev/sde

[root@kouyuushinn ~]# btrfs filesystem df -h /lvdata
Data, RAID0: total=2.00GiB, used=768.00KiB
System, RAID1: total=8.00MiB, used=16.00KiB
Metadata, RAID1: total=1.00GiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# df -lh
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   37G  1.9G   36G   5% /
devtmpfs                 478M     0  478M   0% /dev
tmpfs                    488M     0  488M   0% /dev/shm
tmpfs                    488M  6.9M  481M   2% /run
tmpfs                    488M     0  488M   0% /sys/fs/cgroup
/dev/sdb1               1014M   33M  982M   4% /sdb1
/dev/sdb5                2.0G   33M  2.0G   2% /sdb5
/dev/sdb6                283M  2.1M  262M   1% /sdb6
/dev/sdb2                2.0G  6.0M  1.8G   1% /sdb2
/dev/md0                 968M  2.5M  900M   1% /mydata
/dev/sda1               1014M  153M  862M  16% /boot
tmpfs                     98M     0   98M   0% /run/user/0
/dev/sdc                  45G   17M   41G   1% /lvdata
[root@kouyuushinn ~]# 


8、向btrfs文件系统新增磁盘设备后,可启用'balance'机制:
------------------
[root@kouyuushinn ~]# btrfs balance start /lvdata/
WARNING:

  Full balance without filters requested. This operation is very
  intense and takes potentially very long. It is recommended to
  use the balance filters to narrow down the balanced data.
  Use 'btrfs balance start --full-balance' option to skip this
  warning. The operation will start in 10 seconds.
  Use Ctrl-C to stop it.
10 9 8 7 6 5 4 3 2 1
Starting balance without any filters.
Done, had to relocate 3 out of 3 chunks
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# btrfs balance start --full-balance /lvdata/
Done, had to relocate 3 out of 3 chunks
[root@kouyuushinn ~]# 


9、移除btrfs文件系统中的一块磁盘:
-----------------------------
[root@kouyuushinn /]# 
[root@kouyuushinn /]# btrfs device delete /dev/sdc /lvdata
[root@kouyuushinn /]# 
[root@kouyuushinn /]# btrfs filesystem show
Label: 'btrfile'  uuid: a2180257-513b-4285-92aa-003ed62e2eda
  Total devices 2 FS bytes used 32.82MiB
  devid    2 size 15.00GiB used 1.28GiB path /dev/sdd
  devid    3 size 15.00GiB used 1.28GiB path /dev/sde

[root@kouyuushinn /]# 
[root@kouyuushinn /]# df -lh
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   37G  1.9G   36G   5% /
devtmpfs                 478M     0  478M   0% /dev
tmpfs                    488M     0  488M   0% /dev/shm
tmpfs                    488M  6.9M  481M   2% /run
tmpfs                    488M     0  488M   0% /sys/fs/cgroup
/dev/sdb1               1014M   33M  982M   4% /sdb1
/dev/sdb5                2.0G   33M  2.0G   2% /sdb5
/dev/sdb6                283M  2.1M  262M   1% /sdb6
/dev/sdb2                2.0G  6.0M  1.8G   1% /sdb2
/dev/md0                 968M  2.5M  900M   1% /mydata
/dev/sda1               1014M  153M  862M  16% /boot
tmpfs                     98M     0   98M   0% /run/user/0
/dev/sdd                  30G   51M   30G   1% /lvdata
[root@kouyuushinn /]# 


10、可实时修改数据、元数据的存储方式:
-------------------------------
[root@kouyuushinn /]# 
[root@kouyuushinn /]# btrfs filesystem show
Label: 'btrfile'  uuid: a2180257-513b-4285-92aa-003ed62e2eda
  Total devices 3 FS bytes used 32.76MiB
  devid    2 size 15.00GiB used 1.28GiB path /dev/sdd
  devid    3 size 15.00GiB used 1.28GiB path /dev/sde
  devid    4 size 15.00GiB used 0.00B path /dev/sdc

[root@kouyuushinn /]# 
[root@kouyuushinn /]# 
[root@kouyuushinn /]# 
[root@kouyuushinn /]# btrfs filesystem df -h /lvdata
Data, RAID0: total=2.00GiB, used=30.79MiB
System, RAID1: total=32.00MiB, used=16.00KiB
Metadata, RAID1: total=256.00MiB, used=1.95MiB
GlobalReserve, single: total=16.00MiB, used=0.00B
[root@kouyuushinn /]# 
[root@kouyuushinn /]# btrfs balance start -dconvert=raid5 /lvdata        做RAID5,必须要3块硬盘及以上;
Done, had to relocate 1 out of 3 chunks
[root@kouyuushinn /]# 
[root@kouyuushinn /]# btrfs balance start -dconvert=raid0 /lvdata
Done, had to relocate 1 out of 3 chunks
[root@kouyuushinn /]# 
[root@kouyuushinn /]# 


11、ext4文件系统与btrfs文件系统的互为转换;
-------------------------------------
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# blkid /dev/sdc1           先确定'/dev/sdc1'设备的文件系统类型为'ext4';
/dev/sdc1: UUID="6cb1f819-7aa3-415b-aa06-de2aae9a6337" TYPE="ext4" 
[root@kouyuushinn ~]# 

[root@kouyuushinn ~]# mount /dev/sdc1 /test     挂载,并拷贝文件到挂载点;后面需要验证文件是否损坏而不可读写;
[root@kouyuushinn ~]# cp -a /etc/init.d/functions /test
[root@kouyuushinn ~]# ll /test
total 36
-rw-r--r-- 1 root root 17500 May  3  2017 functions
drwx------ 2 root root 16384 May  8 10:14 lost+found
[root@kouyuushinn ~]# 

[root@kouyuushinn ~]# umount /test               第一步:'ext4'文件系统转换为'btrfs'文件系统时,首先要卸载挂载;
[root@kouyuushinn ~]# 

[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# fsck -f /dev/sdc1          第二步:强制检查设备'/dev/sdc1'; 观察是否有发生错误信息提示;
fsck from util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdc1: 12/131072 files (0.0% non-contiguous), 26161/524288 blocks
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# btrfs-convert /dev/sdc1     第三步:转换操作;
create btrfs filesystem:
  blocksize: 4096
  nodesize:  16384
  features:  extref, skinny-metadata (default)
creating ext2 image file
creating btrfs metadatacopy inodes [o] [         3/        12]
conversion complete
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# btrfs filesystem show       第四步:查看验证刚转换的'btrfs'文件系统是否存在;
Label: 'btrfile'  uuid: a2180257-513b-4285-92aa-003ed62e2eda
  Total devices 2 FS bytes used 32.76MiB
  devid    2 size 15.00GiB used 1.28GiB path /dev/sdd
  devid    3 size 15.00GiB used 1.28GiB path /dev/sde

Label: none  uuid: c0e816b3-e8ee-49fe-8c3a-f822dc0074f1
  Total devices 1 FS bytes used 102.44MiB
  devid    1 size 2.00GiB used 292.15MiB path /dev/sdc1

[root@kouyuushinn ~]# mount /dev/sdc1 /test      第五步:重新做挂载操作,查看文件是否存在,是否可读写;
[root@kouyuushinn ~]# ll /test
total 36
drwxr-xr-x 1 root root    10 May  8 10:18 ext2_saved
-rw-r--r-- 1 root root 17500 May  3  2017 functions
drwx------ 1 root root     0 May  8 10:14 lost+found
[root@kouyuushinn ~]#


[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# umount /test                   要把'btrfs'文件系统转换为之前的'ext4'文件系统,首先要卸载挂载;
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# btrfs-convert -r /dev/sdc1     回滚到之前的文件系统格式;
rollback complete
[root@kouyuushinn ~]# blkid /dev/sdc1                查看文件系统类型,是否成功转换;如果要使用此转换好的文件系统,挂载即可;
/dev/sdc1: UUID="6cb1f819-7aa3-415b-aa06-de2aae9a6337" TYPE="ext4" 
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]#

 

Leave a Reply

Your email address will not be published. Required fields are marked *