DIT.web.id

sementara biarlah begini...

Menggunakan JFS Sebagai Alternatif File System di Linux

Jul 112013

Sebagai salah satu perangkat lunak utama, tentunya kita telah mengenal beberapa nama seperti EXT2, EXT3 atau EXT4 yang saat ini telah terintegrasi di Linux CentOS 6.x. Meskipun begitu bukan berarti kita tidak dapat menggunakan jenis file system [FS] lain, karena sebenarnya ada begitu banyak alternatifnya bertebaran dengan lisensi gratis dan tentunya memilki keunggulan masing-masing.

Adalah JFS [Journaled File System], sebuah alternatif FS besutan IBM yang kabarnya memiliki performa tak kalah cepat dengan EXT4. Berangkat dari hal itu membawa saya untuk mencoba FS yang satu ini di lingkungan CentOS 6.4 untuk disandingkan dengan EXT4.

undefined

Preparasi

Karena JFS bukanlah FS default CentOS dan tidak terdapat di repositori CentOS, maka terlebih dahulu ada beberapa tahapan yang perlu dilakukan agar JFS dapat dikenali dan berfungsi di CentOS.

  • Instalasi JFSutils
    Dimulai dengan mengintegrasikan aplikasi jfsutils yang berisi kumpulan tools untuk manajemen partisi JFS.

    [root@pucit ~]# yum search jfs
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: centos.biz.net.id
     * extras: centos.biz.net.id
     * updates: centos.biz.net.id
    ====================== N/S Matched: jfs =======================
    jfsutils.x86_64 : Utilities for managing the JFS filesystem
    
      Name and summary matches only, use "search all" for everything.
    [root@dscs ~]# yum -y install jfsutils
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirror.rndc.or.id
     * extras: mirror.rndc.or.id
     * updates: centos.biz.net.id
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package jfsutils.x86_64 0:1.1.13-9.el6 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ====================================================================
     Package        Arch     Version         Repository   Size
    ====================================================================
    Installing:
     jfsutils       x86_64   1.1.13-9.el6    extras       238 k
    
    Transaction Summary
    ====================================================================
    Install       1 Package(s)
    
    Total download size: 238 k
    Installed size: 1.1 M
    Downloading Packages:
    jfsutils-1.1.13-9.el6.x86_64.rpm            | 238 kB     00:00
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing : jfsutils-1.1.13-9.el6.x86_64     1/1
      Verifying  : jfsutils-1.1.13-9.el6.x86_64     1/1
    
    Installed:
      jfsutils.x86_64 0:1.1.13-9.el6
    
    Complete!
    [root@pucit ~]#
  • Instalasi kmod-JFS
    Berikutnya adalah menambahkan sebuah repositori baru untuk instalasi modul kernel JFS.

    [root@pucit ~]# rpm -Uvh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
    Retrieving http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
    warning: /var/tmp/rpm-tmp.JKz40n: Header V4 DSA/SHA1 Signature,
    key ID baadae52: NOKEY
    Preparing... ####################### [100%]
    1:elrepo-release ####################### [100%]
    [root@dscs ~]#
    [root@dscs ~]# yum search kmod-jfs
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirror.rndc.or.id
    * elrepo: mirror.smartmedia.net.id
    * extras: mirror.rndc.or.id
    * updates: centos.biz.net.id
    =================== N/S Matched: kmod-jfs ==================
    kmod-jfs.x86_64 : jfs kernel module(s)
    
    Name and summary matches only, use "search all" for everything.
    [root@dscs ~]# yum -y install kmod-jfs
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirror.rndc.or.id
    * elrepo: mirror.smartmedia.net.id
    * extras: mirror.rndc.or.id
    * updates: mirror.smartmedia.net.id
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package kmod-jfs.x86_64 0:0.0-1.el6.elrepo will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ===================================================================
    Package Arch Version Repository Size
    ===================================================================
    Installing:
    kmod-jfs x86_64 0.0-1.el6.elrepo elrepo 108 k
    
    Transaction Summary
    ===================================================================
    Install 1 Package(s)
    
    Total download size: 108 k
    Installed size: 302 k
    Downloading Packages:
    kmod-jfs-0.0-1.el6.elrepo.x86_64.rpm | 108 kB 00:00
    warning: rpmts_HdrFromFdno: Header V4 DSA/SHA1 Signature, key ID baadae52: NOKEY
    Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
    Importing GPG key 0xBAADAE52:
    Userid : elrepo.org (RPM Signing Key for elrepo.org) <secure@elrepo.org>
    Package: elrepo-release-6-5.el6.elrepo.noarch (installed)
    From : /etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Warning: RPMDB altered outside of yum.
    Installing : kmod-jfs-0.0-1.el6.elrepo.x86_64 1/1
    Working. This may take some time ...
    Done.
    Verifying : kmod-jfs-0.0-1.el6.elrepo.x86_64 1/1
    
    Installed:
    kmod-jfs.x86_64 0:0.0-1.el6.elrepo
    
    Complete!
    [root@pucit ~]#
    
    Pemilihan Partisi
    
    Dalam contoh berikut ini ada 2 buah partisi masing-masing berukuran 160GB yang akan digunakan, yaitu sda8 dan sda9.
    
    [root@pucit ~]# fdisk -l -c /dev/sda
    
    Disk /dev/sda: 500.1 GB, 500107862016 bytes
    255 heads, 63 sectors/track, 60801 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disk identifier: 0x0003f0b8
    
    Device Boot Start End Blocks Id System
    /dev/sda1 * 1 26 204800 83 Linux
    /dev/sda2 26 6400 51200000 83 Linux
    /dev/sda3 6400 8950 20480000 83 Linux
    /dev/sda4 8950 60802 416500760 5 Extended
    /dev/sda5 8950 15324 51200000 83 Linux
    /dev/sda6 15324 16599 10240000 83 Linux
    /dev/sda7 16599 17619 8192000 82 Linux swap / Solaris
    /dev/sda8 17619 38506 167777280 83 Linux
    /dev/sda9 38507 59395 167782400 83 Linux
    /dev/sda10 59395 60802 11302936 83 Linux
    [root@pucit ~]#

