*parted 模組

  1. parted 模組可分割硬碟,查看 parted 模組的範例,其中參數 part_start 分割起點預設是 0% 碟碟最前端,另一參數 part_end 分割終點預設是 100% 硬碟最後端。
    [deyu1@kvm19 ansible]$ ansible-doc parted | grep LVM -A6
    - name: Create a new primary partition for LVM
      parted:
        device: /dev/sdb
        number: 2
        flags: [ lvm ]
        state: present
        part_start: 1GiB
    
  2. 建立 partvg.yml 腳本,新增 dev 主機硬碟 /dev/vda3,分割起點是 3800MiB,終點是硬碟最後端。
    [deyu1@kvm19 ansible]$ vim partvg.yml
    [deyu1@kvm19 ansible]$ cat partvg.yml 
    ---
    - hosts: dev
      tasks:
      - name: Create a new primary partition for LVM
        parted:
          device: /dev/vda
          number: 3
          flags: [ lvm ]
          state: present
          part_start: 3800MiB
    
  3. 分割碟碟必須先清楚主機硬碟的現況,包含硬碟編號、分割數、分割位置等。ansible-playbook 執行 partvg.yml 腳本,出現無法分割訊息,其中說明指定的分割起點是 3800MiB,但硬碟只能使用 3994624kiB 到 4194304kiB。
    [deyu1@kvm19 ansible]$ ansible-playbook partvg.yml 
    
    PLAY [dev] *********************************************************************
    
    TASK [Gathering Facts] *********************************************************
    ok: [kvm11]
    
    TASK [Create a new primary partition for LVM] **********************************
    fatal: [kvm11]: FAILED! => {"changed": false, "err": "Error: You requested a 
    partition from 3891200kiB to 4194304kiB (sectors 7782400..8388607).\nThe closest
     location we can manage is 3994624kiB to 4194304kiB (sectors 7989248..8388607).
    \n", "msg": "Error while running parted script: /usr/sbin/parted -s -m -a 
    optimal /dev/vda -- unit KiB mkpart primary 3800MiB 100%", "out": "", "rc": 1}
    
    PLAY RECAP *********************************************************************
    kvm11 : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
    
  4. 修改 partvg.yml 腳本的 part_start 為 3994624KiB, 注意 KiB,K 要大寫。
    [deyu1@kvm19 ansible]$ vim partvg.yml
    [deyu1@kvm19 ansible]$ grep part_start partvg.yml
          part_start: 3994624KiB
    
  5. ansible-playbook 執行 partvg.yml 腳本,成功分割。
    [deyu1@kvm19 ansible]$ ansible-playbook partvg.yml 
    
    PLAY [dev] *********************************************************************
    
    TASK [Gathering Facts] *********************************************************
    ok: [kvm11]
    
    TASK [Create a new primary partition for LVM] **********************************
    changed: [kvm11]
    
    PLAY RECAP *********************************************************************
    kvm11 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0