使用LVM将NAS迁移到硬件RAID1而不会丢失数据

我试图找出如何将RAID 1添加到我的CentOS NAS服务器。 今天我在非RAIDconfiguration中有2x3TB磁盘。 我正在使用LVMpipe理一些逻辑卷来分区我的数据。 我没有使用接近完整的6TB容量,但我希望在未来的空间扩大。 我也经常使用CrashPlan进行异地备份,但是我想确保磁盘故障并不意味着要恢复数据的宕机时间。

所以我的计划是再购买2个3TB磁盘来设置RAID 1.我想把它做成新的磁盘并与旧的磁盘配对,因为旧的磁盘现在已经过了两三年,而且更有可能失败。

今天,我使用了大约1.6TB的6TB容量,所以我想我可以做一些移动,并尽量减less丢失数据的风险。 任何人都可以指向我的指导或帮助确保这些步骤将工作? 我知道有些事情会出错的风险,所以我会备份可用,但我想确保这些步骤应该以低风险工作,以节省自己一些时间。

  1. 首先,我将把6TB LVM VG整合到一个PV。 因此,如果/ dev / sdb1和/ dev / sdc1是我的旧驱动器,我会缩小一些LV的(resize2fs,lvresize),将所有内容移到sdb1(pvmove),并从VG(vgreduce)中移除sdc1。
  2. 接下来,我将添加一个新驱动器,并在sdc1和新驱动器(称为sdd1)的BIOS设置中创build一个RAID 1。 我们称之为rda1(我不知道使用了什么命名,只是在我的步骤中清楚)。
  3. 将rda1添加到我的VG(vgextend)
  4. 将所有LV移到rda1(pvmove)
  5. 从VG(vgreduce)中删除sdb1
  6. 添加另一个新驱动器,并在BIOS中为sdb1和新驱动器2(sde1)创build一个RAID 1。 我们称之为rdb1。
  7. 将rdb1添加到我的VG(vgextend)

最后,我真的希望在两个RAID上重新分配数据,这样它们不仅仅是坐在那个上面。 手动移动一些LV到另一个RAID磁盘是否合理? 我可以以某种方式添加条纹,并让数据均匀分布,还是必须重新创buildLV才能做到这一点?

这里是我目前的设置(我也有一个固态硬盘操作系统安装和LVM,但我只是显示数据驱动器)的快速概述:

$ 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 

实际使用的大小是docs = 100GB,library = 500GB,photos = 350GB,projects = 620GB

不是硬件,但要考虑的一个简单的select是使用lvconvert --type raid1 -m 1 vg/lv将逻辑卷转换为RAID1,可选地指定要使用哪个PV,以便将新驱动器与旧驱动器正确耦合。 这与mdadm使用相同的内核驱动程序。

优点:

  • 更多的灵活性允许线性/条纹LV丢弃/批量数据(如caching或下载的ISO映像),以及其他RAID1和/或RAID5
  • 将在其他地方工作,如果你的RAID控制器失败 在其他地方,我的意思是如果你在其他地方插入磁盘,他们将被任何最近的Linux发行版识别。 它绝对不会在Windows和* BSD下工作,这对您的NAS来说不是问题。

缺点:

  • 服务器上的负载稍微大一些(我没有性能数字。)

LVM vs. mdadm:

PRO mdadm:

  • mdadm更广泛的使用,由几代pipe理员testing,许多教程…
  • LVM缺less一些mdadmfunction(重塑),您不需要(现在)。 这是一个正在进行的工作。

PRO lvm:

  • LVM更灵活,你可能不需要(现在)
  • 迁移到LVM RAID非常容易

性能:

LVM vs mdadm RAID:

  • 性能应该是一样的,但…
  • 有一个已知的错误,LVM RAID上的一些操作比mdadm的操作慢得多: 错误1332221 – lvm raid1的fsyncs性能不佳

软件RAID与FakeRAID

  • 不知道,但这取决于RAID控制器。

parsing度:

如果你想要经过validation的解决schememdadm raid和LVM的顶部将是一个不错的select。

如果你想要轻松的迁移和灵活性,LVM RAID是最好的select。

Serverfault适用于专业的系统pipe理员,在执行此类操作之前,他们会先天地备份整个数据集。 在哪一点上 – 如果你有时间窗口的话 – 许多人只会擦拭,重新configuration/重新格式化和恢复。 这样你有一个已知的稳定的设置。