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_roleimport_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

关于项目

An ansible role to create qemu_img images

安装
ansible-galaxy install stafwag.qemu_img
许可证
mit
下载
488
拥有者