Haruskah LVM digunakan untuk partisi saat membuat gambar VM (mis., Gambar KVM)? Sepertinya itu menambah kompleksitas jika Anda ingin, katakanlah, me-mount gambar qcow2 di host jika gambar memiliki partisi LVM.
Di sisi lain, sepertinya tidak ada keuntungan dari partisi LVM yang signifikan pada gambar VM, karena jauh lebih mudah untuk mengambil VM offline dan mengubah ukuran partisi daripada untuk sistem fisik.
lvm
kvm
virtualization
Lorin Hochstein
sumber
sumber
Jawaban:
"Tergantung."
Jika Anda berada di lingkungan yang Anda kontrol (vmware atau kvm atau apa pun), dan dapat membuat keputusan sendiri tentang kinerja disk QoS, maka saya akan merekomendasikan untuk tidak menggunakan LVM di dalam VM Anda. Itu tidak memberi Anda banyak fleksibilitas yang Anda tidak bisa dapatkan di tingkat hypervisor.
Ingat, hypervisor sudah secara efektif melakukan tugas-tugas ini. Jika Anda ingin dapat mengubah ukuran sistem file secara sewenang-wenang (ide yang bagus), cukup buat disk virtual terpisah untuk setiap sistem file.
Satu hal yang mungkin Anda pikirkan ketika Anda menyusuri jalan ini. Anda bahkan tidak perlu meletakkan partisi pada disk virtual Anda dengan cara ini. Misalnya, Anda dapat membuat disk virtual untuk
/home
; itu ada/dev/vdc
di dalam vm Anda. Saat membuat sistem file, lakukan saja sesuatumke2fs -j /dev/vdc
alih - alih menentukan partisi.Ini adalah ide yang bagus, tetapi ... sebagian besar alat (dan admin lain yang datang setelah Anda) akan berharap untuk melihat partisi di setiap disk. Saya akan merekomendasikan hanya meletakkan satu partisi pada disk dan selesai dengan itu. Itu berarti satu langkah lagi ketika mengubah ukuran sistem file. Dan jangan lupa untuk menyelaraskan partisi Anda dengan benar - memulai partisi pertama pada 1MB adalah aturan praktis yang bagus.
Semua yang dikatakan - Melakukan ini semua di tingkat hypervisor berarti bahwa Anda mungkin harus me-reboot VM untuk mengubah ukuran partisi. Menggunakan LVM akan memungkinkan Anda untuk menambahkan-panas disk virtual (anggaplah hypervisor / kombinasi OS Anda memungkinkan ini), dan perluas sistem file tanpa reboot. Ini jelas merupakan nilai tambah.
Sementara itu, jika Anda menggunakan penyedia cloud, itu lebih halus.
Saya tidak tahu banyak tentang Azure, GCP, atau pemain yang lebih kecil, jadi saya tidak bisa membantu di sana.
Dengan AWS Anda dapat mengikuti saran saya di atas dan Anda akan sering baik-baik saja. Anda dapat (sekarang) meningkatkan ukuran volume EBS (disk virtual) dengan cepat, dan mengubah ukuran partisi, dll.
Namun, dalam kasus umum, mungkin masuk akal untuk meletakkan semuanya pada volume EBS besar tunggal, dan menggunakan LVM (atau, saya kira, partisi biasa). Amazon memberi Anda batas IOPS pada setiap volume. Secara default, batas ini berskala dengan ukuran volume. misal, untuk
gp2
volume Anda mendapatkan 3 IOPS per GiB (minimal 100 IOPS). Lihat https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.htmlUntuk sebagian besar beban kerja, Anda ingin semua IOPS Anda tersedia untuk semua sistem file, tergantung pada kebutuhan saat ini. Jadi masuk akal untuk membuat satu volume EBS besar, dapatkan semua IOPS Anda dalam satu ember, dan partisi / LVM itu.
Contoh:
3 disk dengan filesystem independen / area swap, masing-masing berukuran 100GB. Masing-masing mendapat 300 IOPS. Kinerja dibatasi hingga 300 IOPS di setiap disk.
1 disk, berukuran 300GB. Partisi LVM pada disk masing-masing 100GB. Disk mendapat 900 IOPS. Setiap partisi dapat menggunakan 900 IOPS.
sumber
Volume logis lebih mudah dibuat dengan cepat, mengubah ukuran, menghapus.
Pertanyaan "to LVM or not" selalu memiliki jawaban yang sama, itu tergantung :)
Masuk akal jika Anda memerlukan fleksibilitas pada level disk, partisi.
Tidak masuk akal jika Anda tidak membutuhkan fleksibilitas yang disediakan oleh LVM atau tidak ingin memanfaatkan fitur LVM lainnya
sumber
Saya sebenarnya suka menggunakan LV karena mereka tidak mudah diakses dari server-virt. Dengan demikian file-file ini tidak mudah dihancurkan / dipindahkan secara kebetulan.
Fitur penting lainnya dari LV:
iostat
)Untuk mengurangi kompleksitas, saya menggunakan LV sebagai disk (bukan sebagai partisi). Kekurangannya adalah saya hanya dapat dengan mudah mengubah ukuran partisi terakhir dari "disk" - tetapi layout-VM-disk-standar saya memperhitungkannya (sehingga partisi terakhir berisi data aplikasi penting).
sumber
Selain fleksibilitas, gambar VM berbasis LVM memiliki potensi overhead yang lebih sedikit, karena mereka tidak diakses melalui sistem file. Di sisi lain, itu menghilangkan cara mudah memindahkan gambar, seperti yang akan Anda lakukan dengan file. Bukan tidak mungkin, tetapi sedikit lebih rumit
sumber
Pengalaman saya sendiri ....
Saya ingin menggunakan volume logis (lv) dengan lvm2 untuk sistem file ext4; bukan sebagai disk, atau lebih tepatnya, hanya sebagai disk mentah yang tidak dipartisi untuk fs.
Apa yang saya temukan adalah bahwa startup VM akan dihentikan pada tahap initrd; jika saya berkomentar
/etc/fstab
entri, mesin akan boot. Meninggalkan/etc/fstab
entri yang dikomentari bukanlah solusi yang membuat saya senang. Jadi, saya membuat image disk yang normal (masih volume yang logis), mempartisinya dengan satu partisi menggunakanfdisk
dan menciptakan sistem file pada itu. Tidak ada masalah lebih lanjut.Mount yang relevan di saya
/etc/fstab
menggunakan UUID.Saya berpikir untuk menggunakan file atau filesystem, tetapi memutuskan untuk tidak melakukannya.
Dalam kasus saya, saya menggunakan sistem Debuan Jessie berbasis Devuan
sumber
Saya sebenarnya hanya menggunakan LVM untuk penyimpanan dukungan di tingkat hypervisor, file gambar untuk burung. Saya juga akan merekomendasikan menggunakannya di tingkat tamu juga. Memang benar bahwa Anda tidak akan mendapat manfaat dari menyatukan sumber penyimpanan yang berbeda atau merasa lebih mudah untuk menambah ruang disk total yang tersedia (karena Anda bisa mendapatkannya dengan mudah dengan mengubah ukuran apa yang ditampilkan hypervisor), tetapi kadang-kadang Anda mengalokasikan terlalu banyak untuk satu sistem file . Anda mungkin menyukai cara mudah untuk mengambil 1 pertunjukan dari / opt dan memberikannya ke / var (misalnya). Jika Anda melakukan partisi reguler di dalam VM itu sendiri maka itu membuat aspek pengubahan ukuran menjadi jauh lebih sulit.
sumber
Selain jawaban baik lainnya di sini, satu-satunya alasan yang sangat baik untuk menggunakan LVM di dalam VM adalah Anda ingin lingkungan pengujian untuk bereksperimen dan mendapatkan pengalaman praktis praktis dengan LVM.
Anda dapat melalui berbagai HOWTO dan tutorial, mempraktikkan pengambilan administrasi LVM yang umum (dan tidak biasa), mengatur berbagai skenario kegagalan, dan mempelajari cara menanganinya.
yaitu sebagai alat bantu belajar mandiri.
sumber
Sunting: Di bawah ini tidak lagi benar. Nilai menggunakan provisi tipis yang disediakan oleh LVM untuk gambar disk VM mungkin situasional;
Apakah Anda menjalankan Development VM di laptop? maka Anda mungkin lebih baik dengan QCow2.
Mengelola pertanian VM yang mungkin dapat menggunakan sejumlah besar penyimpanan di beberapa disk? LVM kemungkinan merupakan cara yang baik untuk mengelola penyimpanan itu.
salah satu alasan untuk tidak menggunakan lvm adalah Anda tidak dapat melakukan terlalu banyak penyimpanan menggunakan lvm. Jika Anda membuat 10 VM dengan penyimpanan 100GB, Anda membutuhkan 1000 GB disk sebenarnya, bahkan jika 9 dari sepuluh VM hanya akan menggunakan 20 GB sistem file mereka. Gambar Disk Jarang atau gambar format qcow2 dapat berarti hanya penyimpanan yang benar-benar digunakan oleh para tamu yang perlu dialokasikan untuk mereka.
Apakah ini benar-benar berguna bagi Anda tergantung pada apa yang Anda butuhkan dari penyimpanan Anda.
sumber