我们有一个 debian linux 服务器,它有一个 120GB SSD 和 2x2TB HDD 作为 RAID 1。我们现在必须移动到另一个有 2x240GB SSD 和一个 2TB HDD 的服务器。目的是将当前 120GB 系统驱动器 SSD 移动到 240GB RAID1 SSD,并将数据从当前 2TB RAID1 HDD 移动到单个 2TB HDD。
移动 2TB 不会有问题,所以我将我的问题集中在系统驱动器 SSD 上。我们当前的设置有点复杂。120GB SSD 有以下分区:
fdisk -l /dev/sda
Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 66 523264 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 66 14594 116696064 83 Linux
fstab 告诉我们:
cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/mapper/vgdebian-root / ext4 errors=remount-ro 0 1
/dev/mapper/vgdebian-swap none swap sw 0 0
/dev/sda1 /boot ext3 defaults 0 2
因此,带有内核和带有 dropbear 的 busybox linux 的引导都在 /dev/sda1 上。然后 dropbear 帮助解密 /dev/sda2 分区,该分区由 cryptsetup 加密并由 LVM 管理。
我不确定将所有 /dev/sda 移动到新创建的 SDD-RAID1 的最佳方法是什么?我是否应该首先对其中一个新磁盘进行 dd-copy,扩大 /dev/sda2 分区(每个新 SSD 现在都是 240GB 而不是 120GB)并让 dropbear 知道新的 240GB SSD?然后我应该开始将所有第一个 240GB SDD 复制到第二个并初始化 mdadm create array 命令吗?
或者我应该在新的 240GB SSD 上创建一个干净的 /dev/md0 阵列,然后将整个旧驱动器复制到这个可能是 /dev/md0 命名的设备?
dropbear/busybox 对 RAID 有何反应?可能必须将新的 /dev/sda1 复制到 /dev/sdb1 以便可以从两个新 SSD 引导 dropbear/busybox。启动解密的 LVM debian 时,RAID1 将首先存在 - 对吗?
如果无论如何都可以移动这样一个加密的系统,也许有人可以给我一些提示。谢谢你的帮助。
编辑: 我通过 dd 命令将所有 120GB 旧 SSD 转移到新服务器的新 240GB SSD 之一(此处为:https ://library.linode.com/migration/ssh-copy )。然后我将一些配置更改为 dropbear 并重新组装 initramfs 并重新启动 - 系统在新服务器上照常工作。
现在我需要调整旧 SSD 的图像大小,所以我将 /dev/sda2 扩大到最大,然后我扩大了物理卷、逻辑卷和文件系统。我重新启动并且一切正常(tut 这里:http ://ubuntuforums.org/showthread.php?p=4530641 )。
最后一件事:将整个东西从单个 SSD 移动到 RAID1。有什么提示吗?
Edit2: 目前我正在尝试让 RAID1 运行。在旧系统在其中一个 240GB SSD 上运行后,我找到了两个从非 RAID 系统迁移到 RAID1 的教程:pug.org/mediawiki/index.php/Vorhandenes_MD-RAID1_im_laufenden_Betrieb_verschl%C3%BCsseln 和 howtoforge.com/软件-raid1-grub-boot-debian-etch-p2。两者都在运行的系统中工作。我将第一个 tut 用于 LUKs 的东西,第二个用于其余的 - 希望它会成功。
好的,我现在运行它!
在我通过 dd 将旧 SSD 复制到其中一个新 SSD 后,如上所述将其调整为新的 240GB 大小,我只是遇到了初始化 RAID1 的问题。我找到了我的Edit2帖子中提到的两个指南,但实际上是本教程:
http://www.howtoforge.com/how-to-set-up-software-raid1-on-a-running-lvm-system-incl-grub2-configuration-debian-squeeze-p3
所以我必须设置一个缺少第二个驱动器的新 RAID1(参见 tut),如下所示:
实际上 /dev/md1 保存着 cryptsetup luks 容器,它包含整个 LVM 内容,并且我们拥有实际的文件系统:
创建 md0/md1 后,我将 sda1 与工作 /boot 复制到 md0 上。然后我在 md1 上创建了新的 cryptsetup luks 东西。我将现有的 VGroup 扩展到 md1 并使用 pvmove 将卷组移动到 /dev/md1(这都是 LVM 的东西)。
我需要做一些 chroot'ing 来重新安装/更新 grub2,但这可能只是我的情况。之后我删除了整个 /dev/sda 并将其添加到 mdadm,所以它得到了很好的重新同步。
在 2-3 次尝试后重新启动工作,整个事情现在再次运行 - 经过 12 小时的工作:)