Lvm

使用 ansible 重新調整 LVM 卷

  • November 17, 2020

簡短版:如何使用 ansible 調整/擴展邏輯卷的大小?

它包括對管理物理捲和卷組以及邏輯卷的內置支持。

根據來自第二個連結的以下資訊,我假設它能夠擴展邏輯卷:

  1. “此模組創建、刪除或調整邏輯卷的大小。”
  2. resizefs:與邏輯卷一起調整底層文件系統的大小。

另外,文件中的以下範例:

- name: Extend the logical volume to take all remaining space of the PVs and resize the underlying filesystem
 lvol:
   vg: firefly
   lv: test
   size: 100%PVS
   resizefs: true

但是,我嘗試調整大小導致失敗。我定義了這些變數:

lvm_group: vg00

lvm_volumes:
 - name: /dev/mapper/vg00-lv_home
   size: 5G

我正在執行這個任務:

- name: configure LVM logical volumes
 lvol:
   vg: "{{ lvm_group }}"
   lv: "{{ item.name }}"
   size: "{{ item.size }}"
   resizefs: yes
 with_items:
  "{{ lvm_volumes }}"

注意:我嘗試將 resizefs 設置為 yes(如文件中所示)和 true(如範例中所示)。

但是,執行時出現此故障:

failed: [169.198.54.175] (item={u'name': u'/dev/mapper/vg00-lv_home', u'size': u'5G'}) => changed=false
 ansible_loop_var: item
 err: |2-
     Logical Volume "lv_home" already exists in volume group "vg00"
 item:
   name: /dev/mapper/vg00-lv_home
   size: 5G
 msg: Creating logical volume '/dev/mapper/vg00-lv_home' failed
 rc: 5

誰能幫我理解我出了什麼問題?我是否遺漏了其他一些必要的論點?

我正在使用 ansible 2.9.10。謝謝。

我認為 Ansiblelvol模組只需要邏輯卷名 as lv,但您已將完整路徑傳遞給塊設備。嘗試將 LV 名稱傳遞給它。

引用自:https://serverfault.com/questions/1042835