@@ -9,6 +9,7 @@ Installs and configures a Proxmox 5.x cluster with the following features:
9
9
- Ensures all hosts can connect to one another as root
10
10
- Ability to create/manage groups, users, access control lists and storage
11
11
- Ability to create or add nodes to a PVE cluster
12
+ - Ability to setup Ceph on the nodes
12
13
- IPMI watchdog support
13
14
- BYO HTTPS certificate support
14
15
- Ability to use either ` pve-no-subscription ` or ` pve-enterprise ` repositories
@@ -386,12 +387,21 @@ pve_watchdog_ipmi_timeout: 10 # Number of seconds the watchdog should wait
386
387
pve_zfs_enabled: no # Specifies whether or not to install and configure ZFS packages
387
388
# pve_zfs_options: "" # modprobe parameters to pass to zfs module on boot/modprobe
388
389
# pve_zfs_zed_email: "" # Should be set to an email to receive ZFS notifications
390
+ pve_ceph_enabled: false # Specifies wheter or not to install and configure Ceph packages. See below for an example configuration.
391
+ pve_ceph_network: "{{ (ansible_default_ipv4.network +'/'+ ansible_default_ipv4.netmask) | ipaddr('net') }}" # Ceph cluster network
392
+ pve_ceph_mon_group: "{{ pve_group }}" # Host group containing all Ceph monitor hosts
393
+ pve_ceph_mds_group: "{{ pve_group }}" # Host group containing all Ceph metadata server hosts
394
+ pve_ceph_osds: [] # List of OSD disks
395
+ pve_ceph_pools: [] # List of pools to create
396
+ pve_ceph_fs: [] # List of CephFS filesystems to create
397
+ pve_ceph_crush_rules: [] # List of CRUSH rules to create
389
398
# pve_ssl_private_key: "" # Should be set to the contents of the private key to use for HTTPS
390
399
# pve_ssl_certificate: "" # Should be set to the contents of the certificate to use for HTTPS
391
400
pve_ssl_letsencrypt: false # Specifies whether or not to obtain a SSL certificate using Let's Encrypt
392
401
pve_groups: [] # List of group definitions to manage in PVE. See section on User Management.
393
402
pve_users: [] # List of user definitions to manage in PVE. See section on User Management.
394
403
pve_storages: [] # List of storages to manage in PVE. See section on Storage Management.
404
+ pve_datacenter_cfg: {} # Dictionary to configure the PVE datacenter.cfg config file.
395
405
```
396
406
397
407
To enable clustering with this role, configure the following variables appropriately:
@@ -412,6 +422,15 @@ pve_cluster_bindnet0_addr: "{{ pve_cluster_ring0_addr }}"
412
422
413
423
```
414
424
425
+ You can set options in the datacenter.cfg configuration file:
426
+ ```
427
+ pve_datacenter_cfg:
428
+ keyboard: en-us
429
+ ```
430
+
431
+ All configuration options supported in the datacenter.cfg file are documented in the
432
+ [ Proxmox manual datacenter.cfg section] [ datacenter-cfg ] .
433
+
415
434
## Dependencies
416
435
417
436
This role does not install NTP, so you should configure NTP yourself, e.g. with
@@ -526,6 +545,47 @@ pve_storages:
526
545
Refer to ` library/proxmox_storage.py ` [ link] [ storage-module ] for module
527
546
documentation.
528
547
548
+ ## Ceph configuration
549
+
550
+ This role can configure the Ceph storage system on your Proxmox hosts.
551
+
552
+ ```
553
+ pve_ceph_enabled: true
554
+ pve_ceph_network: '172.10.0.0/24'
555
+ pve_ceph_osds:
556
+ # OSD with everything on the same device
557
+ - device: /dev/sdc
558
+ # OSD with block.db/WAL on another device
559
+ - device: /dev/sdd
560
+ block.db: /dev/sdb1
561
+ # Crush rules for different storage classes
562
+ pve_ceph_crush_rules:
563
+ - name: ssd
564
+ class: ssd
565
+ - name: hdd
566
+ class: hdd
567
+ # 2 Ceph pools for VM disks which will also be defined as Proxmox storages
568
+ # Using different CRUSH rules
569
+ pve_ceph_pools:
570
+ - name: ssd
571
+ pgs: 128
572
+ rule: ssd
573
+ application: rbd
574
+ storage: true
575
+ - name: hdd
576
+ pgs: 32
577
+ rule: hdd
578
+ application: rbd
579
+ storage: true
580
+ # A CephFS filesystem not defined as a Proxmox storage
581
+ pve_ceph_fs:
582
+ - name: backup
583
+ pgs: 64
584
+ rule: hdd
585
+ storage: false
586
+ mountpoint: /srv/proxmox/backup
587
+ ```
588
+
529
589
## Contributors
530
590
531
591
Musee Ullah (
[ @lae ] ( https://github.com/lae ) ,
< [email protected] > )
@@ -543,3 +603,4 @@ Fabien Brachere ([@Fbrachere](https://github.com/Fbrachere))
543
603
[ group-module ] : https://github.com/lae/ansible-role-proxmox/blob/master/library/proxmox_group.py
544
604
[ acl-module ] : https://github.com/lae/ansible-role-proxmox/blob/master/library/proxmox_group.py
545
605
[ storage-module ] : https://github.com/lae/ansible-role-proxmox/blob/master/library/proxmox_storage.py
606
+ [ datacenter-cfg ] : https://pve.proxmox.com/wiki/Manual:_datacenter.cfg
0 commit comments