LVM dan pemulihan bencana


13

Saya mengerti apa itu LVM dan apa yang dicapai, tetapi saya merasa seperti saya kehilangan beberapa hal.

Katakanlah kita memiliki dua drive fisik, sda dan sdb. Keduanya 100 Meg. Saya memasukkan mereka ke VolumeGroup1 dan membuat satu 200 mc LogicalVolume1.

Apa yang akan terjadi jika saya membuat file 150 mcg? Apakah 100 MB secara fisik ada di sda dan 50 di sdb? Jika demikian, apa yang memberitahu OS bahwa sepotong file ada di satu drive, dan sepotong lainnya di drive lain?

Bagaimana dengan kerusakan drive? Dengan asumsi tidak ada RAID, jika sdb gagal, apakah semua data pada sda akan hilang? Apakah ada cara untuk mengontrol file apa pada drive fisik apa?

Bagaimana Anda umumnya mengelola LVM? Apakah Anda membuat satu atau dua Grup Volume besar kemudian membuat partisi seperti yang masuk akal? Ada tips lain?


1
Jika Anda ingin menghindari redundansi serangan, media besar dan dapat hidup dengan kegagalan disk tunggal, ini mungkin cocok untuk Anda: serverfault.com/a/543684/165065
DennisH

Jawaban:


15

Katakanlah kita memiliki dua drive fisik, sda dan sdb. Keduanya 100 Meg. Saya memasukkan mereka ke VolumeGroup1 dan membuat satu 200 meg LogicalVolume1.
Apa yang akan terjadi jika saya membuat file 150 mcg? Apakah 100 MB secara fisik ada di sda dan 50 di sdb?

Benar (dengan asumsi sistem file kosong sebelum file dibuat).

Jika demikian, apa yang memberitahu OS bahwa sepotong file ada di satu drive, dan sepotong lainnya di drive lain?

LVM memberi tahu sistem operasi bahwa ada satu disk 200MB. Bagian LVM dari kernel (terdiri dari dua bagian, alat manajemen userspace dan driver kernel) kemudian akan memetakan apa yang dilihat sistem operasi ke lokasi fisik / blok pada disk.

Bagaimana dengan kerusakan drive? Dengan asumsi tidak ada RAID, jika sdb gagal, apakah semua data pada sda akan hilang? Apakah ada cara untuk mengontrol file apa pada drive fisik apa?

Ya, pertimbangkan data yang hilang.

Jika Anda membuat Volume Logical lebih kecil maka Anda dapat menggunakan pvmoveperintah untuk memindahkannya dari disk ke disk.

Bagaimana Anda umumnya mengelola LVM? Apakah Anda membuat satu atau dua Grup Volume besar kemudian membuat partisi seperti yang masuk akal? Ada tips lain?

Saya cenderung membuat Grup Volume besar dan kemudian membuat Volume Logis sesuai kebutuhan. Tidak perlu mengalokasikan seluruh ruang dalam Grup Volume sepenuhnya; mengalokasikannya saat dibutuhkan. Sangat mudah untuk meningkatkan ukuran Volume Logical, dan hampir semua sistem file modern juga dapat dengan mudah dikembangkan.


Anda yakin tentang yang pertama? Saya pikir biasanya LVM default untuk striping, sehingga 150 MB file akan cenderung memiliki sekitar 75 mcg pada setiap drive
freiheit

2
Strip tidak dibuat kecuali jika Anda menentukan --stripes <num>(pendek -i <num>) ketika Anda membuat Volume Logis.
pgs

PS, balasan saya di sini berisi skrip yang akan menunjukkan kepada Anda PV mana yang digunakan masing-masing LV: serverfault.com/questions/28592/…
pgs

@ freiheit, pgs benar, defaultnya adalah untuk memperpanjang, bukan stripe, volume.
Avery Payne

tentang mengelola, saya bersedia membuat satu grup LVM ke 3 HD saya, tetapi hanya membuat volume logis terbatas pada volume fisik, dan kemudian, hanya menggunakan ruang yang tersedia untuk membuat snapshot; apakah Anda yakin ini adalah yang paling aman bagi pengguna rumahan (yang tidak memiliki razia atau uang untuk segera mengganti barang)?
Aquarius Power

4

Hal mendasar yang memungkinkan LVM dan Software Raid di Linux berfungsi adalah device mapper yang merupakan bagian dari kernel. Inilah yang mengabstraksi alamat blok perangkat fisik ke perangkat blok virtual yang Anda gunakan.

