ESXi で RDM を使って RAID ディスクを構築する

はじめに

ESXi の RDM 機能を使って仮想マシンに HDD を直接マウントして RAID ディスクを作る.

それだけ.

RDM を使った RAID を作る

Raw Disk Mapping

3TB HDD x2 を用意したので,これを使って RAID を構成する.

通常仮想マシンに割り当てるディスクは ESXi のデータストアから適当な容量を切り出して VMDK という形で設定するが,今回は RDM という仕組みを使って仮想マシンに物理ディスクをマウントする.

物理互換モードの Raw デバイス マッピングの作成
vmkfstools コマンドを使用して、パススルー Raw デバイスを VMFS ボリューム上のファイルにマッピングします。このマッピングによって、仮想マシンが仮想ディスクにアクセスするときに、ESXi SCSI コマンド フィルタリングをバイパスできます。このタイプのマッピングは、仮想マシンが企業独自の SCSI ...

まずは 2 つの HDD を ESXi に接続して RDM を設定していく.

ESXi の SSH を有効化して SSH 接続し,ディスクのパスを確認する.

# ls -l /vmfs/devices/disks/
-rw-------    1 root     root     3000592982016 Aug 11 21:36 t10.ATA_____WDC_WD30EZRZ2D00Z5HB0_________________________WD2DWCC4N4123456
-rw-------    1 root     root     3000592982016 Aug 11 21:36 t10.ATA_____WDC_WD30EZRZ2D00Z5HB0_________________________WD2DWCC4N4ABCDEF

vmkfstools コマンドを使って HDD を vmdk として設定する.ここで作成した vmdk を追加ディスクとして仮想マシンに割り当てる事で HDD を直接利用できるようになる.

# vmkfstools -z /vmfs/devices/disks/t10.ATA_____WDC_WD30EZRZ2D00Z5HB0_________________________WD2DWCC4N4ABCDEF /vmfs/volumes/datastore1/RDM/WD_B_3TB-1.vmdk
# vmkfstools -z /vmfs/devices/disks/t10.ATA_____WDC_WD30EZRZ2D00Z5HB0_________________________WD2DWCC4N4123456 /vmfs/volumes/datastore1/RDM/WD_B_3TB-2.vmdk

パーティションを作成する

仮想マシンに割り当てた HDD をフォーマットしていく.仮想マシンは CentOS を想定する.

まずはパーティションの作成を行うが,fdisk は 2TB 以上のパーティションを作成出来ないので ここでは parted を使う.今回利用するディスクでは既に msdos パーティションが設定されていたので gpt に変更する.

ディスクによって多少容量に誤差があるため,ディスク故障時の交換を考えるとパーティションには 100MB 程度マージンを残しておいたほうが良い.

# parted /dev/sdb
GNU Parted 3.1
/dev/sdb を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) print                                                            
モデル: ATA WDC WD30EZRZ-00Z (scsi)
ディスク /dev/sdb: 3001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ: 

番号  開始  終了  サイズ  タイプ  ファイルシステム  フラグ

(parted) mklabel gpt
警告: いま存在している /dev/sdc のディスクラベルは破壊され、このディスクの全データが失われます。続行しますか?
はい(Y)/Yes/いいえ(N)/No? Y
(parted) mkpart primary 0% 3000GB
(parted) print
モデル: ATA WDC WD30EZRZ-00Z (scsi)
ディスク /dev/sdb: 3001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
 1    1049kB  3000GB  3000GB  xfs               primary

(parted) quit                                                             
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

mdadm で RAID を設定する

mdadm コマンドで RAID1 を設定する.ここでは HDD は sdb1,sdc1 として認識されている状態.

# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sd[bc]1
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

設定状態を設定ファイルとして保存しておく.

# mdadm --detail --scan | tee /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2 name=ds:0 UUID=04e5a23b:197823d1:56719454:9e2abc0c

xfs でフォーマットする.

# mkfs.xfs /dev/md0

あとは /dev/md0 を適当にマウントして使えば OK.

おわりに

やってはみたもののあまり RDM を使う意味はない.

かなり前にやった作業メモを備忘に起こしているのでなんかヌケモレあるかも?

参考

RAID - ArchWiki

コメント

タイトルとURLをコピーしました