DIT.web.id

sementara biarlah begini...

Mengatasi Hard Disk Drive Sisa RAID yang Tidak Bisa Diformat di Linux CentOS

19/06/12 | sembarang

Sebagai salah satu periferal penting di sistem komputer, hard disk drive [HDD] mengemban tugas untuk penyimpanan data. Mulai dari sistem operasi, file konfigurasi sampai data yang kita gunakan sehari-hari. Sejalan dengan penggunaannya, pastinya tetap akan ada penyusutan terhadap periferal ini yang berujung pada gagal fungsi periferal. Jika sudah begitu, pastinya Anda akan menyiapkan HDD penggantinya untuk disematkan di sistem.

Sebelum sebuah HDD dapat digunakan untuk operasional, tentunya harus melalui tahap formatting. Hal ini berlaku untuk semua sistem operasi, begitu juga Linux. Umumnya proses akan diawali dengan pembuatan partisi menggunakan fdisk, setelah itu masing-masing partisi diformat menggunakan mkfs.ext3.

undefined 

Here Comes the Pain

Pada kesempatan ini saya berhadapan dengan sebuah HDD pengganti yang telah dipasangkan di sistem. Secara keseluruhan periferal ini sudah berfungsi, hal ini ditandai dengan periferal yang terdeteksi di BIOS maupun sistem. Dari situ berlanjut kepada pembuatan partisi yang kebetulan hanya membuat sebuah partisi dari keseluruhan kapasitas HDD. Selesai dengan pembuatan partisi, verifikasi dan penyimpanan konfigurasi partisi, seperti biasa melangkah ke tahap formatting HDD dan masalah muncul dengan pesan /dev/sdc1 is apparently in use by the system; will not make a filesystem here!

 

Analisa

Kembali saya runut aktivitas manajemen HDD yang telah dilakukan sebelumnya dan saya mendapati adanya konten berbeda di awal proses pembuatan partisi via fdisk. Dalam kondisi yang umumnya dijumpai terhadap HDD baru adalah tampilan di bawah ini saat memasuki fdisk.

[root@jangkrik ~]# fdisk /dev/sda
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xf60e7488.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Tetapi lain halnya dengan HDD baru [ sebenarnya seken sih ;)) ] yang baru saja dipasang dengan tampilan berikut saat memasuki fdisk.

root@jangkrik [~]# fdisk /dev/sdc

The number of cylinders for this disk is set to 38913.
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): p

Disk /dev/sdc: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1       38913   312568641   83  Linux

Command (m for help):

 

Here Comes the Sun

Usut punya usut ternyata HDD yang baru ditambahkan sebelumnya pernah difungsikan untuk RAID, sehingga ada konfigurasi yang masih tersimpan di HDD. Dengan begitu, mari kita letakkan sejenak misi untuk formatting HDD dan beralih mencari cara untuk membersihkan HDD terkait dari kungkungan array RAID terlebih dahulu.

  1. Gunakan perintah dmsetup status untuk menampilkan partisi array apa saja yang masih aktif.

    root@jangkrik [~]# dmsetup status
    isw_eaffcjgggg_disk0: 0 625137664 linear
    isw_eaffcjgggg_disk0p1: 0 625137282 linear
  2. Gunakan perintah dmsetup info untuk menampilkan informasi lebih detil dari masing-masing array tersebut.

    root@jangkrik [~]# dmsetup info
    Name:              isw_eaffcjgggg_disk0
    State:             ACTIVE
    Read Ahead:        256
    Tables present:    LIVE
    Open count:        1
    Event number:      0
    Major, minor:      253, 0
    Number of targets: 1
    UUID: DMRAID-isw_eaffcjgggg_disk0
    
    Name:              isw_eaffcjgggg_disk0p1
    State:             ACTIVE
    Read Ahead:        256
    Tables present:    LIVE
    Open count:        0
    Event number:      0
    Major, minor:      253, 1
    Number of targets: 1
    UUID: part1-DMRAID-isw_eaffcjgggg_disk0
  3. Gunakan perintah dmsetup ls untuk menampilkan device yang masih ada.

    root@jangkrik [~]# dmsetup ls
    isw_eaffcjgggg_disk0    (253, 0)
    isw_eaffcjgggg_disk0p1  (253, 1)
  4. Hapuslah device tersebut dimulai dari yang paling bawah terlebih dahulu menggunakan perintah dmsetup remove.

    root@jangkrik [~]# dmsetup remove isw_eaffcjgggg_disk0p1
    root@jangkrik [~]# dmsetup remove isw_eaffcjgggg_disk0
    root@jangkrik [~]# dmsetup ls
    No devices found
    root@jangkrik [~]#
  5. Lanjutkan dengan pembuatan partisi melalui fdisk, memverifikasinya dan menyimpan konfigurasi partisinya.

    root@jangkrik [~]# fdisk /dev/sdc
    
    The number of cylinders for this disk is set to 38913.
    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)
    p
    Partition number (1-4): 1
    First cylinder (1-38913, default 1):
    Using default value 1
    Last cylinder or +size or +sizeM or +sizeK (1-38913, default 38913):
    Using default value 38913
    
    Command (m for help): p
    
    Disk /dev/sdc: 320.0 GB, 320072933376 bytes
    255 heads, 63 sectors/track, 38913 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdc1               1       38913   312568641   83  Linux
    
    Command (m for help): v
    5165 unallocated sectors
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
    root@jangkrik [~]#

 

Menuai Hasil

Setelah menempuh tahapan-tahapan di atas, kini tiba saatnya untuk menuai hasilnya dengan melakukan formatting terhadap partisi yang sudah dibuat. Jika sebelumnya proses formatting hanya akan berujung pada pesan bahwa HDD tidak dapat diformat, sekarang proses formatting dapat berlangsung dengan baik tanpa kendala apapun.

root@jangkrik [~]# mkfs.ext3 /dev/sdc1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
39075840 inodes, 78142160 blocks
3907108 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
2385 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
root@jangkrik [~]#

Sebagai penutup, berikanlah sembarang label terhadap partisi barunya menggunakan perintah e2label dan partisi baru ini sudah siap dipakai bersama sistem Anda.

root@jangkrik [~]# e2label /dev/sdc1 /backup
root@jangkrik [~]# e2label /dev/sdc1
/backup
root@jangkrik [~]#

 

Outro

Berbekalkan beberapa tahapan di atas, kini Anda dapat tetap menggunakan HDD yang semula sempat digunakan untuk RAID di sistem. Selamat mencoba.