Ketika menggunakan LVM seperti apa pun ketika datang ke data Anda harus menyadari dampak ketersediaan data. Itu bukan untuk mengatakan bahwa LVM berbahaya pada kenyataannya ketika praktik yang tepat digunakan itu berdampak pada ketersediaan minimal.

Dalam skenario yang Anda sarankan dalam pertanyaan Anda, ketersediaan data Anda akan sama dengan RAID0 di mana jika ada drive gagal itu akan mengakibatkan kehilangan data.

Dalam praktiknya saya tidak akan menggunakan LVM tanpa menjalankannya pada semacam RAID. Saya telah menggunakan LVM pada server file 30TB yang memiliki sekitar 20 volume Hardware RAID5 dalam satu VG. Tetapi jika Anda memiliki Extent gratis yang cukup, Anda dapat menggunakan pvmove untuk memigrasi data dari satu atau lebih PV jika itu mulai memberi Anda masalah.

Tetapi selalu memiliki strategi cadangan di tempat yang diuji dari waktu ke waktu.


3

Bagaimana Anda umumnya mengelola LVM? Apakah Anda membuat satu atau dua Grup Volume besar kemudian membuat partisi seperti yang masuk akal?

Strategi umum saya adalah untuk menempatkan ke dalam kelompok volume yang terpisah volume fisik yang mungkin dapat dimigrasi (secara keseluruhan) ke sistem lain.

Jika Anda memiliki penyimpanan eksternal, ada baiknya untuk meletakkannya di grup volume terpisah. Secara fisik mudah untuk memutuskan sambungan dari komputer ini dan terhubung ke yang lain, sehingga secara logis juga mudah untuk mengekspor / mengimpornya dalam LVM, menjaga data tetap utuh.

Jika Anda sudah memiliki vg00 pada disk internal, dan kemudian Anda membeli disk internal lain untuk mesin Anda, tanyakan pada diri Anda pertanyaan: apakah data pada disk baru terikat ke vg00, dan tidak akan ada gunanya bergerak data ke sistem lain? Dalam hal ini, itu harus menjadi bagian dari vg00. Kalau tidak, saya akan membuat vg01, karena dapat dengan mudah diekspor / diimpor sendiri.


0

Jika Anda memiliki dua drive sebagai volume fisik dalam grup seperti itu, maka yang Anda miliki adalah array JBOD (Just a Bunch Of Disks). Jika salah satu drive gagal, Anda tidak akan lebih terlindungi daripada jika drive diatur dalam array RAID0.

Anda tidak dapat secara langsung mengontrol apa yang terjadi di mana pada dua drive jika Anda memiliki satu volume logis dalam grup volume (karena ini akan dikendalikan oleh sistem file dalam volume, bukan LVM) meskipun jika Anda membagi grup volume menjadi beberapa volume logis Anda dapat secara manual memesan kreasi mereka sehingga volume logis yang diberikan ada di drive yang diberikan.

Saya percaya bahwa setiap PV dalam VG memiliki salinan tata letak LV dan data tidak dilucuti seperti dengan RAID0, sehingga Anda memiliki lebih banyak kesempatan untuk memulihkan sesuatu jika salah satu drive Anda gagal tetapi jika kehilangan data menjadi perhatian sama sekali Saya tidak akan mempertimbangkan menggunakan dua drive dengan cara ini sama sekali (via LVM atau RAID0).


0

Apa yang akan terjadi jika saya membuat file 150 mcg? Apakah 100 MB secara fisik ada di sda dan 50 di sdb? Jika demikian, apa yang memberitahu OS bahwa sepotong file ada di satu drive, dan sepotong lainnya di drive lain?

LVM (Logical Volume Manager) mengumpulkan volume fisik ke dalam grup volume. Setiap volume fisik (drive itu sendiri) memiliki potongan kecil yang disebut luasan fisik. Extent ini memiliki pengidentifikasi unik di disk. Sebenarnya mereka diberi nomor urut. Ketika Anda membuat volume logis, itu telah dibangun dari luasan logis yang dipasangkan dengan luasan fisik. Extent logis memiliki ID uniq dalam volume logis. Di HP-UX Anda dapat memeriksa tingkat logis mana yang dipasangkan dengan tingkat fisik mana. Di SLES11 saya tidak tahu cara memeriksanya. lvdisplay --mapsharus baik tetapi tidak perferct (untuk saya).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.