Mengonfigurasi LVM pada VM Linux di Azure

Dokumen ini akan membahas cara mengonfigurasi Logical Volume Manager (LVM) di komputer virtual Azure Anda. LVM dapat digunakan pada disk OS atau disk data di VM Azure, namun, secara default sebagian besar gambar cloud tidak akan memiliki LVM yang dikonfigurasi pada disk OS. Langkah-langkah di bawah ini akan fokus pada konfigurasi LVM untuk disk data Anda.

Linear vs. volume logis bergaris

LVM dapat digunakan untuk menggabungkan sejumlah disk fisik menjadi satu volume penyimpanan. Secara default LVM biasanya akan membuat volume logis linier, yang berarti bahwa penyimpanan fisik digabungkan bersama. Dalam hal ini operasi baca / tulis biasanya hanya akan dikirim ke satu disk. Sebaliknya, kita juga dapat membuat volume logis bergaris di mana membaca dan menulis didistribusikan ke beberapa disk yang terkandung dalam kelompok volume (mirip dengan RAID0). Untuk alasan kinerja, kemungkinan Anda akan ingin melangskan volume logis Anda sehingga membaca dan menulis menggunakan semua disk data terlampir Anda.

Dokumen ini akan menjelaskan cara menggabungkan beberapa disk data menjadi satu grup volume, dan kemudian membuat volume logis bergaris. Langkah-langkah di bawah ini digeneralisasi untuk bekerja dengan sebagian besar distribusi. Dalam kebanyakan kasus, utilitas dan alur kerja untuk mengelola LVM di Azure pada dasarnya tidak berbeda dari lingkungan lain. Seperti biasa, konsultasikan juga vendor Linux Anda untuk dokumentasi dan praktik terbaik untuk menggunakan LVM dengan distribusi khusus Anda.

Melampirkan disk data

Seseorang biasanya ingin memulai dengan dua atau lebih disk data kosong saat menggunakan LVM. Berdasarkan kebutuhan IO Anda, Anda dapat memilih untuk melampirkan disk yang disimpan dalam Storage Standar kami, dengan hingga 500 IO /ps per disk atau penyimpanan Premium kami dengan hingga 5000 IO/ps per disk. Artikel ini tidak akan membahas secara rinci tentang cara menyediakan dan melampirkan disk data ke mesin virtual Linux. Lihat artikel Microsoft Azure melampirkan disk untuk instruksi terperinci tentang cara melampirkan disk data kosong ke komputer virtual Linux di Azure.

Instal utilitas LVM

  • Ubuntu

    sudo apt-get update
    sudo apt-get install lvm2
    
  • RHEL, CentOS & Oracle Linux

    sudo yum install lvm2
    
  • SLES 12 dan openSUSE

    sudo zypper install lvm2
    
  • SLES 11

    sudo zypper install lvm2
    

    Di SLES11, Anda juga harus mengedit /etc/sysconfig/lvm dan mengatur LVM_ACTIVATED_ON_DISCOVERED ke "aktifkan":

    LVM_ACTIVATED_ON_DISCOVERED="enable" 
    

Konfigurasikan LVM

Dalam panduan ini kita akan menganggap Anda telah melampirkan tiga disk data, yang akan kita sebut sebagai /dev/sdc, /dev/sdd dan /dev/sde. Jalur ini mungkin tidak cocok dengan nama jalur disk di VM Anda. Anda dapat menjalankan 'sudo fdisk -l' atau perintah serupa untuk mencantumkan disk yang tersedia.

  1. Siapkan volume fisik:

    sudo pvcreate /dev/sd[cde]
    Physical volume "/dev/sdc" successfully created
    Physical volume "/dev/sdd" successfully created
    Physical volume "/dev/sde" successfully created
    
  2. Buat grup volume. Dalam contoh ini kita memanggil grup data-vg01volume:

    sudo vgcreate data-vg01 /dev/sd[cde]
    Volume group "data-vg01" successfully created
    
  3. Buat volume logis. Perintah di bawah ini kita akan membuat volume logis tunggal yang dipanggil data-lv01 untuk menjangkau seluruh grup volume, tetapi perhatikan bahwa juga dimungkinkan untuk membuat beberapa volume logis dalam grup volume.

    sudo lvcreate --extents 100%FREE --stripes 3 --name data-lv01 data-vg01
    Logical volume "data-lv01" created.
    
  4. Memformat volume logis

    sudo mkfs -t ext4 /dev/data-vg01/data-lv01
    

    Catatan

    Dengan SLES11 gunakan -t ext3 bukan ext4. SLES11 hanya mendukung akses baca-saja ke sistem file ext4.

