Dalam jawabannya atas pertanyaan "tipe serangan campuran" , HBruijn menyarankan menggunakan LVM untuk mengimplementasikan RAID vs MDRAID yang lebih standar.
Setelah sedikit diselidiki, tampaknya LVM juga mendukung fungsi RAID. Di masa lalu, saya telah menggunakan LVM di atas MDRAID, dan tidak menyadari sampai sekarang bahwa LVM juga mendukung fungsi RAID. Ini tampaknya perkembangan yang relatif baru, tetapi saya belum tahu persis kapan ini diterapkan.
Jadi, ini adalah cara alternatif untuk mengimplementasikan perangkat lunak RAID di Linux. Apa pro dan kontra dari dua pendekatan yang berbeda ini? Saya mencari perbandingan fitur antara kedua pendekatan sehingga orang dapat memutuskan mana yang lebih baik untuk mereka. Kesimpulan berdasarkan eksperimen (seperti pada, fitur ini tidak berfungsi sebaik fitur ini dan inilah alasannya) juga OK, asalkan Anda memasukkan data Anda dalam jawabannya.
Beberapa masalah khusus untuk diatasi:
- Misalkan saya ingin melakukan sw RAID + LVM (skenario umum). Haruskah saya menggunakan dukungan LVM untuk sw RAID dan karenanya menggunakan satu utilitas, bukan dua? Apakah pendekatan yang lebih terintegrasi ini memiliki kelebihan?
- Apakah dukungan LVM untuk sw RAID memiliki kekurangan yang signifikan dibandingkan dengan MDADM yang lebih matang? Secara khusus, seberapa stabil / bebas bug dukungan LVM untuk sw RAID? Tampaknya dukungan ini baru kembali ke 2011 (lihat di bawah), sedangkan MDADM jauh lebih tua. Juga, bagaimana cara membandingkannya dalam hal set fitur? Apakah ada kekurangan fitur yang signifikan dibandingkan dengan MDADM? Sebaliknya, apakah ia memiliki dukungan untuk fitur-fitur sw RAID yang tidak dimiliki MDADM?
CATATAN:
Ada diskusi terperinci di http://www.olearycomputers.com/ll/linux_mirrors.html tapi saya tidak bisa mengetahui tanggal ditulisnya.
Pertanyaan serupa pada Serverfault: linux LVM mirror vs MD mirror . Namun, pertanyaan ini ditanyakan pada 2010, dan jawabannya mungkin sudah ketinggalan zaman.
Entri changelog untuk versi 2.02.87 - 12 Agustus 2011 telah
Tambahkan configure --with-raid untuk segtype baru 'raid' untuk dukungan MD RAID 1/4/5/6
Jadi, sepertinya dukungan RAID di LVM adalah sekitar 3 tahun.
sumber
md
volume. Jadi, Anda memilikilvextend
danpvmove
tersedia untuk bergerak antar perangkat sedangkan denganmd
prosesnya jauh lebih manual tanpa manfaat yang jelas.Jawaban:
Seberapa dewasa dan penuh fitur LVM RAID?
LVM-RAID sebenarnya mdraid di bawah selimut. Ini pada dasarnya bekerja dengan membuat dua volume logis per perangkat RAID (satu untuk data, yang disebut "rimage"; satu untuk metadata, yang disebut "rmeta"). Ini kemudian meneruskan ke driver mdraid yang ada. Jadi hal-hal seperti menangani kesalahan pembacaan disk, I / O load balancing, dll. Harus cukup matang.
Itu kabar baiknya.
Alat
Anda tidak dapat menggunakannya
mdadm
(setidaknya, tidak dengan cara yang mudah¹) dan alat-alat RAID LVM sama sekali tidak matang. Misalnya, di Debian Wheezy,lvs
tidak dapat memberi tahu Anda status sinkronisasi RAID5. Saya sangat meragukan perbaikan dan pemulihan (terutama dari situasi "yang seharusnya tidak pernah terjadi!") Hampir sama baiknya dengan mdadm (dan saya secara tidak sengaja bertemu dengan salah satu dari mereka dalam pengujian saya, dan akhirnya menyerah untuk memulihkannya — pemulihan dengan mdadm akan mudah).Terutama jika Anda tidak menggunakan versi terbaru dari semua alat, itu semakin buruk.
Fitur yang Hilang
Versi LVM-RAID saat ini tidak mendukung penyusutan (
lvreduce
) volume logis RAID. Mereka juga tidak mendukung perubahan jumlah disk atau level RAID (lvconvert
memberikan pesan kesalahan yang mengatakan belum didukung).lvextend
tidak bekerja, dan bahkan dapat menumbuhkan level RAID yang mdraid hanya mendapatkan dukungan baru-baru ini, seperti RAID10 Dalam pengalaman saya, memperpanjang LV jauh lebih umum daripada menguranginya, jadi itu sebenarnya masuk akal.Beberapa fitur mdraid lainnya tidak ada, dan terutama Anda tidak dapat menyesuaikan semua opsi yang Anda bisa dengan mdadm.
Pada versi yang lebih lama (seperti yang ditemukan di, misalnya, Debian Wheezy), LVM RAID juga tidak mendukung pertumbuhan. Misalnya, di Wheezy:
Secara umum, Anda tidak ingin menjalankan versi Wheezy.
Di atas adalah setelah Anda menginstalnya. Itu juga bukan proses yang sepele.
Masalah alat
Bermain dengan Jessie VM saya, saya memutus satu (hampir) disk. Itu berhasil, mesin tetap berjalan.
lvs
Namun, tidak memberikan indikasi susunan diturunkan. Saya memasang kembali disk, dan menghapus satu detik. Tetap berlari (ini raid6). Terlampir kembali, masih belum ada indikasi darilvs
. Saya berlarilvconvert --repair
di volume, itu mengatakan kepada saya itu baik-baik saja. Lalu saya menarik disk ketiga ... dan mesin mati. Masukkan kembali, reboot, dan sekarang tidak yakin bagaimana cara memperbaikinya.mdadm --force --assemble
akan memperbaiki ini; keduanya tampaknyavgchange
tidaklvchange
memiliki opsi itu (lvchange menerima--force
, tetapi tampaknya tidak melakukan apa-apa). Bahkan mencobadmsetup
untuk langsung memberi makan tabel pemetaan ke kernel, saya tidak tahu bagaimana cara memulihkannya.Juga,
mdadm
adalah alat khusus untuk mengelola RAID. LVM melakukan lebih banyak, tetapi rasanya (dan saya akui ini cukup subyektif) seperti fungsi RAID telah didorong di sana; itu tidak cukup pas.Bagaimana Anda menginstal sistem dengan LVM RAID?
Berikut ini adalah garis besar singkat untuk menginstalnya di Debian Jessie atau Wheezy. Jessie jauh lebih mudah; perhatikan jika Anda akan mencoba ini pada Wheezy, baca semuanya terlebih dahulu ...
Gunakan gambar CD lengkap untuk menginstal, bukan gambar netinst.
Lanjutkan seperti biasa, pergi ke partisi disk, atur volume fisik LVM Anda. Anda dapat memakai
/boot
LVM-RAID (pada Jessie, dan Wheezy dengan beberapa pekerjaan yang dirinci di bawah).Buat grup volume Anda. Biarkan di menu LVM.
Sedikit kesenangan pertama — installer tidak memiliki
dm-raid.ko
modul yang dimuat, atau bahkan tersedia! Jadi Anda bisa mengambilnya dari paket linux-image yang akan diinstal. Beralih ke konsol (misalnya, Alt- F2) dan:Pemasang tidak tahu cara membuat LVM-RAID LVs, jadi Anda harus menggunakan baris perintah untuk melakukannya. Catatan saya tidak melakukan pembandingan; ukuran stripe (
-I
) di bawah ini sepenuhnya merupakan perkiraan untuk pengaturan VM saya:Di Jessie, Anda dapat menggunakan RAID10 untuk swap. Di Wheezy, RAID10 tidak didukung. Jadi, alih-alih Anda dapat menggunakan dua partisi swap, masing-masing RAID1. Tetapi Anda harus mengatakan dengan tepat pada volume fisik mana untuk meletakkannya atau meletakkan kedua bagian cermin pada disk yang sama . Iya. Serius. Bagaimanapun, itu terlihat seperti:
Akhirnya, kembali ke penginstal, dan tekan 'Selesai' di menu LVM. Anda sekarang akan disajikan dengan banyak volume logis yang ditampilkan. Pemasang tidak mengerti apa yang terjadi; abaikan segala sesuatu dengan
rimage
ataurmeta
atas nama mereka (lihat paragraf pertama cara di atas untuk penjelasan tentang apa itu).Silakan dan buat sistem file, swap partisi, dll seperti biasa. Instal sistem dasar, dll., Hingga Anda masuk ke prompt grub.
Di Jessie, grub2 akan berfungsi jika diinstal ke MBR (atau mungkin dengan EFI, tapi saya belum mengujinya). Pada Wheezy, instal akan gagal, dan satu-satunya solusi adalah dengan backport grub2 Jessie. Itu sebenarnya cukup mudah, itu dikompilasi dengan bersih di Wheezy. Entah bagaimana, masukkan paket grub yang di-backport ke
/target
(atau lakukan dalam sedetik, setelah chroot) lalu:Sebenarnya, di Jessie VM grub-install saya yang paling baru digantung. Beralih ke F2 dan melakukan
while kill $(pidof vgs); do sleep 0.25; done
, diikuti oleh hal yang samalvs
, mendapatkannya melalui grub-install. Tampaknya menghasilkan konfigurasi yang valid meskipun begitu, tapi kalau-kalau saya melakukanchroot /target /bin/bash
, memastikan/proc
dan/sys
dipasang, dan melakukanupdate-grub
. Waktu itu selesai. Saya kemudian melakukandpkg-reconfigure grub-pc
untuk memilih menginstal grub pada semua MBR disk virtual.Pada Wheezy, setelah melakukan hal di atas, pilih 'lanjutkan tanpa bootloader'.
Selesai instal. Itu akan boot. Mungkin.
Pengetahuan Komunitas
Ada cukup banyak orang yang tahu tentang
mdadm
, dan memiliki banyak pengalaman penempatan dengannya. Google cenderung menjawab sebagian besar pertanyaan tentang hal yang Anda miliki. Anda biasanya dapat mengharapkan pertanyaan tentang hal ini di sini untuk mendapatkan jawaban, mungkin dalam sehari.Hal yang sama tidak dapat dikatakan untuk LVM RAID. Sulit untuk menemukan pemandu. Sebagian besar pencarian Google yang saya jalankan malah menemukan saya hal-hal tentang menggunakan array mdadm sebagai PV. Sejujurnya, ini mungkin sebagian besar karena ini lebih baru, dan kurang umum digunakan. Agaknya, rasanya tidak adil untuk menentang hal ini — tetapi jika terjadi kesalahan, komunitas yang jauh lebih besar di sekitar mdadm membuat pemulihan data saya lebih mungkin.
Kesimpulan
LVM-RAID maju cukup cepat. Pada Wheezy, itu tidak benar-benar dapat digunakan (setidaknya, tanpa melakukan backports LVM dan kernel). Sebelumnya, pada tahun 2014, tentang pengujian Debian, rasanya seperti ide yang menarik, tetapi belum selesai. Pengujian saat ini, pada dasarnya apa yang akan menjadi Jessie, terasa seperti sesuatu yang Anda mungkin benar-benar gunakan, jika Anda sering perlu membuat irisan kecil dengan konfigurasi RAID yang berbeda (sesuatu yang merupakan mimpi buruk administratif dengan
mdadm
).Jika kebutuhan Anda cukup dilayani oleh beberapa array RAID mdadm besar, diiris menjadi partisi menggunakan LVM, saya sarankan terus menggunakannya. Jika Anda akhirnya harus membuat banyak array (atau bahkan array volume logis), pertimbangkan untuk beralih ke LVM-RAID sebagai gantinya. Tapi simpan cadangan yang bagus.
Banyak penggunaan LVM RAID (dan bahkan mdadm RAID) diambil alih oleh hal-hal seperti sistem penyimpanan cluster / objek, ZFS, dan btrfs. Saya sarankan juga menyelidiki mereka, mereka mungkin lebih baik memenuhi kebutuhan Anda.
Terima kasih
Saya ingin mengucapkan terima kasih kepada psusi karena membuat saya mengunjungi kembali LVM-RAID dan memperbarui pos ini.
Catatan kaki
Saya menduga Anda bisa menggunakan perangkat mapper untuk merekatkan metadata dan data bersama-sama sedemikian rupa sehingga
mdadm --assemble
akan membawanya. Tentu saja, Anda bisa menjalankanmdadm
volume logis dengan baik ... dan itu akan lebih waras.Ketika melakukan instalasi Wheezy, saya gagal melakukan ini pertama kali, dan berakhir tanpa konfigurasi grub. Saya harus mem-boot sistem dengan memasukkan semua info di grub prompt. Setelah di-boot, itu berhasil, jadi saya pikir itu akan berfungsi dengan baik dari installer. Jika Anda berakhir di prompt grub, berikut adalah garis ajaib yang harus diketik:
PS: Sudah lama saya tidak melakukan eksperimen aslinya. Saya telah membuat catatan asli saya tersedia. Perhatikan bahwa saya sekarang telah melakukan yang lebih baru, tercakup dalam jawaban ini, dan tidak dalam catatan itu.
sumber
dpkg-deb
menyediakan cara yang lebih bersih untuk mengekstrak file dari paket deb, tidak perlu melompat-lompat secara bertahap.dpkg-deb
tersedia di lingkungan pemasang? Dulu tidak ... Pastikan untuk memeriksa Wheezy juga.ar -x
harus bekerja terlalu keras untuk membongkar arsip deb, meskipun itu adalah clumsier. Juga, bagaimana dengan memperbarui jawaban Anda dengan status saat ini?Saya tidak tahu LVM bisa melakukan RAID juga. Secara pribadi, saya akan tetap dengan mdadm karena ini adalah perangkat lunak yang jauh lebih matang yang melakukan hal yang sama. Jika ada yang rusak dengan LVM RAID, Anda mungkin tidak akan bisa mendapatkan banyak dukungan daripada jika Anda menggunakan mdadm. Selain itu, saya tidak akan mempercayai LVM RAID karena LVM secara historis terbukti bukan perangkat lunak yang paling kuat.
ZFS dan BTRFS adalah masa depan. Manfaat yang mereka berikan melampaui apa yang mungkin di lapisan blok. Kecuali saya mengincar kompatibilitas, saya tidak akan menggunakan LVM / mdadm lagi. ZFS dan BTRFS memiliki banyak fitur seperti kompresi, deduplikasi, dan copy-on-write, tetapi saya tidak akan membahasnya di sini, karena akan sedikit keluar dari ruang lingkup.
Pada akhirnya, lakukan riset dan gunakan apa pun yang sesuai dengan kebutuhan / keinginan Anda.
sumber
LVM+XFS
daripada BTRFS. Mereka mendukung BTRFS tetapi itu lebih merupakan masalah Oracle / SuSE.