使用 lvm 从 md raid5 转换为 btrfs

使用 lvm 从 md raid5 转换为 btrfs

我决定本周末开始过渡到 btrfs。我有一台台式机,其中有一个 md raid1 用于启动,还有一个大型 md raid5 用于其他所有东西。在 md raid5 之上,我有带有 vg-root、vg-swap 和 vg-home 的 LVM。

我的想法是保留 raid1 并使用 ext4 作为启动,并且不会立即转换 LVM。相反,我将在 raid5 上创建一个新的 btrfs 根目录,创建一个新的主目录,移动配置和基本必需品,然后根据需要移动它们。这样,潜在恢复的大小将随着错误可能性的降低而增加。现在的问题是;我该怎么做?:)

我希望在此得到一些专家的建议。

答案1

仅供参考,您不需要在 raid1 上单独的 /boot 分区;grub2 可以直接从 raid5 上的 lvm 启动。

如果您的 raid5 已分区,并且当前 LVM 正在使用 /dev/md1p1 作为 PV,那么您可以缩小 PV,缩小分区,并使用可用空间创建一个新的分区以用于 btrfs。

在使用让 LVM 释放部分分区后,您将需要使用parted来缩小 lvm 分区。您将需要为单元设置使用扇区并删除 LVM 分区,然后使用相同的起始扇区(但长度较短)重新创建它。这将要求该分区未被使用(从 livecd 执行),否则会抱怨它无法更新内核,并且您必须重新启动才能使其生效。pvresizeparted

之后,您可以使用 来使用gparted可用空间创建一个新的 btrfs 分区,然后将其添加到 /etc/fstab、挂载它并传输一些文件。要移动更多空间,您需要重复pvresizeparted缩小步骤,然后使用gparted将 btrfs 分区移动到左侧并扩展。这将需要很长时间,因为它必须复制 btrfs 分区中的所有现有数据。

使用 VG 中当前可用的空间创建一个新的 LV,并用 btrfs 格式化它,然后传输一些文件,用 收缩现有的 LV resize2fs(假设它是 ext4,并且需要卸载它才能执行此操作)和lvresize,然后使用 将空间添加到 btrfs lv lvresize,并告诉 btrfs 使用新空间btrfs filesystem resize max /path/to/btrfs-mount,这样会更容易、更安全、更快捷。

相关内容