Hitachi storage volume driver

Hitachi storage volume driver

Hitachi storage volume driver provides iSCSI and Fibre Channel support for Hitachi storages.

System requirements

Supported storages:

  • Hitachi Virtual Storage Platform G1000 (VSP G1000)
  • Hitachi Virtual Storage Platform (VSP)
  • Hitachi Unified Storage VM (HUS VM)
  • Hitachi Unified Storage 100 Family (HUS 100 Family)

Required software:

  • RAID Manager Ver 01-32-03/01 or later for VSP G1000/VSP/HUS VM

  • Hitachi Storage Navigator Modular 2 (HSNM2) Ver 27.50 or later for HUS 100 Family

    Note

    HSNM2 needs to be installed under /usr/stonavm.

Required licenses:

  • Hitachi In-System Replication Software for VSP G1000/VSP/HUS VM
  • (Mandatory) ShadowImage in-system replication for HUS 100 Family
  • (Optional) Copy-on-Write Snapshot for HUS 100 Family

Additionally, the pexpect package is required.

Supported operations

  • Create, delete, attach, and detach volumes.
  • Create, list, and delete volume snapshots.
  • Manage and unmanage volume snapshots.
  • Create a volume from a snapshot.
  • Copy a volume to an image.
  • Copy an image to a volume.
  • Clone a volume.
  • Extend a volume.
  • Get volume statistics.

Configuration

Set up Hitachi storage

You need to specify settings as described below. For details about each step, see the user’s guide of the storage device. Use a storage administrative software such as Storage Navigator to set up the storage device so that LDEVs and host groups can be created and deleted, and LDEVs can be connected to the server and can be asynchronously copied.

  1. Create a Dynamic Provisioning pool.
  2. Connect the ports at the storage to the controller node and compute nodes.
  3. For VSP G1000/VSP/HUS VM, set port security to enable for the ports at the storage.
  4. For HUS 100 Family, set Host Group security or iSCSI target security to ON for the ports at the storage.
  5. For the ports at the storage, create host groups (iSCSI targets) whose names begin with HBSD- for the controller node and each compute node. Then register a WWN (initiator IQN) for each of the controller node and compute nodes.
  6. For VSP G1000/VSP/HUS VM, perform the following:
    • Create a storage device account belonging to the Administrator User Group. (To use multiple storage devices, create the same account name for all the target storage devices, and specify the same resource group and permissions.)
    • Create a command device (In-Band), and set user authentication to ON.
    • Register the created command device to the host group for the controller node.
    • To use the Thin Image function, create a pool for Thin Image.
  7. For HUS 100 Family, perform the following:
    • Use the auunitaddauto command to register the unit name and controller of the storage device to HSNM2.
    • When connecting via iSCSI, if you are using CHAP certification, specify the same user and password as that used for the storage port.

Set up Hitachi Gigabit Fibre Channel adaptor

Change a parameter of the hfcldd driver and update the initram file if Hitachi Gigabit Fibre Channel adaptor is used:

# /opt/hitachi/drivers/hba/hfcmgr -E hfc_rport_lu_scan 1
# dracut -f initramfs-KERNEL_VERSION.img KERNEL_VERSION
# reboot