Journaled For Speed

Selesai dengan semua persiapan di tahapan sebelumnya, kini tiba waktunya untuk melaju lebih cepat bersama JFS.

  • Format Partisi
    2 buah partisi tak bertuan telah tersedia, yaitu sda8 yang akan diberi label sebagai /disk1 dan sda9 yang akan diberi label /disk2.

    [root@pucit ~]# time mkfs.jfs -L /disk1 /dev/sda8
    mkfs.jfs version 1.1.13, 17-Jul-2008
    Warning! All data on device /dev/sda8 will be lost!
    
    Continue? (Y/N) y
    \
    
    Format completed successfully.
    
    167777280 kilobytes total disk space.
    
    real 0m0.955s
    user 0m0.005s
    sys 0m0.060s
    [root@pucit ~]#
    [root@pucit ~]# time mkfs.jfs -L /disk2 /dev/sda9
    mkfs.jfs version 1.1.13, 17-Jul-2008
    Warning! All data on device /dev/sda9 will be lost!
    
    Continue? (Y/N) y
    \
    
    Format completed successfully.
    
    167782400 kilobytes total disk space.
    
    real 0m0.933s
    user 0m0.003s
    sys 0m0.062s
    [root@pucit ~]#
    Di langkah ini Anda akan mendapati perbedaan yang sangat signifikan dibandingkan format partisi menggunakan EXT4, karena waktu yang dibutuhkan JFS sangat singkat. Hanya dalam 0,95 detik dan 0,93 detik masing-masing waktu yang diperlukan untuk proses format partisi sda8 dan sda9.

 

  • Periksa Status Partisi JFS
    Menggunakan perintah jfs_tune yang tersedia paska instalasi jfsutils di tahapan preparasi sebelumnya, Anda dapat melakukan pemeriksaan terhadap partisi JFS yang telah dibuat.

    [root@pucit ~]# jfs_tune -l /dev/sda8
    jfs_tune version 1.1.13, 17-Jul-2008
    
    JFS filesystem superblock:
    
    JFS magic number: 'JFS1'
    JFS version: 1
    JFS state: clean
    JFS flags: JFS_LINUX JFS_COMMIT JFS_GROUPCOMMIT JFS_INLINELOG
    Aggregate block size: 4096 bytes
    Aggregate size: 335478376 blocks
    Physical block size: 512 bytes
    Allocation group size: 524288 aggregate blocks
    Log device number: 0x0
    Filesystem creation: Thu Jul 11 01:09:39 2013
    Volume label: '/disk1'
    
    [root@pucit ~]# jfs_tune -l /dev/sda9
    jfs_tune version 1.1.13, 17-Jul-2008
    
    JFS filesystem superblock:
    
    JFS magic number: 'JFS1'
    JFS version: 1
    JFS state: clean
    JFS flags: JFS_LINUX JFS_COMMIT JFS_GROUPCOMMIT JFS_INLINELOG
    Aggregate block size: 4096 bytes
    Aggregate size: 335488616 blocks
    Physical block size: 512 bytes
    Allocation group size: 524288 aggregate blocks
    Log device number: 0x0
    Filesystem creation: Thu Jul 11 01:10:07 2013
    Volume label: '/disk2'
    
    [root@pucit ~]#

