web-dev-qa-db-ja.com

Linuxの3wareコントローラーで2つのディスク(RAID 1)をより大きなペアに置き換える

RAID-1トポロジの2x2TBディスクを備えた3ware9650seがあります。

最近、ディスクを2つの大きな(3TB)ディスクに1つずつ交換しました。移行全体がスムーズに進みました。私が今抱えている問題は、このドライブのサイズの増加をシステムに認識させるために、これ以上何をしなければならないのかわからないということです。

いくつかの情報:

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

ディスクp2p3は3TBとして正しく識別されますが、raid1アレイu1はまだ2TBアレイを認識していることに注意してください。

LSI 3ware 9650se 10.2コードセット のガイドに従った後(注:コードセット9.5.3ユーザーガイドにはまったく同じ手順が含まれています)。

私はsyncデータとumountRAIDアレイu1を3倍にします。次に、次のコマンドを使用して、コマンドラインから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:~# 
1
nass

わかりました、この回答はgrs's回答に追加されます。したがって、クレジットは回答の70%でそこに行きます。

ノート:

  • この回答があなたに合っている場合は、今すぐバックアップを入手してください。
  • uPSをお持ちの場合は、今すぐ問題のPCに接続してください。
  • 次の手順は、LinuxのDATAディスクアレイで実行されました。 OS /ブートアレイで動作するには、いくつかの変更が必要になる場合があります。
  • 次の手順では、何度か再起動する必要がありますが、数回試行して失敗した数週間の期間にわたって手順を完了できたため、記載していません。ただし、PCの電源が入っている間は、ダウンタイムが発生せず、データが失われませんでした(つまり、バックアップに依存する必要がありませんでした)。

状況の要約:

  • 3ware9650seシステムでraid1からraid1に移行することはできません。
  • ディスクを分割できず、/ c0/uXが自動的に配列サイズを更新することを期待できません。
  • より大きなディスクを検出するには、ユニットを削除して再作成する必要があります。

したがって、重要なのは、一度に1つのドライブを削除し、毎回新しいアレイを再作成することです。全体:

  1. raid1配列を分割します。これにより、古いサイズのディスク(私の場合は2TB)で2つのアレイが生成されます。

    tw_cli /c0/u1 migrate type=single
    

    raid1 /dev/sdXを指していた貴重な/u1は、まだ存在しているはずです(そして機能します!)。また、ミラーの2番目のドライブに基づく新しいユニット/u2も入手できます。

  2. 使用されなくなったミラーのディスクを削除します(私の場合、新しいユニット/u2に属し、再起動後に新しい/dev/sdXファイル記述子を取得している必要があります)。

    tw_cli /c0/u2 del
    
  3. 未使用のディスクで新しい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
    
  7. 未使用のディスクで新しい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. 人生を楽しむ。まじめにね。

2
nass

OS内からファイルシステムを増やす前に、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つの単一ドライブに分割されます。
  2. tw_cli /c0/u1 migrate type=raid1 disk=2-3-これshouldは、単一ユニットを正しいサイズでRAID1に戻す必要があります

もちろん、これには別のアプローチがあります。上記の方法は、データを常にオンラインにしたい場合に使用します。

2
grs

カーネルがコントローラーから更新を受信しなかった可能性があります。

次のように入力して、ディスク情報を更新してみてください。

partprobe /dev/sdb

カーネルにパーティションテーブルとディスクのプロパティを再読み込みさせます。

また試してみてください:

hdparm -z /dev/sdb

および/または:

sfdisk -R /dev/sdb

partprobeが常に機能するとは限りません。

1
DrGkill

これらは、nass'sanswer に追加するいくつかのメモです。ここでメモリから移動するため、これがすべて完全に正しいとは限らない可能性があり、これらの手順全体で再起動が行われました。

  • ステップ1-2:????

  • ステップ3:CLIから新しいsingleユニットを追加する:tw_cli /c0 add type=single disk=3

  • ステップ4:dd if=/dev/sdX of=/dev/sdY bs=64Kを使用してディスクのクローンを作成しました。どちらが正しいデバイスであるかを判断するために、ステップ3の前に、いくつかのデバイス(Sudo mount -t ntfs /dev/sda1 /mnt/aなど)をマウントし、内容を調べて、ユニット/c0/u1のソースデバイスを確認しました。 (これを決定するためのより良い方法がおそらくあります。)

    また、ステップ3の前に、私はls /dev/sd*で、既存のsdY1はあるがsdYがないデバイスを確認し、ステップ3の後で、どのsdYが作成されたかを再度確認しました。また、手順3の前後に各デバイスでSudo hdparm -I /dev/sdYを使用して、問題がないことを確認しました。注:再起動すると、どのデバイスがどれであるかが変わる可能性があるため、チェックとdd 'ingの間にそれを行わないでください。

  • ステップ5-6:????

  • 手順7〜8:未使用のディスクから新しい単一ユニットを作成してから移行しても機能しませんでした(Invalid diskエラーまたはそれらの行に沿った何か)。代わりに、ステップ7をスキップして、ステップ8に直接進むことが機能するはずです。

  • ステップ9:実行します。助けてくれてありがとう!

これに関する私の経験からの他のいくつかのメモ:

  • 私はこれのほとんどをKnoppixLiveCDを使用しました。 tw-cliをインストールするには:
    Sudo nano /etc/apt/sources.list
    上部にdeb http://hwraid.le-vert.net/ubuntu precise mainを追加します。
    Sudo apt-get update
    Sudo apt-get install tw-cli 3dm2

  • 私はこれをWindowsインストールのブートドライブで行っていました。2TBドライブから4TBドライブになりました。開始する前に確認するのを忘れていたのは、ディスクがMBRかGPTかということでした。 MBRであることが判明しました。つまり、GPTに変換しないと、ドライブの余分なスペースのほとんどにアクセスできません。

0
aplum

この投稿の長短は、移行スクリプトを入手するためにLSIサポートに連絡することです。

2ポート構成と4ポート構成の両方で同じコントローラーを使用していると確信しています。1ギグレイドから1ギガに更新する場合は、ディスクの1つを2ギガに交換してから交換しました。再構築後のもう一方のディスク。

この時点で、私はまだ1ギグレイド1を持っていましたが、2ギガディスクに座っていました。次に、サポートリクエストとしていくつかのドライブディメンションの詳細をLSIに送信し、次に、実行時に移行を実行する(非常に技術的な)スクリプトを送信しました。

この移行がLSIのサポートなしでは実行できない理由には満足できませんでしたが、最終的には問題なく動作しました。

0
Jamie