GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan Ansible untuk mengotomatiskan konfigurasi Logical Volume Manager

Ansible adalah otomatisasi, konfigurasi, dan alat manajemen infrastruktur. Artikel saya sebelumnya memperkenalkan Ansible dan menjelaskan peran sistem. Dalam artikel ini, saya mendemonstrasikan cara mengonfigurasi Logical Volume Manager (LVM) menggunakan Ansible. Mengonfigurasi LVM dengan Ansible membantu administrator sistem melakukan tugas mereka dengan lebih efisien dan menghabiskan lebih sedikit waktu untuk bekerja secara manual. Anda dapat membuat buku pedoman Ansible yang membuat partisi dan menginisialisasi LVM.

[ Anda mungkin juga menikmati: Pengantar Logical Volume Manager ]

Ikhtisar LVM

Seperti yang Anda ketahui, partisi primer tidak dapat diperpanjang dan dikurangi. Skenario seperti itu dapat menimbulkan masalah saat Anda membutuhkan ruang ekstra pada disk. Menggunakan LVM, Anda dapat mengatasi masalah ini karena LVM memungkinkan Anda menambah dan menghapus disk baru ke volume logis. LVM adalah bagian dari instalasi default Red Hat Enterprise Linux (RHEL) sejak RHEL 7.

Berikut adalah beberapa item penting yang perlu Anda pahami sebelum menggunakan LVM:

  • PV —Volume Fisik diinisialisasi pada disk, partisi, atau file loopback. Saat Anda menginisialisasi PV, label akan dibuat di awal perangkat.
  • VG —Volume Group adalah kumpulan volume logis (LV). Anda membuat VG di dalam PV.
  • LV —Logical Volume sama seperti partisi standar pada disk. Anda dapat membuat beberapa LV di dalam satu VG. Anda dapat mengubah ukuran LV sesuai dengan ruang yang dibutuhkan.

Membuat Partisi

Di RHEL 8, Anda membuat partisi menggunakan Parted kegunaan. Berpisah memberi Anda fleksibilitas untuk membuat partisi menggunakan MS-DOS atau partisi GUID Partition Table (GPT). Di Ansible, Anda dapat menggunakan Parted modul untuk partisi.

Dalam contoh ini, pertimbangkan /dev/vdb sebagai nama disk. Buat dua partisi 1 GB. Cukup menggunakan modul Parted, Anda dapat membuat partisi dengan ukuran berapa pun.

Contoh:

---
- 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

Jalankan buku pedoman ini menggunakan:

$ ansible-playbook partition.yml

Anda dapat menggunakan lsblk perintah untuk memeriksa bahwa partisi sekarang ada.

Menginisialisasi LVM dan membuat  LV

Setelah membuat partisi, inisialisasi LV. Untuk melakukan inisialisasi, Anda harus membuat PV dan VG terlebih dahulu. Gunakan lvg yang Mungkin modul untuk membuat PV dan VG dengan ukuran Physical Extents (PE). PE membagi VG menjadi ukuran tetap. Secara default, ukuran PE adalah 4MB. Anda dapat mengubah ukuran default saat membuat VG. Umumnya, ukuran PE yang lebih besar memberikan kinerja yang lebih baik.

Contoh:

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

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

Tugas berikutnya membuat LV. lvol modul membuat LV. Saat membuat LV, Anda memberikan opsi seperti nama VG, ukuran, dan nama LV.

Dalam contoh ini, VG 2 GB membuat LV pertama dengan ukuran 1 GB.

Contoh:

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

Untuk menggunakan LV yang dibuat ini, Anda harus memasang partisi itu di dalam sistem file. Hanya Anda yang dapat mengakses LV ini untuk menyimpan data. Di Ansible, gunakan filesystem modul untuk memformat perangkat blok apa pun dengan filesystem . Setelah memformat, Anda memasang partisi di direktori mana pun. Anda dapat menggunakan mount modul di Ansible. Pastikan bahwa direktori (/data1 dalam contoh ini) ada sebelum menjalankan playbook.

Contoh:

 - 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


Contoh:  Seluruh pedoman: 

---
- 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

Jalankan playbook ini dan periksa apakah LV Anda dibuat atau gunakan lvs perintah.

Ingatlah bahwa salah satu fitur LVM adalah Anda dapat memperpanjang ukuran LV. Secara manual, Anda dapat menggunakan lvextend memerintah. Di Ansible, Anda dapat menggunakan lvol modul untuk memperluas ukuran sample-lv .

Contoh:

- 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

Menggunakan lvextend perintah atau lvol modul membantu Anda memperluas LV. Dalam lvol . ini volume, gunakan resizefs parameter untuk memperbesar sistem file yang tidak terpasang yang terletak di perangkat.

Untuk mengecilkan ukuran LV, sintaksnya adalah sebagai berikut:

- 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

[ Butuh lebih banyak tentang Ansible? Ikuti kursus tinjauan teknis gratis dari Red Hat. Ansible Essentials:Kesederhanaan dalam Tinjauan Teknis Otomasi. ] 

Selesai

Artikel ini menunjukkan kepada Anda cara mengonfigurasi LVM menggunakan buku pedoman Ansible sederhana. Daripada menggunakan buku pedoman sederhana, Anda dapat membuat peran , menggunakan proses dan modul yang sama seperti di atas. Ansible membantu Anda mengurangi tugas manual serta meningkatkan efisiensi untuk konfigurasi LVM. Menggunakan metode yang dijelaskan dalam artikel ini menyederhanakan operasi pada beberapa node terkelola.


Linux
  1. Cara membuat Pengguna Linux Menggunakan Ansible

  2. Lum – Bagaimana Memperpanjang Partisi Dengan Lvm Dan Volume Fisik Yang Terkandung Dan Volume Logika?

  3. Bagaimana Cara Mengecilkan Volume Fisik?

  1. Konfigurasi LVM :Operasi/Utilitas Volume Logis (LV)

  2. Cara Mengurangi volume LVM di Ubuntu

  3. Partisi primer atau logis

  1. Cara membuat sistem file pada partisi Linux atau volume logis

  2. Mesin Virtual Multipass dengan menggunakan Ansible

  3. Partisi Logis Vs Primer?