iSCSIにext4 rootfsを持つLinuxサーバーがあります。
iSCSIサーバーが再起動して通信が停止しますが、サーバーが急速に再起動されるため、通常は大きな問題ではありません。
ただし、iSCSI サーバーに時間がかかりすぎると、クライアントサーバーは rootfs を読み取り専用に切り替えます。
問題は、一度読み取り専用になると、再読み書きにする方法が見つからないことです。デバイスが読み取り専用であるというメッセージが表示され続けます(そうではありません)。
私は以下を試して確認しました。
# mount -o remount,rw /
mount: /: cannot remount /dev/sda1 read-write, is write-protected.
# cat /sys/block/sda/ro
0
# cat /sys/block/sda/sda1/ro
0
# hdparm -r /dev/sda
/dev/sda:
readonly = 0 (off)
# hdparm -r /dev/sda1
/dev/sda1:
readonly = 0 (off)
サーバーを再起動せずにこの問題を解決する方法はありますか?
ノート
マルチパスを使用するように構成された他のiSCSIデバイスがありますが、マウントされていません(仮想マシンに渡されます)。
その iSCSI ターゲットが initramfs からロードされるため、rootfs デバイスはマルチパスを使用するように構成されていません。
他のiSCSIデバイスで実行されている仮想マシンは、この問題の影響を受けません。つまり、ダウンタイム中に仮想マシンが停止し、すべてが再びオンラインになると、ジョブは再開されます。読み取り専用のrootfsを使用しても引き続き機能します。