Add Ceph support for single-node clusters
Ensures that the pool default size/min size is set to something reasonable for a single node (effective RAID-1) and replace teh default CRUSH replicate_rule set for this situation with one choosing OSD instead of host as the default.
This commit is contained in:
		@@ -80,6 +80,16 @@
 | 
			
		||||
    - "bluestore cache autotune = true"
 | 
			
		||||
    - "rbd default features = 5"
 | 
			
		||||
 | 
			
		||||
- name: add single-node cluster options
 | 
			
		||||
  lineinfile:
 | 
			
		||||
    dest: /tmp/ceph-bootstrap/ceph.conf
 | 
			
		||||
    line: "{{ item }}"
 | 
			
		||||
    state: present
 | 
			
		||||
  with_items:
 | 
			
		||||
    - "osd pool default size = 2"
 | 
			
		||||
    - "osd pool default min size = 1"
 | 
			
		||||
  when: "{{ pvc_nodes | length }} == 1"
 | 
			
		||||
 | 
			
		||||
- name: add memory limit if requested
 | 
			
		||||
  lineinfile:
 | 
			
		||||
    dest: /tmp/ceph-bootstrap/ceph.conf
 | 
			
		||||
 
 | 
			
		||||
@@ -129,6 +129,15 @@
 | 
			
		||||
    - ceph-mon@{{ ansible_hostname }}
 | 
			
		||||
    - ceph-mgr@{{ ansible_hostname }}
 | 
			
		||||
 | 
			
		||||
# Single-node cluster ruleset
 | 
			
		||||
- name: remove default CRUSH replicated_rule ruleset
 | 
			
		||||
  command: ceph osd crush rule rm replicated_rule
 | 
			
		||||
  when: "{{ pvc_nodes | length }} == 1"
 | 
			
		||||
 | 
			
		||||
- name: add single-node CRUSH replicated_rule ruleset
 | 
			
		||||
  command: ceph osd crush rule create-replicated replicated_rule default osd
 | 
			
		||||
  when: "{{ pvc_nodes | length }} == 1"
 | 
			
		||||
 | 
			
		||||
# System OSD CPU shielding activation
 | 
			
		||||
- block:
 | 
			
		||||
    - name: install packages
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user