lvg 模組

  1. lvg 模組可管理邏輯卷冊組 (volume group),查看 lvg 模組的範例。
    ceuser@deyu:~/ansible_pb$ ansible-doc lvg | grep ^EX -A6
    EXAMPLES:
    
    - name: Create a volume group on top of /dev/sda1 with physical extent size = 32MB
      community.general.lvg:
        vg: vg.services
        pvs: /dev/sda1
        pesize: 32
    
  2. 查看 dev 主機 kvm11 有一顆完全沒分割的 vdb 硬碟。
    ceuser@deyu:~/ansible_pb$ ansible dev -m shell -a "lsblk"
    kvm11 | CHANGED | rc=0 >>
    NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
    vda               252:0    0    6G  0 disk
    ├─vda1            252:1    0    1M  0 part
    ├─vda2            252:2    0  400M  0 part /boot
    └─vda3            252:3    0  3.4G  0 part
      ├─vg_kvm11-root 253:0    0  3.3G  0 lvm  /
      └─vg_kvm11-swap 253:1    0   96M  0 lvm  [SWAP]
    vdb               252:16   0  1.5G  0 disk
    
  3. partvg.yml 腳本在 vdb 硬碟分割一個分割區,沒有指定大小、起始或結束位置,表示使用整顆 vdb 硬碟,接著在 vdb1 新增產生 vg1,PE 大小是 8M。
    ceuser@deyu:~/ansible_pb$ vi partvg.yml
    ceuser@deyu:~/ansible_pb$ cat partvg.yml
    ---
    - hosts: dev
      tasks:
      - name: Create a new primary partition for LVM
        community.general.parted:
          device: /dev/vdb
          number: 1
          flags: [ lvm ]
          state: present
    
      - name: Create a volume group on top of /dev/vdb1
        community.general.lvg:
          vg: vg1
          pvs: /dev/vdb1
          pesize: 8
    
  4. ansible-playbook 成功執行 partvg.yml 腳本。
    ceuser@deyu:~/ansible_pb$ ansible-playbook partvg.yml 
    
    PLAY [dev] *********************************************************************
    
    TASK [Gathering Facts] *********************************************************
    ok: [kvm11]
    
    TASK [Create a new primary partition for LVM] **********************************
    changed: [kvm11]
    
    TASK [Create a volume group on top of /dev/vdb1] *******************************
    changed: [kvm11]
    
    PLAY RECAP *********************************************************************
    kvm11 : ok=3 changed=2  unreachable=0  failed=0  skipped=0  rescued=0  ignored=0
    
  5. 查看 kvm11 新增名為 vg1 的 VG。
    ceuser@deyu:~/ansible_pb$ ansible dev -m shell -a "vgs"
    kvm11 | CHANGED | rc=0 >>
      VG        #PV #LV #SN Attr   VSize   VFree
      fieldwork   1   0   0 wz--n- 296.00m 296.00m
      vg1         1   0   0 wz--n-   1.49g   1.49g
      vg_kvm11    1   2   0 wz--n-   3.41g      0
    
  6. 查看 kvm11 新增名為 vg1 的 VG。
    ceuser@deyu:~/ansible_pb$ ansible dev -m shell -a "vgdisplay vg1"
    kvm11 | CHANGED | rc=0 >>
      --- Volume group ---
      VG Name               vg1
      System ID
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  1
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                0
      Open LV               0
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               1.49 GiB
      PE Size               8.00 MiB
      Total PE              191
      Alloc PE / Size       0 / 0
      Free  PE / Size       191 / 1.49 GiB
      VG UUID               tZTxdg-0zKV-VT5R-1OdZ-E9jc-R71I-29HsgS