오랜만에 글 올리네요. 제가 생각해도 참 느긋하게 글을 쓰는 것 같습니다.^^;
- 클러스터 시스템 소개와 이해
- 클러스터의 필요성과 하드웨어의 선택
- 클러스터 시스템의 구성
- Perceus 설치
- VNFS 만들기 & 설치하기
이전 글에서 Perceus Server 에 대한 설치를 완료하고 정상작동 되는지 테스트를 하였습니다. 이제 Node 에서 하드디스크로 사용할 디스크 이미지를 만들어고 설치해 보겠습니다.
VNFS 만들기
처음에도 이야기했지만, 우리가 지금 만들고 있는 Diskless cluster 는 Node 가 사용할 하드디스크 이미지를 Master 에서 가지고 있습니다. 그리고 각 node 가 켜질때마다 Master 의 특정위치를 자신의 하드처럼 인식해서 작동하게 됩니다. Perceus 는 이런 Node 의 이미지를 vnfs 라는 형식으로 관리를 합니다. Perceus 에서 이 vnfs 이미지를 미리 만들어서 제공하기도 하지만, 최신버젼이 아니고 Customized VNFS 는 유료 서비스에 해당하는 내용이어서 직접 만들어 보도록 하겠습니다.
vnfs 이미지를 만들기 위해서 /usr/share/perceus/vnfs-scripts 에 있는 script를 이용하도록 하면 됩니다. 우리가 사용할 파일은 centos-5.1.genchroot.sh 파일 입니다.
먼저 centos-5.1-genchroot.sh 파일을 centos-5.5-genchroot.sh 이름으로 복사합니다.
# cp centos-5.1-genchroot.sh centos-5.5-genchroot.sh
파일 내부에 다음 줄을 수정합니다.
# 17번째 줄
releasever=5.5 (17째줄)
# 110번째 줄
gpgkey=$MIRROR/$releasever/os/$ARCH/RPM-GPG-KEY-CentOS-5
다음은 node 에서 필요한 프로그램들을 이미지를 만드는과정에서 같이 설치되도록 수정해야 합니다. 이것은 이미지를 만든 이후에 해도 되지만, 기본으로 제공되는 RPM형식의 프로그램의 경우 초기에 같이 설치하는게 덜 번거롭기 때문에 같이 하도록 하겠습니다. 132번째 줄 쯤에 yum 이라는 명령어로 싲가하는 줄이 있습니다. yum 은 RHEL (RedHat Enterprise Linux) 계열의 리눅스에서 프로그램을 자동 설치해주는 프로그램입니다. CentOS 역기 이 계열의 리눅스 이므로, 이 줄에서 프로그램을 설치하게 됩니다. 이 yum 으로 시작하는줄 끝 부분에 (밑에서는 142번째 줄이었습니다.) 추가로 설치할 프로그램들을 다음과 같이 적어 줍니다. 프로그램 종류는 각자 사용하는 프로그램에 맞춰서 적으셔야 합니다.
132 yum -y -t -d 2 -c $VNFSROOT/$NAME/etc/yum.conf --installroot $VNFSROOT/$NAME install \
133 SysVinit basesystem bash centos-release chkconfig coreutils cracklib \
134 cracklib-dicts db4 e2fsprogs ethtool filesystem findutils gawk \
135 glib glibc glibc-common grep initscripts iproute iputils krb5-libs \
136 libacl libattr libgcc libstdc++ libtermcap mingetty mktemp ncurses \
137 net-tools nfs-utils pam pcre popt portmap procps psmisc rdate rsh \
138 rsh-server rsync sed setup shadow-utils sysklogd tcp_wrappers termcap \
139 tzdata util-linux words xinetd zlib tar mkinitrd less gzip which \
140 util-linux module-init-tools udev kernel openssh-clients \
141 openssh-server passwd dhclient pciutils vim-minimal shadow-utils \
142 vixie-cron ntp strace grub binutils python perl tcsh nasm \
143 libxml2 libxml2-devel gcc-gfortran \
144 compat-libstdc++-33 compat-libstdc++-296 compat-libf2c-34
수정이 끝났습니다. 위 파일을 실행합니다. 그러면, 한참.. 많은 일들을 진행하게 됩니다. 시간이 좀 걸리는데요. 너무 일찍 끝나면 메세지를 잘 보시고 혹시 에러나지 않았나 확인하시기 바랍니다. 저의 경우 가끔 GPG-KEY 때문에 에러가 나거나, 사용하고 있는 mirror 의 파일과 md5 key 가 가끔 맞지 않아서 에러가 나는 경우가 있었습니다.
위 파일의 실행이 끝나면, 다음 명령어로 나면 만들어진 파일을 vnfs 파일로 만들어야 합니다.
[root@n64m vnfs-scripts]# ./chroot2stateless.sh /var/tmp/vnfs/centos-5.5-1.x86_64 /root/centos-5.5-1.stateless.x86_64.vnfs
Creating VNFS capsule 'centos-5.5-1.stateless.x86_64.vnfs'
Setting default kernel to vmlinuz-2.6.18-194.el5
Kernel seems to be relocatable...
Building rootfs ...
Creating additional devices ...
Creating VNFS capsule scripts
Compressing capsule ...
WROTE: /root/centos-5.5-1.stateless.x86_64.vnfs
마지막의 빨간색으로 칠해진 파일 이름이 생성된 vnfs 파일의 이름 입니다. 저의 경우 만들어진 파일이 약 170M 정도 되네요.
VNFS 설치하기
만들어진 VNFS 파일을 Perceus 에 읽어들이고 node 의 기본 이미지 파일로 지정해 보겠습니다.
vnfs 를 import 합니다. import 를 시작하면 처음에 node 에서 사용할 root 의 암호를 물어봅니다. 그 이후에 여러가지 질문을 하는데, 기본값을 건드리지 않고 ENTER 만 치면, 끝나게 됩니다.
# perceus vnfs import centos-5.5-1.stateless.x86_64.vnfs
다음 명령어로 정상적으로 import 된 것을 알 수 있습니다.
# perceus vnfs list
centos-5.5-1.stateless.x86_64
이제 /etc/perceus/defaults.conf 파일을 열어서 다음 줄을 수정합니다.
Vnfs Name = centos-5.5-1.stateless.x86_64
그리고 perceus 를 재시작 합니다.
# /etc/init.d/perceus restart
Stopping perceus vnfs daemon (xget): [ OK ]
Stopping perceus network manager: [ OK ]
Stopping perceusd: [ OK ]
Starting perceus vnfs daemon (xget): [ OK ]
Starting perceus network manager: [ OK ]
Starting perceusd: [ OK ]
#
이제 Node 를 켜보면 아까와는 다르게 다음과 같이 정상적인 부팅이 됩니다.
끝
이번 글에서는 Perceus 시스템에서 사용하는 VNFS 파일을 만들고 설치해 봤습니다. 이제 정상적으로 구동되는 Diskless Cluster 가 생겼네요. 다음 글에서는 Node 설정을 더 구체적으로 하도록 하겠습니다.
'IT n Linux' 카테고리의 다른 글
Notion Ink Adam 개봉기 (4) | 2011.03.01 |
---|---|
최초의 듀얼코어 스마트폰 LG Optimus 2x 개봉기 & 간단 사용기 (2) | 2011.01.29 |
클러스터 시스템 만들기 #4 Perceus 설치 (3) | 2010.08.30 |
클러스터 시스템 만들기 #3 클러스터 시스템의 구성 (1) | 2009.07.23 |
클러스터 시스템 만들기 #2 클러스터의 필요성과 하드웨어의 선택 (3) | 2009.07.23 |