Pada kesempatan kali ini, saya akan membagikan cara meresize ukuran partisi ext4 tanpa live cd. Biasanya saya melakukan resize partisi ext3 maupun ext4 dengan cara booting ke live cd os yang menjadi based misalnya Ubuntu. Nah saya kepikiran bagaimana cara resize partisi tanpa melakukan booting ke live cd terkait, karena memang dalam kondisi mounting partisi tidak akan bisa di resize terutama / (root).
Adapun cara ini saya terapkan pada saat melakukan upgrade paket SAS dari Alibaba karena cloud dialibaba tidak otomatis membuat harddisk sesuai dengan yang sudah diupgrade. Sebagai contoh seperti ini, partisi saat ini adalah 7.8GB:
# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 7.8G 642M 6.8G 9% /
Akan tetapi ketika di fdisk -l sudah 20GB seperti ini:
# fdisk -l Disk /dev/sda: 20 GiB, 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 Disklabel type: dos Disk identifier: 0xd7f2e0e8 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 16773119 16769024 8G 83 Linux
Nah jika kita coba umount akan seperti ini:
# umount / umount: /: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
Sebagai catatan, kita mesti teliti untuk menentukan start partition dan memastikan sama sebelum kita resize ukuran harddisk dalam hal ini kita bisa menggunakan perintah fdisk seperti ini:
# fdisk /dev/xvda Welcome to fdisk (util-linux 2.25.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/sda: 20 GiB, 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 Disklabel type: dos Disk identifier: 0xd7f2e0e8 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 16773119 16769024 8G 83 Linux
OK, dalam case saya ini start partition menggunakan angka 2048 maka pada saat resize harus menggunakan angka 2048 pada start partition. Jika tidak sesuai, maka harddisk tidak akan bisa booting dan seluruh kapasitas harddisk menjadi corrupt. Berikutnya masih diperintah fdisk kita melakukan delete partition seperti ini:
Command (m for help): d Selected partition 1 Partition 1 has been deleted.
Selanjutnya buat partisi baru seperti ini:
Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): First sector (2048-41943039, default 2048): 2048 Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): Created a new partition 1 of type 'Linux' and of size 20 GiB.
Konfirmasi untuk dilakukan write data dan penyesuaian harddisk seperti ini:
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Device or resource busy The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
Nah dalam hal ini, sistem operasi tetap harus direboot untuk menyesuaikan partisinya dan jangan lupa untuk menambahkan file kosong /forcefsck untuk melakukan fsck ketika saat reboot seperti ini:
# touch /forcefsck
Reboot sistem operasi agar dapat sesuai dengan yang kita lakukan sebelumnya, ketika sudah selesai silakan cek harddisk kembali mestinya sudah 20GB seperti ini:
# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 20G 644M 19G 4% /
Terakhir lakukan pengecekan dengan tune2fs seperti ini:
# tune2fs -l /dev/sda1 # resize2fs /dev/sda1
Jika sudah, maka selesai sudah melakukan resize harddisk tanpa menggunakan live cd pada tipe partisi ext3 maupun ext4. Semoga bermanfaat..