使用 LVM 將 NAS 遷移到硬體 RAID1 而不會失去數據
我試圖弄清楚如何將 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(vgreduce)中刪除 sdc1。
- 接下來,我將添加一個新驅動器並在 BIOS 設置中為 sdc1 和新驅動器(稱為 sdd1)創建一個 RAID 1。我們稱之為 rda1 (我不知道使用什麼命名,但只是為了在我的步驟中清楚)。
- 將 rda1 添加到我的 VG (vgextend)
- 將所有 LV 移動到 rda1 (pvmove)
- 從 VG (vgreduce) 中刪除 sdb1
- 添加另一個新驅動器並在 BIOS 中為 sdb1 和新驅動器 2 (sde1) 創建一個 RAID 1。我們稱之為 rdb1。
- 將 rdb1 添加到我的 VG (vgextend)
最後,我真的很想在兩個 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
實際使用的大小是 docs=100GB,library=500GB,photos=350GB,projects=620GB
不是硬體,而是要考慮的一個簡單選項是將邏輯卷轉換為 RAID1,使用
lvconvert --type raid1 -m 1 vg/lv
可選地指定應使用的 PV,以便正確地將新驅動器與舊驅動器耦合。這是使用與 mdadm 相同的核心驅動程序。優點:
- 更大的靈活性,允許線性/條帶 LV 用於丟棄/批量數據(如記憶體或下載的 ISO 映像),以及 RAID1 和/或 RAID5 用於您希望的其他數據
- 如果您的 RAID 控制器出現故障,它將在其他地方工作。其他地方我的意思是如果您將磁碟插入其他地方,它們將被任何最近的Linux發行版辨識。在 Windows 和 *BSD 下肯定不行,這對你的 NAS 來說不是問題。
缺點:
- 伺服器上的負載稍大(我沒有性能數據。)
LVM 與 mdadm:
專業人士:
- mdadm 使用更廣泛,經過幾代管理員的測試,許多教程……
- LVM 缺少一些您不需要(現在)的 mdadm 功能(重塑)。這是一個正在進行的工作。
專業版 lvm:
- LVM 更靈活,您可能不需要(現在)
- 遷移到 LVM RAID 非常簡單
表現:
LVM 與 mdadm RAID:
- 性能應該是一樣的,但是……
- 有一個已知錯誤,其中 LVM RAID 上的某些操作比 mdadm 慢得多:錯誤 1332221 - lvm raid1 的 fsyncs 性能不佳
軟體 RAID 與 FakeRAID
- 不知道,但這很大程度上取決於 RAID 控制器。
解析度:
如果您想要經過驗證的解決方案 mdadm raid 和 LVM 在此之上將是一個不錯的選擇。
如果您想要輕鬆的遷移和靈活性,LVM RAID 是您的最佳選擇。