不知何故,我错误地创建了我的 BTRFS 文件系统,最终使用 RAID0 而不是 RAID1。但是,我只在添加 274GB 数据后才注意到这一点(我知道,真是个白痴):
Total devices 2 FS bytes used 136.12GiB
devid 1 size 465.76GiB used 137.03GiB path /dev/sdb
devid 2 size 465.76GiB used 137.03GiB path /dev/sdc
Run Code Online (Sandbox Code Playgroud)
我想要A的方法:确认这确实是RAID0(我确定是,但我还没有找到明确输出的命令,我想在添加数据之前检查下一次)。和 B:如果可能,将数据重新分配到 RAID1。
在跨多个设备创建 btrfs 文件系统时,默认使用 RAID0 存储数据,使用 RAID1 存储元数据。如果要更改此设置,您可以将参数传递给 mkfs 命令以更改数据 (-d) 和元数据 (-m) 的 RAID 级别:
mkfs.btrfs -d raid1 -m raid1 /dev/sda /dev/sdb
Run Code Online (Sandbox Code Playgroud)
要确认现有文件系统上正在使用什么 RAID 级别,您可以使用btrfs 实用程序:
$ btrfs fi df /mountpoint
Data, RAID1: total=15.00GiB, used=14.65GiB
System, RAID1: total=8.00MiB, used=16.00KiB
Metadata, RAID1: total=1.00GiB, used=15.59MiB
Run Code Online (Sandbox Code Playgroud)
示例输出显示了用于数据和元数据的 RAID1。运行btrfs fi usage /mountpoint
将提供更多细节。
您可以通过将参数传递给balance
命令,将现有文件系统转换为不同的 RAID 级别。
btrfs balance start -dconvert=raid1 -mconvert=raid1 /mountpoint
Run Code Online (Sandbox Code Playgroud)
余额再次将所有数据写入文件系统,添加参数将导致数据在重写时进行转换。这可能需要一段时间,您可以运行btrfs balance status /mountpoint
查看状态。完成后,您可以使用btrfs fi df
. 天平期间写入的数据可能仍使用旧格式,因此可能需要第二个天平。
诸如常规df
命令之类的实用程序或btrfs fi show
不考虑 RAID 设置,因为这是由 btrfs 本身完成的。这些工具只显示 btrfs 在磁盘上分配的总量,他们不知道 btrfs 对数据使用什么格式。这也意味着通过 SAMBA 或其他工具共享不会考虑 RAID。有关更多信息,请参阅 btrfs 常见问题解答。
归档时间: |
|
查看次数: |
4547 次 |
最近记录: |