NexentaStor is an Open Source-driven Software-Defined Storage (OpenSDS) platform delivering unified file (NFS and SMB) and block (FC and iSCSI) storage services, runs on industry standard hardware, scales from tens of terabytes to petabyte configurations, and includes all data management functionality by default.
For NexentaStor 4.x user documentation, visit https://nexenta.com/products/downloads/nexentastor.
The Nexenta iSCSI driver allows you to use a NexentaStor appliance to store Compute volumes. Every Compute volume is represented by a single zvol in a predefined Nexenta namespace. The Nexenta iSCSI volume driver should work with all versions of NexentaStor.
The NexentaStor appliance must be installed and configured according to the relevant Nexenta documentation. A volume and an enclosing namespace must be created for all iSCSI volumes to be accessed through the volume driver. This should be done as specified in the release-specific NexentaStor documentation.
The NexentaStor Appliance iSCSI driver is selected using the normal procedures for one or multiple backend volume drivers.
You must configure these items for each NexentaStor appliance that the iSCSI volume driver controls:
Make the following changes on the volume node /etc/cinder/cinder.conf
file.
# Enable Nexenta iSCSI driver
volume_driver=cinder.volume.drivers.nexenta.iscsi.NexentaISCSIDriver
# IP address of NexentaStor host (string value)
nexenta_host=HOST-IP
# Username for NexentaStor REST (string value)
nexenta_user=USERNAME
# Port for Rest API (integer value)
nexenta_rest_port=8457
# Password for NexentaStor REST (string value)
nexenta_password=PASSWORD
# Volume on NexentaStor appliance (string value)
nexenta_volume=volume_name
Note
nexenta_volume represents a zpool which is called volume on NS appliance. It must be pre-created before enabling the driver.
/etc/cinder/cinder.conf
file and
restart the cinder-volume
service.The Nexenta NFS driver allows you to use NexentaStor appliance to store Compute volumes via NFS. Every Compute volume is represented by a single NFS file within a shared directory.
While the NFS protocols standardize file access for users, they do not standardize administrative actions such as taking snapshots or replicating file systems. The OpenStack Volume Drivers bring a common interface to these operations. The Nexenta NFS driver implements these standard actions using the ZFS management plane that is already deployed on NexentaStor appliances.
The Nexenta NFS volume driver should work with all versions of NexentaStor. The NexentaStor appliance must be installed and configured according to the relevant Nexenta documentation. A single-parent file system must be created for all virtual disk directories supported for OpenStack. This directory must be created and exported on each NexentaStor appliance. This should be done as specified in the release- specific NexentaStor documentation.
You must configure these items for each NexentaStor appliance that the NFS volume driver controls:
Make the following changes on the volume node /etc/cinder/cinder.conf
file.
# Enable Nexenta NFS driver
volume_driver=cinder.volume.drivers.nexenta.nfs.NexentaNfsDriver
# Path to shares config file
nexenta_shares_config=/home/ubuntu/shares.cfg
Note
Add your list of Nexenta NFS servers to the file you specified with the
nexenta_shares_config
option. For example, this is how this file should look:
192.168.1.200:/volumes/VOLUME_NAME/NFS_SHARE http://USER:PASSWORD@192.168.1.200:8457
192.168.1.201:/volumes/VOLUME_NAME/NFS_SHARE http://USER:PASSWORD@192.168.1.201:8457
192.168.1.202:/volumes/VOLUME_NAME/NFS_SHARE http://USER:PASSWORD@192.168.1.202:8457
Each line in this file represents an NFS share. The first part of the line is the NFS share URL, the second line is the connection URL to the NexentaStor Appliance.
Nexenta Driver supports these options:
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
nexenta_blocksize = 4096 |
(Integer) Block size for datasets |
nexenta_chunksize = 32768 |
(Integer) NexentaEdge iSCSI LUN object chunk size |
nexenta_client_address = |
(String) NexentaEdge iSCSI Gateway client address for non-VIP service |
nexenta_dataset_compression = on |
(String) Compression value for new ZFS folders. |
nexenta_dataset_dedup = off |
(String) Deduplication value for new ZFS folders. |
nexenta_dataset_description = |
(String) Human-readable description for the folder. |
nexenta_host = |
(String) IP address of Nexenta SA |
nexenta_iscsi_target_portal_port = 3260 |
(Integer) Nexenta target portal port |
nexenta_mount_point_base = $state_path/mnt |
(String) Base directory that contains NFS share mount points |
nexenta_nbd_symlinks_dir = /dev/disk/by-path |
(String) NexentaEdge logical path of directory to store symbolic links to NBDs |
nexenta_nms_cache_volroot = True |
(Boolean) If set True cache NexentaStor appliance volroot option value. |
nexenta_password = nexenta |
(String) Password to connect to Nexenta SA |
nexenta_rest_port = 0 |
(Integer) HTTP(S) port to connect to Nexenta REST API server. If it is equal zero, 8443 for HTTPS and 8080 for HTTP is used |
nexenta_rest_protocol = auto |
(String) Use http or https for REST connection (default auto) |
nexenta_rrmgr_compression = 0 |
(Integer) Enable stream compression, level 1..9. 1 - gives best speed; 9 - gives best compression. |
nexenta_rrmgr_connections = 2 |
(Integer) Number of TCP connections. |
nexenta_rrmgr_tcp_buf_size = 4096 |
(Integer) TCP Buffer size in KiloBytes. |
nexenta_shares_config = /etc/cinder/nfs_shares |
(String) File with the list of available nfs shares |
nexenta_sparse = False |
(Boolean) Enables or disables the creation of sparse datasets |
nexenta_sparsed_volumes = True |
(Boolean) Enables or disables the creation of volumes as sparsed files that take no space. If disabled (False), volume is created as a regular file, which takes a long time. |
nexenta_target_group_prefix = cinder/ |
(String) Prefix for iSCSI target groups on SA |
nexenta_target_prefix = iqn.1986-03.com.sun:02:cinder- |
(String) IQN prefix for iSCSI targets |
nexenta_use_https = True |
(Boolean) Use secure HTTP for REST connection (default True) |
nexenta_user = admin |
(String) User name to connect to Nexenta SA |
nexenta_volume = cinder |
(String) SA Pool that holds all volumes |
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.