OpenStack:コントローラのアップグレード中にCinderボリュームへの書き込みアクセスが失われる
環境
- OpenStackヨガ
- 正規パッケージ
- NFSv3ストレージプール
問題
XenaからYogaへのOpenStackコントローラのアップグレード時に、NFSv3マウントされた元のストレージプール上のCinderボリュームのユーザ所有権が変更されました。 その結果、 インスタンスの基盤となるストレージへの書き込みアクセスが失われます。
この問題が確認されている環境の詳細:
- システムデノドウニュウ
- 標準Cinderパッケージ
- NFSv3ストレージプール
「cinder-common」パッケージをアップグレードする際、次の変更が確認されます。
- cinder-commonパッケージをアップグレードする前は、コンピューティングノード上のCinderボリュームがlibvirt-qemuのようなユーザによって所有されていました。
$ getfacl -e /opt/stack/data/nova/mnt/d25beb55fef91aab4945de91411d8dc5/volume-d6f844c6-5be0-41ba-ae85-898743dfd991
getfacl: Removing leading '/' from absolute path names
# file: opt/stack/data/nova/mnt/d25beb55fef91aab4945de91411d8dc5/volume-d6f844c6-5be0-41ba-ae85-898743dfd991
# owner: libvirt-qemu
# group: kvm
user::rw-
group::rw-
other::---
- cinder-commonパッケージのアップグレード
- コンピューティングノード上のCinderボリュームの所有権がcinder:cinderのように変わります(この例では、コンピューティングホストにCinderユーザが存在しないため、64061などのユーザIDが表示されています)。
$ getfacl -e /opt/stack/data/nova/mnt/d25beb55fef91aab4945de91411d8dc5/volume-d6f844c6-5be0-41ba-ae85-898743dfd991
getfacl: Removing leading '/' from absolute path names
# file: opt/stack/data/nova/mnt/d25beb55fef91aab4945de91411d8dc5/volume-d6f844c6-5be0-41ba-ae85-898743dfd991
# owner: 64061
# group: 64061
user::rw-
group::rw-
other::---
- Cinderボリュームに対するUNIX権限に応じて、インスタンスが「読み取り専用」状態になるか、アクセスが完全に失われます。