anchor.diff:  ====
   
   [[configuring-docker-storage]]
  -*Configuring Docker Storage*
  -
  -Docker's default loopback storage mechanism is not supported for production use
  -and is only appropriate for proof of concept environments. For production
  -environments, you must create a thin-pool logical volume and re-configure Docker
  -to use that volume.
  +=== Configuring Docker Storage
  +
  +Docker containers and the images they are created from are stored in Docker's
  +storage backend. This storage is ephemeral and separate from any persistent
  +storage allocated to meet the needs of your applications. The default storage
  +backend is loopback which  is not supported for production use and only
  +appropriate for proof of concept environments. For production environments
  +you must create a thin-pool logical volume and re-configure Docker to use
  +that volume.
   
   You can use the *docker-storage-setup* script to create a thin-pool device and
  -configure Docker's storage driver after installing Docker but before you start
  -using it. The script reads configuration options from the
  -*_/etc/sysconfig/docker-storage-setup_* file. Allocate at least 15 GB of space
  -for this purpose no matter which option you choose.
  +configure Docker's storage driver after installing Docker but before creating
  +images or containers. The script reads configuration options from the
  +*_/etc/sysconfig/docker-storage-setup_* file and supports three options for
  +creating the logical volume:
  +
  +- *Option A)* Use an additional block device
  +- *Option B)* Use a specified volume group
  +- *Option C)* Use the remaining free space from the volume group where your root
  +filesystem is located
  +
  +Option A is the most robust option however it requires adding an additional
  +block device. Options B and C both require leaving free space available when
  +provisioning your host.
   
   [NOTE]
   ====
  
positive.code: 
  ifdef::openshift-enterprise[]
  
  *Installing Red Hat Enterprise Linux 7*
  
  A base installation of Red Hat Enterprise Linux (RHEL) 7.1 is required for
  
negative.code: Enterprise Linux 7.
  ====
  
  [IMPORTANT]
  ====
  Before using Docker or OpenShift please verify that the docker-pool logical
  volume is large enough to meet your needs. The docker-pool volume should be
  60% of the available volume group and will grow to fill the volume group
  via LVM monitoring.
  ====
  
  
  . Create the docker-pool volume using one of the following three options:
  
  ** [[docker-storage-a]]*Option A) Use an additional block device*
  +
  In *_/etc/sysconfig/docker-storage-setup_* set *DEVS* to the path of the block
  device you wish to use. Set *VG* to the volume group name you wish to create,
  *docker-vg* is a reasonable choice. Run *docker-storage-setup* and review the
  output to ensure the *docker-pool* volume was created.
  +
  ----
  # cat <<EOF > /etc/sysconfig/docker-storage-setup
  DEVS=/dev/vdc
  VG=docker-vg
  EOF
  
  # docker-storage-setup                                                                                                                                                                                                                                [5/1868]
  0
  Checking that no-one is using this disk right now ...
  OK
  
  Disk /dev/vdc: 31207 cylinders, 16 heads, 63 sectors/track
  sfdisk:  /dev/vdc: unrecognized partition table type
  
  Old situation:
  sfdisk: No partitions found
  
  New situation:
  Units: sectors of 512 bytes, counting from 0
  
     Device Boot    Start       End   #sectors  Id  System
  /dev/vdc1          2048  31457279   31455232  8e  Linux LVM
  /dev/vdc2             0         -          0   0  Empty
  /dev/vdc3             0         -          0   0  Empty
  /dev/vdc4             0         -          0   0  Empty
  Warning: partition 1 does not start at a cylinder boundary
  Warning: partition 1 does not end at a cylinder boundary
  Warning: no primary partition is marked bootable (active)
  This does not matter for LILO, but the DOS MBR will not boot this disk.
  Successfully wrote the new partition table
  
  Re-reading the partition table ...
  
  If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
  to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
  (See fdisk(8).)
    Physical volume "/dev/vdc1" successfully created
    Volume group "docker-vg" successfully created
    Rounding up size to full physical extent 16.00 MiB
    Logical volume "docker-poolmeta" created.
    Logical volume "docker-pool" created.
    WARNING: Converting logical volume docker-vg/docker-pool and docker-vg/docker-poolmeta to pool's data and metadata volumes.
    THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
    Converted docker-vg/docker-pool to thin pool.
    Logical volume "docker-pool" changed.
  ----
  
  ** [[docker-storage-b]]*Option B) Use a specified volume group*
  +
  In *_/etc/sysconfig/docker-storage-setup_* set *VG* to the desired volume group.
  Run *docker-storage-setup* and review the  output to ensure the *docker-pool*
  volume was created.
  +
  ----
  # cat <<EOF > /etc/sysconfig/docker-storage-setup
  VG=docker-vg
  EOF
  
  # docker-storage-setup
    Rounding up size to full physical extent 16.00 MiB
    Logical volume "docker-poolmeta" created.
    Logical volume "docker-pool" created.
    WARNING: Converting logical volume docker-vg/docker-pool and docker-vg/docker-poolmeta to pool's data and metadata volumes.
    THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
    Converted docker-vg/docker-pool to thin pool.
    Logical volume "docker-pool" changed.
  ----
  
  
  ** [[docker-storage-c]]*Option C) Use the remaining free space from the volume group where your root
  filesystem is located*
  +
  Verify that the volume group where your root file system resides has the desired
  free space then run *docker-storage-setup* and review the output to ensure the
  *docker-pool* volume was created.
  +
  ----
  # docker-storage-setup
    Rounding up size to full physical extent 32.00 MiB
    Logical volume "docker-poolmeta" created.
    Logical volume "docker-pool" created.
    WARNING: Converting logical volume rhel/docker-pool and rhel/docker-poolmeta to pool's data and metadata volumes.
    THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
    Converted rhel/docker-pool to thin pool.
    Logical volume "docker-pool" changed.
  ----
  
  . Verify your configuration. You should have *dm.thinpooldev* value in the
  *_/etc/sysconfig/docker-storage_* file and a *docker-pool* logical volume:
  +
  ====
  ----
  # lvs
    LV          VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    docker-pool rhel twi-a-t---  9.29g             0.00   0.12
  
  # cat /etc/sysconfig/docker-storage
  DOCKER_STORAGE_OPTIONS=--storage-opt dm.fs=xfs --storage-opt
  