Apa itu lvmetad dan mengapa saya ingin atau perlu menggunakannya?

28

Saya memiliki server Gentoo dengan LVM yang berjalan di atas array RAID yang telah saya gunakan selama beberapa tahun. Baru-baru ini saya memutakhirkan LVM ke 2.02.109 (tidak ingat versi apa itu sebelumnya) dan menerima pesan saat meningkatkan:

* Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want
* to enable lvm autoactivation and metadata caching.

Saya memahami bahwa saya dapat mengaktifkannya dengan menetapkan use_lvmetad = 1dalam /etc/lvm/lvm.conf.

Tetapi mengapa saya membutuhkan fitur seperti itu? Pemahaman saya adalah bahwa ia bekerja dengan aturan udev untuk menjaga status LVM dalam cache sehingga alat LVM tidak perlu memindai volume untuk mendapatkan informasi itu. Apakah hanya karena array kecil saya tidak dapat mengambil manfaat dari fitur semacam ini? Dalam keadaan apa saya ingin / perlu menggunakannya?

Steve Kalemkiewicz
sumber

Jawaban:

1

Deskripsi

Dari halaman manual lvmetad :

lvmetad adalah daemon caching metadata untuk LVM. Daemon menerima pemberitahuan dari aturan udev (yang harus diinstal agar LVM berfungsi dengan benar ketika lvmetad sedang digunakan). Melalui pemberitahuan ini, lvmetad memiliki gambar terkini dan konsisten dari grup volume yang tersedia di sistem. Secara default, lvmetad, meskipun berjalan, tidak digunakan oleh LVM. Lihat lvm.conf (5).


Melihat ini sedikit lebih dekat pantas mendapatkan definisi lain. Negara Wikipedia :

Sistem file journaling adalah sistem file yang melacak perubahan yang akan dibuat dalam jurnal (biasanya log bundar di area khusus sistem file) sebelum memasukkannya ke sistem file utama. Dalam hal terjadi crash sistem atau kegagalan daya, sistem file tersebut lebih cepat untuk dibawa kembali online dan kecil kemungkinannya menjadi rusak.


Pemikiran

Saya tidak akan masuk ke penjelasan rinci tentang LVM, karena OP sudah memahami manfaatnya. Karena itu, saya hanya akan menjelaskan mengapa penjurnalan ditambahkan. Versi LVM yang lebih lama tidak memiliki daemon penjurnalan, yang berarti bahwa jika sistem mengalami crash, satu-satunya jurnal yang dapat digunakan adalah pada volume fisik (hard disk). Itu menciptakan masalah ketika volume logis merentang beberapa luasan pada Grup Volume Logis yang menjangkau beberapa volume fisik.

Jika setengah transaksi jurnal ada pada satu volume fisik dan setengah lainnya ada pada volume fisik lain, jurnal transaksional tidak dapat melakukan perubahan pada kedua volume fisik, karena volume fisik tidak mengerti bahwa mereka adalah bagian dari grup volume , karena transaksi log hanya ada di volume fisik.

Di situlah daemon baru berperan. Sekarang alih-alih jurnal jurnal untuk setiap volume fisik, LVM dapat membuat jurnal jurnal dan membuat bagian untuk itu di grup volume, yang disisihkan untuk jurnal saja. Setelah melakukannya, seluruh log transaksi dapat ditemukan dan diputar ulang di tingkat Volume Group.

eyoung100
sumber
14
Jawaban Anda tampaknya menyarankan bahwa lvmetad menyediakan layanan untuk sistem berkas yang berjalan di atasnya yang memungkinkannya melakukan penjurnalan dengan benar. Tetapi sumber-sumber lain hanya mengatakan bahwa itu cache informasi tentang tata letak LVM untuk seperangkat alat baris perintah lvm perintah. Akan lebih baik untuk mendukung versi Anda dengan beberapa sumber.
Pavel Šimerda
8
Saya harus menggema skeptisisme @ PavelŠimerda. Manual lvmetad tidak mengatakan apa pun tentang penjurnalan. Belum lagi bahwa itu akan menjadi pelanggaran layering jika LVM mulai menjadi sadar jurnal (karena itu berarti perlu mengetahui sistem file mana yang penjurnalan dan mana yang tidak, dan perlu mengetahui sistem file mana yang hidup di atas) itu). Saya juga tidak melihat alasan mengapa memiliki jurnal sistem file tersebar di beberapa volume fisik akan menjadi masalah. Itu terjadi setiap saat dengan teknologi lain seperti RAID 0.
Dan Moulding
29

Dari tautan ini :

Biasanya, setiap perintah LVM mengeluarkan pemindaian disk untuk menemukan semua volume fisik yang relevan dan membaca metadata grup volume. Namun, jika daemon metadata sedang berjalan dan diaktifkan, pemindaian mahal ini dapat dilewati ... Ini dapat menghemat sejumlah besar I / O dan mengurangi waktu yang diperlukan untuk menyelesaikan operasi LVM, terutama pada sistem dengan banyak disk.

Jadi Anda akan menjalankannya untuk meningkatkan kinerja manajemen LVM dan operasi status, dengan biaya kinerja startup dan peningkatan kompleksitas. Tingkat peningkatan kinerja lebih besar ketika ada lebih banyak disk dalam sistem.

Matthew Sharp
sumber