Set up Hitachi storage volume driver

  1. Create a directory:

    # mkdir /var/lock/hbsd
    # chown cinder:cinder /var/lock/hbsd
    
  2. Create volume type and volume key.

    This example shows that HUS100_SAMPLE is created as volume type and hus100_backend is registered as volume key:

    $ openstack volume type create HUS100_SAMPLE
    $ openstack volume type set --property volume_backend_name=hus100_backend HUS100_SAMPLE
    
  3. Specify any identical volume type name and volume key.

    To confirm the created volume type, please execute the following command:

    $ openstack volume type list --long
    
  4. Edit the /etc/cinder/cinder.conf file as follows.

    If you use Fibre Channel:

    volume_driver = cinder.volume.drivers.hitachi.hbsd_fc.HBSDFCDriver
    

    If you use iSCSI:

    volume_driver = cinder.volume.drivers.hitachi.hbsd_iscsi.HBSDISCSIDriver
    

    Also, set volume_backend_name created by cinder type-key command:

    volume_backend_name = hus100_backend
    

    This table shows configuration options for Hitachi storage volume driver.

    Description of Hitachi storage volume driver configuration options
    Configuration option = Default value Description
    [DEFAULT]  
    hitachi_add_chap_user = False (Boolean) Add CHAP user
    hitachi_async_copy_check_interval = 10 (Integer) Interval to check copy asynchronously
    hitachi_auth_method = None (String) iSCSI authentication method
    hitachi_auth_password = HBSD-CHAP-password (String) iSCSI authentication password
    hitachi_auth_user = HBSD-CHAP-user (String) iSCSI authentication username
    hitachi_copy_check_interval = 3 (Integer) Interval to check copy
    hitachi_copy_speed = 3 (Integer) Copy speed of storage system
    hitachi_default_copy_method = FULL (String) Default copy method of storage system
    hitachi_group_range = None (String) Range of group number
    hitachi_group_request = False (Boolean) Request for creating HostGroup or iSCSI Target
    hitachi_horcm_add_conf = True (Boolean) Add to HORCM configuration
    hitachi_horcm_numbers = 200,201 (String) Instance numbers for HORCM
    hitachi_horcm_password = None (String) Password of storage system for HORCM
    hitachi_horcm_resource_lock_timeout = 600 (Integer) Timeout until a resource lock is released, in seconds. The value must be between 0 and 7200.
    hitachi_horcm_user = None (String) Username of storage system for HORCM
    hitachi_ldev_range = None (String) Range of logical device of storage system
    hitachi_pool_id = None (Integer) Pool ID of storage system
    hitachi_serial_number = None (String) Serial number of storage system
    hitachi_target_ports = None (String) Control port names for HostGroup or iSCSI Target
    hitachi_thin_pool_id = None (Integer) Thin pool ID of storage system
    hitachi_unit_name = None (String) Name of an array unit
    hitachi_zoning_request = False (Boolean) Request for FC Zone creating HostGroup
    hnas_chap_enabled = True (Boolean) Whether the chap authentication is enabled in the iSCSI target or not.
    hnas_cluster_admin_ip0 = None (String) The IP of the HNAS cluster admin. Required only for HNAS multi-cluster setups.
    hnas_mgmt_ip0 = None (IP) Management IP address of HNAS. This can be any IP in the admin address on HNAS or the SMU IP.
    hnas_password = None (String) HNAS password.
    hnas_ssc_cmd = ssc (String) Command to communicate to HNAS.
    hnas_ssh_port = 22 (Port number) Port to be used for SSH authentication.
    hnas_ssh_private_key = None (String) Path to the SSH private key used to authenticate in HNAS SMU.
    hnas_svc0_hdp = None (String) Service 0 HDP
    hnas_svc0_iscsi_ip = None (IP) Service 0 iSCSI IP
    hnas_svc0_volume_type = None (String) Service 0 volume type
    hnas_svc1_hdp = None (String) Service 1 HDP
    hnas_svc1_iscsi_ip = None (IP) Service 1 iSCSI IP
    hnas_svc1_volume_type = None (String) Service 1 volume type
    hnas_svc2_hdp = None (String) Service 2 HDP
    hnas_svc2_iscsi_ip = None (IP) Service 2 iSCSI IP
    hnas_svc2_volume_type = None (String) Service 2 volume type
    hnas_svc3_hdp = None (String) Service 3 HDP
    hnas_svc3_iscsi_ip = None (IP) Service 3 iSCSI IP
    hnas_svc3_volume_type = None (String) Service 3 volume type
    hnas_username = None (String) HNAS username.
  5. Restart the Block Storage service.

    When the startup is done, “MSGID0003-I: The storage backend can be used.” is output into /var/log/cinder/volume.log as follows:

    2014-09-01 10:34:14.169 28734 WARNING cinder.volume.drivers.hitachi.
    hbsd_common [req-a0bb70b5-7c3f-422a-a29e-6a55d6508135 None None]
    MSGID0003-I: The storage backend can be used. (config_group: hus100_backend)
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.