คอนฟิก XFS Filesystem

โดยดีฟอลต์การติดตั้ง Fedora ไม่ว่าจะเป็นเวอร์ชั่นเก่าหรือใหม่ Filesystem ที่ถูกเลือกเป็นดีฟอลต์จะเป็นแบบ ext ตั้งแต่ ext2, ext3 และล่าสุดเป็น ext4

ที่จริงตอนติดตั้ง มีให้เลือก Filesystem แบบอื่นอยู่ด้วยเช่น xfs แต่ถ้าตอนติดตั้งไม่ได้เลือก แล้วเราติดตั้ง ลงโปรแกรมต่างๆ คอนฟิก และระบบใช้งานไปแล้ว ไม่อยากเสียเวลาติดตั้งใหม่ทั้งหมด วันหนึ่งมี disk ก้อนใหม่เพิ่มขึ้นมา แล้วอยากจะใช้ Filesystem แบบ xfs บ้าง

บทความนี้จะอธิบายการติดตั้งโปรแกรมเพิ่มเติม เพื่อให้เครื่องเราสามารถเรียกใช้ Filesystem แบบ xfs ได้

สองส่วนที่ต้องคอนฟิกเพิ่มเติม คือลงไฟล์ rpm สำหรับโปรแกรมจัดการ xfs filesystem และอีกส่วนคือคำสั่งในการสร้าง filesystem

ในที่นี้จะสมมตว่าเราเพิ่มดิสก์ ก้อนที่ 2 ชื่อ /dev/sdb เข้าไปในเครื่อง ทดสอบกับ Fedora 11

ติดตั้งโปรแกรม xfsprogs

โปรแกรม xfsprogs มีอยู่ในแผ่นดีวีดีติดตี้ง Fedora อยู่แล้ว ใส่แผ่นแล้วใช้คำสั่ง mount เพื่อติดตั้งโปรแกรม

[root@fc11-64a ~]# mount /dev/scd0 /media/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@fc11-64a ~]# cd /media/Packages/
[root@fc11-64a Packages]#
[root@fc11-64a Packages]# rpm -ivh xfsprogs-3.0.0-2.fc11.x86_64.rpm
Preparing...                ########################################### [100%]
   1:xfsprogs               ########################################### [100%]

จากการติดตั้งโปรแกรม xfsprogs เราจะได้คำสั่งที่ใช้ในการจัดการ คอนฟิก xfs filesystem

[root@fc11-64a ~]# rpm -ql xfsprogs
/lib64/libhandle.so.1
/lib64/libhandle.so.1.0.3
/sbin/fsck.xfs
/sbin/mkfs.xfs
/sbin/xfs_repair
/usr/sbin/xfs_admin
/usr/sbin/xfs_bmap
/usr/sbin/xfs_check
/usr/sbin/xfs_copy
/usr/sbin/xfs_db
/usr/sbin/xfs_estimate
/usr/sbin/xfs_freeze
/usr/sbin/xfs_fsr
/usr/sbin/xfs_growfs
/usr/sbin/xfs_info
/usr/sbin/xfs_io
/usr/sbin/xfs_logprint
/usr/sbin/xfs_mdrestore
/usr/sbin/xfs_metadump
/usr/sbin/xfs_mkfile
/usr/sbin/xfs_ncheck
/usr/sbin/xfs_quota
/usr/sbin/xfs_rtcp
...

สร้าง xfs filesystem

สร้าง partition บนดิสก์ก้อนใหม่ แล้วใช้คำสั่ง mkfs.xfs เพื่อสร้าง xfs filesystem (format) บน partition

หมายเหตุ หากใช้คำสั่ง mkfs.xfs แล้วเจอข้อความ error แบบนี้ คือ partition นี้มี filesystem แบบอื่นอยู่แล้ว (ในที่นี้คือ ext3) หากต้องการสร้าง filesystem แบบ xfs ทับลงไปจริงๆ ต้องระบุออปชั่น ‘-f’ ด้วย

[root@fc11-64a ~]# mkfs.xfs /dev/sdb1
mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (ext3).
mkfs.xfs: Use the -f option to force overwrite.
[root@fc11-64a ~]# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1              isize=256    agcount=4, agsize=2444388 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=9777552, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=4774, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0

สร้างไดเร็คทอรี (mount point) สำหรับ mount partition ที่สร้างใหม่

[root@fc11-64a ~]# mkdir /export
[root@fc11-64a ~]# mount /dev/sdb1 /export
[root@fc11-64a ~]# mount
...
/dev/sdb1 on /export type xfs (rw)
[root@fc11-64a ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
...
/dev/sdb1              38G  4.2M   38G   1% /export

หากทดสอบจนแน่ใจว่าใช้งานได้ตามปกติ ถ้าต้องการให้ mount partition นี้ ตอนบู๊ตเครื่องโดยอัตโนมัติ สามารถทำได้โดยเพิ่มคอนฟิกในไฟล์ /etc/fstab

[root@fc11-64a ~]# cat /etc/fstab
...
/dev/sdb1               /export                 xfs     defaults        1 2

การเปลี่ยน filesystem จากแบบอื่น ให้เป็น xfs

การเปลี่ยน filesystem จากแบบอื่น ให้เป็น xfs ต้องทำการ backup ข้อมูลที่อยู่เดิม ก่อน แล้วใช้คำสั่ง mkfs.xfs เพื่อสร้าง filesystem แบบ xfs ขึ้นมาใหม่ แล้วค่อย restore ข้อมูลกลับลงไป เท่าที่ทราบ ไม่มีคำสั่งหรือโปรแกรมไหน สามารถเปลี่ยนแปลง filesystem ให้เป็น xfs ได้โดยตรง

ข้อมูลอ้างอิง

Leave a Reply

Your email address will not be published.