openstack-ansible-os_swift/doc/source/configure-swift-devices.rst
Adrien Cunin 15c6967a41 Use auto instead of noauto mount option
This is needed in order for the devices to be mounted automatically.

Change-Id: I4bd87330a06679d88c09daa5e7ab660aabba829a
2017-03-10 13:20:29 +01:00

3.8 KiB

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,nobarrier,logbufs=8,auto 0 0
    LABEL=sdd /srv/node/sdd xfs noatime,nodiratime,nobarrier,logbufs=8,auto 0 0
    LABEL=sde /srv/node/sde xfs noatime,nodiratime,nobarrier,logbufs=8,auto 0 0
    LABEL=sdf /srv/node/sdf xfs noatime,nodiratime,nobarrier,logbufs=8,auto 0 0
    LABEL=sdg /srv/node/sdg xfs noatime,nodiratime,nobarrier,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