我已经使用 btrfs 作为 / 文件系统安装了 Ubuntu 11.10(做起来有点麻烦,如果人们感兴趣,我会解释)所以我可以将主文件系统扩展到系统上的第二个驱动器(*) .
安装系统后,我运行btrfs device add /dev/sdb1 /并添加了新设备并将文件系统扩展到它,一切都很好。但是根据我正在阅读的(错误的)手册,我还必须运行btrfs filesystem balance,这显然将我的文件系统转换为“raid1”模式,因此所有内容都冗余存储两次 - 每个驱动器上一次,我只能使用总数的 50%容量:
$ btrfs filesystem df /
Data, RAID0: total=78.00GB, used=41.57GB
System, RAID1: total=8.00MB, used=16.00KB
System: total=4.00MB, used=0.00
Metadata, RAID1: total=3.75GB, used=355.06MB
Run Code Online (Sandbox Code Playgroud)
这是一个不错的功能,但我有点想使用“raid0”(剥离)。我试图删除新设备,以便我可以重新添加它,但是当我尝试这样做时,我收到一个错误并且系统日志有这个:
btrfs: unable to go below two devices on raid1
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:如何将我的文件系统转换回 raid0 以便我可以使用两个磁盘的总空间?
(*) Like 可以用 LVM 来完成,但是使用 btrfs,您可以在同一个“文件系统”上托管多个“分区”,并且空间在您需要的地方动态分配 - 与 LVM 不同。
Jim*_*ter 12
btrfs balance start -dconvert=raid0 /
这就是你需要做的。系统会忙着将现有数据移动到raid0(条带化,无奇偶校验),并且任何进一步的数据也将以这种方式写入。
METAdata 仍将重复写入。如果您想在 EXTRA SUPER 危险的情况下生活,也可以随意-mconvert raid0在上述命令中添加一个参数,然后 / 处的数组上的数据和元数据都将转换为 raid0。