GNU/Linux >> Znalost Linux >  >> Linux

Použití Ansible k automatizaci konfigurací Správce logických svazků

Ansible je nástroj pro automatizaci, konfiguraci a správu infrastruktury. Mé předchozí články představují Ansible a vysvětlují systémové role. V tomto článku předvedu konfiguraci Správce logických svazků (LVM) pomocí Ansible. Konfigurace LVM pomocí Ansible pomáhá správcům systému provádět jejich úkoly efektivněji a trávit méně času manuální prací. Můžete vytvořit Ansible playbook, který vytvoří oddíl a inicializuje LVM.

[ Také by se vám mohlo líbit: Úvod do Správce logických svazků ]

Přehled LVM

Jak víte, primární oddíl nelze rozšířit a zmenšit. Takový scénář může způsobit problémy, když potřebujete další místo na disku. Pomocí LVM můžete tento problém překonat, protože LVM umožňuje přidat a odebrat nový disk na logický svazek. LVM je součástí výchozí instalace Red Hat Enterprise Linux (RHEL) od RHEL 7.

Zde je několik základních věcí, kterým musíte před použitím LVM porozumět:

  • PV —Fyzický svazek inicializovaný na disku, oddílu nebo souboru zpětné smyčky. Když inicializujete PV, vytvoří štítek na začátku zařízení.
  • VG —Skupina svazků je sbírka logických svazků (LV). Vytvoříte VG uvnitř PV.
  • LV —Logický svazek je jako standardní oddíl na disku. V rámci jednoho VG můžete vytvořit více LV. Velikost LV můžete změnit podle požadovaného prostoru.

Vytvoření oddílu

V RHEL 8 vytvoříte oddíl pomocí Parted užitečnost. Rozešli se poskytuje flexibilitu při vytváření oddílu pomocí MS-DOS nebo oddílu GUID Partition Table (GPT). V Ansible můžete použít Parted modul pro rozdělení.

V tomto příkladu zvažte /dev/vdb jako název disku. Vytvořte dva oddíly o velikosti 1 GB. Jednoduše pomocí modulu Parted můžete vytvářet oddíly libovolné velikosti.

Příklad:

---
- name: playbook for simple 1 GB partition
  hosts: vm1.example.com
  become: true
  tasks:
    - name: create partition
      parted:
        device: /dev/vdb
        number: 1
        flags: [ lvm ]
        state: present
        part_end: 2GB

Spusťte tuto příručku pomocí:

$ ansible-playbook partition.yml

Můžete použít lsblk příkaz ke kontrole, že oddíl nyní existuje.

Inicializace LVM a vytváření  LV

Po vytvoření oddílu inicializujte LV. Inicializace vyžaduje, abyste nejprve vytvořili PV i VG. Použijte Ansible lvg modul k vytvoření PV a VG s velikostí fyzického rozsahu (PE). PE rozděluje VG na pevnou velikost. Ve výchozím nastavení je velikost PE 4 MB. Při vytváření VG můžete změnit výchozí velikost. Obecně platí, že větší velikost PE poskytuje lepší výkon.

Příklad:

- name: task for creating volume group
  lvg:
      vg: sample-vg
      pvs: /dev/vdb1
      pesize: 16

- name: Install lvm2 dependency
  package:
    name: lvm2
    state: present

Další úkol vytvoří LV. lvol modul vytváří LV. Při vytváření LV dáváte možnosti, jako je název VG, velikost a název LV.

V tomto příkladu 2GB VG vytvoří první LV o velikosti 1GB.

Příklad:

- name: task for creating logical volume
  lvol:
      vg: sample-vg
      lv:  sample-lv
      size: 1g
      force: yes

Chcete-li použít tento vytvořený LV, musíte tento oddíl připojit do souborového systému. K tomuto LV pro ukládání dat máte přístup pouze vy. V Ansible použijte systém souborů moduly pro formátování libovolného blokového zařízení pomocí filesystem . Po naformátování připojíte oddíl do libovolného adresáře. Můžete použít připojení modul v Ansible. Ujistěte se, že adresář (/data1 v tomto příkladu) existuje před spuštěním příručky.

