NexentaStor 4.x
Supported operations are:
- Create NFS share.
- Delete NFS share.
- Extend NFS share
- Allow NFS share access.
- Only IP access type is supported for NFS.
- RW and RO access is supported.
- Deny NFS share access
- Create snapshot
- Delete snapshot
- Create share from snapshot
- Thin/thick provisioning
Requirements
- NexentaStor Appliance pre-provisioned and licensed, etc
- OpenStack Preprovisioned with Manila Plugin
Deployment
Create DevStack user:
root# useradd -s /bin/bash -d /opt/stack -m stack
root# echo "stack ALL=(ALL) NOPASSWD: ALL" | tee /etc/sudoers.d/stack
root# passwd stack
Deploy DevStack environment:
stack$ git clone https://git.openstack.org/openstack-dev/devstack
stack$ cd devstack
stack$ cat local.conf <<'EOF'
[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
USE_SCREEN=True
RECLONE=True
enable_plugin manila https://github.com/openstack/manila
EOF
stack$ ./stack.sh
manila.conf driver section examples:
NStor4:
[DEFAULT]
enabled_share_backends = ns4_nfs
enabled_share_protocols = NFS
[ns4_nfs]
service_instance_user = manila
service_image_name = manila-service-image
path_to_private_key = /home/ubuntu/.ssh/id_rsa
path_to_public_key = /home/ubuntu/.ssh/id_rsa.pub
share_backend_name = <backend name to be used in share_types>
driver_handles_share_servers = False
share_driver = manila.share.drivers.nexenta.nexenta_nas.NexentaNasDriver
nexenta_host = <Nexenta appliance IP>
nexenta_volume = <volume name on appliance>
nexenta_nfs_share = <nfs_share_name>
nexenta_user = <NexentaStor username>
nexenta_password = <NexentaStor password>
nexenta_thin_provisioning = False/True
NStor5:
[DEFAULT]
enabled_share_backends = ns5_nfs
enabled_share_protocols = NFS
[ns5_nfs]
service_instance_user = manila
service_image_name = manila-service-image
path_to_private_key = /home/ubuntu/.ssh/id_rsa
path_to_public_key = /home/ubuntu/.ssh/id_rsa.pub
share_backend_name = <backend name to be used in share_types>
driver_handles_share_servers = False
share_driver = manila.share.drivers.nexenta.nexenta_nas.NexentaNasDriver
nexenta_host = <Nexenta appliance IP>
nexenta_rest_port = 8443
nexenta_volume = <pool name on appliance>
nexenta_share = <dataset name within the pool>
nexenta_user = <NexentaStor username>
nexenta_password = <NexentaStor password>
nexenta_thin_provisioning = False/True
List of all available options:
Parameter name | Default | Choices | Description |
---|---|---|---|
nexenta_host | IP address of Nexenta storage appliance. | ||
nexenta_rest_port | 8457 | Port to connect to Nexenta REST API server. | |
nexenta_retry_count | 6 | Number of retries for unsuccessful API calls. | |
nexenta_rest_protocol | auto | [http, https, auto] | Use http or https for REST connection . |
nexenta_user | admin | User name to connect to Nexenta SA. | |
nexenta_password | Password to connect to Nexenta SA. | ||
nexenta_volume | volume1 | Volume name on NexentaStor4 | |
nexenta_pool | pool1 | Pool name on NexentaStor5. | |
nexenta_mount_point_base | $state_path/mnt | Base directory that contains NFS share mount points. | |
nexenta_nfs_share | nfs_share | Parent folder on NexentaStor that will contain all manila folders. | |
nexenta_dataset_compression | on | [on, off, gzip, gzip-1, gzip-2, gzip-3, gzip-4, gzip-5, gzip-6, gzip-7, gzip-8,gzip-9, lzjb, zle, lz4] | Compression value for new ZFS folders. |
nexenta_dataset_dedupe | off | [on, off, sha256, verify] | Deduplication value for new ZFS folders. |
nexenta_thin_provisioning | True | Boolean | If True shares will not be space guaranteed and overprovisioning will be enabled.’ |