Home OpenStack-Ansible Swift

Storage devices

This section offers a set of prerequisite instructions for setting up Object Storage (swift) storage devices. The storage devices must be set up before installing swift.

Procedure 5.1. Configuring and mounting storage devices

Object Storage recommends a minimum of three swift hosts with five storage disks. The example commands in this procedure use the storage devices sdc through to sdg.

  1. Determine the storage devices on the node to be used for swift.

  2. Format each device on the node used for storage with XFS. While formatting the devices, add a unique label for each device.

    Without labels, a failed drive causes mount points to shift and data to become inaccessible.

    For example, create the file systems on the devices using the mkfs command:

    # apt-get install xfsprogs
    # mkfs.xfs -f -i size=1024 -L sdc /dev/sdc
    # mkfs.xfs -f -i size=1024 -L sdd /dev/sdd
    # mkfs.xfs -f -i size=1024 -L sde /dev/sde
    # mkfs.xfs -f -i size=1024 -L sdf /dev/sdf
    # mkfs.xfs -f -i size=1024 -L sdg /dev/sdg
    
  3. Add the mount locations to the fstab file so that the storage devices are remounted on boot. The following example mount options are recommended when using XFS:

    LABEL=sdc /srv/node/sdc xfs noatime,nodiratime,logbufs=8,auto 0 0
    LABEL=sdd /srv/node/sdd xfs noatime,nodiratime,logbufs=8,auto 0 0
    LABEL=sde /srv/node/sde xfs noatime,nodiratime,logbufs=8,auto 0 0
    LABEL=sdf /srv/node/sdf xfs noatime,nodiratime,logbufs=8,auto 0 0
    LABEL=sdg /srv/node/sdg xfs noatime,nodiratime,logbufs=8,auto 0 0
    
  4. Create the mount points for the devices using the mkdir command:

    # mkdir -p /srv/node/sdc
    # mkdir -p /srv/node/sdd
    # mkdir -p /srv/node/sde
    # mkdir -p /srv/node/sdf
    # mkdir -p /srv/node/sdg
    

    The mount point is referenced as the mount_point parameter in the swift.yml file (/etc/rpc_deploy/conf.d/swift.yml):

    # mount /srv/node/sdc
    # mount /srv/node/sdd
    # mount /srv/node/sde
    # mount /srv/node/sdf
    # mount /srv/node/sdg
    

To view an annotated example of the swift.yml file, see this link.

For the following mounted devices:

Device

Mount location

/dev/sdc

/srv/node/sdc

/dev/sdd

/srv/node/sdd

/dev/sde

/srv/node/sde

/dev/sdf

/srv/node/sdf

/dev/sdg

/srv/node/sdg

Table: Table 5.1. Mounted devices

The entry in the swift.yml:

#    drives:
#        - name: sdc
#        - name: sdd
#        - name: sde
#        - name: sdf
#        - name: sdg
#    mount_point: /srv/node