使用多路径和 lvm 的过程 - 迁移到新的存储阵列

使用多路径和 lvm 的过程 - 迁移到新的存储阵列

我有一台较旧的 redhat (5) 服务器,需要将 9 个阵列文件系统移动到新阵列。我正在寻求一些有关执行此操作的最佳方法以及该过程如何运作的帮助。

数据被直接复制为数组级副本。我从现有服务器获得了 9 个 LUNids (WWN),并且在 multipath -ll 的输出中看到了它们。我在新存储上也有与旧存储相对应的 LUNid。我不确定如何迁移到新存储。我不完全理解pvscan之类的LVM命令的作用。我认为该过程将是静默阵列文件系统并卸载它们并从 /etc/fstab 中删除,这样它们就不会尝试在启动时安装。然后关闭服务器并连接新的阵列 LUNids,然后启动。在此阶段,我希望看到来自 multipath -ll 的新 LUNids。它是否正确?由于我没有指定任何自定义设备命名,我还将看到每个设备的 mpathX 形式的设备名称?我知道每个PV都有一个UUID,VG和LV也是如此。这是允许 LVM 重建每个 PV 以及卷组和逻辑卷以使其全部包含相同数据的关键信息吗?也就是说,来自新 LUNid 磁盘之一的 /dev/mapper/mpath24 的 PV 将是相同的数据,因为它是由该磁盘上的 UUID 标识的?

这行得通吗?重新启动和多路径发现并枚举路径和设备(并更新 /etc/multipath/bindings)后,LVM 将简单启动,自动询问磁盘,本质上,就可以工作了吗?那么我可以像以前一样继续安装文件系统吗?

如果不是,我需要采取什么步骤?我需要运行 pv/vg/lv 扫描吗?了解多路径启动时会发生什么以及 LVM 启动时会发生什么会很有帮助。

最后,是否可以避免重新启动,或者为了流程的有序性而这样做最安全?如果我可以在不重新启动的情况下执行此操作,那么在卸载文件系统并附加新的 LUNids 后我需要采取哪些步骤?是否有一系列多路径和后续 LVM 命令可以执行与重新引导过程相同的操作?在任何一种情况下我都需要采取任何其他步骤吗?

谢谢。

答案1

澄清一下,你打算用lvm制作一个镜像,然后将它们分开吗?或者数据是否已经在阵列之间复制?

数据是否正在从一个数组复制到另一个数组。过程很简单。当它们同步时。停止IO并导出VG。删除当前磁盘主机的可见性。停止副本。分割副本。如果该过程未正确完成,此选项允许您返回。

向主机提供新磁盘。这将有一个新的 UUID。 LUN/卷的 UUID 取决于其所在的阵列。从新 cab 导入 VG。

你完成了。

当然,主机上新增的磁盘必须提前正确配置多路径。

无论如何,在使用生产数据执行此操作之前。测试 测试 用很少的测试数据从源到目标测试整个方法。

如果你想用 LVM 来完成所有工作?

这是一个广泛且可能不是很具体的问题。

总结一下。如果您事先不了解 LVM,那么这是一项艰巨的任务。

步骤如下: 1.- 向主人展示新小屋。 1.a 阵列制造商(HP、DELL、IBM...)将为 multipath.conf 提供该阵列型号的特定配置。搜索并申请

1.b 然后将新磁盘呈现给主机。

mpathX 是选项之一。可能不是最好的。

1.c 在 multipath.conf 中,您可以定义磁盘的命名。

  1. 扫描新光盘。

3.- 格式化磁盘

3.a 确认制造商是否需要特殊对准。如果是整个磁盘或分区的 pv,通常会有所不同。

4.- 创建物理卷

5.- 从这里有几个选项:

5.a 将磁盘添加到 VG 并为每个阵列中的每个卷创建镜像。

5.a1 stop service.

5.a2 Separate the mirrors of each array --split-mirrors
5.a3 export old disks

完成后,您将在每个阵列中拥有 1 个完整副本。

开始服务。

在事先不了解 LVM 的情况下使用生产数据执行此操作可能非常危险

测试 您可以创建一个新的小型 VG、几个卷,并将数据添加到文件系统。从新展位添加足够大小的磁盘。将它们放在同一个VG中,并进行mirror和--split-mirrors的操作,以了解完整的操作。

测试结果

答案2

将文件系统移动到新阵列的过程已完成。这些就是步骤。

阵列文件系统被停顿然后卸载。
文件系统已从 /etc/fstab 中删除,因此它们不会在启动时安装。将数据的阵列级副本复制到新的存储阵列中。 LUN 与旧阵列断开连接并连接到新阵列。主机已重新启动。使用“multipath -ll”命令,可以观察到新 LUN 已连接,并且到 scsi 设备 (/dev/sd*) 的路径也很明显(4 个路径对应于一对双端口 HBA)。使用 LVM:“pvs”按预期显示物理设备。但是“vgs”没有显示任何卷组。
运行“vgscan”,然后显示所有卷组,因此“vgs”也显示了。但是,安装文件系统失败,报告路径 /dev/mapper/vg_name/lv_name '没有此类文件或目录'。我们在 /dev 中的该路径中看不到卷组名称。运行“vgchange -ay”,“激活”卷组,然后路径在 /dev 中可见。然后挂载文件系统就可以了。
确认数据存在且正确。恢复 /etc/fstab 以包含文件系统。执行了测试重新启动以确保一切顺利。完全的。

了解 LVM 在磁盘开头写入包含 UUID 的标头有很大帮助。这是当底层存储路径和设备发生变化时可以识别磁盘并将其保留在正确的 LVM 对象(pv、vg、lv)中的机制。

最后,通过使用“vgdisplay”而不是“vgs”,可以更轻松地诊断最初以及当 /dev 中未显示路径时缺少来自“vgs”的卷组信息。 “vgdisplay”显示卷组的状态,并在该阶段提供有用的线索。

从连接新 LUN 到启动机器的整个过程大约需要 15 分钟,如果立即诊断卷组状态的话,速度会快得多。

在准备过程中,我们确保所有相关文件和数据的备份副本均已制作并单独存储(/etc/fstab、/etc/lvm/、/etc/multipath.conf /etc/multipathd/bindings 等)。还捕获了输出来自 pvdisplay、vgdisplay、lvdisplay、multipath -ll、fdisk -l 等在每个文件系统中生成一些示例数据的哈希值也用作检查 - 但实际上并未使用)。我们还确保可以访问控制台并在整个变更过程中保持活动会话。

相关内容