使用 Ansible 调整 LVM 卷大小

使用 Ansible 调整 LVM 卷大小

简短版本:如何使用 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。谢谢。

答案1

我认为 Ansiblelvol模块只需要逻辑卷名称lv,但您已将块设备的完整路径传递给它。请尝试将 LV 名称传递给它。

相关内容