ansible-role-proxmox_vm_tools/README.md

1.8 KiB

proxmox-vm-tools

Gestion de vms kvm en environnement proxmox

Prerequis

  • un compte de service dans le cluster proxmox
  • un api token pour ce compte de service
  • les droits PVEVMAdmin et PVEDatastoreUser associés au token

Variables

Exemple de variables pour setup_vm.yml

pvmt_api_user: compte_de_service_proxmox
pvmt_api_host: fqdn_proxmox
pvmt_api_token_id: nom_du_token
pvmt_api_token_secret: le_secret_a_rallonge_du_token
pvmt_node: nom_du_noeud_proxmox
pvmt_vm_template: nom_du_template_a_cloner
pvmt_vm_id: id_de_la_vm
pvmt_vm_name: nom_de_la_vm
pvmt_vm_network: nom_du_vlan
pvmt_vm_ip: 192.168.1.1
pvmt_vm_memory: 2048
pvmt_vm_sockets: 1
pvmt_vm_cores: 2
pvmt_vm_storage: local-lvm
pvmt_vm_ciuser: svc-ansible
pvmt_vm_sshkeys: 'ssh-rsa AAA [...] 06Rnk= user@machine'
pvmt_vm_disk:
  - disk: scsi1
    size: 1G
    pvuuid: uCbfU7-SI8m-ixnk-vMKJ-gpoQ-LgIh-58whLX
    encrypted: "false"
  - disk: scsi2
    size: 2G
    pvuuid: 34azET-vMKJ-gpoQ-3Vm4-jiY9-3yAl-62r7i3
    encrypted: "true"
pvmt_vm_lvm_volumes:
  - name: root
    size: 6G
    vg: system
  - name: swap
    size: 1G
    vg: system
  - name: data1
    size: 10G
    vg: luksdata
  - name: data2
    size: 10G
    vg: luksdata

# vlan vars
nom_du_vlan:
  vlanid: 1
  bridge: id_du_bridge
  netmask: 24
  gateway: 10.0.0.254
  nameservers: "10.0.0.1"
  searchdomain: domaine.local

Exemple d'utilisation

Gestion des disques

  • Si nécessaire les nouveaux volume groups sont à créer manuellement avant de pouvoir être référencés, par exemple :

vgcreate luksdata /dev/mapper/mondisque

  • Si de nouveaux volumes lvm sont créés, ils ne sont pour autant ni formatés ni montés quelque part et doivent être définis dans fstab

  • Si un volume est agrandi, le système de fichiers du volume l'est aussi