enix.proxmox_ve
enix.proxmox_ve
这是一个用于在 Unix 主机上使用 Ansible 部署和配置 Proxmox VE 的角色。该角色与 enix 的使用密切相关,通过配置本地 LVM 卷、ISCSI 多路径等进行设定。因此,可能并不适用于所有人,但每个步骤都是可配置的,可以独立使用。
要求
支持的目标:
- Debian 10 "Buster"
- Debian 11 "Bullseye"
- Debian 12 "Bookworm"
角色变量
该角色预加载了几乎所有可用的默认设置。你可以在主机/组变量、库存或剧本中覆盖每一个设置。有关配置的帮助,请参阅 defaults/main.yml
中的注释默认值。所有提供的变量以 proxmox_ve__
开头。
proxmox_ve__force_reboot
- :warning: 注意 :warning:。在重要的配置更改情况下,这会自动重启主机。默认值:false。proxmox_ve__enterprise
- 是否启用 Proxmox VE 的企业订阅。默认值:false。proxmox_ve__disable_smt
- 禁用 SMT(超线程)作为启动内核选项。有关相关缺陷的详细信息,请参见 [https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html#smt-control]。默认值:false。proxmox_ve__net_ovs
- 在主机上启用 OpenVswitch 网络配置,默认值:false。proxmox_ve__net_template
- 用于主机/etc/network/interfaces
配置的模板,默认值:interfaces.j2。路径可以在你的剧本中更改或重载。默认模板仅提供基本的桥接配置。proxmox_ve__storage_lvm
- 在 proxmox 中初始化和配置的 lvm 存储描述。上面的示例配置。proxmox_ve__storage_lvm_options
- 要在 lvm.conf 中更改的选项。默认值:none
。proxmox_ve__lvm_global_filter
- lvm global_filter。默认值:[ "r|/dev/zd.*|", "r|/dev/mapper/pve-.*|", "r|/dev/mapper/.*-(vm|base)--[0-9]+--disk--[0-9]+|"]
。proxmox_ve__storage_iscsi
- 在 proxmox 中配置的 iscsi 存储描述。上面的示例配置。proxmox_ve__storage_iscsi_options
- 要在 iscsid.conf 中更改的选项。默认值:
proxmox_ve__storage_iscsi_options:
- option: node.session.timeo.replacement_timeout
value: 10
state: present
proxmox_ve__spv_user
- 用于监控的具有 PVEAuditor 角色的用户名。默认值:prometheus@pve
。proxmox_ve__spv_password
- 监控用户的密码。如果未定义,则不创建用户。proxmox_ve__storage_iscsi_multipath_template
- 用于多路径配置的模板文件。proxmox_ve__migration_secure
- 定义迁移的安全级别。请参见 [https://pve.proxmox.com/wiki/Manual:_datacenter.cfg]。默认值:`true`。proxmox_ve__cluster_ip
- 用于 proxmox 集群的 IP。这将更改/etc/hosts
中的节点 IP。默认值:ansible_default_ipv4.address
。
依赖
- 无
使用方法
将此仓库克隆到你的角色目录:
$ git clone https://gitlab.enix.org/ansible/ansible-proxmox_ve.git roles/proxmox_ve
或者使用 Ansible galaxy 的 requirements.yml 文件
# 公共角色
- src: enix.proxmox_ve
name: proxmox_ve
并将其添加到你的剧本角色中:
- hosts: all
roles:
- role: enix.proxmox_ve
proxmox_ve__storage_iscsi:
- name: iscsi-storage
portal: 192.168.0.1
target: iqn.2015-11.com.storage:iscsi.12315132
volumes:
- name: bigvolume
wwid: 3600c0ff0003bb7fcb730e75a01000000
proxmox_ve__storage_lvm:
- name: "localvm"
devices:
- /dev/md12
pesize: "128"
shared: 0
- name: "iscsilvm"
devices:
- /dev/mapper/bigvolume
pesize: "256"
shared: 1
proxmox_ve__storage_lvm_options:
- option: issue_discards
value: 0
你也可以将该角色用作剧本。你将被询问要配置哪些主机,并可以通过使用 --extra-vars
进一步配置剧本。
$ ansible-playbook -i inventory --extra-vars='{...}' main.yml
待办事项
- 自动将主机添加到集群
- 管理用户和凭据
更新日志
3.1.0
添加对特定集群 IP 的支持。
3.0.0
添加对 Debian Bookworm 和 Proxmox VE 8.x 分支的支持。
2.8.0
添加 proxmox_ve__migration_secure
选项,以在需要时禁用安全迁移机制。
2.7.0
添加 proxmox_ve__storage_lvm_options
以配置 lvm.conf
中的选项。
2.6.0
支持 Proxmox 7.0 / Bullseye
2.5.0
在集群中创建监控角色用户
2.4.1
更新默认的 multipath.conf 以符合 Debian Buster 的更改 (find_mulitpaths)
2.4.0
更新 lvm global_filter 为新的 6.1 默认值 修复弃用问题
2.3.0
修复 lvm 问题 添加 iscsi 配置选项
2.2.0
添加 proxmox_ve__disable_smt 选项
2.1.1
切换到 enix.deb role_name
2.1.0
允许覆盖 lvm global_filter 添加 /etc/hosts 的配置
2.0.0
现在包括自动重启主机的功能,以及合理的存储管理
1.0.0
第一个版本,包含基本的存储配置。
许可证
GPLv2
作者信息
Laurent CORBES laurent.corbes@enix.fr - http://www.enix.fr