
我有一台 Ubuntu 12.04 服务器,配备两个 3TB 磁盘和软件 RAID 1。目前它们的分区如下:
# discus
Mount Total Used Avail Prcnt Graph
/ 1.00 TB 8.55 GB 0.99 TB 0.8% [----------]
+onnections 0 KB 0 KB 0 KB 0.0% [----------]
+rnel/debug 0 KB 0 KB 0 KB 0.0% [----------]
+l/security 0 KB 0 KB 0 KB 0.0% [----------]
/run 3.12 GB 304 KB 3.12 GB 0.0% [----------]
/run/lock 5.0 MB 0 KB 5.0 MB 0.0% [----------]
/run/shm 7.79 GB 0 KB 7.79 GB 0.0% [----------]
/home 1.70 TB 13.06 GB 1.68 TB 0.8% [----------]
/boot 495.8 MB 38.0 MB 457.9 MB 7.7% [*---------]
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md2 1.0T 8.6G 964G 1% /
udev 7.8G 4.0K 7.8G 1% /dev
tmpfs 3.2G 304K 3.2G 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 7.8G 0 7.8G 0% /run/shm
/dev/md3 1.7T 14G 1.6T 1% /home
/dev/md1 496M 38M 433M 9% /boot
# cat /proc/partitions
major minor #blocks name
8 0 2930266584 sda
8 1 33554432 sda1
8 2 524288 sda2
8 3 1073741824 sda3
8 4 1822443975 sda4
8 5 1024 sda5
8 16 2930266584 sdb
8 17 33554432 sdb1
8 18 524288 sdb2
8 19 1073741824 sdb3
8 20 1822443975 sdb4
8 21 1024 sdb5
9 0 33553336 md0
9 1 524276 md1
9 2 1073740664 md2
9 3 1822442815 md3
我想减少/
到 100Gb 并增加到/home
2.6Tb。最好的方法是什么?服务器没有重要数据,所以我不在乎可能的数据丢失。
答案1
诀窍是使用 RAID 中的第二个驱动器作为备用驱动器:
- 打破你拥有的镜子(除了
/boot
一面,如果你有的话); - 在脱离的驱动器上为 RAID 创建一个大的单独分区(除了
/boot
's 之外); - 使用以下方式创建 RAID-1丢失的设备(参见
man mdadm
)和分区; - 将新镜像设为 LVM-2 磁盘(
pvcreate
); - 创建卷组(
vgcreate
)和所需的逻辑卷(lvcreate
),格式化它们,挂载临时卷; - 复制你的资料;
- 正确的新的
/etc/fstab
,确保initrd
可以正确处理 LVM-2 上的根文件系统; - 启动;
- 停止旧的(故意破坏的) RAID;
- 将其磁盘分区为分离驱动器的副本;
- 将其添加到新的 RAID,以便它基于丢失的别再开车了。