Configuring OpenStack Cinder for NGX Storage NFS
In this guide, we’ll outline the process of configuring OpenStack Block Storage to utilize NFS Share from NGX Storage, a pivotal step in expanding storage capabilities within your OpenStack environment.
1. Edit /etc/cinder/cinder.conf
enabled_backends = ...,ngxstorage-nfs [ngxstorage-nfs] volume_driver = cinder.volume.drivers.nfs.NfsDriver volume_backend_name = ngxstorage-nfs nfs_shares_config = /etc/cinder/ngxstorage.nfs
2. Create and edit /etc/cinder/ngxstorage.nfs
<share-data-ip>:/exports/<pool-name>/<share-name>
Example:
192.168.1.203:/exports/pool1/openstacknfs
3. Restart Cinder services
sudo systemctl restart cinder-*
4. Check Cinder services
$ openstack volume service list
+------------------+------------------------------+------+---------+-------+----------------------------+
| Binary | Host | Zone | Status | State | Updated_at |
+------------------+------------------------------+------+---------+-------+----------------------------+
| cinder-scheduler | ngx-openstack | nova | enabled | up | 2024-02-27T12:59:03.000000 |
| cinder-volume | ngx-openstack@lvmdriver-1 | nova | enabled | up | 2024-02-27T12:59:04.000000 |
| cinder-volume | ngx-openstack@ngxstorage-nfs | nova | enabled | up | 2024-02-27T12:58:59.000000 |
+------------------+------------------------------+------+---------+-------+----------------------------+
$ cinder service-list
+------------------+------------------------------+------+---------+-------+----------------------------+-----------------+
| Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
+------------------+------------------------------+------+---------+-------+----------------------------+-----------------+
| cinder-scheduler | ngx-openstack | nova | enabled | up | 2024-02-27T12:59:03.000000 | - |
| cinder-volume | ngx-openstack@lvmdriver-1 | nova | enabled | up | 2024-02-27T12:59:04.000000 | - |
| cinder-volume | ngx-openstack@ngxstorage-nfs | nova | enabled | up | 2024-02-27T12:58:59.000000 | - |
+------------------+------------------------------+------+---------+-------+----------------------------+-----------------+
$ openstack volume type list --long
+--------------------------------------+----------------+-----------+---------------------+--------------------------------------+
| ID | Name | Is Public | Description | Properties |
+--------------------------------------+----------------+-----------+---------------------+--------------------------------------+
| d21f236c-bd93-43b2-8647-d9616f64e663 | ngxstorage-nfs | True | None | |
| a8a60160-78da-4561-92a8-9a16573ceb2e | lvmdriver-1 | True | None | volume_backend_name='lvmdriver-1' |
| 795394ab-3cb7-44b0-a2f4-b3153bdc17fe | __DEFAULT__ | True | Default Volume Type | |
+--------------------------------------+----------------+-----------+---------------------+--------------------------------------+
$ cinder type-show ngxstorage-nfs
+---------------------------------+--------------------------------------+
| Property | Value |
+---------------------------------+--------------------------------------+
| description | None |
| extra_specs | None |
| id | d21f236c-bd93-43b2-8647-d9616f64e663 |
| is_public | True |
| name | ngxstorage-nfs |
| os-volume-type-access:is_public | True |
| qos_specs_id | None |
+---------------------------------+--------------------------------------+
4. Create Volume Type with OpenStack CLI
$ openstack volume type create ngxstorage-nfs
$ openstack volume type set ngxstorage-nfs --property volume_backend_name=ngxstorage-nfs
5. Check Volume Type with Openstack CLI
$ openstack volume type list --long
+--------------------------------------+----------------+-----------+---------------------+--------------------------------------+
| ID | Name | Is Public | Description | Properties |
+--------------------------------------+----------------+-----------+---------------------+--------------------------------------+
| d21f236c-bd93-43b2-8647-d9616f64e663 | ngxstorage-nfs | True | None | volume_backend_name='ngxstorage-nfs' |
| a8a60160-78da-4561-92a8-9a16573ceb2e | lvmdriver-1 | True | None | volume_backend_name='lvmdriver-1' |
| 795394ab-3cb7-44b0-a2f4-b3153bdc17fe | __DEFAULT__ | True | Default Volume Type | |
+--------------------------------------+----------------+-----------+---------------------+--------------------------------------+
$ cinder type-show ngxstorage-nfs
+---------------------------------+--------------------------------------+
| Property | Value |
+---------------------------------+--------------------------------------+
| description | None |
| extra_specs | volume_backend_name : ngxstorage-nfs |
| id | d21f236c-bd93-43b2-8647-d9616f64e663 |
| is_public | True |
| name | ngxstorage-nfs |
| os-volume-type-access:is_public | True |
| qos_specs_id | None |
+---------------------------------+--------------------------------------+
COPYRIGHT
© 2024 NGX Teknoloji A.Ş. (NGX Storage). All rights reserved. Printed in the Turkey. Specifications subject to change without notice. No part of this document covered by copyright may be reproduced in any form or by any means-graphic, electronic, or mechanical, including photocopying, recording, taping, or storage in an electronic retrieval system-without prior written permission of NGX Storage. Software derived from copyrighted NGX Storage material is subject to the following license and disclaimer:
THIS SOFTWARE IS PROVIDED BY NGX Storage “AS IS” AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL NGX Storage BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
NGX Storage reserves the right to change any products described herein at any time, and without notice. NGX Storage assumes no responsibility or liability arising from the use of products described herein, except as expressly agreed to in writing by NGX Storage. The use or purchase of this product does not convey a license under any patent rights, trademark rights, or any other intellectual property rights of NGX Storage.
TRADEMARK
NGX Storage and the NGX Storage logo are trademarks of NGX TEKNOLOJI A.Ş. Other company and product names may be trademarks of their respective owners.