我想知道在现有服务器上设置软件 RAID 阵列的正确方法。我有两个全新的 3TB 磁盘可用于该阵列。
具体来说,我想设置一个 3TB 的 RAID 1 阵列,格式化为 ext4,不使用 LVM。但更一般的答案可能会从头到尾为其他人提供指导。
我尝试过许多指南:
- 如何实现 RAID 1?- 仅涵盖部分流程
- 在 RAID 1 中设置两个额外的 SSD 驱动器- 最终阵列大小为 2TB,而不是 3TB
- 在 Raid 1 中添加两个新 HDD- 仅使用 1TB 硬盘
我还发现了这些资源:
- http://richard.blog.kraya.co.uk/tag/mdadm/- 适用于 CentOS,不涵盖更新
mdadm.conf
和其他步骤 - http://www.technotes.se/?p=1732- 全面但复杂,且不是专门为 Ubuntu 编写的
驱动器的初始分区似乎是关键;上面的最后一个链接详细地提到了这一点,但前一个链接似乎实现了相同的结果并且更简单。
答案1
此答案假设您使用两个相同的新驱动器创建新的 RAID 1 阵列。文件系统将是 ext4,位于占用整个驱动器的单个分区上,不使用 LVM。
首先,通过运行 来识别新硬盘的设备名称sudo fdisk -l
。 在我的例子中,新驱动器是/dev/sdc
和/dev/sdd
。
然后在每个驱动器上创建分区。分区表需要是 GPT 才能允许使用超过 2TB 的空间,因此您不能使用fdisk
。
跑步
parted /dev/sdc
。在
(parted)
提示符下,键入 来创建分区表mklabel gpt
。通过输入来检查驱动器上的可用空间
print free
。 在我的例子中,显示为 3001GB。通过键入 创建分区
mkpart primary 1M 3001GB
。这将以 1M 偏移量开始分区,提供 4096 字节对齐。这可能是必要的,也可能不是,但如果不是,也不会有什么坏处。输入 检查分区是否已设置
p
。然后输入q
退出。
对 重复步骤 1 至 5 /dev/sdd
。
现在使用以下命令创建数组mdadm
:
sudo mdadm --verbose --create /dev/md0 --level=raid1 --raid-devices=2 /dev/sd[cd]1
创建文件系统:
sudo mkfs.ext4 /dev/md0
/etc/fstab
最后,如果希望永久安装阵列,请将其安装在某处并将其添加到。我这样做了:
通过运行创建安装阵列的位置
sudo mkdir /mnt/md0
。编辑
/etc/fstab
并添加以下行:/dev/md0 /mnt/md0 auto defaults 0 0
通过运行 进行挂载
sudo mount /mnt/md0
。
现在您可以开始使用阵列了。但请记住,在阵列完全运行之前,它需要完成初始同步。您可以通过运行来跟踪其进度sudo mdadm --detail /dev/md0
。