Partisi HDD di Linux
Manajemen Hard Disk di Linux - Partisi Hard Disk dengan Parted
Mengatur partisi dengan baik adalah salah satu cara mengoptimalkan pemakaian hard disk. Menghapus, membuat, mengubah ukuran, dan memberi label partisi kini juga dapat Anda lakukan dalam sistem Linux. Semuanya dengan mengandalkan tool gratis dan open source!
Anda tentu tidak asing dengan istilah partisi maupun tabel partisi. Dua entitas inilah yang mendefinisikan ‘ruangan’ pada hard disk. Bagi Anda yang tergolong pengguna PC awam atau tidak terlalu paham mengenai partisi, suatu hard disk dapat dianalogikan seperti sebidang tanah kosong. Sebelum dapat dipakai, tanah tersebut harus dibagi dalam petak-petak kecil terlebih dahulu. Petak inilah yang diibaratkan seperti partisi. Adapun tabel partisi diandaikan papan keterangan di depan area tanah yang menjelaskan berapa petak yang di dalam area tanah dan berapa luas masing-masing petak. Di dalam petak ini nantinya “ditanami” data, yang dalam wujudnya sehari-hari dapat dilihat sebagai file.
Sebelum dapat ditanami, petak-petak tersebut harus diolah terlebih dahulu. Proses pengolahan inilah yang dikenal sebagai proses format hard disk. Saat melakukan format, Anda dapat memilih berbagai format sistem file (file system). Apabila di Windows, tersedia format FAT atau NTFS. Di Linux, dikenal beberapa sistem file, diantaranya yang cukup populer adalah sistem file ext2 dan ext3.
Sebelum mulai mengutak-atik partisi sistem Linux, sekilas akan dijelaskan bagaimana sistem Linux mendeteksi hard disk Anda. Hard disk biasanya diakses lewat perantaraan file dibawah direktori /dev dan namanya diawali dengan string hd. Lebih jelasnya, hard disk Anda akan dipetakan seperti daftar berikut ini.
Primary IDE master /dev/hda
Primary IDE slave /dev/hdb
Secondary IDE master /dev/hdc
Secondary IDE slave /dev/hdd
Untuk penomoran partisi, Linux menggunakan skema seperti berikut ini.
Partisi primary pertama sampai keempat
/dev/hd*1 - /dev/hd*4
Partisi logical pertama sampai keempat
/dev/hd*5 - /dev/hd*8
Tanda (*) merupakan pengganti huruf ‘a’ sampai dengan ‘z’, misalnya hda, hdb, hdc, dan seterusnya.
Pada praktek Linux kali ini akan digunakan tool berbasis command line bernama parted. Tool ini digunakan untuk mengelola partisi hard disk, dengan fungsi-fungsi antara lain seperti berikut ini.
Menambah dan menghapus partisi.
Mengubah ukuran partisi (memperbesar dan memperkecil).
Memberi label partisi.
Menggeser partisi.
Meng-copy isi partisi.
Pembahasan akan lebih ditekankan pada langkah nomor 1 hingga 3 dan langkah untuk menyelamatkan partisi hard disk yang terhapus.
Agar bisa menggunakan tool ini, install dahulu paket programnya yang terbundel pada CD distro Anda. Pada distribusi Fedora Core 2 (distribusi yang digunakan pada artikel ini), nama paketnya adalah parted-1.6.9-3.i386.rpm. Gunakan tool yum untuk mempermudah Anda meng-install dan mengatasi masalah dependency paket tersebut dengan perintah berikut ini.
# yum install parted
Apabila distro Anda membundel versi parted yang lebih lama atau lebih baru dari versi 1.6.9, jangan kuatir karena semua perintah dan option yang digunakan tetap sama.
Artikel ini tidak membahas lebih jauh mengenai berbagai jenis sistem file yang dapat dipakai saat Anda mem-format suatu partisi. Pembahasan lebih difokuskan pada cara manipulasi partisi serta bagaimana cara mengaksesnya dalam sistem Linux. Seperti biasa, prompt "#" berarti perintah harus diketik sebagai root dan prompt "$" berarti perintah dapat dilakukan sebagai non root.
A. Melihat Daftar Partisi
Awali dengan melihat daftar partisi pada hard disk. Perintah untuk melihat tabel partisi pada primary master sebagai berikut:
#/sbin/parted /dev/hdd print
Disk geometry for /dev/hdd: 0.000-
78167.250 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 20000.039 primary ext3
2 20000.039 34999.945 primary ext3
3 34999.945 35511.820 primary linux-swap
4 35511.820 78167.250 extended lba
5 35511.851 40511.953 logical ext3
6 40511.984 42012.140 logical ext3
7 42012.171 43012.265 logical ext3
Information: Don't forget to update
/etc/fstab, if necessary.
Akses data melalui mount poin: Akses data di Linux dilakukan secara raw yang berarti data dibaca secara langsung. File sebagai representasi data dalam hal ini diabaikan.
Catatan! Hasil yang didapat bisa berbeda tergantung konfigurasi hard disk di PC Anda. Layout partisi yang didapat akan digunakan sebagai referensi untuk perintah-perintah parted berikutnya.
Dari hasil yang didapat tersebut, diambil beberapa kesimpulan:
Ukuran hard disk adalah 78,2 GB, jadi dibulatkan menjadi 80 GB (lihat baris yang bertuliskan Disk Geometry). Mungkin Anda bertanya, kenapa Linux tidak mendeteksinya sebesar 80 GB. Hal ini semata-mata karena program parted memiliki algoritma tersendiri dalam menentukan ukuran disk berdasar informasi cylinder, track, dan sector yang didapat.
Label partisi bertipe DOS. Informasi ini dapat Anda abaikan karena hampir seluruh hard disk yang umumnya digunakan di PC ditetapkan dengan label partisi bertipe DOS (msdos). Distro Linux Anda pun dapat dipastikan di-format awal dengan tipe DOS.
Seluruhnya ada 7 partisi, dimana 3 partisi bertipe primary dan 1 extended yang didalamnya terdiri dari 3 partisi logical. Tidak ada partisi yang di-set sebagai boot partition. Hal ini terlihat dari kolom flags yang menunjukkan tidak adanya partisi dengan property boot.
Ukuran sebuah partisi tidak dapat langsung diketahui. Besar partisi didapat dengan menghitung selisih nilai A dan B. A adalah nilai End dari partisi dan B adalah nilai Start dari partisi. Misalnya untuk partisi pertama (minor=1), besarnya adalah 20000.039-0,031 = 20000,008 MB (19.53 GB).
Contoh visual struktur hard disk: Pada gambar dapat diketahui bahwa partisi logical selalu berada di dalam partisi extended.
Adakah ruang di hard disk yang masih belum dipetakan sebagai partisi? Informasi ini tidak ditampilkan oleh parted, tapi dengan melakukan perhitungan selisih antara bagian End dari partisi pertama dan Start dari partisi kedua dan seterusnya (lewati partisi extended) Anda dapat dengan mudah mengetahui, ada tidaknya ruang kosong setelah partisi nomor 7 (minor=7). Ukuran ruang kosongnya adalah besar total disk(78167.250 ) dikurangkan End dari partisi nomer 7 (43012.265) yang besarnya 35154.985 MB (34.331 GB).
Perhatian! Jangan melakukan partisi pada hard disk yang berisi data penting! Jalankan semua perintah manipulasi partisi dengan hati-hati. Lakukan backup data sebelum mencoba perintah-perintah yang berkaitan dengan partisi. CHIP tidak bertanggung jawab atas segala kerusakan atau kehilangan data yang mungkin terjadi.
B. Membuat Partisi Baru
Kali ini akan dilakukan manipulasi dengan menggunakan mode interaktif. Perbedaannya dengan mode sebelumnya yaitu perintah manipulasi disk tidak sekaligus diketikkan bersamaan dengan pemanggilan tool parted. Anda cukup mengetik perintah parted diikuti nama device dari hard disk yang ingin dimanipulasi.
# /sbin/parted coba.img
(parted)
Apabila Anda ingin membuat partisi baru sebesar 400 MB dengan sistem file ext2, gunakan perintah berikut ini.
(parted) mkpartfs logical ext2 43012.265 3412.265
Parameter ‘logical’ berarti partisi yang dibuat bertipe logical. Partisi primary tidak dibuat karena ukuran partisi extended-nya sudah mencapai ukuran maksimum disk dan partisi primary tidak mungkin diletakkan di dalam partisi extended. Selain itu, dengan adanya partisi extended maka jumlah maksimum partisi primary yang dapat dibuat adalah 3. Dengan demikian, pilihannya tinggal tipe logical.
Partisi di-mout ke suatu direktori: Setelah proses mount, Anda dapat mengakses (membaca dan menulis) data atau file yang ada di partisi hard disk tersebut dalam suatu direktori.
Tipe partisi yang dibuat adalah ext2. Parted mendukung pembuatan partisi bertipe ext2, FAT32, FAT16, Linux swap, dan ReiserFS. Khusus untuk membuat partisi bertipe ReiserFS, Anda memerlukan paket tambahan progsreiserfs.
Pada dua bagian terakhir menunjukkan batas awal dan akhir (dalam megabyte) dari partisi. Di sini Anda tidak dapat langsung memasukkan ukuran partisi. Sektor awal (start sector) partisi baru didapat dari end sector partisi ke-7. Dengan demikian, nilai end sector partisi ke-7 akan menjadi start sector dari partisi baru ini (43012. 265). Untuk end sector partisi baru, tambahkan dengan nilai 400 (ukuran yang hendak Anda buat) yang hasilnya adalah angka 43412.265. Untuk keluar dari mode interaktif parted, cukup ketik perintah berikut ini quit (bisa disingkat q):
quit
Perintah tersebut juga dapat disingkat seperti berikut ini.
(parted) q
Untuk dapat menggunakan partisi baru, Anda harus memberi nomor padanya. Dalam hal ini Linux berbeda dibandingkan Windows karena tidak memakai konsep penamaan disk drive seperti ‘C:’, ‘D:’, ‘E:’, dan seterusnya. Media disk (hard disk, floppy disk, USB flash drive, dan lain-lain) diakses lewat perantaraan mount point. Mount point sendiri adalah direktori-direktori di bawah root directory ‘/’, misalnya ‘/home’, ‘/var/’, dan ‘/usr/local/’.
Partisi yang baru dibuat tadi akan diberi nomor dengan minor=8. Dengan demikian, untuk menggunakan partisi ini, ketik perintah seperti di bawah ini.
# mount /dev/hdd8 /mnt/mydrive
Lewat mount point ‘/mnt/mydrive’, Anda dapat membuat file baru, membuat subdirektori, menghapus sebuah file, dan lain-lain seperti biasa. Direktori ‘mydrive’ tentu harus Anda buat sebelumnya.
Apabila partisi tersebut selalu Anda pakai setiap kali menjalankan PC, Anda dapat memerintahkan Linux untuk me-mount-nya secara otomatis. Caranya adalah dengan memasukkan mount point-nya pada file ‘/etc/fstab’. Untuk itu, buka file tersebut dengan sembarang editor teks (misalnya vi atau Kwrite), lalu tambahkan perintah seperti berikut ini.
/dev/hdb1 /mnt/mydrive ext2 defaults 0 2
Penjelasan mengenai 3 parameter terakhir (kolom 4, 5, dan 6) adalah sebagai berikut.
defaults, adalah definisi parameter yang di-passing saat dilakukan mount. Dengan defaults, Anda dapat menggunakan parameter-parameter standar seperti partisi di-mount dengan mode read write, mengizinkan eksekusi file binary, hak mount hanya untuk root, dan seterusnya. Parameter ‘defaults’ adalah pilihan terbaik jika Anda tidak ingin direpotkan dengan berbagai definisi parameter mount.
Lebih mudah dan cepat: Dengan tool QTParted yang berbasis grafis ini, Anda dapat memanipulasi berbagai partisi pada hard disk dengan cepat dan mudah.
Kolom kelima berisi angka 0. Angka ini mengindikasikan apakah partisi yang di-mount akan disertakan pada proses backup yang dilakukan oleh tool dump. Angka 0 berarti tidak diikutkan dan angka 1 berarti ikut dalam proses backup. Mengenai utility dump dan konfigurasinya tidak akan diterangkan disini, sehingga Anda dapat memilih 0. Perlu Anda ketahui, proses backup tidak harus selalu menggunakan tool dump. Cara lainnya yang dapat Anda pilih adalah dengan menggunakan tool tar secara manual.
Kolom keenam berisi flag untuk menandakan urutan pemeriksaan partisi oleh tool fsck pada saat sistem Linux di boot. Untuk partisi yang akan di mount sebagai root (/), isi dengan angka 1 untuk menunjukkan partisi tersebut berada pada urutan pertama untuk diperiksa. Untuk partisi non root isi dengan angka 2 yang berarti partisi tersebut diperiksa setelah partisi root. Pemeriksaan rutin dengan tool fsck memudahkan Anda untuk mendeteksi gejala awal kerusakan pada partisi. Apabila Anda tidak memerlukan pemeriksaan rutin fsck, isi dengan angka 0
C. Menghapus Partisi
Untuk menghapus partisi, digunakan perintah rm. Kembali pada contoh partisi yang dibuat di bagian sebelumnya, maka untuk menghapus partisi tersebut, gunakan perintah berikut ini.
# /sbin/parted /dev/hdd
(parted) rm 8
Catatan: Apabila Anda menghapus partisi extended, maka tool parted pun akan menghapus semua partisi logical didalamnya. Apabila Anda keliru menghapus partisi lain, jangan kuatir, partisi tersebut masih mungkin ‘selamat’. Syaratnya, Anda belum membuat partisi baru yang menimpa area partisi yang baru dihapus atau bahkan menaruh file ke dalamnya.
Agar proses recovery partisi berjalan sukses, beberapa faktor berikut ini perlu Anda ketahui.
Start sector dan End sector partisi. Ada baiknya sebelum menghapus suatu partisi, Anda selalu mencatat nilai Start dan End dari seluruh partisi dengan bantuan perintah print.
Tipe sistem file. Saat ini, recovery hanya dilakukan pada partisi dengan sistem file ext2 dan ext3. Informasi mengenai recovery pada sistem file lainnya seperti ReiserFS belum jelas diketahui.
Ada tidaknya partisi yang tertimpa. Partisi baru yang menimpa partisi lama, baik seluruh atau sebagian area dapat membuyarkan usaha recovery Anda. Adapun perintah yang digunakan adalah rescue, seperti contoh berikut ini.
# /sbin/parted /dev/hdd
(parted) rescue 43010 43413
searching for file systems... 22% (time left
00:07)
Information: A ext2 logical partition was
found at aaaaa.bbb Mb -> xxxxx.yyy Mb.
Do you want to add it to the partition table?
Yes/No/Cancel?
Parameter yang diberikan pada perintah rescue adalah batas awal dan akhir (dalam megabyte) sector yang akan ditelusuri. Di sini akan dicari sistem file yang valid tapi tidak berada di dalam suatu partisi. Seperti yang Anda lihat pada pesan yang muncul setelah perintah rescue dijalankan, ditemukan sebuah partisi ext2 yang dimulai dari offset aaaaa.bbb MB (pada prakteknya, berupa angka, dan bukan huruf) sampai dengan xxxxx.yyy MB. Pada pertanyaan apakah Anda ingin menambahkan sistem file ini pada partisi baru, dapat Anda jawab dengan ‘Yes’. Periksa dengan perintah print apakah partisi tersebut sudah di-recover dengan benar.
Membuat partisi baru dengan QTparted: Biasanya partisi baru yang akan dibuat menempati posisi awal pada bagian akhir partisi sebelumnya di hard disk.
Perhatian! Rescue mengatur partisi yang di-recover menjadi partisi logical atau primary relatif terhadap posisinya di dalam partisi extended yang ada. Apabila Anda menghapus partisi extended (dengan demikian, otomatis semua partisi logical di dalamnya). Oleh karena itu, sebelum melakukan recovery pada partisi logical, Anda perlu membuat ulang partisi extended dengan ukuran yang sama persis seperti semula. Rescue tidak bisa membantu Anda dalam memulihkan partisi extended
D. Mengubah Ukuran Partisi
Kondisi dimana terdapat partisi yang ruang kosongnya semakin kecil sering dialami oleh pengguna PC. Untuk itu, Anda perlu me-resize ukuran partisi tersebut. Contoh berikut akan memperkecil ukuran partisi logical menjadi sebesar 200 MB. Untuk itu, gunakan perintah di bawah ini.
(parted) resize 8 43012.265 43212.265
Seperti halnya perintah parted lainnya, perintah ini membutuhkan 3 parameter yang akan dijelaskan berikut ini.
Parameter pertama adalah nomer partisi yang ingin di-resize. Dalam hal ini, partisi yang akan dimodifikasi adalah partisi bernomor 8.
Parameter kedua adalah angka Start partisi setelah di-resize (MB). Walaupun Anda bisa memberi angka lebih kecil dari angka Start yang lama, tapi ini tidak akan berguna apapun karena parted akan menolak mengubah angka Start dari suatu partisi (khusus untuk partisi ext2 dan ext3). Dengan kata lain, masukkan angka seperti aslinya.
Parameter ketiga adalah angka End partisi setelah di-resize (MB). Angka ini dapat diisi berapa saja, asal tidak lebih kecil dari angka start partisi dan tidak sampai masuk ke area partisi lain. Parted akan memberi peringatan jika Anda melakukan memasukkan angka yang melanggar aturan ini. Karena Anda ingin menjadikan partisi ini sebesar 200 MB, masukkan 43212.265
Untuk memperbesar partisi, Anda cukup melakukan proses kebalikannya yaitu memperbesar angka End.
Perhatian! Apabila suatu partisi sudah berisi data, maka perintah resize hanya bisa memperkecil partisi sampai besarnya sama dengan jumlah total data yang tersimpan di dalam partisi tersebut. Anda tentu dapat menebak apa yang akan terjadi jika parted mengizinkan permintaan Anda untuk memperkecil partisi lebih kecil dari jumlah total data. Data Anda tentu akan hilang!
Masih banyak variasi untuk memanipulasi partisi yang dapat dilakukan dengan tool parted dan tool manajemen partisi Linux lainnya seperti fdisk. Semoga dengan penjelasan dasar-dasar penggunaan parted ini, Anda dapat memperoleh gambaran yang lebih jelas tentang bagaimana partisi dibuat, dan bagaimana Linux mengakses sistem file. Selamat mencoba!
Mulyadi, P enulis@CHIP.co.id
This e-mail address is being protected from spam bots, you need JavaScript enabled to view it
0 komentar:
Posting Komentar