https://www.gravatar.com/avatar/cee80559471f68b7a5134ac8f3e60187?s=240&d=mp

Date Huang

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 使用。