| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- ---
- - name: Cluster NFC DRBD
- hosts: nodes
- any_errors_fatal: true
- tasks:
- - name: Install DRBD
- apt:
- name: drbd-utils
- state: present
- update_cache: yes
- - name: Check patrition
- shell: ls {{ drbd_disk}}1
- register: result
- failed_when: False
- changed_when: False
- - name: Create patrition
- shell: echo -en "o\nn\np\n1\n\n\nw\n" | fdisk {{ drbd_disk }}
- register: result
- when: result.rc == 2
- failed_when:
- - "'Syncing disks' not in result.stdout"
- - "'Created a new partition' not in result.stdout"
- - name: Check DRBD status
- command: drbdadm status {{ drbd_resource_name }}
- register: result
- changed_when: False
- failed_when: False
- - name: Create mount point
- file:
- path: /mnt/nfs
- state: directory
- - name: Unmount
- mount:
- path: /mnt/nfs
- state: unmounted
- - name: Create config
- template:
- src: resource.res.j2
- dest: /etc/drbd.d/{{ drbd_resource_name }}.res
- - name: Down resource
- shell: drbdadm down {{ drbd_resource_name }}
- when: result.rc == 0
- #- name: Check config
- # command: drbdadm dump all
- - name: Find metadata on disk
- shell: drbdmeta 0 v08 {{ drbd_disk }}1 internal check-resize
- register: find_metadata
- changed_when: False
- failed_when: False
- - name: Create metadata
- #command: drbdmeta 0 v08 {{ drbd_disk }}1 internal create-md 2 --force
- command: drbdadm create-md --force {{ drbd_resource_name }}
- when: find_metadata.rc != 0
- - name: Up resource
- command: drbdadm up {{ drbd_resource_name }}
- - name: Find Primary
- shell: drbdadm status {{ drbd_resource_name }} | grep Primary
- register: result_primary
- changed_when: False
- failed_when: False
- # - name: Check DRBD role
- # shell: drbdadm status {{ drbd_resource_name }} | grep "{{ drbd_resource_name }} role:" | awk -F ":" '{print $2}'
- # register: result
- # changed_when: False
- # failed_when: False
- # - debug: var=result
- # failed_when: True
- - name: Resync resource
- command: drbdadm primary --force {{ drbd_resource_name }}
- # drbdadm new-current-uuid --clear-bitmap shared/0
- when: result_primary.rc != 0
- run_once: true
- - name: Check status
- shell: drbdadm status | grep {{ drbd_resource_name }}
- register: drbd_status
- - name: Create FS
- shell: mkfs.ext4 /dev/drbd1
- when: "'Primary' in drbd_status.stdout"
- - name: Mount
- mount:
- path: /mnt/nfs
- src: /dev/drbd1
- fstype: ext4
- state: mounted
- when: "'Primary' in drbd_status.stdout"
- ...
|