我有一个现有的 LVM,带有一个物理驱动器(例如 /dev/sdb)和一个卷组(例如 volgrp1),这里我有三个逻辑卷(例如 lvSys、lvHome、lvSwap)。
现在我担心我的数据和第二个驱动器,与 /dev/sdb 完全相同,我想创建一个镜像设备,它保存与 /dev/sdb 相同的数据,但我想在创建它时保留所有数据。
我使用 mdadm 还是仅使用 lvm?我该怎么做?
我已经在互联网上搜索过,但了解整个 lvm/mdadm 的事情确实很不错。
那么任何人都可以解释简单的配置来插入相同的设备并告诉(lvm / mdadm / linux-kernel)将数据镜像到/ dev / sdc而不丢失/ dev / sdb上的任何数据
问候
答案1
如果要镜像整个驱动器,最简单的方法是将其变成 RAID-1 阵列。可以将现有分区(或整个磁盘,或任何卷类型)转变为 mdraid RAID-1 阵列,只需要一些手动操作。其想法是确保卷末尾有足够的可用空间 (128kB) 用于存储元数据,并使用元数据格式 1.0(将元数据放在卷的末尾),而不是默认的 1.2(将元数据放在开头) 。有关将现有分区转换为 RAID-1 的实用指南,请参阅如何设置磁盘镜像 (RAID-1)
创建 RAID-1 卷后,您的系统应该仍然可用 - 这是 LVM 的优势:将自动检测物理卷,并且逻辑卷将在相同名称下可用。您可能需要采取措施来确保 mdadm 驱动程序在内核中可用;例如,在 Debian 及其衍生版本上,运行update-initramfs
.
或者,您可以在新磁盘上创建 RAID-1 阵列(另一半丢失),在其上创建 LVM 物理卷,将现有卷组扩展到该卷组,从 VG 中删除现有 PV,最后扩展卷组。 RAID 阵列到旧磁盘。这将需要更多的停机时间,而且总而言之并不是特别安全。
或者,您可以使用 LVM 自己的镜像。该命令lvconvert --mirror 1
将逻辑卷转换为 RAID-1 镜像。我不会推荐这种方法,除非存在您不想镜像的逻辑卷,因为我发现将镜像等存储问题与快照等接口问题分开更容易。
答案2
您一定已经看过这个页面了,Linux 中在线创建 RAID1
如果您可以获得两个全新的驱动器,将它们放入使用 mdadm 新创建的 RAID1 镜像中,并使用 dd 从 /dev/sda 传输数据,这将非常简单。
或者对 /dev/sda 进行 dd 备份,使用 /dev/sdb 创建镜像并从备份恢复。
或者仍然使用 /dev/sdb 创建 1 个磁盘的 RAID1 镜像,将所有数据全部写入,然后将 /dev/sda 添加到 RAID 镜像中。
我提供链接的帖子中采用的方法似乎有点冒险,但如果您拥有所有备份,为什么不尝试一下呢。