linux - 使用 Ansible 扩展卷组
问题描述
我试图通过 ansible 通过变量传递 pvname 来扩展 VG,但是我真的不明白为什么不起作用。下面你可以看到我的代码。
变量文件:
new_disk:
- diskname: /dev/sdc
pvname: /dev/sdb1, dev/sdc1
vgname: datavg
lvm_settings:
- lv_name: datalv
lv_size: +100%FREE
fs_name: ansible_fs_test
lvpath: /dev/mapper/datavg-datalv
filesystem_type: ext4
任务文件:
include_vars: "{{ vm_name }}.yml"
- name: First disk partition settings
block:
- name: Create a new primary partition
community.general.parted:
device: "{{ item.diskname }}"
number: 1
state: present
with_items: "{{ new_disk }}"
register: partition_status
rescue:
- name: Debug messages to check the error
debug:
msg: "{{ partition_status }}"
- name: Extending the Volume Group
community.general.lvg:
vg: "{{ vgname }}"
pvs: "{{ pvname }}"
pvresize: yes
下面,您可以看到错误消息:
任务 [resize_fs_linux : 扩展卷组] ***************************************** ****************************************************** ****************************************************** *************致命:[10.1.33.225]:失败!=> {"changed": false, "msg": "设备 /home/icc-admin/dev/sdc1 未找到。"}
你知道为什么不工作吗?我非常感谢您的帮助和时间最好的问候,
解决方案
因为它是这样工作的:
变量文件
diskname:
- /dev/sdb
- /dev/sdc
disks_settings:
- vgname: datavg
pvname:
- /dev/sdb1
- /dev/sdc1
lvm_settings:
- vgname: datavg
lv_name: datalv
lv_size: +100%FREE
fs_name: ansible_fs_test
lvpath: /dev/mapper/datavg-datalv
filesystem_type: ext4
任务文件:
---
# tasks file for resize_fs_linux
- include_vars: "{{ vm_name }}.yml"
- name: First disk partition settings
block:
- name: Create a new primary partition
community.general.parted:
device: "{{ item }}"
number: 1
state: present
with_items: "{{ diskname }}"
register: partition_status
run_once: true
rescue:
- name: Debug messages to check the error
debug:
msg: "{{ partition_status }}"
- name: Extending the Volume Group
community.general.lvg:
vg: "{{ item.vgname }}"
pvs: "{{ item.pvname }}"
pvresize: yes
with_items: "{{ disks_settings }}"
- name: Increasing the filesystems
community.general.lvol:
vg: "{{ vgname }}"
lv: "{{ item.lv_name }}"
size: "{{ item.lv_size }}"
resizefs: true
with_items: "{{ lvm_settings }}"
推荐阅读
- node.js - 为什么 setImmediate() 总是在 I/O 回调 [NodeJS] 中的 setTimeout() 之前运行?
- electron - 如何创建不可调整大小的 100% 屏幕(非全屏)BrowserWindow
- postgresql - Perl dbi 运行 psql 代码
- android - 子项在父视图之外不可点击
- spring-mvc - 从多个应用服务器运行的 Spring Poller
- laravel - Laravel 5.3 API 在服务器上使用 JavaScript 时未获取数据
- php - apache solr 5.3.0 多核搜索
- google-chrome-extension - chrome扩展launchWebAuthFlow错误
- python - 使用 win32api 在内存对象中打印
- keras - keras 中的 preprocess_input 大大增加了火车的大小