您现在的位置:首页 > 教案模板 > 正文

复制过程中文件丢失 btrfs文件系统的简单使用方法(2)

2018-01-21 17:02 网络整理 教案网

添加、删除、移除底层磁盘设备

1、我们添加/dev/sdd磁盘:

这里先用命令更改下btrfs文件数据的存储格式:命令 btrfs balance start -dconvert=raid0 /testdata 将数据的存储方式改为raid0

图片.png

添加/dev/sdd

命令为:btrfs device add /sdd /testdata /testdata

然后查看其属性:

图片.png

现在testdata由三块磁盘组成

但此时三块磁盘存储的数据不均衡,

3、btrfs balance命令格式:

btrfs balance [options] <path>

Balance chunks across the devices

btrfs balance [start、pause、cancel、status]<path>

开始、暂停、继续、取消、平衡操作、查看状态

我们开始平衡数据:

btrfs balance start /testdata

图片.png

这个操作会暂用资源,主要看数据量,现在数据均衡存储在三块盘上

如果要移除其中一块盘,数据会自动移动到其他两块盘上,然后删除,不需要人工转移数据:

下面演示: btrfs device remove /dev/sdd /testdata

移除后我们查看/testdata中的数据并没有丢失。

测试完后将其加回然后再做数据均衡 btrfs device add /dev/sdd /testdata;btrfs balance start /testdata

4、接下来演示数据和元数据的组织机制转换

命令格式为: btrfs balance start <-d -m -s><convert>=<[raid0,raid1,raid5...single]> <path>

我们将其数据和元数据的组织机制改为:raid5

图片.png

更改完成后:用命令 btrfs filesystem usage /testdata 查看详细信息:

复制过程中文件丢失_复制后源文件丢失_u盘里的文件不见了

图片.png

显示已经改变

三、subvolume

1、创建子卷

查看子卷命令:btrfs subvolume list /testdata

创建格式: btrfs subvolume <subcommand>

create [-i <qgroupid>] [<dest>/]<name>

创建子卷

delete [options] <subvolume> [<subvolume>...]

删除子卷

下面我们创建一个名为volume1的子卷:

btrfs subvolume create /testdata/subvolume1

图片.png

子卷创建成功,

查看子卷:btrfs subvolume list /testdata

图片.png

因为子卷在主卷当中所以挂载主卷就可以进入子卷,也可以单独挂载子卷,

比如将子卷挂载到/mnt 目录下

我们先卸载/testdata

然后挂子卷

umount /testdata

mount -o subvol=subvolume /dev/sdb /mnt (挂载子卷的方法)

cd /mnt 进入/mnt

cp /etc/passwd ./ 复制文件到当前目录下

将/dev/sdb 挂载 到/testdata 上去

5、给子卷创建快照

命令 btrfs subvolume snapshot /testdata/subvolume1 /testdata/subvolume1_snapshot (注意快照卷需要和其原卷在同一个文件系统上)

图片.png

快照卷创建成功,更改快照原卷当中的文件,然后查看快照卷当中是否发生变化。

四、ext文件系统与btrfs文件系统的转换

下面我们将/dev/sdd 从btrfs文件系统中删掉然后格式化成ext4类型的文件系统

图片.png

上图以改为ext4文件系统,下面进行转换

转换前我们对其进行卸载然后强制检测:

图片.png

上图转换成功,

blkid 查看格式:

图片.png

转换会原来的格式 :btrfs-convert -r /dev/sdd

图片.png

完成。

写的粗糙,,,,,