Příklad:

 - name: Create directory data1 if does not exist
      file:
        path: /data1
        state: directory
        mode: '0755'
- name: format the xfs filesystem
  filesystem:
    fstype: xfs
    dev: /dev/sample-vg/sample-lv
- name: mount the lv on /data1
  mount:
    path: /data1
    src: /dev/sample-vg/sample-lv
    fstype: xfs
    state: mounted


Příklad:  Celá příručka: 

---
- name: playbook for simple 1 GB partition
  hosts: localhost
  become: true
  tasks:
    - name: create partition
      parted:
        device: /dev/nvme1n1
        number: 1
        flags: [ lvm ]
        state: present
        part_end: 2GB

    - name: Install lvm2 dependency
      package:
        name: lvm2
        state: present

    - name: task for creating volume group
      lvg:
          vg: sample-vg
          pvs: /dev/nvme1n1p1
          pesize: 16

    - name: task for creating logical volume
      lvol:
          vg: sample-vg
          lv:  sample-lv
          size: 1g
          force: yes

    - name: Create directory data1 if does not exist
      file:
        path: /data1
        state: directory
        mode: '0755'

    - name: format the xfs filesystem
      filesystem:
        fstype: xfs
        dev: /dev/sample-vg/sample-lv

    - name: mount the lv on /data1
      mount:
        path: /data1
        src: /dev/sample-vg/sample-lv
        fstype: xfs
        state: mounted

Spusťte tuto příručku a zkontrolujte, zda se vaše LV vytvoří, nebo použijte lvs příkaz.

Pamatujte, že jednou z funkcí LVM je, že můžete zvětšit velikost LV. Ručně můžete použít lvextend příkaz. V Ansible můžete použít lvol modul pro rozšíření velikosti sample-lv .

Příklad:

- name: Extend the logical volume to take all remaining space of the PVs and resize the underlying filesystem
  lvol:
      vg: sample-vg
      lv: sample-lv
      size: 2g
      resizefs: true
      force: yes

Pomocí lvextend nebo lvol modul vám pomůže rozšířit váš LV. V tomto lvol objem, použijte resizefs parametr pro zvětšení nepřipojeného souborového systému umístěného v zařízení.

Aby se zmenšila velikost LV, syntaxe je následující:

- name: Extend the logical volume to take all remaining space of the PVs and resize the underlying filesystem
      lvol:
          vg: sample-vg
          lv: sample-lv
          size: 700m
          shrink: yes
          force: yes

[ Potřebujete více o Ansible? Absolvujte bezplatný kurz technického přehledu od společnosti Red Hat. Ansible Essentials:Jednoduchost v technickém přehledu automatizace. ] 

Zabalit

Tento článek vám ukázal, jak nakonfigurovat LVM pomocí jednoduché příručky Ansible. Namísto použití jednoduché příručky můžete vytvořit roli pomocí stejného procesu a modulů jako výše. Ansible vám pomůže omezit ruční úkoly a také zvýšit efektivitu konfigurace LVM. Použití metod popsaných v tomto článku zjednodušuje operace na více spravovaných uzlech.


Linux
  1. Lum – Jak rozšířit oddíl o Lvm a obsažený fyzický svazek a logický svazek?

  2. Jak zmenšit fyzický objem?

  3. Konfigurace LVM:Operace/nástroje logického svazku (LV).

  1. Jak obnovit smazaný logický svazek (LV) v LVM pomocí vgcfgrestore

  2. Jak snížit objem LVM na Ubuntu

  3. Primární nebo logický oddíl

  1. Jak vytvořit souborový systém na linuxovém oddílu nebo logickém svazku

  2. Jak vytvořit uživatele Linuxu pomocí Ansible

  3. Primární versus logický oddíl?