Saat menginstal CentOS/RedHat Linux, kita bisa memilih untuk menggunakan LVM (Logical Volume Manger) untuk manajemen harddisk & partisinya. Bila kita memilih untuk menggunakan LVM, instaler biasanya akan menawarkan layout seperti ini :
Boot disk akan dibagi menjadi 2 partisi, partisi pertama akan dialokasikan untuk direktori /boot
& partisi kedua akan dialokasikan untuk menjadi anggota LVM. LVM grup akan diberi nama mengikuti hostname
mesin tersebut. Pada contoh di atas misalnya, mesin tersebut memiliki hostname
“devserver01” sehingga LVM akan menggunakan nama grup vg_devserver01
. Baru kemudian di dalam group tersebut dibuat logical volume untuk partisi root
& swap
. Tentu kita bisa melakukan kustomisasi terhadap usulan disk layout tersebut.
Misalnya saya punya sebuah virtual server yang sudah berisi CentOS Linux. Mesin ini adalah hasil cloning dari virtual server lainnya. Karena merupakan hasil cloning, nama LVM grupnya masih mengikuti nama hostname
server aslinya. Contohnya seperti ini :
[root@dev01 ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@dev01 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_websvr01-lv_root 6.7G 745M 5.6G 12% / tmpfs 499M 0 499M 0% /dev/shm /dev/vda1 485M 32M 428M 7% /boot [root@dev01 ~]#
Terlihat hostname
server ini adalah dev01
, sementara LVM grup-nya masih menggunakan nama lama vg_websvr01
. Ini bisa dilihat juga dengan perintah vgs
atau vgdisplay
seperti berikut ini :
[root@dev01 ~]# vgs VG #PV #LV #SN Attr VSize VFree vg_websvr01 1 2 0 wz--n- 7.51g 0 [root@dev01 ~]# [root@dev01 ~]# vgdisplay --- Volume group --- VG Name vg_websvr01 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size 7.51 GiB PE Size 4.00 MiB Total PE 1922 Alloc PE / Size 1922 / 7.51 GiB Free PE / Size 0 / 0 VG UUID Mz4cE4-jzec-gfHi-H76W-cmFy-FA2U-SWXKrA [root@dev01 ~]#
LVM menyediakan perintah vgrename
untuk mengatasi hal ini. Saya bisa menggunakan vgrename
untuk mengubah nama LVM grup tersebut, seperti yang terlihat pada contoh di bawah ini :
[root@dev01 ~]# vgrename vg_websvr01 vg_dev01 Volume group "vg_websvr01" successfully renamed to "vg_dev01" [root@dev01 ~]#
Pada contoh ini saya mengubah nama grupnya dari vg_websvr01
menjadi vg_dev01
. Sukses tidaknya perubahan nama grup ini bisa dicek lagi dengan perintah vgs
atau vgdisplay
seperti pada contoh di bawah ini :
[root@dev01 ~]# vgs VG #PV #LV #SN Attr VSize VFree vg_dev01 1 2 0 wz--n- 7.51g 0 [root@dev01 ~]# vgdisplay --- Volume group --- VG Name vg_dev01 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size 7.51 GiB PE Size 4.00 MiB Total PE 1922 Alloc PE / Size 1922 / 7.51 GiB Free PE / Size 0 / 0 VG UUID Mz4cE4-jzec-gfHi-H76W-cmFy-FA2U-SWXKrA [root@dev01 ~]#
Tidak cukup sampai di situ, ada 2 hal lain yang harus diperhatikan setelah mengubah nama LVM grup ini.
-
Berkas
/etc/fstab
. Pengaturan mountpoint partisi disimpan dalam berkas ini. Isi berkas/etc/fstab
mulanya seperti ini :[root@dev01 ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Sat Apr 5 07:37:58 2014 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_websvr01-lv_root / ext4 defaults 1 1 UUID=c0144e8c-75aa-4c57-a51c-1c4b8df0759f /boot ext4 defaults 1 2 /dev/mapper/vg_websvr01-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 [root@dev01 ~]#
Bila berkas ini tidak diperbaharui, maka server ini akan gagal boot karena dia masih mencari partisi
/dev/mapper/vg_websvr01-lv_root
. Oleh karenanya kita perlu mengganti setiap nama LVM grup yang ada di dalam berkas/etc/fstab
tersebut. Pada contoh saya tadi, berikut adalah isi berkas/etc/fstab
setelah diperbaharui :[root@dev01 ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Sat Apr 5 07:37:58 2014 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_dev01-lv_root / ext4 defaults 1 1 UUID=c0144e8c-75aa-4c57-a51c-1c4b8df0759f /boot ext4 defaults 1 2 /dev/mapper/vg_dev01-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 [root@dev01 ~]#
-
Berkas
/boot/grub/grub.conf
. Karena LVM grup yang tadi diubah namanya memiliki partisiroot
, kita perlu mengatur ulang isi berkasgrub.conf
. Tampilan awal dari berkasgrub.conf
adalah seperti berikut ini :[root@dev01 ~]# cat /boot/grub/grub.conf # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/mapper/vg_websvr01-lv_root # initrd /initrd-[generic-]version.img #boot=/dev/vda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-431.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg_websvr01-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_websvr01/lv_root rd_NO_MD rd_LVM_LV=vg_websvr01/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-431.el6.x86_64.img [root@dev01 ~]#
Tanpa diubah sistem akan gagal menemukan mana partisi
root
nya dan akibatnya gagal menemukan di mana lokasi kernel Linux berada. Setelah diubah tampilannya menjadi seperti ini :[root@dev01 ~]# cat /boot/grub/grub.conf # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/mapper/vg_dev01-lv_root # initrd /initrd-[generic-]version.img #boot=/dev/vda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-431.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg_dev01-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_dev01/lv_root rd_NO_MD rd_LVM_LV=vg_dev01/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-431.el6.x86_64.img [root@dev01 ~]#
Untuk memastikan kedua berkas tadi sudah terbarui dengan benar, saya tinggal reboot servernya saja.