stafwag.qemu_img
Ansible 角色: qemu_img
一个用于创建 QEMU 磁盘镜像的 ansible 角色。
需求
这个角色使用 qemu-img 命令。
该角色将为你的 GNU/Linux 发行版安装 qemu_img 包。
这个角色在以下 GNU/Linux 发行版上测试过。
- Archlinux
- AlmaLinux
- Debian
- Centos
- Fedora
- RedHat
- Rocky
- Suse
- Ubuntu
角色任务、标签、变量和模板
任务
install
所有与安装相关的任务都在
install剧本中定义。这使你能够通过include_role、import_role等 ansible 模块中的tasks_from安装所需的包并启动/启用所需的服务。请见下面的示例。
标签
install
安装所需的包。
变量
- qemu_img: "命名空间"
数据可以是变量或一个列表(数组)。使用列表时,角色将遍历列表并创建所有定义的 QEMU 磁盘镜像。
- dest: 必需。目标镜像。
- src: 可选。源镜像,如果未定义将创建新镜像。
- size: 可选。如果未定义 src,则必需。目标镜像的大小。
- owner: uid,默认值为 0。目标镜像的文件所有者。
- group: gid,默认值为 0。目标镜像的文件组。
- mode: 模式,默认值为 '0400'。目标镜像的权限。
- remote_src: 布尔值,默认值为 false。源文件在远程主机时有效。
- format: 格式,默认值为 qcow2。磁盘镜像格式。
- overwrite: 布尔值,默认值为 false。如果目标已存在,则覆盖目标。
依赖关系
无
示例剧本
安装所需的包
---
- name: 安装 libvirt 及其他
gather_facts: true
hosts: all
become: true
tasks:
- name: 安装要求
include_role:
name: "{{ item }}"
tasks_from:
install
with_items:
- stafwag.libvirt
- stafwag.qemu_img
创建新 qemu 镜像
---
- name: 创建新的磁盘镜像
gather_facts: no
become: true
hosts: localhost
roles:
- role: stafwag.qemu_img
vars:
qemu_img:
dest: datadisk.qcow2
size: 20G
format: qcow2
复制磁盘镜像并调整大小
---
- name: 复制磁盘镜像并调整大小
gather_facts: no
become: true
hosts: localhost
roles:
- role: stafwag.qemu_img
vars:
qemu_img:
dest: /var/lib/libvirt/images/tstdebian.qcow2
format: qcow2
size: 50G
src: /home/staf/Downloads/isos/debian/arm64/cloud/debian-10-openstack-arm64.qcow2
创建多个磁盘镜像
---
- name: 创建多个磁盘镜像
gather_facts: no
become: true
hosts: localhost
roles:
- role: stafwag.qemu_img
vars:
qemu_img:
- dest: /var/lib/libvirt/images/tstdebian.qcow2
src: /home/staf/Downloads/isos/debian/arm64/cloud/debian-10-openstack-arm64.qcow2
- dest: /var/lib/libvirt/images/tstdebian_data001.qcow
size: 20G
- dest: /var/lib/libvirt/images/tstdebian_data002.qcow
size: 20G
许可证
MIT/BSD
作者信息
创建者:Staf Wagemakers,电子邮件:staf@wagemakers.be,网站:https://www.wagemakers.be,我的公司:https://mask27.dev
