Announcement

Collapse
No announcement yet.

XFS Filesystem, anyone?

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    XFS Filesystem, anyone?

    I sunk many hours this weekend into experiments setting up a dual boot Linux system using the XFS filesystem. This will capture what I think I learned, in case anyone else is similarly tempted, or merely curious like me.

    XFS is a high-performance journalling filesystem developed by Silicon Graphics - it is Open Source and GPL-licensed. It is one of the filesystem formats available in GParted. I was interested in it because of its 64-bit addressing capability, and (apparently) my irresistable impulse to push stuff until it breaks.

    I want two Linux OS's bootable, mainly out of a strong belief in having a "Plan B" for all things on my computer. So, my main daily OS of choice is Kubuntu, and I'm presently running the Gutsy RC version (64-bit), and my backup system of choice is Elive, a very different Debian distribution, which is at 0.6.9 (unstable). I do have an indispensable Windows app, "The Master Genealogist" (a MS Visual FoxPro app), but that runs great in a VMWare Player machine on Kubuntu, so I don't need to boot Windows at all.

    So, with my Maxtor IDE/PATA drive as /dev/hda, a WD SATA drive at /dev/sda, and 3 more WD SATA drives for data and whatnot, never mind an 8GB USB thumb drive, I was set to have some fun when I pulled out my GParted Live CD yesterday and commenced partitioning.

    I'm going to describe the partitioning method that ultimately worked, and spare the reader and my fingers the several methods that did NOT work. In general, I will say that working with Grub and XFS has some real challenges, and those challenges are compounded when you are attempting to set up dual-boot capability.

    The basic challenge is, to use the Grub bootloader, XFS requires that the "/boot" directory be on its own partition. It only needs to be 200MB in size, but it needs to be separated from "/". So, with some experience installing Kubuntu on SATA drives in the presence of an IDE drive in the system, I first pulled out my ancient Win 98 boot disk, and booted it up and FDISK'd the IDE drive, removing all partitions and "boot" flags, and leaving it a brainless spinning motor. With that done, I partitioned the first SATA drive into four partitions, "/", "/boot", "/home", and "swap". I set "/" and "/home" to be XFS format, and "/boot" to be ext3. Then I installed Kubuntu Gutsy RC (64-bit), using the Alternate Install CD, and guided the placement of mount points to my partitions, and directed that Grub place the bootloader on the MBR of that first SATA drive. Upon reboot ..... VOILA, Kubuntu Gutsy in all her glory!

    Next, I partitioned the IDE drive into 4 similar partitions, and put my Elive Live CD into the CD ROM drive and let 'er rip. Again, I set "/" and "/home" to be XFS formatted, and "/boot" to be ext3. The installation proceeded without problems. I pointed the Grub bootloader to the root partition (not the MBR), as I wanted the Kubuntu Grub menu to be the one for the system.

    The next challenge was to "connect" the newly-installed Elive system to the /boot/grub/menu.lst menu in the Kubuntu system. I will shorten the narrative -- I fell on my a$$. I put a lot of hours into trying to figure out why I could not get past Grub "Error 17 -- cannot boot the partition." I never did crack it. I think it probably can be done -- this article suggests as much:

    http://www.mail-archive.com/bug-grub.../msg10770.html

    But it's obviously very, very tricky, and I couldn't figure out the trick(s). With Sunday night approaching and me needing a functioning system, I backed off having my root filesystems formatted to XFS, and re-did the whole system, using reiserfs for both root filesystems, deleting the separate "/boot" partitions (which are only needed if you have the root filesystem formatted XFS), and left the "/home" filesystems (and a couple of my other drives) as XFS. With this approach, I was able to install both Kubuntu, with the Grub bootloader on the SATA drive where I wanted it, and Elive on the IDE drive, with its boot partition recognized in the Kubuntu boot menu, so I'm able to dual boot from a conventional Grub menu, as I wanted.

    So, I'm running the Linux filesystems on reiserfs formatted partitions, but quite a bit of my data, including my two "/home" partitions, are on XFS formatted partitions, and I'm going to watch them to see if they are stable and reliable.


    References:

    http://oss.sgi.com/projects/xfs/

    http://www.sgi.com/products/software/xfs/

    http://www.debian-administration.org/articles/388

    http://linux.wordpress.com/2006/09/2...it-default-fs/

    http://linuxgazette.net/102/piszcz.html

    http://linuxgazette.net/122/piszcz.html



    EDIT: 16 OCT 2007

    After contemplating my "lessons" from the first attempt, I gave it another shot today, and got dual-booting working perfectly, including a nice boot splash screen, with Kubuntu running on XFS (except for the little "/boot" partition which is ext3), and the Elive filesystem running on reiserfs, with a separate "/home" partition formatted XFS. Here's the setup that worked:

    BIOS:

    set the WD SATA drive as "first hard drive" in the boot sequence after CD/DVD drive
    set the Maxtor IDE drive as "second" hdd
    set the "boot" flag on the 6GB partition on the SATA drive, which became Kubuntu "/"

    Partitions:

    WD SATA drive (for Kubuntu 7.10)

    6GB for "/", formatted XFS, boot flag on
    0.25GB for "/boot", formatted ext3
    balance of 143GB for "/home", formatted XFS
    (0.5GB swap space is on a different SATA drive)

    Maxtor IDE drive (for Elive 0.6.9)

    5GB for "/", formatted reiserfs, no boot flag
    0.5GB for swap
    balance of 195GB for "/home", formatted XFS

    Grub note:


    To run a boot splash screen, you need to know that the "/boot" partition, which is mounted under the Kubuntu filesystem, is seen by grub as (hd0,1), which matches the "/boot" partition, but the path to the file does not include the "boot" directory. So, the splashimage path in the /boot/grub/menu.lst file is actually like this:

    Code:
    splashimage=(hd0,1)/grub/splashimages/myimage.xpm.gz
    Works good -- now to make some "notes to self" so I can remember how I did it!








    #2
    Re: XFS Filesystem, anyone?

    It'll be interesting to see how you do here. The first link you gave to mail-archive.com is also very interesting. On the one hand, GRUB has a limitation here with XFS partitions; on the other hand, GRUB shows it's flexibility in the workaround--chainloading from a file instead of sector 0. Thanks for posting your experiment. (BTW, I did notice that he uses just one hard drive in that workaround, and in theory, of course, it shouldn't matter; but I agree with you that doing it on a mix of SATA + IDE could get exciting, I don't know for sure.)
    An intellectual says a simple thing in a hard way. An artist says a hard thing in a simple way. Charles Bukowski

    Comment


      #3
      Re: XFS Filesystem, anyone?

      Yes, I learned a bunch, both by researching those links and from the experience of trying it on real hardware.

      Upon reflection, I think I probably could have left my Kubuntu installation with the XFS root filesystem, and only changed the Elive installation back to a conventional reiserfs or ext3 root filesystem, and got it showing up in the Grub menu. But I was running out of "weekend" pretty fast and went for the low-risk configuration, to get a system up and running. I always forget how long it takes to configure the system AFTER the 20 minutes with the installer ...

      :P

      Comment


        #4
        Re: XFS Filesystem, anyone?

        I really like the XFS file system, the performance is incredible compared to event he latest NTFS6.0 fs.

        Are there any drawbacks to simply putting your entire system on XFS?

        Comment


          #5
          Re: XFS Filesystem, anyone?

          XFS seems to work fine for data storage, but not so fine for the root filesystem.

          In my case, I had/have a large (8GB) virtual machine in my root filesystem, and after about 6 months I began observing a serious degradation of the filesystem -- basically it started taking longer and longer to close the VM. When it got to be more than 5 minutes for it to shut down, I re-installed Kubuntu on an ext3 partition (I now run 9.10 on an ext4 filesystem with no problems). I have subsequently read other reports that XFS can have problems with the OS running on it, so I can't recommend it for your root filesystem. But, on my system I left the data partitions as XFS, and they were fine for 2 years. I recently did some hdd-swapping and that data is now on JFS partitions, but I'm sure it would still be fine on XFS if I had not needed to reconfigure the drives for other reasons.

          Comment

          Working...
          X