โดยดีฟอลต์การติดตั้ง 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 ได้โดยตรง