![帮助合并从 ext4 转换的两个 BTRFS 文件系统](https://linux22.com/image/1189847/%E5%B8%AE%E5%8A%A9%E5%90%88%E5%B9%B6%E4%BB%8E%20ext4%20%E8%BD%AC%E6%8D%A2%E7%9A%84%E4%B8%A4%E4%B8%AA%20BTRFS%20%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.png)
因此,我的计算机中有三个硬盘驱动器,并且正在运行 Ubuntu 22.04.1,
/dev/sda1
并且/dev/sdc1
两个内部驱动器最初是EXT4
,但btrfs
成功转换为 ,没有任何问题。/dev/sda1
最初安装在/nasa/16TB
,而/dev/sdc1
安装在/nasa/14TB
。/dev/sdb3
是根驱动器,应该保持为EXT4
这是我所做的。
- 我通过运行重新启动进入救援模式
systemctl rescue
- 我通过运行以下命令转换了两个硬盘:
for id in sda1 sdc1;do fsck.ext4 -fyv /dev/$id;btrfs-convert -d -p -L /dev/$id;done
- 完成后,我进行了修改
/etc/fstab
以添加此行,同时删除了挂载点的旧条目。
UUID=(id of /dev/sdc1) /nasa btrfs compress=zstd:8,noatime 0 0
我在
/nasa
名为的子目录中创建了一个子目录14TB
,并将根级别的所有内容移动到该子目录中。我使用 重复了步骤 3 和 4
/dev/sda1
,但将子目录命名为16TB
。
现在,我尝试运行以下命令来尝试将所有内容组合起来,就像一次突袭一样。
btrfs device add /dev/sda1 /nasa
相反,我收到此错误消息。
/dev/sda1 appears to contain an existing filesystem (btrfs).
ERROR: use the -f option to force overwrite of /dev/sda1
如何合并两个驱动器而不覆盖任一驱动器上的数据?我还希望它以单一模式运行数据并以重复模式运行元数据。
答案1
如果要将另一个磁盘添加到现有btrfs
文件系统,则需要备份要添加的磁盘的现有数据。它将被清除。
然后您就可以添加设备了。之后您就可以恢复数据了。
您当前将磁盘安装在哪里并不重要。
此后,您将拥有一个btrfs
可以通过任意磁盘安装到一个位置的文件系统。