Menambahkan sistem file baru ke /etc/fstab

Penting

Mengedit /etc/fstab file secara tidak benar dapat mengakibatkan sistem yang tidak dapat dibootable. Jika tidak yakin, lihat dokumentasi distribusi untuk informasi tentang cara mengedit file ini dengan tepat. Juga disarankan agar cadangan /etc/fstab file dibuat sebelum diedit.

  1. Buat titik pemasangan yang diinginkan untuk sistem file baru Anda, misalnya:

    sudo mkdir /data
    
  2. Temukan jalur volume logis

    lvdisplay
    --- Logical volume ---
    LV Path                /dev/data-vg01/data-lv01
    ....
    
  3. Buka /etc/fstab di editor teks dan tambahkan entri untuk sistem file baru, misalnya:

    /dev/data-vg01/data-lv01  /data  ext4  defaults  0  2
    

    Kemudian, simpan dan tutup /etc/fstab.

  4. Uji apakah entrinya /etc/fstab benar:

    sudo mount -a
    

    Jika perintah ini menghasilkan pesan kesalahan, periksa sintaks dalam /etc/fstab file.

    Selanjutnya jalankan mount perintah untuk memastikan sistem file dipasang:

    mount
    ......
    /dev/mapper/data--vg01-data--lv01 on /data type ext4 (rw)
    
  5. (Opsional) Parameter boot failsafe di /etc/fstab

    Banyak distribusi termasuk nobootwait parameter atau nofail mount yang dapat ditambahkan ke /etc/fstab file. Parameter ini memungkinkan kegagalan saat memasang sistem file tertentu dan memungkinkan sistem Linux untuk terus boot bahkan jika tidak dapat memasang sistem file RAID dengan benar. Lihat dokumentasi distribusi Anda untuk informasi lebih lanjut tentang parameter ini.

    Contoh (Ubuntu):

    /dev/data-vg01/data-lv01  /data  ext4  defaults,nobootwait  0  2
    

DUKUNGAN TRIM/UNMAP

Beberapa kernel Linux mendukung operasi TRIM/UNMAP untuk membuang blok yang tidak digunakan pada disk. Operasi ini terutama berguna dalam penyimpanan standar untuk memberi tahu Azure bahwa halaman yang dihapus tidak lagi valid dan dapat dibuang. Membuang halaman dapat menghemat biaya jika Anda membuat file besar dan kemudian menghapusnya.

Ada dua cara untuk mengaktifkan dukungan TRIM di komputer virtual Linux Anda. Seperti biasa, periksa distribusi Anda untuk mengetahui pendekatan yang direkomendasikan:

  • discard Gunakan opsi mount di /etc/fstab, misalnya:

    /dev/data-vg01/data-lv01  /data  ext4  defaults,discard  0  2
    
  • Dalam beberapa kasus, opsi ini discard mungkin memiliki implikasi kinerja. Alternatifnya, Anda dapat menjalankan perintah fstrim secara manual dari baris perintah, atau menambahkannya ke crontab Anda untuk berjalan secara teratur:

    Ubuntu

    # sudo apt-get install util-linux
    # sudo fstrim /datadrive
    

    RHEL, CentOS & Oracle Linux

    # sudo yum install util-linux
    # sudo fstrim /datadrive