我正在尝试弄清楚如何将 RAID 1 添加到我的 CentOS NAS 服务器。今天,我在非 RAID 配置中有 2x3TB 磁盘。我使用 LVM 来管理一些逻辑卷以对我的数据进行分区。我没有使用接近全部 6TB 容量,但我希望将来可以扩展空间。我还使用 CrashPlan 定期进行异地备份,但我想确保磁盘故障不会意味着需要数天的停机时间来恢复数据。
所以我的计划是再购买 2 个 3TB 磁盘来设置 RAID 1。我想将新磁盘与旧磁盘配对,因为旧磁盘已经使用了几年,更容易出现故障。
今天我使用了大约 1.6 TB 的 6TB 容量,所以我认为我可以做一些移动,并将丢失数据的风险降至最低。有人能给我一份指南或帮助确保这些步骤可行吗?我知道有些事情可能会出错,所以我会准备备份,但我想确保这些步骤在低风险下可行,以节省一些时间。
- 首先,我将 6TB LVM VG 整合为一个 PV。因此,如果 /dev/sdb1 和 /dev/sdc1 是我的旧驱动器,我将缩小部分 LV(resize2fs、lvresize),将所有内容移至 sdb1(pvmove),并从 VG 中删除 sdc1(vgreduce)。
- 接下来,我将添加一个新驱动器,并在 BIOS 设置中为 sdc1 和新驱动器(称为 sdd1)创建 RAID 1。我们将其称为 rda1(我不知道使用什么命名,只是为了让我的步骤更清楚)。
- 将 rda1 添加到我的 VG (vgextend)
- 将所有 LV 移动到 rda1 (pvmove)
- 从 VG 中删除 sdb1(vgreduce)
- 添加另一个新驱动器,并在 BIOS 中为 sdb1 和新驱动器 2 (sde1) 创建 RAID 1。我们将其称为 rdb1。
- 将 rdb1 添加到我的 VG (vgextend)
最后,我真的很想在两个 RAID 之间重新分配数据,这样数据就不会全部都放在一个 RAID 上。我手动将一些 LV 移到另一个 RAID 磁盘有意义吗?我是否可以以某种方式添加条带化并让数据均匀分布,还是必须重新创建 LV 才能做到这一点?
以下是我当前设置的快速概述(我还有一个安装了操作系统和 LVM 的 SSD,但我仅展示数据驱动器):
$ sudo pvdisplay
--- Physical volume ---
PV Name /dev/sdb1
VG Name vg_media
PV Size 2.73 TiB / not usable 19.00 MiB
Allocatable yes
PE Size 32.00 MiB
Total PE 89424
Free PE 19792
Allocated PE 69632
PV UUID D0Z3Fn-40Yr-akkx-TsLH-n5iM-LQNc-vdLbMf
--- Physical volume ---
PV Name /dev/sdc1
VG Name vg_media
PV Size 2.73 TiB / not usable 19.00 MiB
Allocatable yes
PE Size 32.00 MiB
Total PE 89424
Free PE 40272
Allocated PE 49152
PV UUID 4A1tD5-Rj2I-IdZX-2FPS-4KmS-WnjT-TcAGPf
$ sudo vgdisplay
--- Volume group ---
VG Name vg_media
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 4
Open LV 4
Max PV 0
Cur PV 2
Act PV 2
VG Size 5.46 TiB
PE Size 32.00 MiB
Total PE 178848
Alloc PE / Size 118784 / 3.62 TiB
Free PE / Size 60064 / 1.83 TiB
VG UUID wneSMl-nllf-9yaO-GGv2-iDGv-n4vK-mVfGjk
$ sudo lvdisplay
--- Logical volume ---
LV Path /dev/vg_media/library
LV Name library
VG Name vg_media
LV UUID AOs1yk-sVQE-f6sI-PstX-txtm-mu2d-mgJj4W
LV Write Access read/write
LV Creation host, time srv.mattval.us.to, 2013-05-13 02:37:31 -0700
LV Status available
# open 1
LV Size 1.00 TiB
Current LE 32768
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
--- Logical volume ---
LV Path /dev/vg_media/photos
LV Name photos
VG Name vg_media
LV UUID 2DWA1Q-MYTH-1bqq-QgW3-7LiJ-3jNe-v9WXlK
LV Write Access read/write
LV Creation host, time srv.mattval.us.to, 2013-05-13 02:37:48 -0700
LV Status available
# open 1
LV Size 1.00 TiB
Current LE 32768
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:3
--- Logical volume ---
LV Path /dev/vg_media/projects
LV Name projects
VG Name vg_media
LV UUID 027kQC-dSSJ-Bo40-Xmpa-8ELo-hbGD-jZITBJ
LV Write Access read/write
LV Creation host, time srv.mattval.us.to, 2013-05-13 02:38:01 -0700
LV Status available
# open 1
LV Size 1.50 TiB
Current LE 49152
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:4
--- Logical volume ---
LV Path /dev/vg_media/docs
LV Name docs
VG Name vg_media
LV UUID El10u0-yYeW-XekC-TP7t-xF9t-qLgz-aFU8AQ
LV Write Access read/write
LV Creation host, time srv.mattval.us.to, 2013-05-13 02:38:15 -0700
LV Status available
# open 1
LV Size 128.00 GiB
Current LE 4096
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:5
实际使用的大小为文档=100GB、库=500GB、照片=350GB、项目=620GB
答案1
不是硬件,但可以考虑的一个简单选项是将逻辑卷转换为 RAID1,并lvconvert --type raid1 -m 1 vg/lv
可选地指定应使用哪个 PV,这样您就可以正确地将新驱动器与旧驱动器耦合。这使用与 mdadm 相同的内核驱动程序。
优点:
- 更大的灵活性,允许线性/条带化 LV 用于丢弃/批量数据(如缓存或下载的 ISO 映像),以及 RAID1 和/或 RAID5 用于其他您想要的
- 如果您的 RAID 控制器发生故障,它们将在其他地方工作。我说的其他地方是指,如果您将磁盘插入其他地方,它们将被任何最近的Linux发行版。它肯定不能在 Windows 或 *BSD 下工作,但这对于您的 NAS 来说不是问题。
缺点:
- 服务器负载稍大(我没有性能数据。)
LVM 与 mdadm:
专业版 mdadm:
- mdadm 使用更为广泛,经过一代又一代管理员的测试,有许多教程......
- LVM 缺少一些 mdadm 功能(重塑),您现在不需要这些功能。这是一项正在进行的工作。
PRO lvm:
- LVM 更加灵活,你现在可能不需要它
- 迁移到 LVM RAID 非常简单
表现:
LVM 与 mdadm RAID:
- 表现应该是一样的,但是……
- 有一个已知的错误,其中 LVM RAID 上的某些操作明显比 mdadm 慢:错误 1332221- lvm raid1 的 fsyncs 性能不佳
软件 RAID 与 FakeRAID
- 不知道,但这很大程度上取决于 RAID 控制器。
解决:
如果您想要经过验证的解决方案,mdadm raid 和 LVM 将是一个不错的选择。
如果您想要无忧的迁移和灵活性,LVM RAID 是您的最佳选择。
答案2
Serverfault 适用于专业的系统管理员,他们会在执行此类操作之前备份整个数据集。此时 - 如果您有时间 - 许多人会直接擦除、重新配置/重新格式化并恢复。这样您就有了一个已知的稳定设置。