OpenStack:Cinderドライバで使用中のボリュームの拡張を許可
環境
- OpenStack Cinder
 - NetAppドライバ
 - NetApp SolidFireドライバ
 
回答
ネットアップドライバ(ONTAP)
- 使用中のボリューム拡張機能がNetAppDriver Cinderドライバでサポートされない
 - 現時点では、サーバに接続され、NetApp ONTAPバックエンドを使用するルートボリュームのサイズを拡張することはできません。
 - 拡張を行うには、ルート以外のボリュームをサーバから接続解除する必要があります。
 - ルートボリュームを拡張しようとすると、Cinder scheduler.logに次のイベントが記録されます。
 
/var/log/cinder/scheduler.log:2023-01-05 10:46:12.116 8985 DEBUG cinder.scheduler.filters.capabilities_filter [req-598b1f1c-f1b6-42c6-b481-d9491f36f88a 9f61737278e74e299ecf78393c6f2cc4 aa13b5b8c1e449fd93e598af2b4af8d0 - default default] Backend doesn't support attached volume extend _satisfies_extra_specs /usr/lib/python2.7/site-packages/cinder/scheduler/filters/capabilities_filter.py:45
SolidFireDriver
- 使用中のルートボリュームを拡張するには、ボリュームを「available」に切り替えます。 そのための手順は次のとおりです。
 
- VMの電源をオフにする
 
# openstack server stop extend_vm
# openstack server list
 +--------------------------------------+-----------------+---------+----------------------+-------+----------+
 | ID                                   | Name            | Status  | Networks             | Image | Flavor   |
 +--------------------------------------+-----------------+---------+----------------------+-------+----------+
 | ad0af6b4-9d24-4195-8095-6603b0426044 | extend_vm       | SHUTOFF | intnet=192.168.0.70  |       | m1.small |
# openstack volume list
 +--------------------------------------+------------------+-----------+------+------------------------------------------+
 | ID                                   | Name             | Status    | Size | Attached to                              |
 +--------------------------------------+------------------+-----------+------+------------------------------------------+
 | e1ec70e4-eb4e-425c-a141-38c00aa6df9e | solidfire_extend | in-use    |    2 |                                          |
- Cinderボリュームの状態を「available」にリセットします。
 
# cinder reset-state --state available e1ec70e4-eb4e-425c-a141-38c00aa6df9e
- ボリュームのサイズを変更します。
 
        # openstack volume set e1ec70e4-eb4e-425c-a141-38c00aa6df9e --size 4
# openstack volume show e1ec70e4-eb4e-425c-a141-38c00aa6df9e | grep size
 | size                           | 4        
ボリュームのサイズを変更すると、ステータスが使用中に戻ることに注意してください。
# openstack volume show e1ec70e4-eb4e-425c-a141-38c00aa6df9e | grep status
 | migration_status               | None  |
 | os-vol-mig-status-attr:migstat | None  |
 | os-vol-mig-status-attr:name_id | None  |
 | replication_status             | None  |
 | status                         | in-use
- VMの電源をオンにする
 
# openstack server start extend_vm
]# openstack server list
 +--------------------------------------+-----------------+---------+----------------------+-------+----------+
 | ID                                   | Name            | Status  | Networks             | Image | Flavor   |
 +--------------------------------------+-----------------+---------+----------------------+-------+----------+
 | ad0af6b4-9d24-4195-8095-6603b0426044 | extend_vm       | ACTIVE  | intnet=192.168.0.70  |       | m1.small |
追加情報
[1] 「How to extend attached/in-use volume in OpenStack?」で、Redhat Has a解決策for this問題を参照してください。"
抽出(編集):
3.42以上のマイクロバージョンに言及する場合は、Cinderクライアントを使用してボリューム拡張が機能するようにします。
 # cinder  --os-volume-api-version <Microversion> extend <volume_id> <new_size_in_GiB>
例:
 # cinder  --os-volume-api-version 3.42 extend  582a5eb4-0bfc-460b-a32e-d051a9a72d2a  10
注: OpenStack Unified ClientはCinderマイクロバージョンをまだサポートしていないため、使用できません。