OpenStack Rocky Cinder NFS Driver Issue
最近使用 Kolla-Ansible 部署 OpenStack Rocky on AArch64/ARM64 發生一些問題,這問題並不只是存在 ARM 上,而是因為發行版所維護的 QEMU 版本已經跟到了 commit ca749954b09b89e22cd69c4949fb7e689b057963 ,這個 commit 使用到了 F_OFD_SETLK
, NFSv3 正好不支援這類型 lock 操作。
而這個修改,並沒有根據不同檔案系統不支援 F_OFD_SETLK
回退 F_SETLK
的操作,所以只要在現代 Linux 中編譯 QEMU,就會直接使用 F_OFD_SETLK
,而造成在 NFSv3 上無法使用 lock 進而導致失敗的現象。
而這問題也不單單只影響 Cinder-Volume,也間接影響 Nova-Compute,如果 VM 要掛載 Volume,而 Cinder 使用 NFS Driver,則會在 Nova-Compute 上也把 NFS 掛載上去給 QEMU 使用。