Posting membahas tentang cara memperluas ruang yang tersedia dalam volume LVM dengan memperluas partisi disk fisik menggunakan fdisk. Contoh ini menunjukkan cara mengubah ukuran volume fisik /dev/sdc1 dari 200MB menjadi 400MB.
Peringatan Potensi Kehilangan Data :Langkah ini akan menghapus struktur partisi yang ada dan membuat partisi baru sebagai gantinya. Sangat penting bahwa partisi baru dibuat pada asal yang sama persis dengan partisi yang dihapus, jika tidak, kerusakan dan kehilangan data yang parah akan terjadi.Periksa konfigurasi saat ini
1. Periksa ukuran volume fisik pada disk saat ini.
# pvdisplay /dev/sdc1 "/dev/sdc1" is a new physical volume of "200.00 MiB" --- NEW Physical volume --- PV Name /dev/sdc1 VG Name PV Size 200.00 MiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID EkD95A-wb04-5GHn-OH7N-suVt-vak2-AKSsyv
2. Dapatkan informasi tentang pengaturan LVM saat ini. Volume logis yang ingin kita perpanjang adalah 'testlv'.
# lvscan ACTIVE '/dev/testvg/testlv' [100.00 MiB] inherit
Nonaktifkan volume logis yang ada
1. Sebelum kita melanjutkan dengan ekspansi PV dan LV yang sebenarnya, kita harus menonaktifkan volume logis terlebih dahulu. Gunakan perintah di bawah ini untuk menonaktifkan LV.
# lvchange -a n /dev/testvg/testlv
2. Verifikasi apakah volume telah dinonaktifkan.
# lvscan inactive '/dev/testvg/testlv' [100.00 MiB] inherit
Sekarang kami tahu bahwa LVM tidak digunakan, jadi kami dapat memulai proses perluasannya.
Perpanjang partisi “/dev/sda1” dengan utilitas fdisk
1. Untuk memperluas informasi partisi perangkat fisik, pertama-tama kami menghapus partisi lama dan kemudian membuat yang baru. Perhatikan bahwa pertama-tama kita mencetak informasi partisi saat ini sehingga kita tahu persis di mana partisi dimulai. Kita harus melapisi partisi baru yang lebih besar yang dimulai dari blok yang sama dengan partisi lama.
# fdisk /dev/sdc Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x085579f4 Device Boot Start End Blocks Id System /dev/sdc1 2048 411647 204800 83 Linux Command (m for help): d Selected partition 1 Partition 1 is deleted Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-41943039, default 2048): ### we will press ENTER here to select default first sector 2048 Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +400M Partition 1 of type Linux and of size 400 MiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
Langkah ini dapat dibatalkan kapan saja sebelum menuliskan tabel partisi yang diubah dengan "w " memerintah. Sampai saat itu, hanya salinan tabel partisi dalam memori yang diubah.
Tentang Mengubah Tabel Partisi :Informasi partisi untuk semua LUN pada perangkat fisik disimpan dalam tabel partisi. Perintah fdisk hanya memanipulasi tabel partisi ini. Sisa disk selalu dibiarkan tidak berubah. Ini berarti informasi tabel partisi dapat diubah tetapi isi dari partisi tidak pernah disentuh, selalu dibiarkan utuh.Muat tabel partisi baru ke kernel
Kernel yang berjalan saat ini tidak mengetahui informasi partisi baru, karena fdisk mengubah tabel partisi dengan menulis langsung ke perangkat. Biasanya, kernel hanya membaca informasi partisi pada saat sistem boot atau saat terjadi hot-plug (seperti memasukkan perangkat USB).
Namun, kita dapat menghindari reboot yang tidak perlu dengan menyebabkan kernel membaca ulang informasi partisinya, dan kemudian memperbarui informasi LVM-nya.
# partprobe
Sekarang kernel mengetahui tabel partisi yang diperbarui, beri tahu subsistem LVM tentang perubahan ini ke perangkat fisik. Secara default, pengubahan ukuran akan menggunakan seluruh ukuran partisi seperti yang diperoleh dari tabel partisi:
# pvresize /dev/sdc1 Physical volume "/dev/sdc1" changed 1 physical volume(s) resized / 0 physical volume(s) not resized
# pvdisplay /dev/sdc1 --- Physical volume --- PV Name /dev/sdc1 VG Name testvg PV Size 399.00 MiB / not usable 3.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 99 Free PE 74 Allocated PE 25 PV UUID EkD95A-wb04-5GHn-OH7N-suVt-vak2-AKSsyv
Aktifkan volume logis yang ada
Langkah terakhir adalah menghidupkan kembali LVM yang dimodifikasi. Seperti biasa, kami memeriksa pekerjaan kami terlebih dahulu:
# lvscan ACTIVE '/dev/testvg/testlv' [100.00 MiB] inherit
Seperti yang terlihat dari output di atas, volume logis tidak aktif. Jadi mari kita aktifkan dulu.
# lvchange -a y /dev/testvg/testlv
# /usr/sbin/lvscan ACTIVE '/dev/vgtest/lvtest' [100.00 MB] inherit
Mengubah Ukuran Volume Logis (opsional)
1. Sekarang Anda juga dapat memperluas volume logis karena Anda memiliki lebih banyak ruang di volume fisik yang mendasarinya sekarang. Gunakan perintah di bawah ini untuk mengubah ukuran LV.
# lvresize -L +200M /dev/testvg/testlv Size of logical volume testvg/testlv changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents). Logical volume testvg/testlv successfully resized.
2. Verifikasi ukuran baru dari volume logis.
# lvscan ACTIVE '/dev/testvg/testlv' [300.00 MiB] inherit