我有一个带有 2 x 1TB HDD 的 NAS,并且添加了两个新 HDD:
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 2550 20482843+ fd Linux raid autodetect
/dev/sdb2 2551 2681 1052257+ fd Linux raid autodetect
/dev/sdb3 2682 2812 1052257+ 82 Linux swap / Solaris
/dev/sdb4 2813 121601 954172642+ 5 Extended
/dev/sdb5 2813 121601 954172611 fd Linux raid autodetect
Disk /dev/sdc: 2000.3 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdc doesn't contain a valid partition table
Disk /dev/sdd: 2000.3 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdd doesn't contain a valid partition table
Disk /dev/md0: 20.9 GB, 20974338048 bytes
2 heads, 4 sectors/track, 5120688 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk /dev/md0 doesn't contain a valid partition table
Disk /dev/md2: 977.0 GB, 977072685056 bytes
2 heads, 4 sectors/track, 238543136 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk /dev/md2 doesn't contain a valid partition table
Disk /dev/md1: 1077 MB, 1077411840 bytes
2 heads, 4 sectors/track, 263040 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk /dev/md1 doesn't contain a valid partition table
You have new mail in /var/spool/mail/root
[root@backup ~]#
[root@backup ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb2[1] sda2[0]
1052160 blocks [2/2] [UU]
md2 : active raid1 sdb5[1] sda5[0]
954172544 blocks [2/2] [UU]
md0 : active raid1 sdb1[1] sda1[0]
20482752 blocks [2/2] [UU]
unused devices: <none>
[root@backup ~]# –
如何在现有 RAID 上添加 2 个 2TB HDD 并创建 /home2 分区?
答案1
您现有的 RAID 阵列(全部三个)都是镜像 (RAID1)。您可以向其中添加更多磁盘,但这只会添加更多副本,因此您需要创建额外的阵列。 (您希望已经知道这一点,但您的问题是添加到现有的 RAID。)
如果您的 NAS 有一些可供使用的界面(例如 Web 界面),您可能需要使用它。如果您使用标准 Linux 工具通过 CLI 进行管理:
请注意,我在回答时实际上并没有在虚拟机上尝试这一点 - 这是来自使用 Linux RAID 的大量经验。可能是我打错了,如果你看到错误——那可能是我的错误。
我不确定你的三个数组是用来做什么的。
md2
肯定是你的数据;这是迄今为止最大的。md0
可能md1
分别是 rootfs 和 boot,根据它们的大小来猜测。如果确实如此,您可能实际上想在这些新驱动器上为这些阵列创建分区(它们的大小需要与分区sda1
/sb1
和sda2
/相同或更大sdb2
)。使用
cfdisk
///fdisk
等gdisk
在sfdisk
每个新驱动器上创建分区表。您可能需要上面提到的两个分区,以及一个包含所有(剩余)空间的分区。我将称之为大的sdcX
(因为它实际上可能是 1、3 或 5)。同样,在另一个磁盘上sddX
。如果您为其他两个阵列添加了分区,请按如下方式添加它们:
mdadm -G /dev/md0 -n 4 # change number of devices to 4 mdadm -a /dev/md0 /dev/sdc1 # add sdc1 mdadm -a /dev/md0 /dev/sdd1 # add sdd1
并重复
md1
(使用sdc2
和sdd2
)为新磁盘的大部分创建一个新阵列:
mdadm --create --level 1 -n 2 --bitmap internal /dev/md3 /dev/sdcX /dev/sddX
由于某种原因,您现有的数组没有位图。位图允许很多在发生电源故障时更快地恢复(仅复制最近更改的数据,而不是重新镜像所有内容)。如果您的 mdadm 拒绝接受该
--bitmap
参数(或者您决定不需要位图),请忽略--bitmap internal
.在新阵列上创建文件系统。假设为 ext4;您当然可以使用您想要的任何文件系统。请注意,无需等待同步完成,您可以在
mdadm --create
.mkfs.ext4 -L HOME2 /dev/md3 # -L 设置标签
mkdir /home2
并将新文件系统添加到/etc/fstab
.然后继续mount /home2
。
应该是这样。您可以在 中查看同步状态/proc/mdstat
,例如watch -n60 --diff 'cat /proc/mdstat'
进行观看。您可以继续立即开始将数据复制到新阵列,但请注意,在同步完成之前,它可能不会受到完全保护。