XFS Root Boot HOGYAN

Micskó Gábor, trey@debian.szintezis.hu

v1.0, 2002. augusztus. 26 - Copyright © Hungarian Unix Portal


Ez a HOWTO leírja azt az eljárást amellyel át tudunk konvertálni egy Ext2 filerendszer alapú Linux rendszert úgy, hogy az egész root (/) filerendszer XFS-en fusson. Az XFS-sel kapcsolatos bõvebb információért és a legfrissebb letöltési lehetõségért látogasd meg az XFS project web oldalát a http://oss.sgi.com/projects/xfs/ URL-en.

1. Bemutatás

2. Előfeltételek

3. Ext2 alapú filerendszer konvertálása XFS-re

4. Copyright, licenc, visszajelzés és ilyesmi




1. Bemutatás

Ez a HOWTO leírja azt az eljárást amellyel át tudunk konvertálni egy Ext2 filerendszer alapú Linux rendszert úgy, hogy az egész root (/) filerendszer XFS-en fusson. Az XFS-sel kapcsolatos bõvebb információért és a legfrissebb letöltési lehetõségért látogasd meg az XFS project web oldalát a http://oss.sgi.com/projects/xfs/ URL-en.

2. Előfeltételek

Mielõtt nekilátnánk, két elõfeltételnek kell megfelelned:
  • Rendelkezned kell egy telepített és mûködõ Linux rendszerrel
  • Rendelkezned kell egy üres partícióval, a partíciónak 83-as típusúnak (Linux) kell lennie. Az nem számít, hogy a partíció formázva van-e vagy sem, mi majd megformázzuk XFS-re, és úgyis eltûnik róla minden, ami elõtte rajta volt ;-)

    Ez a dokumentum feltételezi, a partícióid kiosztása a következõ: A /dev/hda1 (swap), /dev/hda2 / (ext2), és végül /dev/hda3, amely filerendszert fogjuk XFS-re alakítani. Ez rendszer-specifikus, értelemszerûen más gépeken az ottani beállításokkal kell végezni a mûveleteket.

    A Linux kernel (a howto írásának pillanatában 2.4.20-pre4) nem támogatja az XFS filerendszert, tehát külsõ patchet kell beszereznünk. Amire szükségünk lesz, az egy Linux kernel XFS filerendszer támogatással, és az xfsprogs-x.x.x.src.tar.gz programokra. Az XFS programokat (xfsprogs) letölthetjük az XFS honlapjáról (http://oss.sgi.com/projects/xfs/download.html) xfsprogs-x.x.x.src.tar.gz néven. Linux kernelt fordítani XFS támogatással nem nehéz dolog, de ha még soha nem fordítottál kernelt, akkor lehet hogy nem ezzel kellene kezdened ;-)

    3. Egy ext2 alapú rendszer konvertálása XFS-re

    Ez a dokumentum a meglevõ ext2 alapú rendszer ``áthelyezésérõl" szól.

    A következõ szekció leírja a szükséges lépéseket ahhoz, hogy hogyan építsünk fel egy XFS root (/) filerendszert, és hogyan bootoljuk be azt.

    3.1 Kernel fordítása XFS támogatással

    Töltsd le a legutolsó 2.4.x vanilla kernelt (a cikk írásának pillanatában a 2.4.18. Töltsd le kernelhez elérhető XFS patchet. Mielőtt nekivágsz a kernel fordításhoz, látogass el az XFS honlapjára és tájékozódj, hogy melyik a jelenleg elérhető legfrissebb stabil XFS patch, és az melyik kernelhez készült. Ha megvan, akkor azt a kernelforrást töltsd le a kernel.org-ról, amelyet az XFS patch támogat) az ftp.kernel.org-ról a /tmp könyvtárba.Csomagold ki egy elkülönített könyvtárba. Másold a /usr/src/ alá. Töltsd le a legutolsó XFS patchet ehhez a kernelhez, és másold a kernelforrás könyvtárába (/usr/src/linux). Jelen esetben a linux-2.4.18.tar.gz kernelt, és az xfs-1.1-2.4.18-all.patch.bz2 patchet használjuk:

    Kernelpatchelés menete:

    #cd /usr/src/linux
    #bunzip -cd xfs-1.1-2.4.18-all.patch.bz2 | patch -p1
    
    [....]
    
    Konfiguráld a kernelt a make config (make menuconfig, make xconfig) segítségével, amelyik közelebb áll a szívedhez :-). A "File systems" címkével jelzett szekcióban kapcsold be a "SGI XFS filesystem support" stuffot (elvileg ha jól patcheltél, akkor ez be is lesz kapcsolva, plusz még alatta a "Enable XFS Quota" is. Azért nem árt kernel fordítás előtt ezt ellenőrizni.). Legyél biztos abban, hogy az XFS támogatást a kernelbe fixen drótozva tetted, NEM MODULBA, mert akkor nem fogja boot idõben a kernel támogatni az XFS-t (csak kisebb cselek árán, de erre most nem térek ki). Konfiguráld az egész kernelt ahogy szükséged van rá, mentsd el a konfigot, majd forgasd le a kernelt. A kernel fordítását a make dep; make clean; make bzImage parancsok kiadásával végezd (vagy ahogy tetszik, ezerféleképpen lehet) ha szükséges fordítsd le a modulokat is, make modules; make modules_install. Utána másold az új kernelt a /boot könyvtárba. Másold a System.map-ot /boot-ba.

    #make dep
    #make clean
    #make bzImage
    #cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.18-xfs
    #cp /usr/src/linux/System.map /boot
    
    Most szükségünk van az XFS programok lefordítására, (én a debian sarge rendszeremen egyszerûen kiadtam az 'apt-get install xfsprogs' parancsot, de aki akarja forgassa le (a fordításhoz nézd meg a letöltött xfsprogs-x.x.x.tar.gz-ben levõ telepítési útmutatót). Ezek a programok azok, amellyel az XFS filerendszert létre lehet hozni, ellenõrizni lehet, stb.

    A következõ lépés az, hogy módosítani kell a LILO bejegyzéseit úgy, hogy az új kernelünket bootolja be. Szerkesszük a /etc/lilo.conf filet és végezzük el az alábbi bejegyzéseket:

    image=/boot/vmlinuz-2.4.18-xfs
    label=xfsboot
    read-only
    root=/dev/hda2
    
    Futtassuk az /sbin/lilo parancsot, ahhoz hogy aktiváljuk az új konfigurációt és rebootoljunk az új kernellel.

    3.2 XFS filerendszer készítése

    OK, most van egy kernelünk XFS támogatással, itt az ideje, hogy megformázzuk az üres partíciónkat XFS-re.

    #mkfs.xfs /dev/hda3
    
    meta-data=/dev/hda3	isize=256    agcount=8, agsize=64448 blks
    data   =		bsize=4096   blocks=515584, imaxpct=25
           =		sunit=0      swidth=0 blks, unwritten=0
    naming =version 2	bsize=4096  
    log    =internal log	bsize=4096   blocks=1200, version=1
           =		sunit=0 blks
    realtime =none		extsz=65536  blocks=0, rtextents=0
    
    [...]
    

    3.3 A root filerendszer másolása

    Ez egy könnyû lépés, kevés munkát igényel a részedrõl, viszont ez viszi el a legtöbb idõt a munka során. Elõször is umount-old az összes NFS, SMB, és cdrom-ot, ami esetleg mountolva lenne. Készíts egy csatolási pontot (mount point) az új XFS partíció részére, és mountold azt. Néhány dolog mielõtt másolsz: ne másold a /proc könyvtárt, viszont készíts neki egy csatolási pontot. Ha nem tudod umountolni a NFS-ed vagy CD-ROM-od, emlékezz rá, hogy ezeket ne másold. Minden mást másolj át a cp -a paranccsal.

    #mkdir /xfsvol
    #mount -t xfs /dev/hda3 /xfsvol
    #cd /
    #cp -a bin etc lib boot dev home usr var [...] /xfsvol
    #mkdir /xfsvol/proc
    
    Ugyanezt a cp -ax paranccsal is el lehet végezni könnyebben, lásd a bõvebb információkért a cp man oldalát.

    3.4 Végső beállítások

    Mielõtt rebootolnánk az új XFS partíciónkra, el kell végeznünk néhány beállítást. Elõször is, meg kell változtatnunk a /etc/fstab bejegyzést a root partíciónkhoz. Emlékezz! hogy az fstab file amin dolgoznunk kell a /xfsvol/etc alatt van, hiszen az lesz az új root partíciónk. Tehát szerkeszd ezt a filet, és írd át a root partícióhoz szóló bejegyzést. Valahogy így:
    /dev/hda2 / ext2 defaults 1 1
    
    Ezt kell megváltoztatnunk így:
    /dev/hda3 / xfs defaults 1 1
    
    Editáld a /etc/lilo.conf-ot úgy, hogy a root partíciódra mutasson. Valami ilyesmit kell csinálnod:
    default=xfsboot2
    ...
    image=/boot/vmlinuz-2.4.18-xfs
    label=xfsboot2
    read-only
    root=/dev/hda3
    
    Figyelj arra, hogy futtasd a'/sbin/lilo'-t újra, mielõtt rebootolnál.

    3.5 Reboot

    Gratulálok! Ha követted a lépéseket, akkor a rendszered tisztán XFS-en fut. Hogy ellenõrizd ezt, írd be 'mount' és nézd meg a kimenetet:
    /dev/hda3 on / type xfs (rw)
    none on /proc type proc (rw)
    none on /dev/pts type devpts (rw,gid=5,mode=620)
    
    Ha minden jól működik, akkor a régi partíciódat (/dev/hda2) megformázhatod XFS-re, és visszaállíthatod a rendszered az eredeti partícióra. Vagy csinálhatsz amit kedved tart. Ha rám hallgatsz azt csinálsz amit akarsz ;-).

    4. Copyright, licenc, visszajelzés és ilyesmi

    Micskó Gábor, trey@debian.szintezis.hu - Hungarian Unix Portal

    Ez a dokumentum szabadon másolható és terjeszthetõ, ha a copyright és az engedély szövegét minden másolaton megõrzik. E dokumentum módosított változatai a változatlan másolatokkal megegyezõ feltételek alapján másolhatók és terjeszthetõk, ha a módosított változatot is az ezzel az engedéllyel megegyezõ feltételekkel terjesztik. A fordítások is a ``módosított változat'' kategóriájába tartoznak.

    Garancia: Nincs.

    Ajánlások: Az üzleti célú terjesztés megengedett és támogatott, de nyomatékosan ajánlott, hogy a terjesztõ lépjen kapcsolatba a szerzõvel a terjesztés elõtt, a dolgok
    naprakészségének biztosítása végett. (Küldhetsz egy példányt abból, amit csinálsz, ha már úgyis csinálod.) A fordítóknak is ajánlott kapcsolatba lépni a szerzõvel, mielõtt lefordítják. A nyomtatott változat jobban néz ki. A papírt használd fel újra!

    Visszajelzéseket, építõ jellegû kritikát a trey@debian.szintezis.hu email címre várok.

    A dokumentum otthona a Hungarian Unix Portal.

    A legfrissebb verziót a http://www.hup.hu/old/xfs URL-en keresd.

    Sok szerencsét!