- Fleksible dalam pengaturan ukuran partisi, sehingga mudah ditambah atau dikurangi (tentu dengan memperhatikan file dan maksimal hardisk).
- Penggantian hardisk bisa secara online, tidak perlu mematikan sistem.
- Menyediakan fitur backup, yang dapat menyimpan keadaan storage dalam waktu tertentu.
- Logical volume dapapt diberi label sesuai keperluan, misalnya "gudang" atau "personalia", bukan seperti sda1, sdc, dll.
Urutan untuk menggunakan metode logical volume management adalah sebagai berikut:
- Physical disk, logical volume management adalah pengelolaan storage secara logic, namun tetap membutuhkan fisik hardisk. Hardisk yang ada harus dibuat partisi terlebih dahulu. Partisi bisa seluruh hardisk ataupun sebagian saja dari hardisk, dan btentu saja bisa terdiri dari beberapa hardisk.
- Physical Volume, Partisi kemudian diubah menjadi physical volume agar bisa digabungkan dengan physical volume lainnnya. Sehingga meningkatkan kapasitas maksimal penyimpanan.
- Volume group, semua physical volume yang sudah dibuat, kemudian digabungkan menjadi satu disebut volume group. Sehingga volume group ini seolah-olah menjadi satu buah hardisk yang berukuran jumlah total semua physical volume yang diatukan.
- Logical volume, menggantikan konsep partisi pada fisik hardisk tradisional.Logical volume diambil dari volume group sama seperti partisi diambil dari hardisk. Kita bisa memberi nama logical volume sesuai kebutuhan, tetapi partisi tidak bisa diberi nama (hanya diberi label).
Kondisi awal sebelum memulai praktik adalah:
- Host OS = Debian wheezy
- Virtual Machine = Virtualbox
- Guest OS = Centos 6.5
- Jumlah hardisk pada guest OS = 5 (sda, sdb, sdc, sdd, sde)
Melihat semua disk fisik dalam sistem
Gunakan command fdisk -l untuk mengetahui hardisk yang ada dalam sistem.
[root@santos ~]# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00029a1f
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 1045 7875584 8e Linux LVM
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x91bb1007
....
....
....
Untuk menghindari terlalu banyak paste di halaman ini, saya potong hasil dari command fidsk -l. Secara keseluruhan, hardisk dalam sistem ada 5, yaitu sda, sdb, sdc, sdd, sde. Hardisk sda adalah disk yang digunakan untuk instalasi.
1. Persiapan hardisk dan partisi fisik
Dalam tahap ini, yang akan kita lakukan adalah membuat partisi dalam hardisk fisik, kemudian mengubah partisi fisik tersebut menjadi physical volume untuk digabungkan menjadi volume group nantinya. Tipe partisi yang dapat digunakan untuk physical volume adalah linux lvm. Untuk membuat partisi, kita gunakan fdisk.
[root@santos ~]# fdisk /dev/sdb
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): 'n'
Command action
e extended
p primary partition (1-4)
'p'
Partition number (1-4): '1'
First cylinder (1-1044, default 1): "enter"
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): "enter"
Using default value 1044
Command (m for help): 't'
Selected partition 1
Hex code (type L to list codes): "8e"
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): 'w'
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Ulangi proses pembuatan partisi dan mengubah partisi menjadi bertipe linux lvm seperti di atas untuk hardisk sdc dan sdd. Hardisk sde akan kita gunakan nanti.
2. Pembuatan physical volume
Hasil dari tahap sebelumnya, sekarang kita memiliki 3 hardisk dengan masing-masing 1 partisi di dalamnya, yaitu sdb1, sdc1, dan sdd1. Ketiga partisi tersebut bertipe linux lvm. Sekarang kita ubah partisi fisik menjadi physical volume. Command yang digunakan adalah pvcreate <path partisi>.
[root@santos ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
[root@santos ~]# pvcreate /dev/sdc1
Physical volume "/dev/sdc1" successfully created
[root@santos ~]# pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created
[root@santos ~]# pvscan
PV /dev/sda2 VG vg_livecd lvm2 [7.51 GiB / 0 free]
PV /dev/sdb1 lvm2 [8.00 GiB]
PV /dev/sdc1 lvm2 [8.00 GiB]
PV /dev/sdd1 lvm2 [8.00 GiB]
Total: 4 [31.50 GiB] / in use: 1 [7.51 GiB] / in no VG: 3 [23.99 GiB]
Seperti yang terlihat, kita sudah berhasil membuat 3 physical volume baru. Untuk memeriksa physical yang ada dalam sistem, gunakan command pvscan, jika ingin melihat info lebih detail tentang tiap-tiap physical disk, gunakan command pvdsiplay.
3. Pembuatan volume group
Setelah physical volume selesai dibuat, kita akan menggabungkan semua physical volume tersebut menjadi sebuah volume group. Kita akan membuat sebuah volume group dengan nama fileserver. Command yang digunakan adalah vgcreate <nama volume group> <path partisi>.
[root@santos ~]# vgcreate fileserver /dev/sdb1 /dev/sdc1 /dev/sdd1
Volume group "fileserver" successfully created
[root@santos ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "fileserver" using metadata type lvm2
Found volume group "vg_livecd" using metadata type lvm2
Volume group dengan nama fileserver sudah berhasil dibuat. Gunakan command vgscan untuk melihat volume group yang ada dalam sistem, gunakan command vgdisplay untuk melihat detail setiap volume group yang ada dalam sistem.
4. Pembuatan logical volume
Konsep logical volume dalam volume group sama dengan konsep partisi dalam hardisk. Untuk membuat logical volume, kita gunakan command lvcreate. Kita akan membuat 3 logical volume dengan nama masing-masing share, media dan backup yang diambil dari volume group fileserver.
[root@santos ~]# lvcreate --size 10G --name share fileserver
Logical volume "share" created
Logical volume dengan nama share dan dengan kapasitas 10GB sudah berhasil dibuat. Selanjutnya membuat logical volume backup dengan kapasitas 2GB
[root@santos ~]# lvcreate --size 2G --name backup fileserver
Logical volume "backup" created
Setelah backup, selanjutnya membuat logical volume media dengan kapasitas 5GB
[root@santos ~]# lvcreate --size 5G --name media fileserver
Logical volume "media" created
Untuk memeriksa hasilnya, gunakan command lvscan. Jika ingin melihat lebih detail mengenai setiap logical volume yang ada di sistem, gunakan command lvdisplay.
[root@santos ~]# lvscan
[root@santos ~]# lvscan
ACTIVE '/dev/fileserver/share' [10.00 GiB] inherit
ACTIVE '/dev/fileserver/media' [5.00 GiB] inherit
ACTIVE '/dev/fileserver/backup' [2.00 GiB] inherit
ACTIVE '/dev/vg_livecd/lv_root' [6.54 GiB] inherit
ACTIVE '/dev/vg_livecd/lv_swap' [992.00 MiB] inherit
5. Pembuatan filesystem pada logical volume
Kita sudah membuat 3 logical volume pada volume group fileserver. Akan tetapi, ketiga logical volume tersebut masih belum dapat digunakan dan belum dapat diisi file karena belum memiliki filesystem. Sekarang kita akan memberikan filesystem pada ketiga logical volume diatas, yaitu dengan filesystem ext3. Kita menggunakan command mkfs.ext3 <path logical volume>.
[root@santos ~]# mkfs.ext3 /dev/fileserver/share
mke2fs 1.41.12 (17-May-2010)
...
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@santos ~]# mkfs.ext3 /dev/fileserver/backup
mke2fs 1.41.12 (17-May-2010)
...
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@santos ~]# mkfs.ext3 /dev/fileserver/media
mke2fs 1.41.12 (17-May-2010)
...
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
6. Mounting logical volume ke dalam sistem
Proses pembuatan logical volume sudah selesai, sekarang kita bisa melakukan mounting logical volume tersebut seperti biasa. Pertama kita siapkan direktori khusus sebagai mount point. Saya akan membuat direktori di /var untuk masing-masing logical volume.
[root@santos ~]# mkdir /var/share
[root@santos ~]# mkdir /var/backup
[root@santos ~]# mkdir /var/media
Setelah direktori khusus dibuat, sekarang kita bisa mounting logical direktori ke dalam sistem.
[root@santos ~]# mount /dev/fileserver/media /var/media
[root@santos ~]# mount /dev/fileserver/share /var/share
[root@santos ~]# mount /dev/fileserver/backup /var/backup
Sekarang setiap logical volume sudah bisa digunakan seperti biasa. Untuk memeriksanya, gunakan command df -h.
[root@santos ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_livecd-lv_root
6.5G 6.2G 270M 96% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 485M 104M 356M 23% /boot
/dev/mapper/fileserver-media
5.0G 139M 4.6G 3% /var/media
/dev/mapper/fileserver-share
9.9G 151M 9.2G 2% /var/share
/dev/mapper/fileserver-backup
2.0G 68M 1.9G 4% /var/backup
7. Mounting logical group secara otomatis setelah boot
Pada point nomor 6, kita melakukan mounting logical volume secara manual. Dengan cara itu, maka setelah restart logical volume yang sudah di mount akan unmount. Agar logical volume bisa dimounting secara otimatis, kita bis menulis konfigurasinya di /etc/fstab. Bukalah /etc/fstab dengan text editor yang sering anda gunakan. Tambahkan baris berikut pada bagian paling bawah:
/dev/fileserver/share /var/share ext3 defaults 0 0
/dev/fileserver/media /var/media ext3 defaults 0 0
/dev/fileserver/backup /var/backup ext3 defaults 0 0
[root@santos ~]# lvreduce -L5G /dev/fileserver/share
WARNING: Reducing active logical volume to 5.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce share? [y/n]: 'y'
Reducing logical volume share to 5.00 GiB
Logical volume share successfully resized
/dev/fileserver/share /var/share ext3 defaults 0 0
/dev/fileserver/media /var/media ext3 defaults 0 0
/dev/fileserver/backup /var/backup ext3 defaults 0 0
Dengan tambahan baris di atas, logical volume yang ada akan otomatis di mounting masing-masing ke /var/share, /var/media, dan /var/backup setiap kali booting. Untuk mencobanya, lakukan reboot pada sistem anda, kemudian cek dengan command df -h.
8. Menambah kapasitas logical volume
Kita sudah melakukan proses pembuatan logical volume dan mounting logical volume tersebut ke dalam sistem. Sekarang kita akan menambah kapasitas penyimpanan dari salah satu logical volume yang telah dibuat. Langkah-langkah yang harus dilakukan adalah menambah kapasitas logical volume, kemudian menambah ukuran filesystem pada logical volume tersebut. Sebelum melakukan perubahan pengaturan pada sebuah logical volume, kita harus meng-unmount terlebih dahulu logical volume tersebut.
[root@santos ~]# umount /var/share
Kita akan menambah kapasitas dari logical volume share. menjadi yang awalnya 10 GB menjadi 12 GB. Command yang dipakai adalah lvextend --size <ukuran baru> <path logical volume>.
[root@santos ~]# lvextend --size 12G /dev/fileserver/share
Extending logical volume share to 12.00 GiB
Logical volume share successfully resized
Setelah menambah kapasitas dari logical volume, langkah selanjutnya adalah menambah kapasitas filesystem ext3 yang kita berikan pada logical volume share pada proses sebelumnya. Command yang dipakai adalah e2fsck -f <path logical volume>.
[root@santos ~]# e2fsck -f /dev/fileserver/share
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/fileserver/share: 11/655360 files (0.0% non-contiguous), 79696/2621440 blocks
Untuk memeriksa kapasitas logical volume share yang baru bisa digunakan command lvscan. Setelah kapasitas ditambahkan, logical volume share bisa dimount lagi seperti cara sebelumnya. Yang perlu diperhatikan adalah ukuran kapasitas baru dari sebuah logical volume tidak boleh melebihi ukuran total volume group.
9. Mengurangi kapasitas logical volume
Setelah berhasil menambah kapasitas, sekarang kita akan mengurangi kapasitas dari logical volume share. Seperti sebelumnya ketika kita menambah kapasitas, untuk mengurangi kapasitas kita juga harus meng-unmont logical volume. Urutan dalam mengurangi kapasitas logical volume terbalik dengan penambahan, pertama harus mengurangi ukuran filesystem kemudian mengurangi kapasitas logical volume tersebut. Sebelumnya, kita unmount logical volume share.
[root@santos ~]# umount /var/share
Kemudian kita kurang ukuran filesystem dalam logical volume tersebut. Untuk mengurangi ukuran filesystem, kita perlu melakukan dua command, pertama e2fsck -f <path logical volume> kemudian resize2fs <path logical volume> <ukuran baru>.
[root@santos ~]# e2fsck -f /dev/fileserver/share
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/fileserver/share: 11/655360 files (0.0% non-contiguous), 79696/2621440 blocks
[root@santos ~]# resize2fs /dev/fileserver/share 5G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/fileserver/share to 1310720 (4k) blocks.
The filesystem on /dev/fileserver/share is now 1310720 blocks long.
Kemudian barulah kita kurangi ukuran logical volume dengan command lvreduce -L<ukuran baru> <path logical volume>.[root@santos ~]# umount /var/share
Kemudian kita kurang ukuran filesystem dalam logical volume tersebut. Untuk mengurangi ukuran filesystem, kita perlu melakukan dua command, pertama e2fsck -f <path logical volume> kemudian resize2fs <path logical volume> <ukuran baru>.
[root@santos ~]# e2fsck -f /dev/fileserver/share
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/fileserver/share: 11/655360 files (0.0% non-contiguous), 79696/2621440 blocks
[root@santos ~]# resize2fs /dev/fileserver/share 5G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/fileserver/share to 1310720 (4k) blocks.
The filesystem on /dev/fileserver/share is now 1310720 blocks long.
[root@santos ~]# lvreduce -L5G /dev/fileserver/share
WARNING: Reducing active logical volume to 5.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce share? [y/n]: 'y'
Reducing logical volume share to 5.00 GiB
Logical volume share successfully resized
10. Menambah hardisk ke dalam volume group
Selanjutnya kita akan melakukan penambahan hardisk ke dalam volume group fileserver. Penambahan hardisk bisa karena ingin memperbesar kapasitas volume group atau mengganti hardisk lain untuk perawatan. Di bagian awal, kita masih memiliki satu hardisk yang belum digunakan, yaitu sde. Sekarang kita akan tambahkan hardisk sde ke dalam sistem logical volume. Sebelum ditambahkan ke dalam volume group fileserver, hardisk sde harus dijadikan physical volume terlebih dahulu. Silakan ikuti proses pembuatan physical volume pada tahap sebelumnya. Saya akan memulai tahap ini dengan asumsi bahwa sde sudah dijadikan physical volume. Command yang digunakan adalah vgextend <nama volume group> <path physical volume>.
[root@santos ~]# vgextend fileserver /dev/sde1
Volume group "fileserver" successfully extended
Untuk memeriksanya, gunakan commang vgdisplay, lihat pada bagian Cur PV dan Act PV, bagian ini menunjukan jumlah physical volume yang ada dalam volume group.
11. Mencopot salah satu hardisk dari sistem
Terkadang setelah beberapa waktu, kinerja hardisk tidak maksimal. Sekarang kita akan mencopot hardisk dari sistem. Setelah sebelumnya kita pasang hardisk baru (sde), sekarang kita akan mencopot salah satu hardisk, yaitu sdb. Kita akan melanjutkan praktik dari sebelumnya, dimana hardisk sde sudah tergabung dalam volume group. Langkah pertama yang harus kita lakukan adalah memindahkan isi dari physical volume, kia gunakan command pvmove <path physical volume sumber> <path physical volume target>.
[root@santos ~]# pvmove /dev/sdb1 /dev/sde1
/dev/sdb1: Moved: 0.5%
/dev/sdb1: Moved: 42.0%
/dev/sdb1: Moved: 83.9%
/dev/sdb1: Moved: 100.0%
/dev/sdb1: Moved: 0.5%
/dev/sdb1: Moved: 42.0%
/dev/sdb1: Moved: 83.9%
/dev/sdb1: Moved: 100.0%
Setelah isi dari physical volume dipindahkan, selanjutnya physical volume dilepaskan dari volume group. Command yang digunakan adalah vgreduce <nama volume group> <path physical volume yang ingin dilepas>.
[root@santos ~]# vgreduce fileserver /dev/sdb1
Removed "/dev/sdb1" from volume group "fileserver"
Removed "/dev/sdb1" from volume group "fileserver"
Gunakan command vgdisplay, lihat bagian Cur PV dan Act PV jika berhasil, seharusnya jumlahnya berkurang dari sebelumnya. Langkah selanjutnya adalah melepaskan physical volume dari sistem. Command yang digunakan adalah pvremove <path physical volume yang ingin dilepas>.
[root@santos ~]# pvremove /dev/sdb1
Labels on physical volume "/dev/sdb1" successfully wiped
Gunakan command pvdisplay atau pvcommand untuk memeriksa apakah physical volume sdb1 masih menempel di sistem. Jika sudah terlepas dari sistem, anda bisa melepaskan hardisk sdb dari mesin anda. Dengan demikian kita bisa melepaskan hardisk tanpa mematikan sistem.
Referensi
Tweet
Tidak ada komentar:
Posting Komentar