OpenStack:Cinderドライバで使用中のボリュームを拡張できますか。
環境
- OpenStack Cinder
- ネットアップドライバ
- SolidFireDriver
回答
ネットアップドライバ(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マイクロバージョンをまだサポートしていないため、使用できません。