Logical Volume Manager (LVM) adalah sistem mirip RAID berbasis perangkat lunak yang memungkinkan Anda membuat "kumpulan" penyimpanan dan menambahkan ruang hard drive ke kumpulan tersebut sesuai kebutuhan. Ada banyak alasan untuk menggunakannya, terutama di pusat data atau tempat di mana persyaratan penyimpanan berubah seiring waktu. Banyak distribusi Linux menggunakannya secara default untuk instalasi desktop, karena pengguna merasa fleksibilitasnya nyaman dan ada beberapa fitur enkripsi bawaan yang disederhanakan oleh struktur LVM.
Namun, jika Anda tidak terbiasa melihat volume LVM saat mem-boot Live CD untuk tujuan penyelamatan atau migrasi data, LVM dapat membingungkan karena mount perintah tidak dapat memasang volume LVM. Untuk itu, Anda perlu menginstal alat LVM. Kemungkinan besar distribusi Anda memiliki utilitas LVM yang tersedia—jika belum diinstal.
Tutorial ini menjelaskan cara membuat dan menangani volume LVM.
Buat kumpulan LVM
Lebih banyak sumber daya Linux
- Lembar contekan perintah Linux
- Lembar contekan perintah Linux tingkat lanjut
- Kursus online gratis:Ikhtisar Teknis RHEL
- Lembar contekan jaringan Linux
- Lembar contekan SELinux
- Lembar contekan perintah umum Linux
- Apa itu container Linux?
- Artikel Linux terbaru kami
Artikel ini mengasumsikan Anda memiliki pengetahuan tentang cara berinteraksi dengan hard drive di Linux. Jika Anda memerlukan informasi lebih lanjut tentang dasar-dasarnya sebelum melanjutkan, baca pengantar saya tentang hard drive di Linux.
Biasanya, Anda tidak perlu menyiapkan LVM sama sekali. Saat Anda menginstal Linux, sering kali secara default membuat "kumpulan" penyimpanan virtual dan menambahkan hard drive mesin Anda ke kumpulan itu. Namun, membuat kumpulan penyimpanan LVM secara manual adalah cara yang bagus untuk mempelajari apa yang terjadi di balik layar.
Anda dapat berlatih dengan dua thumb drive cadangan dengan ukuran berapa pun, atau dua hard drive, atau mesin virtual dengan dua drive imajiner yang ditentukan.
Pertama, format drive imajiner /dev/sdx sehingga Anda memiliki drive baru yang siap digunakan untuk demo ini.
# echo "warning, this ERASES everything on this drive."
warning, this ERASES everything on this drive.
# dd if=/dev/zero of=/dev/sdx count=8196
# parted /dev/sdx print | grep Disk
Disk /dev/sdx: 100GB
# parted /dev/sdx mklabel gpt
# parted /dev/sdx mkpart primary 1s 100%
Perintah LVM ini membuat kumpulan penyimpanan. Kumpulan dapat terdiri dari satu atau lebih drive, dan saat ini terdiri dari satu drive. Contoh kumpulan penyimpanan ini diberi nama biliar , tapi Anda bisa menyebutnya apa saja.
# vgcreate billiards /dev/sdx1
Sekarang Anda memiliki kumpulan ruang penyimpanan yang besar dan samar-samar. Saatnya untuk membagikannya. Untuk membuat dua volume logis (Anda dapat menganggapnya sebagai drive virtual), yang disebut vol0 dan yang lainnya disebut vol1 , masukkan berikut ini:
# lvcreate billiards 49G --name vol0
# lvcreate billiards 49G --name vol1
Sekarang Anda memiliki dua volume yang diukir dari satu kumpulan penyimpanan, tetapi keduanya belum memiliki sistem file. Untuk membuat sistem file pada setiap volume, Anda harus membawa bilyar grup volume online.
# vgchange --activate y billiards
Sekarang buat sistem file. -L option menyediakan label untuk drive, yang ditampilkan saat drive dipasang di desktop Anda. Jalur ke volume sedikit berbeda dari jalur perangkat yang biasa Anda gunakan karena ini adalah perangkat virtual dalam kumpulan penyimpanan LVM.
# mkfs.ext4 -L finance /dev/billiards/vol0
# mkfs.ext4 -L production /dev/billiards/vol1
Anda dapat memasang volume baru ini di desktop atau dari terminal.
# mkdir -p /mnt/vol0 /mnt/vol1
# mount /dev/billiards/vol0 /mnt/vol0
# mount /dev/billiards/vol1 /mnt/vol1
Tambahkan ruang ke kolam Anda
Sejauh ini, LVM tidak menyediakan apa pun selain mempartisi drive yang biasanya disediakan:dua bagian ruang drive yang berbeda pada satu drive fisik (dalam contoh ini, 49GB dan 49GB pada drive 100GB). Bayangkan sekarang bahwa departemen keuangan membutuhkan lebih banyak ruang. Secara tradisional, Anda harus merestrukturisasi. Mungkin Anda akan memindahkan data departemen keuangan ke drive fisik khusus yang baru, atau mungkin Anda akan menambahkan drive dan kemudian menggunakan peretasan symlink yang jelek untuk memberi pengguna akses mudah ke ruang penyimpanan tambahan mereka. Namun, dengan LVM, yang harus Anda lakukan hanyalah memperluas kumpulan penyimpanan.
Anda dapat menambahkan ruang ke kumpulan Anda dengan memformat drive lain dan menggunakannya untuk membuat lebih banyak ruang tambahan.
Pertama, buat partisi pada drive baru yang Anda tambahkan ke kumpulan.
# part /dev/sdy mkpart primary 1s 100%
Kemudian gunakan vgextend perintah untuk menandai drive baru sebagai bagian dari kumpulan.
# vgextend billiards /dev/sdy1
Terakhir, dedikasikan sebagian dari kumpulan penyimpanan yang baru tersedia ke volume logis yang sesuai.
# lvextend -L +49G /dev/billiards/vol0
Tentu saja, ekspansi tidak harus begitu linier. Bayangkan departemen produksi tiba-tiba membutuhkan 100TB ruang tambahan. Dengan LVM, Anda dapat menambahkan drive fisik sebanyak yang diperlukan, menambahkan masing-masing drive dan menggunakan vgextend untuk membuat kumpulan penyimpanan 100 TB, lalu gunakan lvextend untuk "memperpanjang" ruang penyimpanan departemen produksi hingga 100 TB dari ruang yang tersedia.
Gunakan utils untuk memahami struktur penyimpanan Anda
Setelah Anda mulai menggunakan LVM dengan sungguh-sungguh, lanskap penyimpanan bisa menjadi luar biasa. Ada dua perintah untuk mengumpulkan informasi tentang struktur infrastruktur penyimpanan Anda.
Pertama, ada vgdisplay , yang menampilkan informasi tentang grup volume Anda (Anda dapat menganggap ini sebagai drive virtual tingkat tinggi LVM yang besar).
# vgdisplay
--- Volume group ---
VG Name billiards
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size <237.47 GiB
PE Size 4.00 MiB
Total PE 60792
Alloc PE / Size 60792 / <237.47 GiB
Free PE / Size 0 / 0
VG UUID j5RlhN-Co4Q-7d99-eM3K-G77R-eDJO-nMR9Yg
Yang kedua adalah lvdisplay , yang menampilkan informasi tentang volume logis Anda (Anda dapat menganggapnya sebagai drive yang menghadap pengguna).
# lvdisplay
--- Logical volume ---
LV Path /dev/billiards/finance
LV Name finance
VG Name billiards
LV UUID qPgRhr-s0rS-YJHK-0Cl3-5MME-87OJ-vjjYRT
LV Write Access read/write
LV Creation host, time localhost, 2018-12-16 07:31:01 +1300
LV Status available
# open 1
LV Size 149.68 GiB
Current LE 46511
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:3
[...]
Gunakan LVM di lingkungan penyelamatan
"Masalah" dengan LVM adalah ia membungkus partisi dengan cara yang tidak biasa bagi banyak pengguna administratif yang terbiasa dengan partisi drive tradisional. Dalam keadaan normal, drive LVM diaktifkan dan dipasang secara tidak terlihat selama proses boot atau integrasi LVM desktop. Ini bukan sesuatu yang biasanya harus Anda pikirkan. Ini hanya menjadi masalah ketika Anda menemukan diri Anda dalam mode pemulihan setelah ada yang tidak beres dengan sistem Anda.
Jika Anda perlu memasang volume yang "tersembunyi" di dalam struktur LVM, Anda harus memastikan bahwa rantai alat LVM diinstal. Jika Anda memiliki akses ke /usr/sbin . Anda direktori, Anda mungkin memiliki akses ke semua perintah LVM Anda yang biasa. Tetapi jika Anda telah mem-boot ke shell minimal atau lingkungan penyelamatan, Anda mungkin tidak memiliki alat itu. Lingkungan penyelamatan yang baik telah menginstal LVM, jadi jika Anda berada di shell minimal, temukan sistem penyelamatan yang melakukannya. Jika Anda menggunakan disk penyelamat dan tidak menginstal LVM, instal secara manual atau temukan disk penyelamat yang sudah memilikinya.
Demi pengulangan dan kejelasan, berikut cara memasang volume LVM.
# vgchange --activate y
2 logical volume(s) in volume group "billiards" now active
# mkdir /mnt/finance
# mount /dev/billiards/finance /mnt/finance
Integrasikan LVM dengan enkripsi LUKS
Banyak distribusi Linux menggunakan LVM secara default saat menginstal sistem operasi. Ini memungkinkan ekstensi penyimpanan nanti, tetapi juga terintegrasi dengan baik dengan enkripsi disk yang disediakan oleh rantai alat enkripsi Linux Unified Key Setup (LUKS).
Enkripsi cukup penting, dan ada dua cara untuk mengenkripsi sesuatu:Anda dapat mengenkripsi berdasarkan per-file dengan alat seperti GnuPG, atau Anda dapat mengenkripsi seluruh partisi. Di Linux, mengenkripsi partisi menjadi mudah dengan LUKS, yang sepenuhnya terintegrasi ke dalam Linux melalui modul kernel, memungkinkan drive dipasang untuk membaca dan menulis tanpa hambatan.
Mengenkripsi seluruh drive utama Anda biasanya terjadi sebagai opsi selama instalasi. Anda memilih untuk mengenkripsi seluruh drive Anda atau hanya partisi rumah Anda saat diminta, dan sejak saat itu Anda menggunakan LUKS. Ini sebagian besar tidak terlihat oleh Anda, selain dari prompt kata sandi saat boot.
Jika distribusi Anda tidak menawarkan opsi ini selama penginstalan, atau jika Anda hanya ingin mengenkripsi drive atau partisi secara manual, Anda dapat melakukannya.
Anda dapat mengikuti contoh ini dengan menggunakan drive cadangan; Saya menggunakan thumb drive kecil 4 GB.
Pertama, colokkan drive ke komputer Anda. Pastikan aman untuk menghapus drive dan menggunakan lsblk untuk menemukan drive di sistem Anda.
Jika drive belum dipartisi, partisi sekarang. Jika Anda tidak tahu cara mempartisi drive, lihat tautan di atas untuk petunjuknya.
Sekarang Anda dapat mengatur enkripsi. Pertama, format partisi dengan cryptsetup perintah.
# cryptsetup luksFormat /dev/sdx1
Perhatikan bahwa Anda mengenkripsi partisi , bukan drive fisik itu sendiri. Anda akan melihat peringatan bahwa LUKS akan menghapus drive Anda; Anda harus menerimanya untuk melanjutkan. Anda akan diminta untuk membuat frasa sandi, jadi lakukan itu. Jangan lupa kata sandi itu. Tanpa itu, Anda tidak akan pernah bisa masuk ke drive itu lagi!
Anda telah mengenkripsi partisi thumb drive, tetapi belum ada sistem file di drive tersebut. Tentu saja, Anda tidak dapat menulis sistem file ke drive saat Anda terkunci, jadi buka drive dengan LUKS terlebih dahulu. Anda dapat memberikan nama yang ramah manusia untuk drive Anda; untuk contoh ini, saya menggunakan mySafeDrive .
# cryptsetup luksOpen /dev/sdx1 mySafeDrive
Masukkan frasa sandi Anda untuk membuka drive.
Lihat di /dev/mapper dan Anda akan melihat bahwa Anda telah memasang volume bersama dengan volume LVM lain yang mungkin Anda miliki, yang berarti Anda sekarang memiliki akses ke drive itu. Nama kustom (mis., mySafeDrive) adalah symlink ke penanda yang dibuat secara otomatis di /dev/mapper . Anda dapat menggunakan salah satu jalur saat mengoperasikan drive ini.
# ls -l /dev/mapper/mySafeDrive
lrwxrwxrwx. 1 root root 7 Oct 24 03:58 /dev/mapper/mySafeDrive -> ../dm-4
Buat sistem file Anda.
# mkfs.ext4 -o Linux -L mySafeExt4Drive /dev/mapper/mySafeDrive
Sekarang lakukan ls -lh di /dev/mapper dan Anda akan melihat bahwa mySafeDrive sebenarnya adalah symlink ke beberapa pengembang lain; mungkin /dev/dm0 atau serupa. Itulah sistem file yang dapat Anda pasang:
# mount /dev/mapper/mySafeExt4Drive /mnt/hd
Sekarang sistem file pada drive terenkripsi sudah terpasang. Anda dapat membaca dan menulis file seperti yang diharapkan dengan drive apa pun.
Gunakan drive terenkripsi dengan desktop
LUKS dibangun ke dalam kernel, sehingga sistem Linux Anda sepenuhnya mengetahui cara menanganinya. Lepaskan drive, pasang kembali, dan pasang dari desktop Anda. Di pengelola file Dolphin KDE, Anda akan dimintai kata sandi sebelum drive didekripsi dan dipasang.
Menggunakan LVM dan LUKS itu mudah, dan memberikan fleksibilitas bagi Anda sebagai pengguna dan admin. Diintegrasikan dengan erat ke dalam Linux itu sendiri, ini didukung dengan baik dan cara yang bagus untuk menambahkan lapisan keamanan ke data Anda. Cobalah hari ini!