每次我们从新提供商处订购新服务器,甚至只是订购新发行版时,我们都会遇到不一致的情况。这意味着即使我们选择最小发行版,服务器也会带有不必要的配置。在这种情况下,我指的是一台预装了 2x4TB HDD 的服务器,采用 raid 1 配置。raid 的配置似乎也很合理。
lsblk
返回以下内容:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3.7T 0 disk
├─sda1 8:1 0 16G 0 part
│ └─md0 9:0 0 16G 0 raid1 [SWAP]
├─sda2 8:2 0 512M 0 part
│ └─md1 9:1 0 511.4M 0 raid1 /boot
├─sda3 8:3 0 2T 0 part
│ └─md2 9:2 0 2T 0 raid1 /
├─sda4 8:4 0 1.7T 0 part
│ └─md3 9:3 0 1.7T 0 raid1 /home
└─sda5 8:5 0 1M 0 part
sdb 8:16 0 3.7T 0 disk
├─sdb1 8:17 0 16G 0 part
│ └─md0 9:0 0 16G 0 raid1 [SWAP]
├─sdb2 8:18 0 512M 0 part
│ └─md1 9:1 0 511.4M 0 raid1 /boot
├─sdb3 8:19 0 2T 0 part
│ └─md2 9:2 0 2T 0 raid1 /
├─sdb4 8:20 0 1.7T 0 part
│ └─md3 9:3 0 1.7T 0 raid1 /home
└─sdb5 8:21 0 1M 0 part
如您所见,最大的 2TB 分区安装在 / 上。这意味着它当前正在容纳并运行大部分系统。
现在,我计划向服务器添加一个 LVM 抽象层,以便更好地控制我的存储。当然我不能,umount /dev/md2
因为它很忙。
所以我的问题是:如何正确安全地访问 上的空间(或其中的一部分)/dev/md2
以将其添加到我的 LVM 配置中?如果在安装过程中未配置
逻辑卷(由于映像而不是手动安装),是否可以将其安装在 上?如果是这样,在 上安装 LV 时如何不丢失数据,或者更具体地说,如何在已经存在的文件夹上安装 LV 并“传输”里面的数据? 我是否遗漏了什么或做错了什么?任何帮助都非常感谢。/
/
答案1
如果提供商为您提供了救援启动模式:请前往那里,使用您想要的分区布局重新安装整个机器。
如果机器上已经有数据,您可以订购一台新机器,正确设置,然后将数据和服务循环到新机器上。现在重新安装第一个盒子,并将数据和服务从另一个旧盒子移到这个盒子上。
这是我能想到的最安全的方法。
我有另一个想法 - 但这并不那么安全:
将 sdb 从 raid 中取出并根据您的分区方案进行设置。现在将所有这些分区挂载到 /mnt 下(/mnt/boot、/mnt/home 等),将新系统安装到 /mnt(使用 debootstrap 或类似方法)并将所有数据传输到那里。设置 grub 以从 sdb 启动并重新启动。现在对 sda 执行相同操作并将 raid 从 sdb 重建到 sda,重新配置 /etc/fstab 以再次从 md-nodes 启动并重新启动。祈祷您没有忘记任何东西!(本指南远非完整,但应该会提示您如何在没有救援系统的情况下执行此操作)