Versi 1.0
Penulis:Falko Timme
Terakhir diperbarui:02-09-2015
Panduan ini menunjukkan cara bekerja dengan LVM (Logical Volume Management) di Linux. Ini juga menjelaskan cara menggunakan LVM bersama dengan RAID1 dalam bab tambahan. Karena LVM adalah topik yang agak abstrak, artikel ini dilengkapi dengan gambar VMware Debian Etch yang dapat Anda unduh dan mulai, dan pada sistem Debian Etch Anda dapat menjalankan semua perintah yang saya jalankan di sini dan membandingkan hasil Anda dengan milik saya. Melalui pendekatan praktis ini, Anda akan terbiasa dengan LVM dengan sangat cepat.
Namun, saya tidak memberikan jaminan apa pun bahwa tutorial ini akan berhasil untuk Anda!
1 Catatan Awal
Tutorial ini terinspirasi dari dua artikel yang saya baca:
- http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html
- http://www.debian-administration.org/articles/410
Ini adalah artikel yang bagus, tetapi sulit dipahami jika Anda belum pernah bekerja dengan LVM sebelumnya. Itulah mengapa saya membuat image Debian Etch VMware yang dapat Anda unduh dan jalankan di VMware Server atau VMware Player (lihat https://www.howtoforge.com/import_vmware_images untuk mempelajari cara melakukannya).
Saya menginstal semua alat yang kami butuhkan selama panduan ini di sistem Debian Etch (dengan menjalankan
apt-get install lvm2 dmsetup mdadm reiserfsprogs xfsprogs
) jadi Anda tidak perlu khawatir tentang itu.
Jaringan sistem Debian Etch dikonfigurasi melalui DHCP, jadi Anda tidak perlu khawatir tentang alamat IP yang bertentangan. Kata sandi root adalah howtoforge. Anda juga dapat terhubung ke sistem itu dengan klien SSH seperti Putty. Untuk mengetahui alamat IP sistem Debian Etch, jalankan
ifconfig
Sistem ini memiliki enam hard disk SCSI, /dev/sda - /dev/sdf. /dev/sda digunakan untuk sistem Debian Etch itu sendiri, sementara kita akan menggunakan /dev/sdb - /dev/sdf untuk LVM dan RAID. /dev/sdb - /dev/sdf masing-masing memiliki ruang disk 80GB. Pada awalnya kita akan bertindak seolah-olah masing-masing hanya memiliki ruang disk 25GB (sehingga masing-masing hanya menggunakan 25GB), dan dalam tutorial ini kita akan "mengganti" hard disk 25GB dengan hard disk 80GB, dengan demikian menunjukkan bagaimana Anda dapat mengganti hard disk kecil dengan yang lebih besar di LVM.
Artikel http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html menggunakan hard disk 250GB dan 800GB, tetapi beberapa perintah seperti pvmove mengambil lama dengan ukuran hard disk seperti itu, makanya saya memutuskan untuk menggunakan hard disk 25GB dan 80GB (cukup untuk memahami cara kerja LVM).
1.1 Ringkasan
Unduh image Debian Etch VMware ini (~310MB) dan mulai seperti ini. Login sebagai root dengan password howtoforge.
2 Tata Letak LVM
Pada dasarnya LVM terlihat seperti ini:
Anda memiliki satu atau lebih volume fisik (/dev/sdb1 - /dev/sde1 dalam contoh kami), dan pada volume fisik ini Anda membuat satu atau lebih grup volume (misalnya fileserver), dan di setiap grup volume Anda dapat membuat satu atau lebih volume logis. Jika Anda menggunakan beberapa volume fisik, setiap volume logis dapat lebih besar dari salah satu volume fisik yang mendasarinya (tetapi tentu saja jumlah volume logis tidak dapat melebihi total ruang yang ditawarkan oleh volume fisik).
Ini adalah praktik yang baik untuk tidak mengalokasikan ruang penuh ke volume logis, tetapi meninggalkan beberapa ruang yang tidak digunakan. Dengan begitu Anda dapat memperbesar satu atau lebih volume logis nanti jika Anda merasa perlu.
Dalam contoh ini kita akan membuat grup volume yang disebut fileserver, dan kita juga akan membuat volume logis /dev/fileserver/share, /dev/fileserver/backup, dan /dev/fileserver/media (yang hanya akan menggunakan setengah dari ruang ditawarkan oleh volume fisik kami untuk saat ini - dengan cara itu kami dapat beralih ke RAID1 nanti (juga dijelaskan dalam tutorial ini)).
3 Penyiapan LVM Pertama Kami
Mari kita cari tahu tentang hard disk kita:
fdisk -l
Outputnya terlihat seperti ini:
server1:~# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 18 144553+ 83 Linux
/dev/sda2 19 2450 19535040 83 Linux
/dev/sda4 2451 2610 1285200 82 Linux swap / Solaris
Disk /dev/sdb: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sdc: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdc doesn't contain a valid partition table
Disk /dev/sdd: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdd doesn't contain a valid partition table
Disk /dev/sde: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sde doesn't contain a valid partition table
Disk /dev/sdf: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdf doesn't contain a valid partition table
Belum ada partisi di /dev/sdb - /dev/sdf. Kami akan membuat partisi /dev/sdb1, /dev/sdc1, /dev/sdd1, dan /dev/sde1 dan membiarkan /dev/sdf tidak tersentuh untuk saat ini. Kami bertindak seolah-olah hard disk kami hanya memiliki ruang 25GB, bukan 80GB untuk saat ini, oleh karena itu kami menetapkan 25GB ke /dev/sdb1, /dev/sdc1, /dev/sdd1, dan /dev/sde1:
fdisk /dev/sdb
server1:~# fdisk /dev/sdb
Jumlah silinder untuk disk ini disetel ke 10443.
Tidak ada yang salah dengan itu, tetapi ini lebih besar dari 1024,
dan dapat dalam penyiapan tertentu menyebabkan masalah dengan:
1) perangkat lunak yang berjalan saat boot (mis., versi lama LILO)
2) perangkat lunak boot dan partisi dari OS lain
, (mis. DOS FDISK, OS/2 FDISK)
Command (m for help): <-- m
Command action
a beralih a flag yang dapat di-boot
b edit bsd disklabel
c mengaktifkan tanda kompatibilitas dos
d menghapus partisi
l daftar jenis partisi yang diketahui
m cetak menu ini
tambahan a tabel partisi DOS kosong baru
p mencetak tabel partisi
q berhenti tanpa menyimpan perubahan
s buat disklabel Sun kosong yang baru
t < ubah sistem ubah unit tampilan/entri
v verifikasi tabel partisi w tulis tabel ke disk dan keluar
x fungsi ekstra (khusus pakar)
Perintah (m untuk bantuan): <- n
Tindakan perintah
e diperpanjang
p partisi primer (1-4)
<-- p
Nomor partisi (1-4): <-- 1
Silinder pertama (1-10443, default 1):<--
Menggunakan nilai default 1
Terakhir silinder atau +ukuran atau +ukuranM atau +ukuranK (1-10443, default 10443): <-- +25000M
Perintah (m untuk bantuan): <-- t
Partisi yang dipilih 1
Kode hex (ketik L untuk mencantumkan kode): <-- L
0 Kosong 1e tersembunyi w95 fat1 80 lama minix be solaris boot
1 fat12 24 nec dos 81 minix/lin lama bf solaris
2 xenix root 39 Plan 9 82 Linux Swap/SO C1 DRDOS/SEC (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 tersembunyi C prep boot 85 linux diperpanjang c7 syrinx
6 fat16 42 sfs 86 ntfs volume set DA non-fs data
7 hpfs/ntfs 4d qnx4.x 87 ntfs set volume db cp/m/ctos/. BR /> 8 AIX 4E QNX4.X Bagian ke -2 88 Linux Plaintext De Dell Utility
9 AIX BOOTABLE 4F QNX4.X BAGIAN 3E 8E Linux LVM DF BOOTIT
OS /2 BOOT MANAG 50 ONTRACK DM 93 AMOBA e1 akses DOS
b W95 FAT32 51 OnTrack DM6 Aux 94 Amuba BBT e3 DOS R/O
c W95 FAT32 (LBA) 52 CP/ LBA) 53 Ontrack DM6 AUX A0 IBM Thinkpad Hi Eb Beos Fs
f w95 ext'd (lba) 54 onttrackdm6 a5 freebsd ee efi gpt
10 opus 55 ez-drive a6 openbsd ef efi (fat-12 /16/
11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
12 Diagnosis Compaq 5c Priam Edisk a8 F1 Speedstor
14 Hidden Fat16 <3 61 Speedstor A9 Netbsd F4 Speedstor
16 Hidden Fat16 63 Gnu Hurd atau Sys Ab Darwin Boot F2 Dos Secondary
17 HIDDEN HPFS /NTF 64 NEVELL Netware B7 BSDI FS id /> Kode hex (ketik L untuk mencantumkan kode): <-- 8e
Mengubah jenis sistem partisi 1 menjadi 8e (Linux LVM)
Command (m untuk bantuan): <-- w
Tabel partisi telah diubah!
Memanggil ioctl() untuk membaca ulang tabel partisi.
Menyinkronkan disk.
Sekarang kita melakukan hal yang sama untuk hard disk /dev/sdc - /dev/sde:
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
Kemudian jalankan
fdisk -l
lagi. Outputnya akan terlihat seperti ini:
server1:~# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 18 144553+ 83 Linux
/dev/sda2 19 2450 19535040 83 Linux
/dev/sda4 2451 2610 1285200 82 Linux swap / Solaris
Disk /dev/sdb: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 3040 24418768+ 8e Linux LVM
Disk /dev/sdc: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 3040 24418768+ 8e Linux LVM
Disk /dev/sdd: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdd1 1 3040 24418768+ 8e Linux LVM
Disk /dev/sde: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sde1 1 3040 24418768+ 8e Linux LVM
Disk /dev/sdf: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdf doesn't contain a valid partition table
Sekarang kita siapkan partisi baru kita untuk LVM:
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
server1:~# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdc1" successfully created
Physical volume "/dev/sdd1" successfully created
Physical volume "/dev/sde1" successfully created
Mari kita kembalikan tindakan terakhir ini untuk tujuan pelatihan:
pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
server1:~# pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
Labels on physical volume "/dev/sdb1" successfully wiped
Labels on physical volume "/dev/sdc1" successfully wiped
Labels on physical volume "/dev/sdd1" successfully wiped
Labels on physical volume "/dev/sde1" successfully wiped
Kemudian jalankan
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
lagi:
server1:~# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdc1" successfully created
Physical volume "/dev/sdd1" successfully created
Physical volume "/dev/sde1" successfully created
Sekarang jalankan
pvdisplay
untuk mempelajari tentang status volume fisik Anda saat ini:
server1:~# pvdisplay
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 23.29 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID G8lu2L-Hij1-NVde-sOKc-OoVI-fadg-Jd1vyU
--- NEW Physical volume ---
PV Name /dev/sdc1
VG Name
PV Size 23.29 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 40GJyh-IbsI-pzhn-TDRq-PQ3l-3ut0-AVSE4B
--- NEW Physical volume ---
PV Name /dev/sdd1
VG Name
PV Size 23.29 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 4mU63D-4s26-uL00-r0pO-Q0hP-mvQR-2YJN5B
--- NEW Physical volume ---
PV Name /dev/sde1
VG Name
PV Size 23.29 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 3upcZc-4eS2-h4r4-iBKK-gZJv-AYt3-EKdRK6