rhel8: KVM の実行中にハイパーバイザー上の FC ケーブルを取り外すと、マルチパスパススルーで I/O エラーが発生する
Issue
マルチパスデバイスのパススルーを使用しています。ホスト上のマルチパスデバイス (mpathab) は、ゲスト上では /dev/sda として認識されます。
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/mapper/mpathab' index='3'/>
<backingStore/>
<target dev='sda' bus='scsi'/>
<alias name='scsi0-0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
テストのために、4 本の FC ケーブルのうち 3 本を同時に取り外しました。その後、ゲスト上の /dev/sda で I/O エラーが発生し、ファイルシステムが読み取り専用になりました。
kernel: sd 0:0:0:0: [sda] tag#15 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_S>
kernel: sd 0:0:0:0: [sda] tag#15 Sense Key : Aborted Command [current]
kernel: sd 0:0:0:0: [sda] tag#15 Add. Sense: I/O process terminated
kernel: sd 0:0:0:0: [sda] tag#15 CDB: Synchronize Cache(10) 35 00 00 00 00 00 0000>
kernel: EXT4-fs (sda4): Remounting filesystem read-only
ホストログによると、mpathab のデバイスで I/O エラーが発生しましたが、multipathd はパスの失敗を検出しました。
以上のことから、実際にはファイルシステムは読み取り専用になりましたが、残りのパスが I/O を処理することが予想されます。
Environment
- Red Hat Enterprise Linux (RHEL) 8
- multipath
- KVM ゲスト、パススルー設定
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.