Oleh Joey Prestia, LG#150. Bahasa Indonesia oleh Triyan W. Nugroho
Langkah-langkah yang akan dibahas pada tulisan ini antara lain:
- Menentukan partisi yang akan dibuat.
- Membuat partisi (disini saya menggunakan fdisk, namun tool partisi apapun bisa digunakan)
- Membaca tabel partisi dengan menggunakan partprobe ataupun dengan me-reboot komputer.
- Membuat filesystem pada partisi, memberikan label, dan membuat titik mount.
- Menambahkan entry pada /etc/fstab sehingga partisi akan di-mount saat reboot.
Skenario
Bayangkan jika kita menjalankan server RHEL 4, dan pimpinan kita menginginkan sebuah partisi sebesar 10 GB untuk melakukan pemrosesan data. Kita bisa membuat sebuah partisi diluar ruangkosong pada harddisk yang ada (sistem administrator Linux yang berpengalaman akan membiarkan ruang kosong pada harddisk untuk keperluan di masa mendatang), atau kita bisa menambahkan harddisk baru. Skenario ini seringkali benar-benar terjadi pada dunia nyata, sehingga kemampuan menambahkan partisi baru ini akan sangat berguna bahkan jika anda hanya melakukan administrasi pada komputer anda sendiri.
Kita asumsikan bahwa pimpinan anda memberikan kebebasan untuk menentukan pilihan mana yang akan anda ambil. Tugas pertama anda adalah melihat apakah ada ruang kosong pada harddisk. Kita jalankan perintah “fdisk -l” untuk melihat ukuran harddisk. Data yang kita butuhkan adalah baris pertama keluaran perintah tersebut.
[root@station17 ~]# fdisk -l Disk /dev/sda: 80.0 GB, 80000000000 bytes 255 heads, 63 sectors/track, 9726 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 38 305203+ 83 Linux /dev/sda2 39 7687 61440592+ 83 Linux /dev/sda3 7688 7942 2048287+ 82 Linux swap
Kita bisa melihat ukuran harddisk kita adalah 80.0 GB. Sekarang kita akan menggunakan perintah “df -h” untuk menghitung ukuran partisi yang ada pada sistem. Kita hanya perlu memperhatikan baris-baris yang berlabel device. Baris yang lain (berlabel none), tidak perlu kita perhatikan. Kolom yang berlabel Size berisi angka-angka yang harus kita tambahkan untuk mendapatkan ukuran keseluruhan.
[root@station17 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 58G 6.5G 49G 12% / /dev/sda1 289M 17M 258M 6% /boot none 1013M 0 1013M 0% /dev/shm [root@station17 ~]#
Kita bisa melihat bahwa /dev/sda2 berukuran 58 GB dan /dev/sda1 berukuran 289 MB, sehingga total keseluruhan ruang yang terpakai adalah 58.3 GB. Sekarang kita akan melihat ukuran partisi swap. Gunakan perintah “cat /proc/swap”, atau bisa juga menggunakan perintah “swapon -s”.
[root@station17 ~]# cat /proc/swaps Filename Type Size Used Priority /dev/sda3 partition 2048276 0 -1 [root@station17 ~]#
Dengan menambahkan ukuran partisi terpakai sebesar 2 GB, berarti kita mendapatkan ukuran total ruang kosong sebesar 19.7 GB — lebih dari yang kita butuhkan. Sekarang, kita akan membuat partisi baru. Perintah “fdisk /dev/sda” akan membuka tabel partisi harddisk untuk dimodifikasi. Kita telah memiliki 3 buah partisi pada harddisk, maka sekarang kita akan membuat partisi ke-empat pada sebuah partisi extended — sebuah kontainer untuk partisi-partisi tambahan, termasuk partisi yang akan kita buat ini. Secara default, seluruh ruangan pada partisi extended akan digunakan untuk partisi kita. Kita akan menggunakan filesystem ext3, dimana perintah mkfs akan mengambil 5% blok untuk root. Sehingga sekarang partisi baru kita berukuran 11.5 GB setelah dipotong blok yang digunakan untuk root.
[root@station17 ~]# fdisk /dev/sda The number of cylinders for this disk is set to 9726. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): n Command action e extended p primary partition (1-4) e Selected partition 4 First cylinder (7943-9726, default 7943): Using default value 7943 Last cylinder or +size or +sizeM or +sizeK (7943-9726, default 9726): Using default value 9726
Disini anda bisa melihat bahwa saya memilih “n” untuk membuat partisi baru, dan memilih “e” untuk membuat partisi extended. Saya memilih menggunakan nilai default untuk starting cylinder dan ending cylinder.
Command (m for help): n First cylinder (7943-9726, default 7943): Using default value 7943 Last cylinder or +size or +sizeM or +sizeK (7943-9726, default 9726):.+11500M
Kemudian saya menekan “n” untuk membuat partisi baru. Lalu, enter untuk menerima ukuran default starting cylinder. Untuk ending cylinder, saya masukkan ukuran “+11500M”. Tanda + (plus) tersebut sangat penting. Anda akan mendapatkan pesan kesalahan jika anda tidak menggunakan tanda ini. Untuk melihat tabel partisi yang telah diubah, tekan tombol “p”. Kita akan melihat tabel partisi yang telah diubah namun belum disimpan.
Command (m for help):.p Disk /dev/sda: 80.0 GB, 80000000000 bytes 255 heads, 63 sectors/track, 9726 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 38 305203+ 83 Linux /dev/sda2 39 7687 61440592+ 83 Linux /dev/sda3 7688 7942 2048287+ 82 Linux swap /dev/sda4 7943 9726 14329980 5 Extended /dev/sda5 7943 9341 11237436 83 Linux
Jika anda merasa ada kesalahan, keluar saja dari fdisk dengan menekan “q”, sehingga fdisk batal melakukan perubahan. Jika anda merasa yakin, maka tekan tombol “w” untuk melakukan perubahan pada harddisk.
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. Syncing disks. [root@station17 ~]#
Pesan peringatan di atas dapat diperbaiki dengan menggunakan perintah partprobe untuk memaksa kernel membaca ulang tabel partisi.
[root@station17 ~]# partprobe
Sampai disini, partisi baru sebesar 11.5 GB berada pada /dev/sda5 dan bertipe raw — belum memiliki filesystem dan tidak ada label deskriptor. Memberikan label partisi dapat dilakukan bersamaan pada saat membuat filesystem dengan menambahkan opsi -L, namun saya lebih suka melakukannya secara terpisah.
[root@station17 ~]# mkfs.ext3 /dev/sda5 mke2fs 1.35 (28-Feb-2004) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 1406272 inodes, 2809359 blocks 140467 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2877292544 86 block groups 32768 blocks per group, 32768 fragments per group 16352 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208 Writing inode tables: done Creating journal (8192 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@station17 ~]#
Sekarang kita akan menambahkan label “/data”:
[root@station17 ~]# e2label /dev/sda5 /data [root@station17 ~]#
Kita perlu menambahkan titik mount pada filesystem dan pastikan bahwa partisi kita di-mount secara otomatis pada saat boot. Kita akan membuat direktori /data.
[root@station17 ~]# mkdir /data [root@station17 ~]#
Sebenarnya tidak semudah itu mengalokasikan space baru pada harddisk — setidaknya pada saat perencanaan. Membuat suatu nama direktori yang tidak standar seperti di atas tidak sesuai dengan Filesystem Hierarchy Standard (FHS). Namun kita membuat direktori di / (root) agar sederhana dan mudah untuk di-backup.Kemudian kita akan menambahkan entry pada file /etc/fstab agar filesystem tersebut di-mount setiap kali boot.
[root@station17 ~]# vi /etc/fstab # This file is edited by fstab-sync - see 'man fstab-sync' for details LABEL=/ / ext3 defaults 1 1 LABEL=/data /data ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 none /proc proc defaults 0 0 none /sys sysfs defaults 0 0 LABEL=SWAP-sda3 swap swap defaults 0 0 /dev/scd0 /media/cdrecorder auto pamconsole,exec,noauto,managed 0 0
Kolom pertama pada file /etc/fstab adalah label, kolom kedua adalah titik mount, dan kolom selanjutnya adalah tipe filesystem dan opsi-opsi mount. Dua angka pada kolom terakhir adalah indikasi dump dan fsck, apakah filesystem akan di-backup jika anda menggunakan ‘dump’, dan apakah akan dilakukan pengecekan kesalahan pada filesystem. Anda bisa menyalin angka dan opsi-opsi tersebut dari contoh di atas. Simpan perubahan pada file tersebut dan keluar dari editor. Untuk meyakinkan bahwa tidak ada kesalahan, jalankan perintah “mount -a” untuk me-mount semua partisi yang ada pada file /etc/fstab. Jika anda salah pada saat menulis file /etc/fstab, akan muncul pesan kesalahan saat perintah tersebut dijalankan.
[root@station17 ~]# mount -a
Setelah tidak ada pesan kesalahan, jalankan perintah “df -h”.
[root@station17 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 58G 6.6G 49G 12% / /dev/sda1 289M 17M 258M 6% /boot none 1013M 0 1013M 0% /dev/shm /dev/sda5 11G 59M 10G 1% /data [root@station17 ~]#
Sekarang partisi baru telah siap. Kita masih perlu memodifikasi permission yang diperlukan oleh user dan group yang ada pada sistem. Jika anda ingin menambahkan harddisk baru, maka langkah-langkahnya tidak jauh berbeda. Anda hanya perlu menambahkan label device agar sesuai dengan kebutuhan.