RHEL 5.4 and XFS
September 4th, 2009 Posted in LinuxThere’s been quite a bit of interest in the XFS offerings included in the 5.4 release of RHEL, and unfortunately it hasn’t really lived up to the hype. There are a few things you’ll need to know if you want to use the included xfs support
- It’s not really included: The XFS kernel module is only in the x86_64 version of the kernel. If you’re using the x86 release, you get no XFS module.
- There aren’t any XFS tools included either: The xfsprogs package isn’t included in RHEL 5.4 Server (see RH’s own BZ #521173 about this). So basically mkfs.xfs isn’t included. That’s not very handy if you were hoping to actually USE xfs.
- Anaconda won’t let you use XFS either: If you’re doing a fresh install and you boot anaconda with the XFS option, you get all the nifty little XFS options you’d expect when you set up your partitioning scheme. The downside is that once anaconda has all the information and tries to actually format things like you told it to, it segfaults. Why? Because it can’t actually MAKE the XFS file system. The tools aren’t there, remember?
Now, many of you may be saying “But Red Hat TOLD me to use xfs in their release notes!” and yes, yes they did. Quoting the Release Notes from RHEL 5.4 we see this ->
Users of GFS2 that do not need high availability clustering are encouraged to look at migrating to other file systems like the ext3 or xfs offerings. The xfs file system is specifically targeted at very large file systems (16 TB and above).
I’d really like to see RH fix support for this, because XFS is an excellent file system, and has some excellent performance when paired with things like MySQL databases.
Red Hat: if you’re listening, please reverse the decision on https://bugzilla.redhat.com/show_bug.cgi?id=521173 and include the XFS toolkits. Your users will thank you for it.
8 Responses to “RHEL 5.4 and XFS”
By Joe on Sep 5, 2009
I wonder if Red Hat’s change of heart has anything to do with the rumor of Sun killing xfs development.
By Matt Simmons on Sep 5, 2009
“Users of GFS2 that do not need high availability clustering…” have been using the wrong filesystem. Why would you ever have switched to GFS2 if you didn’t need clustering? For that matter, GFS2 never was really solid FOR clustering, was it? I thought OCFS was the better implementation?
I’m just going to stick with ext3 for my filesystems. It’s solid, well known and documented, and I don’t fall under any of the exclusions which would encourage me to switch.
Good write-up.
By lberes on Sep 5, 2009
Hmm. I’ve just heard from a Red Hat employee during RH Summit 2009 that RHEL 5.4 has full XFS support but this is available only in selected countries and needs extra support contract/channel enablement. So either the Bugzilla entry is incorrect or the presenter was disiformed.
By Jonathan Buzzard on Sep 7, 2009
I suspect that the move to including XFS is down to the fact that RedHat’s previous offering of ext3 or GFS really does suck. ext3 does not scale beyond 8TB unless you take 8KB blocks and even then it only goes to 16TB. When you have thumper type devices being common place it makes RedHat’s lineup weak.
It would have been nice if RedHat had managed to get CXFS out of the collapse of SGI, as it would have given a nice file system with the option of a robust clustered version (something GFS/GFS2 is not).
By Jonathan Buzzard on Sep 7, 2009
Forgot to say you can always get the XFS tools from the centos-plus repository. Though for my mind they would be better off in the centos-extras repository.
By Darin on Oct 1, 2009
A co-worker used the CentosPlus
Steps taken…..
[root@somehost modules]# uname -r
2.6.18-164.el5
[root@somehost modules]# find . |grep xfs
./2.6.18-164.el5/kernel/fs/xfs
./2.6.18-164.el5/kernel/fs/xfs/xfs.ko
wget http://mirror.centos.org/centos/5.3/extras/x86_64/RPMS/xfsdump-2.2.46-1.el5.centos.x86_64.rpm
wget http://mirror.centos.org/centos/5.3/extras/x86_64/RPMS/xfsprogs-devel-2.9.4-1.el5.centos.x86_64.rpm
wget http://mirror.centos.org/centos/5.3/extras/x86_64/RPMS/xfsprogs-2.9.4-1.el5.centos.x86_64.rpm
wget http://mirror.centos.org/centos/5.3/extras/x86_64/RPMS/dmapi-2.2.8-1.el5.centos.x86_64.rpm
[root@somehost xfs]# yum install dmapi* xfs* –nogpgcheck
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Examining dmapi-2.2.8-1.el5.centos.x86_64.rpm: dmapi-2.2.8-1.el5.centos.x86_64
Marking dmapi-2.2.8-1.el5.centos.x86_64.rpm to be installed
Examining xfsdump-2.2.46-1.el5.centos.x86_64.rpm: xfsdump-2.2.46-1.el5.centos.x86_64
Marking xfsdump-2.2.46-1.el5.centos.x86_64.rpm to be installed
Examining xfsprogs-2.9.4-1.el5.centos.x86_64.rpm: xfsprogs-2.9.4-1.el5.centos.x86_64
Marking xfsprogs-2.9.4-1.el5.centos.x86_64.rpm to be installed
Examining xfsprogs-devel-2.9.4-1.el5.centos.x86_64.rpm: xfsprogs-devel-2.9.4-1.el5.centos.x86_64
Marking xfsprogs-devel-2.9.4-1.el5.centos.x86_64.rpm to be installed
Resolving Dependencies
–> Running transaction check
—> Package dmapi.x86_64 0:2.2.8-1.el5.centos set to be updated
—> Package xfsdump.x86_64 0:2.2.46-1.el5.centos set to be updated
—> Package xfsprogs.x86_64 0:2.9.4-1.el5.centos set to be updated
—> Package xfsprogs-devel.x86_64 0:2.9.4-1.el5.centos set to be updated
–> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================================================
Package Arch Version Repository Size
====================================================================================================================================
Installing:
dmapi x86_64 2.2.8-1.el5.centos /dmapi-2.2.8-1.el5.centos.x86_64 150 k
xfsdump x86_64 2.2.46-1.el5.centos /xfsdump-2.2.46-1.el5.centos.x86_64 746 k
xfsprogs x86_64 2.9.4-1.el5.centos /xfsprogs-2.9.4-1.el5.centos.x86_64 2.9 M
xfsprogs-devel x86_64 2.9.4-1.el5.centos /xfsprogs-devel-2.9.4-1.el5.centos.x86_64 967 k
Transaction Summary
====================================================================================================================================
Install 4 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total size: 4.7 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : xfsprogs 1/4
Installing : dmapi 2/4
warning: user mockbuild does not exist – using root
warning: group mockbuild does not exist – using root
.
.
Installing : xfsdump 3/4
warning: user mockbuild does not exist – using root
warning: group mockbuild does not exist – using root
.
.
Installing : xfsprogs-devel 4/4
Installed:
dmapi.x86_64 0:2.2.8-1.el5.centos xfsdump.x86_64 0:2.2.46-1.el5.centos xfsprogs.x86_64 0:2.9.4-1.el5.centos
xfsprogs-devel.x86_64 0:2.9.4-1.el5.centos
Complete!
[root@somehost ~]# mkfs.xfs /dev/mapper/mpath2p1
meta-data=/dev/mapper/mpath2p1 isize=256 agcount=16, agsize=3276757 blks
= sectsz=512 attr=0
data = bsize=4096 blocks=52428112, imaxpct=25
= sunit=0 swidth=0 blks, unwritten=1
naming =version 2 bsize=4096
log =internal log bsize=4096 blocks=25599, version=1
= sectsz=512 sunit=0 blks, lazy-count=0
realtime =none extsz=4096 blocks=0, rtextents=0
[root@somehost ~]# xfsdump -f xfsdump.txt /dev/mapper/mpath2p1
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 2.2.46 (dump format 3.0) – Running single-threaded
============================= dump label dialog ==============================
please enter label for this dump session (timeout in 300 sec)
-> Test
session label entered: “Test”
——————————— end dialog ———————————
xfsdump: level 0 dump of gvlcblade11.gv.us.pri.wyeth.com:/mnt/xfs
xfsdump: dump date: Thu Sep 17 12:33:02 2009
xfsdump: session id: 21b4964c-4d56-4a4c-b285-421d0311057e
xfsdump: session label: “Test”
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 20800 bytes
xfsdump: /var/lib/xfsdump/inventory created
============================= media label dialog =============================
please enter label for media in drive 0 (timeout in 300 sec)
-> Test1
media label entered: “Test1″
——————————— end dialog ———————————
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 21016 bytes
xfsdump: dump size (non-dir files) : 0 bytes
xfsdump: dump complete: 30 seconds elapsed
xfsdump: Dump Status: SUCCESS
By crank bucket on Oct 14, 2009
If you need/want full XFS support in RHEL, then you need to tell Redhat that you need/want it – exactly what the referenced BZ states.
The fact they’ve floated the trial balloon with 5.4 is a miracle.
XFS not being in RHEL has been mostly a political thing w/i Redhat.
As for no XFS in 32bit, too bad … no benefit for RH to invest in doing that. The main demand for XFS they’ve seen has been from 64bit server customers.
By CR on Oct 21, 2009
So, I am running CentOS 5.3 64bit
Adding XFS was achieved with
yum install kmod-xfs xfsdump xfsprogs
That’s it. You MIGHT need to specify the kernel you are running to get kmod-xfs to install. (uname -r if your friend here)
I have a simple way to motivate Redhat to adopt XFS. Contact your RH account rep, and politely tell them you are switching to CentOS 5.3 as they support XFS. Tell them you will continue to transition to CentOS unless Redhat gets their act together and starts supporting XFS.
Lost $$$ from sales can be a good motivator if this gets mentioned to them enough times to realize they have a problem.