Raid

為什麼 9650SE RAID1 沒有顯示磁碟的完整大小?

  • February 8, 2013

這是如何在 ESXi 5.0 下擴展 3Ware 9650SE RAID1?

我已連續將 RAID1 中的 1TB 驅動器替換為 2TB 驅動器,希望能夠擴展 ESXi 5.0 中的數據儲存。更換驅動器並讓重建完成後,我可以引導到 ESXi(RAID 也是引導分區),但分區工具(ESXi 維護partedUtil和 gParted 引導磁碟)顯示 RAID 是原來的 1TB 以下大小。

我需要做什麼才能讓作業系統(尤其是 ESXi)看到驅動器的未使用部分?

編輯 正如 MDMarra 在下面建議的那樣,我嘗試了 CLI 知識庫文章,但結果令人困惑。我認為我的問題仍然存在。措辭不同:為什麼分區工具無法讀取 raid 中驅動器的完整大小,以及如何啟用它們?

/dev/disks # partedUtil getptbl /vmfs/devices/disks/naa.600050e0f7f321007eb30000401b0000
gpt
121575 255 63 1953103872
1 64 8191 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128
5 8224 520191 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
6 520224 1032191 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
7 1032224 1257471 9D27538040AD11DBBF97000C2911D1B8 vmkDiagnostic 0
8 1257504 1843199 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
2 1843200 10229759 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
3 10229760 1953103838 AA31E02A400F11DB9590000C2911D1B8 vmfs 0

查看該行121575 255 63 1953103872,最後一個數字應該是磁碟的 LBA 大小(以 512 字節為單位),在本例中略低於 1TB。無論如何都要奮勇向前…

~ # vmkfstools --growfs "/vmfs/devices/disks/naa.600050e0f7f321007eb30000401b0000:3" "/vmfs/devices/disks/naa.600050e0f7f321007eb30000401b0000:3"
Underlying device has no free space
Error: No space left on device

所以我想我需要做一些事情來讓作業系統看到 RAID 陣列的真實大小。

編輯 2 的輸出tw_cli

~ # /tmp/tw_cli /c0
Error: (CLI:003) Specified controller does not exist.
~ # /tmp/tw_cli show

Ctl   Model        (V)Ports  Drives   Units   NotOpt  RRate   VRate  BBU
------------------------------------------------------------------------
c6    9650SE-4LPML 4         2        1       0       1       1      -

~ # /tmp/tw_cli /c6 show

Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-1    OK             -       -       -       931.312   RiW    ON

Port   Status           Unit   Size        Blocks        Serial
---------------------------------------------------------------
p0     OK               u0     1.82 TB     3907029168    WD-WCAY00283502
p1     OK               u0     1.82 TB     3907029168    WD-WCAY00286752
p2     NOT-PRESENT      -      -           -             -
p3     NOT-PRESENT      -      -           -             -

~ #

您只需要增加邏輯磁碟/單元 (u0) 的大小。

某種形式的tw_cli /c0/u0 migrate命令似乎對您有用,但請參閱**此知識庫文章**,該文章提供了相互矛盾的資訊。

第 5 步:3ware 支持工程師將為您創建一個腳本,該腳本將重寫磁碟驅動器 RAID 表資訊。新的 RAID 表資訊(或 DCB)將允許控制器查看和使用新的更高容量的驅動器。

到目前為止,您的擴展嘗試尚未成功。

它可能失敗了——這會在控制器的日誌中產生一個適當的條目。查看tw_cli show diag輸出的“控制器日誌”部分。

或者您可能使用了錯誤的命令集。在您的特殊情況下,這似乎有些棘手。直覺地說,使用

tw_cli /c6/u0 migrate type=raid1

應該啟動擴展,但是根據10.2 的最新/最好的 CLI 指南(似乎從 2010 年開始)中的矩陣,不支持從 raid1 遷移到 raid1 :

tw_cli 的有效遷移路徑

由於我不太確定這仍然是最新且正確的資訊,因此我會簡單地嘗試使用前一個命令進行遷移。如果這失敗了,走的路線可能是

tw_cli /c6/u0 migrate type=single

這會打破鏡子,然後執行

tw_cli /c6 show

查看哪個磁碟已在 u0 中結束,哪個磁碟已分離到另一個單元。通過發出刪除新創建的單元

tw_cli /c6/u<newUnitNumber> del

然後執行

tw_cli /c6/u0 migrate type=raid1 disk=<whatever disk number is not in u0 any more>

重新鏡像應該最終擴大陣列的容量。但老實說,這是我會與 LSI 技術支持人員通話的地方,以確保我不會因粗心的舉動而搞砸陣列。

還有一點很重要:確保您有可以從中恢復的最新備份。

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