障害テスト」タグアーカイブ

ProxmoxでZFS RAID10とRAIDZ1の検証④ ~復旧テスト編~

前回の続き。SSD*4でストライピングミラーを作り、HDD*5でRAIDZ1(RAID5相当)を作ってみる。耐障害性のテスト。

障害一次回避テスト

VMが使用中のZFSプールがダウンしていると、(OSディスクでなくても)そのVMが起動できないことがわかったので、ディスクをデタッチできるか試す。

デタッチはできるがディスク削除はエラーとなる。コマンドでは可能かもしれない。障害一次回避はせず、まずZFSプール自体を復旧させる必要がある。

致命障害復旧テスト

HDD1.VHDX(RAIDZ1の致命障害分ディスク)を再接続してProxmoxを起動。

VMは起動可能になり、パーティションも利用可能。

許容障害復旧テスト

ZFSプールに新規ディスクとしてSSD5・SSD6・HDD6を追加し、許容障害分のディスクを復旧してみる。

New-VHD  "D:\VHDX\SSD5.vhdx" -SizeBytes 1GB -Fixed
New-VHD  "D:\VHDX\SSD6.vhdx" -SizeBytes 1GB -Fixed
New-VHD  "D:\VHDX\HDD6.vhdx" -SizeBytes 3GB -Fixed
Add-VMHardDiskDrive -VMName "proxmox" -Path D:\VHDX\SSD5.vhdx
Add-VMHardDiskDrive -VMName "proxmox" -Path D:\VHDX\SSD6.vhdx
Add-VMHardDiskDrive -VMName "proxmox" -Path D:\VHDX\HDD6.vhdx
Get-VMHardDiskDrive -VMName proxmox -ControllerType SCSI | Sort Path

欠番のSSD1・SSD4・HDD5が障害状態という想定。

追加したディスクを確認

使用状況がいいえになっている新しいディスクを特定する。

新しいディスクのDiskIDを確認。

# HDD
ls /dev/disk/by-id/ -l | grep sdd
# SSD
ls /dev/disk/by-id/ -l | grep sdh
ls /dev/disk/by-id/ -l | grep sdi

ZFSプール内ディスクを交換

ZFS Replaceコマンドで故障ディスクと新規ディスクを交換する。

# HDD
zpool replace HDD-RAIDZ /dev/disk/by-id/scsi-36002248032089d99762889efecad5d4d-part1 /dev/disk/by-id/scsi-3600224804da59b97b8a55ea0aff99a55
# SSD
zpool replace SSD-RAID10 /dev/disk/by-id/scsi-360022480330855105876edaaf50bf262-part1 /dev/disk/by-id/scsi-360022480160bd4f5fba3380670d11af0
zpool replace SSD-RAID10 /dev/disk/by-id/scsi-36002248015c81e684fe6d51aa86da9dc-part1 /dev/disk/by-id/scsi-360022480d40b48fd1d568dcba3b81cb7

追加されたディスクがオンライン状態になっている。今回は小容量のためすぐ終わったが、大容量ディスクの場合は以下のようなResilverステータスが表示される。

参考サイト Referred website

Thanks for the informative post.

ProxmoxでZFS RAID10とRAIDZ1の検証③ ~障害テスト編~

前回の続き。SSD*4でストライピングミラーを作り、HDD*5でRAIDZ1(RAID5相当)を作ってみる。耐障害性のテスト。

仮想HDDの取り外し(1枚目)

SSD RAID10とHDD RAIDZ1からそれぞれ1枚ずつ削除する。

ZFSプール状態確認

SSD・HDDともに状態がDegradedに変化。

OSアクセス確認

VM上のパーティションは継続利用できる。

仮想HDDの取り外し(2枚目)

SSD RAID10とHDD RAIDZ1から追加で1枚ずつ削除する。

障害確認

ネストVMのProxmox上でディスク障害メッセージを確認。

ZFSプールの状態

HDD RAID-Z1の方はプール自体がダウン。SSDの方はミラー0・ミラー1の1台ずつが利用不可になったがプールは生きている。

基盤レベルのエラーとなるため、RAIDZ1プールがアタッチされているVMは起動できない。

次回は復旧テストをする。

ミラー高速パリティのSSD層を4枚で作る ④障害テスト編

前回の続き。記憶域スペースのミラー高速パリティでは、一般的にSSD Tierが2枚・HDD Tierは3枚~という構成だが、SSD4枚のミラー(NumberOfColumns=2)でやった場合どうなるか、仮想ディスクでテストする。

SSD2枚とHDD1枚までの障害に耐えられるという想定で、ディスクを外してみる。

仮想ディスクの取り外し

取り外したディスクは通信エラーになっているが、エクスプローラでは問題なくボリュームが使える。

新たにディスクを追加

SSD5とHDD4を作成。既存ディスクは可変VHDXなのでCrystalDiskmarkのテストサイズだけ肥大している。

GUIでも3台がエラーとなっている。新規ディスクとして仮想SSDと仮想HDDを1台ずつ追加。

ディスクの修復確認

ディスクの修復が走っているため、この状態で障害ディスクをリタイアさせようとすると次の警告表示となる。

この挙動については以下のサイトで説明されていた。

https://www.ai-plus.com/archives/4746

まとめ

・SSD層を4枚にすることで、障害の許容度が2枚に増える
・リード速度は上がるが、ライトに恩恵はないので用途は限られる
・障害時の対応を考えるとホットスペアも検討