community.general.proxmox_snap 模块 – Proxmox VE 集群中实例的快照管理

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定:community.general.proxmox_snap

community.general 2.0.0 中的新增功能

概要

  • 允许您在 Proxmox VE 集群中创建/删除/恢复实例的快照。

  • 支持 KVM 和 LXC,OpenVZ 尚未经过测试,因为它在 Proxmox VE 上不再受支持。

要求

执行此模块的主机需要满足以下要求。

  • proxmoxer

  • requests

参数

参数

注释

api_host

字符串 / 必需

指定 Proxmox VE 集群的目标主机。

api_password

字符串

指定用于身份验证的密码。

您可以使用 PROXMOX_PASSWORD 环境变量。

api_port

整数

在 community.general 9.1.0 中添加

指定 Proxmox VE 集群的目标端口。

如果未指定,则使用 PROXMOX_PORT 环境变量。

api_token_id

字符串

在 community.general 1.3.0 中添加

指定令牌 ID。

需要 proxmoxer>=1.1.0 才能工作。

api_token_secret

字符串

在 community.general 1.3.0 中添加

指定令牌密钥。

需要 proxmoxer>=1.1.0 才能工作。

api_user

字符串 / 必需

指定用于身份验证的用户。

description

字符串

指定快照的描述。仅在配置 Web 界面上使用。

这将作为注释保存在配置文件中。

force

布尔值

用于从配置文件中删除,即使删除磁盘快照失败。

选择

  • false ← (默认)

  • true

hostname

字符串

实例名称。

retention

整数

在 community.general 7.1.0 中添加

如果快照数量超过 retention,则删除旧快照。

如果 retention 设置为 0,则保留所有快照。

这仅在 state=present 并且创建了实际快照时使用。如果未创建快照,则保留所有现有快照。

默认值: 0

snapname

字符串

必须创建/删除/恢复的快照的名称。

默认值: "ansible_snap"

state

字符串

指示实例快照的所需状态。

rollback 值在 community.general 4.8.0 中添加。

选择

  • "present" ← (默认)

  • "absent"

  • "rollback"

timeout

整数

操作的超时时间。

默认值: 30

unbind

布尔值

在 community.general 5.7.0 中添加

此选项仅适用于 LXC 容器。

即使容器配置了挂载点,也允许对容器进行快照。

临时禁用所有配置的挂载点,拍摄快照,最后恢复原始配置。

如果容器正在运行,它将会被停止并重启以应用配置更改。

由于 Proxmox API 的限制,此选项只能在以 root@pam 用户身份,并使用 api_password 进行身份验证时使用,API 令牌也无法使用。

有关详细信息,请参阅 https://pve.proxmox.com/pve-docs/api-viewer/#/nodes/{node}/lxc/{vmid}/config (PUT 选项卡)。

选择

  • false ← (默认)

  • true

validate_certs

布尔值

如果 false,则不会验证 SSL 证书。

这仅应在个人控制的、使用自签名证书的站点上使用。

选择

  • false ← (默认)

  • true

vmid

字符串

实例 ID。

如果未设置,将根据主机名从 PromoxAPI 中获取。

vmstate

布尔值

快照包含 RAM。

选择

  • false ← (默认)

  • true

属性

属性

支持

描述

action_group

操作组: community.general.proxmox

在 community.general 9.0.0 中添加

module_defaults 中使用 group/community.general.proxmox 为此模块设置默认值。

check_mode

支持: 完全

可以在 check_mode 中运行,并返回更改状态预测,而无需修改目标。

diff_mode

支持:

在差异模式下,将返回已更改(或可能需要在 check_mode 中更改)的详细信息。

注释

注意

  • 主机上需要 proxmoxer 和 requests 模块。这些模块可以使用 pip 安装。

示例

- name: Create new container snapshot
  community.general.proxmox_snap:
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    vmid: 100
    state: present
    snapname: pre-updates

- name: Create new container snapshot and keep only the 2 newest snapshots
  community.general.proxmox_snap:
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    vmid: 100
    state: present
    snapname: snapshot-42
    retention: 2

- name: Create new snapshot for a container with configured mountpoints
  community.general.proxmox_snap:
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    vmid: 100
    state: present
    unbind: true # requires root@pam+password auth, API tokens are not supported
    snapname: pre-updates

- name: Remove container snapshot
  community.general.proxmox_snap:
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    vmid: 100
    state: absent
    snapname: pre-updates

- name: Rollback container snapshot
  community.general.proxmox_snap:
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    vmid: 100
    state: rollback
    snapname: pre-updates

作者

  • Jeffrey van Pelt (@Thulium-Drake)