LVM Configuration using Ansible in CentOS 7


[root@localhost ~]# cat lvm.yml
---
 - hosts: localhost
   user: root
   tasks:
        - name: dbvg volume group creation
          lvg:
               vg: dbvg
               pvs: /dev/sdb

        - name: db00 lvm creation
          lvol:
               vg: dbvg
               lv: db00
               size: 2G

        - name: db01 lvm creation
          lvol:
               vg: dbvg
               lv: db01
               size: 2G

        - name: db02 lvm creation
          lvol:
               vg: dbvg
               lv: db02
               size: 2G

        - name: db03 lvm creation
          lvol:
               vg: dbvg
               lv: db03
               size: 2G

        - name: create file system for db00
          filesystem:
                fstype: ext4
                dev: /dev/dbvg/db00

        - name: create file system for db01
          filesystem:
                fstype: ext4
                dev: /dev/dbvg/db01

        - name: create file system for db02
          filesystem:
                fstype: ext4
                dev: /dev/dbvg/db02

        - name: create file system for db03
          filesystem:
                fstype: ext4
                dev: /dev/dbvg/db03

        - name: mount db00 logical volumes
          mount:
                name: /db00
                src: /dev/dbvg/db00
                fstype: ext4
                state: mounted

        - name: mount db01 logical volumes
          mount:
                name: /db01
                src: /dev/dbvg/db01
                fstype: ext4
                state: mounted

        - name: mount db02 logical volumes
          mount:
                name: /db02
                src: /dev/dbvg/db02
                fstype: ext4
                state: mounted

        - name: mount db03 logical volumes
          mount:
                name: /db03
                src: /dev/dbvg/db03
                fstype: ext4
                state: mounted
[root@localhost ~]#



[root@localhost ~]# ansible-playbook lvm.yml

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
ok: [localhost]

TASK [dbvg volume group creation] **********************************************
changed: [localhost]

TASK [db00 lvm creation] *******************************************************
changed: [localhost]

TASK [db01 lvm creation] *******************************************************
changed: [localhost]

TASK [db02 lvm creation] *******************************************************
changed: [localhost]

TASK [db03 lvm creation] *******************************************************
changed: [localhost]

TASK [create file system for db00] *********************************************
changed: [localhost]

TASK [create file system for db01] *********************************************
changed: [localhost]

TASK [create file system for db02] *********************************************
changed: [localhost]

TASK [create file system for db03] *********************************************
changed: [localhost]

TASK [mount db00 logical volumes] **********************************************
changed: [localhost]

TASK [mount db01 logical volumes] **********************************************
changed: [localhost]

TASK [mount db02 logical volumes] **********************************************
changed: [localhost]

TASK [mount db03 logical volumes] **********************************************
changed: [localhost]

PLAY RECAP *********************************************************************
localhost                  : ok=14   changed=13   unreachable=0    failed=0 

[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x64668d33.

Command (m for help): p

Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x64668d33

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): q


[root@localhost ~]#
[root@localhost ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <26.00g                                                 
  swap centos -wi-ao----   3.00g                                                 
  db00 dbvg   -wi-ao----   2.00g                                                 
  db01 dbvg   -wi-ao----   2.00g                                                 
  db02 dbvg   -wi-ao----   2.00g                                                 
  db03 dbvg   -wi-ao----   2.00g                                                 
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <29.00g     0
  /dev/sdb   dbvg   lvm2 a--  <10.00g <2.00g
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <29.00g     0
  dbvg     1   4   0 wz--n- <10.00g <2.00g
[root@localhost ~]# lvs /dev/sdb
  Volume group "sdb" not found
  Cannot process volume group sdb
[root@localhost ~]# lvs /dev/dbvg
  LV   VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  db00 dbvg -wi-ao---- 2.00g                                                 
  db01 dbvg -wi-ao---- 2.00g                                                 
  db02 dbvg -wi-ao---- 2.00g                                                 
  db03 dbvg -wi-ao---- 2.00g                                                 
[root@localhost ~]# df -Th | egrep 'dbvg|Filesystem'
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/dbvg-db00   ext4      2.0G  6.0M  1.8G   1% /db00
/dev/mapper/dbvg-db01   ext4      2.0G  6.0M  1.8G   1% /db01
/dev/mapper/dbvg-db02   ext4      2.0G  6.0M  1.8G   1% /db02
/dev/mapper/dbvg-db03   ext4      2.0G  6.0M  1.8G   1% /db03
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <29.00g     0
  /dev/sdb   dbvg   lvm2 a--  <10.00g <2.00g
[root@localhost ~]# egrep dbvg  /etc/fstab
/dev/dbvg/db00 /db00 ext4 defaults 0 0
/dev/dbvg/db01 /db01 ext4 defaults 0 0
/dev/dbvg/db02 /db02 ext4 defaults 0 0
/dev/dbvg/db03 /db03 ext4 defaults 0 0
[root@localhost ~]#



Comments