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 Azure VM, namun, secara default sebagian besar gambar cloud tidak akan memiliki LVM yang dikonfigurasi pada disk OS. Langkah-langkah di bawah ini akan berfokus pada konfigurasi LVM untuk disk data Anda.

Volume logika linear vs. bergaris

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

Dokumen ini akan menjelaskan cara menggabungkan beberapa disk data ke dalam satu grup volume, lalu 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 dengan 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 beberapa disk data kosong saat menggunakan LVM. Berdasarkan kebutuhan IO Anda, Anda dapat memilih untuk melampirkan disk yang disimpan di Standard Storage kami, dengan hingga 500 IO/ps per disk atau penyimpanan Premium kami dengan hingga 5000 IO/ps per disk. Artikel ini tidak akan menjelaskan secara rinci tentang cara memprovisikan dan melampirkan disk data ke komputer virtual Linux. Lihat artikel Microsoft Azure melampirkan disk untuk instruksi terperinci tentang cara melampirkan disk data kosong ke komputer virtual Linux di Azure.

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

Mengonfigurasi LVM

Dalam panduan ini kami akan menganggap Anda telah melampirkan tiga disk data, yang akan kami 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. Membuat 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 kami akan membuat satu volume logis yang disebut data-lv01 untuk menjangkau seluruh grup volume, tetapi perhatikan bahwa juga layak 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 penggunaan -t ext3 SLES11 alih-alih ext4. SLES11 hanya mendukung akses baca-saja ke sistem file ext4.

Tambahkan sistem file baru ke /etc/fstab

Penting

Mengedit file secara tidak benar /etc/fstab dapat mengakibatkan sistem yang tidak dapat di-boot. Jika tidak yakin, lihat dokumentasi distribusi untuk informasi tentang cara mengedit file ini dengan tepat. Disarankan juga agar cadangan /etc/fstab file dibuat sebelum pengeditan.

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

    sudo mkdir /data
    
  2. Menemukan 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 /etc/fstab entri sudah 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 mencakup nobootwait parameter atau nofail pemasangan yang dapat ditambahkan ke /etc/fstab file. Parameter ini memungkinkan kegagalan saat memasang sistem file tertentu dan memungkinkan sistem Linux untuk terus melakukan boot meskipun tidak dapat memasang sistem file RAID dengan benar. Lihat dokumentasi distribusi Anda untuk informasi selengkapnya 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 lalu 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 pemasangan di /etc/fstab, misalnya:

    /dev/data-vg01/data-lv01  /data  ext4  defaults,discard  0  2
    
  • Dalam beberapa kasus discard , opsi mungkin memiliki implikasi performa. 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