Linux

在linux中的3ware控制器下將2個磁碟(raid 1)替換為更大的一對

  • October 1, 2018

我有一個 3ware 9650se,在 raid-1 拓撲中帶有 2 個 2TB 磁碟。

我最近用 2 個更大 (3TB) 的磁碟一個接一個地替換了這些磁碟。整個遷移過程很順利。我現在遇到的問題是,我不知道我還需要做什麼才能讓系統意識到這個驅動器大小的增加。

一些資訊:

root@samothraki:~# tw_cli /c0 show all

/c0 Model = 9650SE-4LPML
/c0 Firmware Version = FE9X 4.10.00.024
/c0 Driver Version = 2.26.02.014
/c0 Bios Version = BE9X 4.08.00.004
/c0 Boot Loader Version = BL9X 3.08.00.001

....

Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-1    OK             -       -       -       139.688   Ri     ON     
u1    RAID-1    OK             -       -       -       **1862.63**   Ri     ON     

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   139.73 GB SATA  0   -            WDC WD1500HLFS-01G6 
p1    OK             u0   139.73 GB SATA  1   -            WDC WD1500HLFS-01G6 
p2    OK             u1   **2.73 TB**   SATA  2   -            WDC WD30EFRX-68EUZN0
p3    OK             u1   **2.73 TB**   SATA  3   -            WDC WD30EFRX-68EUZN0

請注意,磁碟p2&p3被正確辨識為 3TB,但 raid1 陣列u1仍然看到 2TB 陣列。

遵循LSI 3ware 9650se 10.2 程式碼集指南(注意:程式碼集 9.5.3 使用者指南包含完全相同的程序)。

sync我將我的數據和umountraid 數組增加了三倍u1。接下來,我使用以下命令從命令行中刪除 raid 陣列:

tw_cli /c0/u1 remove

最後我重新掃描控制器以再次找到數組:

tw_cli /c0 rescan

不幸的是,新u1陣列仍然辨識出 2TB 磁碟。

有什麼問題?

一些額外的資訊。u1陣列對應於,而dev/sdb/後者又對應於更大的 LVM 磁碟的物理卷。現在我更換了兩個驅動器,分區表似乎是空的。然而 LVM 磁碟工作正常。這正常嗎?!

root@samothraki:~# fdisk -l /dev/sdb 

Disk /dev/sdb: 2000.0 GB, 1999988850688 bytes
255 heads, 63 sectors/track, 243151 cylinders, total 3906228224 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

root@samothraki:~# 

好的,這個答案附加到grs's答案中。所以 70% 的答案確實有學分。

筆記:

  • 如果此答案適合您,請立即獲取備份。
  • 如果您擁有 UPS,請立即將其連接到有問題的電腦上。
  • 以下過程是在 linux 中,在 DATA 磁碟陣列上執行的。它可能需要一些修改才能在作業系統/引導陣列上工作。
  • 以下過程需要多次重新啟動,我沒有說明,因為我在幾週的時間跨度內成功完成了該過程,我多次嘗試並失敗了。不過好在,當電腦開機時,我不再有停機時間,也沒有失去數據(即,我不需要依賴我的備份)。

總結一下情況:

  • 無法在 3ware 9650se 系統上從 raid1 遷移到 raid1。
  • 無法拆分磁碟並期望 /c0/uX 會自動更新其陣列大小。
  • 您必須刪除一個單元並重新創建它以檢測更大的磁碟。

所以關鍵是一次刪除一個驅動器,每次都重新創建一個新陣列。總體:

  1. 拆分 raid1 陣列。這將生成 2 個具有舊磁碟大小的陣列(在我的情況下為 2TB)。
tw_cli /c0/u1 migrate type=single

/dev/sdX指向 raid1的寶貝/u1應該仍然存在(並且可以工作!)。您還將獲得一個/u2基於鏡像的第二個驅動器的新單元。 2. 刪除不再使用的鏡像磁碟(/u2在我的情況下它屬於一個新單元,並且必須/dev/sdX在重新啟動後獲得一個新的文件描述符)。

tw_cli /c0/u2 del
  1. single使用未使用的磁碟創建一個新單元。注意:我從 BIOS 執行了此步驟,因此我不確定這是否應該按照下面的說明進行。在 BIOS 中,我做了“創建單元”而不是“遷移”。有人請驗證這一點。
tw_cli /c0/u2 migrate type=single disk=3

/u2單元應該“看到”所有 3TB。 4. 繼續將數據從 2TB 磁碟傳輸到 3TB 磁碟。 5. 一旦數據在新單元上,更新所有對新 /dev/sdX 的引用。 6. 剩餘的 2TB 磁碟(應該!)現在未使用,所以繼續刪除它。

tw_cli /c0/u1 del
  1. single使用未使用的磁碟創建一個新單元。
tw_cli /c0/u1 migrate type=single disk=2

/u1單元現在也應該有 3TB 的空間。 8. 最後,深吸一口氣,將2個單盤合併到新擴展的raid1中

tw_cli /c0/u2 migrate type=raid1 disk=2

/u1現在應該消失,單位/u2應該開始重建。 9. 享受生活。就像,認真的。

u1在從作業系統中增加文件系統之前,您需要更新大小。後者在 3ware 控制器通知它之前不會“看到”新大小。

3ware中的單位容量擴展稱為遷移。我確定它適用於 RAID5 和 6,沒有嘗試使用 RAID1。這是要執行的遷移命令的範例:

# tw_cli /c0/u1 migrate type=raid1 disk=p2-p3

完成後fdisk -l /dev/sdb應該會產生 3TB 並vgdisplay <VG name>會列出一些空白空間。從那裡您將增加 VG 大小,然後是相應的 LV,最後是 LV 中的文件系統。

編輯:我認為你不走運 - 請參閱使用者指南第 129 頁。

您可以將 RAID1 遷移到不同的陣列類型。

這是另一種選擇(它有一些風險,因此請確保您的備份良好):

  1. tw_cli /c0/u1 migrate type=single- 這會將您的u1單元分成兩個單獨的驅動器;
  2. tw_cli /c0/u1 migrate type=raid1 disk=2-3- 這應該將您的單個單元遷移回具有正確大小的 RAID1

當然,還有其他方法可以解決這個問題,我上面列出的方法是為了以防您希望您的數據一直線上。

引用自:https://serverfault.com/questions/576764