Menggunakan Partisi JFS

Tibalah di tahapan terakhir, yaitu menggunakan partisi JFS yang telah dibuat.

  • Pengaitan Partisi JFS
    Tidak berbeda dengan penggunaan EXT4, pengaitan partisi cukup dilakukan dengan perintah mount ke direktori yang mewakili nama partisinya.

    [root@pucit ~]# mkdir /disk1 /disk2
    [root@pucit ~]# mount /dev/sda8 /disk1
    [root@pucit ~]# mount /dev/sda9 /disk2
  • Periksa Status Partisi
    Eksekusi perintah mount di konsol untuk menampilkan semua partisi yang telah dikaitkan ke sistem berikut jenis FS-nya.

    [root@pucit ~]# mount
    /dev/sda2 on / type ext4 (rw)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
    /dev/sda1 on /boot type ext4 (rw)
    /dev/sda6 on /tmp type ext4 (rw)
    /dev/sda5 on /usr type ext4 (rw)
    /dev/sda3 on /var type ext4 (rw)
    none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
    /dev/sda8 on /disk1 type jfs (rw)
    /dev/sda9 on /disk2 type jfs (rw)
    [root@pucit ~]#
    Anda akan mendapati sda8 dan sda9 telah dikaitkan ke sistem dalam mode baca-tulis menggunakan JFS. Seperti biasa, Anda juga dapat mendaftarkan partisi yang telah dibuat di /etc/fstab agar otomatis dikaitkan saat sistem diaktifkan serta mode pengaitannya.

 

FSCK?

Bagi yang telah akrab dengan FS extended tentunya juga sudah pernah berjumpa dengan FSCK. Mungkin hal ini pula yang menimbulkan pertanyaan lebih lanjut tentang penggunaan JFS kaitannya dengan recovery partisi. Anda tidak perlu khawatir saat menggunakan JFS, karena tersedia pula fsck.jfs untuk keperluan fsck partisinya.

[root@pucit ~]# fsck.jfs
fsck.jfs version 1.1.13, 17-Jul-2008
processing started: 7/11/2013 2.56.15

Error: Device not specified or command format error

Usage: fsck.jfs [-afnpvV] [-j journal_device] [--omit_journal_replay] [--replay_journal_only] device

Emergency help:
-a Automatic repair.
-f Force check even if file system is marked clean.
-j journal_device Specify external journal device.
-n Check read only, make no changes to the file system.
-p Automatic repair.
-v Be verbose.
-V Print version information only.
--omit_journal_replay Omit transaction log replay.
--replay_journal_only Only replay the transaction log.
[root@pucit ~]#

Berbekalkan beberapa parameter di atas, Anda dapat melakukan fsck sesuai kebutuhan terhadap sembarang partisi JFS. Tidak berbeda dengan proses format partisi mengguanakan JFS, proses fsck JFS juga membutuhkan waktu yang sangat singkat bila dibandingkan dengan FS extended.

Outro

Usai sudah ulasan kali ini tentang JFS. Walaupun sederhana, tentunya saya harapkan dapat memberikan pemahaman yang cukup mudah bagi Anda yang ingin berkenalan dengan JFS serta manajemen partisinya. Tentunya sekarang Anda bisa memiliki opsi dalam penggunaan FS di Linux untuk kebutuhan operasional pribadi maupun produksi. Selamat mencoba.

There are no published comments.

New comment

Atom

morat-marit enterprise - since 2004