Knowledge Base/Linux

rhel5.3+xfs

Woos™ 2011. 3. 23. 23:35

http://mjluna-textcube.blogspot.com/2010/05/xfs-%ED%8C%8C%EC%9D%BC%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%84-%EB%A7%8C%EB%93%A4%EC%9E%90-centos-53-64bit.html

xfs 파일시스템을 만들자! (CentOS 5.3 64bit)

*** kernel source install ***

xfsprogs-2.9.4-4.el5.x86_64.rpm pbone.net 에서 다운, 설치

1. kernel source (kernel-2.6.18-128.el5.src.rpm) download


2. kernel-2.6.18-128.el5.src.rpm install

  -> /usr/src/redhat/SPEC/kernel-2.6.spec 설치됨


3.  /usr/src/redhat/SPEC/kernel-2.6.spec 파일을 vi 편집기로 연다


4. %clean을 찾아서 rm -rf $RPM_BUILD_ROOT 주석처리 (xfs source를 얻기위함)


5. #rpmbuild -bb kernel-2.6.spec   : 컴파일 (unifdef 패키지 설치되어있어야 함)

  -> 설치 중간에 "Not enough random bytes available. Please do some other work to give

       the OS a chance to collect more entrop!" 라는 메세지가 뜰 경우, 다른 창에서

      #rngd -r /dev/urandom 실행하면 설치 계속됨


6. #cd /usr/src/redhat/BUILD/kernel-2.6.18/linux--2.6.18.x86-64/


7. #make mrproper  : 커널환경삭제


8. /boot/config-2.6.18-128.el5 파일을 .config 로 복사


9. make oldconfig


10.  .config파일을 vi 편집기로 열어서 XFS 부분 수정  

   #CONFIG_XFS_FS is not set    

   ->주석 빼고 CONFIG_XFS_FS=m

   *  m : module file 생성,    y : kermodule에 삽입


11. mkdir .tmp_versions

    (* 만들어주지 않을 경우 컴파일하는 중간에 .tmp_version 디렉토리 생성하라는 메세지 출력)


12. make fs/xfs/xfs.ko


13. cd /usr/src/redhat/BUILD/kernels/linux-2.6.8-128.el5-x86_64/fs/xfs  xfs 생성 확인

      (#ls -ltr)


14. cd /usr/src/redhatBUILD/kernels/linux-2.6.8-128.el5-x86_64 /fs/xfs


15. insmod xfs.ko


16. lsmod 로 확인


17. cp xfs.ko /lib/modules/2.6.18-128.el5/kernel/fs/


18. cd /lib/modules/2.6.18-128.el5


19. depmod -a

      ( * depmod : module.dep 파일생성)


20. modprobe로 올릴 수 있다.

    (modprobe -r xfs : xfs 모듈 삭제)


21. xfs로 filesystem 구성


# mkfs.xfs -f /dev/sdb
meta-data=/dev/sdb            isize=256    agcount=32, agsize=7630957 blks
         =                    sectsz=512   attr=0
data     =                    bsize=4096   blocks=244190624, imaxpct=25
         =                    sunit=0      swidth=0 blks, unwritten=1
naming   =version 2           bsize=4096 
log      =internal log        bsize=4096   blocks=32768, version=1
         =                    sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                extsz=4096   blocks=0, rtextents=0


[root@gpufarmfa ~]# vi /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SWAP-sda2         swap                    swap    defaults        0 0
/dev/sdb               /work                    xfs     defaults        0 0
/dev/sdc                /workd2                 xfs     defaults        0 0

[root@gpufarmfa /]# mkdir /opt
[root@gpufarmfa /]# mkdir /workd1

[root@gpufarmfa /]# mount -a

[root@gpufarmfa /]# mount
/dev/sda3 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sdb on /work type xfs (rw)
/dev/sdc on /workd2 type xfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
none on /ipathfs type ipathfs (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)