Intelのサーバ向けチップセットC600/C220に搭載されているオンボードsSATA RAID機能のIntel® Virtual RAID on CPU(VROC)が使える。
資料は「Support for Intel® Virtual RAID on CPU (Intel® VROC)」からだいたいたどりつけるが重要なものは下記となる。
インテル® Virtual RAID on CPU・ユーザーガイド
Windows, Linux, ESXiでの利用についてのpdfがある
Linuxの場合、kernelにドライバが組み込まれ、RAID管理はmdadmコマンドを利用して行うようになっている。
RHEL/CentOS 7.3ぐらい以降であれば問題は無い。
当然RHEL/AlmaLinux 9.0でも問題ないのであろうと思ってインストールしてみたところ、再起動/停止(reboot/shutdown)にて問題が発生した。
シャットダウン/再起動実行後、umountの途中で止まる。
上記で少しとまった後、1分ぐらいすると下記の追加出力がある。
そのあと、タイムアウトが終わると下記のdumpを出力して完全に止まる。
RHEL9, AlmaLinux 9, Oracle Linux 9 で試したところ、全て同じエラーで止まっている。
エラーメッセージの中で特徴的な「Unmounting /oldroot timed out」で検索したところ、「Bug 1956133 – System hangs in shutdown stage – mdmon killed by dracut shutdown script」から「Bug 1970610 – On shutdown, “mdadm -vv –wait-clean –scan” hangs, preventing a reboot or poweroff」に到達。
いわく、systemdとmdadmのバグで適切にunmountできないために発生、とのこと。
このBugはFedora 34についてのもので、Fedora 34はRHEL 9.0の元となるバージョンとなる。
RHEL9.0は systemd-250-6、mdadm-4.2-2 で、直っていてもよさそうなんですけど…
出力されているエラーメッセージはxfsに関わるものが多いので、使用するファイルシステムを標準のxfsではなく、ext4に変更すればうまくいくのではないか?と変更してみたところ
ext4でインストールしたRHEL9.0/OracleLinux 9.0は問題無く再起動/停止を行うことができました。
インテルサーバのオンボードRAID(VROC)を使う場合、systemd/mdadmが修正されるまではRHEL9系の導入を見合わせた方がよさそうですね。
2022/11/07追記 なお、この現象が発生したサーバを使わないことになったので、その後の状況については不明です
2023/03/06追記
Lenovoサイトに「RHEL 9.0 fails to reboot or shut down on systems with XFS file system and Intel software SATA/NVME RAID – Lenovo ThinkSystem」という記載を発見
Workaround
There are two workarounds for this issue:
- Use the ext4 file system instead of the default xfs.
- If the xfs file system must be used, use the following command to shut down or reboot:
#reboot -f #For restart the machine
#poweroff -f #For shutdown the machine
「xfsじゃなくてext4を使え」というのはこちらで調査した通りのもの
もう1つは「reboot -f」もしくは「poweroff -f」コマンドを使うと強制的に実行できる、というもの。
なるほど
「This behavior will be corrected in a future release scheduled for First Quarter 2023.」とあるので、そろそろ対処されたものがでるのか?
HPEからも「アドバイザリ: (改訂版) Red Hat Enterprise Linux - Red Hat Enterprise Linux 8.6またはRed Hat Enterprise Linux 9.0で、シャットダウンまたは再起動中にインテルVirtual RAID on CPU (インテルVROC) mdraidアレイがアンマウントされると、システムが応答を停止することがある」(英語版)というのが出てるのだが、「Red Hat Enterprise Linux 9.0については、systemdパッケージを250-6.el9_0.1 (またはそれ以降) にアップグレードします。」という内容。
それじゃ対処されてないはずなんだけどなぁ・・・
2023/05/11追記
どうなったかな?とLenovoとHPEの記述を確認してみたが、変更は無かった。
RedHat「Installing RHEL 9.0 GA on Intel VROC RAID (NVMe) get failed」にも記載がある模様