[클러스터] Teragon HPC Install HOWTO 문서

==========================================================================

                Teragon HPC Install HOWTO 문서

==========================================================================

        * 본 문서는 클루닉스 기술부의 HPC 기본 설치 문서 입니다.

        * 본 문서는 대외비에 해당하니, 작성자의 허가 없이는 외부 유출을

        * 금합니다.

                       작성자 : 클루닉스 기술부 서 진우(alang@clunix.com)

                                           작성일 : 2003년 6월 9일  

                                                              2004년 9월 17일 – 수정 ( Redhat 9 용 )

                                          2005년 1월 15일 – 수정 ( PXE Network booting )

————————————————————————-

1. OS install ( master_node )

Teragon NFS 윈격 설치 환경을 구축 하기 위해선 먼저 Master Node를 설치를 해야 한다.

Master Node 에 기본적인 관리 노드 구성에 맞게 패키지 구성을 완료한 뒤, 원격 설치

서비스를 하기 위해 기본적으로 NFS 서비스와 DHCP 서비스를 구동시킨다.

그런후 계산 노드들은 부팅 CD 나 부팅 디스켓으로 부팅 후 kick start 설치모드로

원격 설치 서버에 접속하여 설치 시 필요한 정보와 패키지를 다운받아 자동 설치 하

게 된다. 아래는 이와 같은 일련의 작업을 설명한 것이다.

        – Teragon CD Install

        – Remote Install

1.1 Teragon CD Install

Master Node ( 원격 설치 서버 ) 를 구축 할려면 기본적으로 아래와 같은 프로그램이

설치 되어져 있어야 한다.

dhcp

dhcp-devel

anaconda-runtime

redhat-config-kickstart

1.2 Remote Install

1.2.1  Remote Nfs Install Server 만들기

Master Node 에 원격 설치 서버를 만들기 위해 Redhat 배포판 CD 를 통합하여

원격 설치에 맞게 구성을 만들어 놓는다.

> 기본 디렉토리를 생성한다.

# mkdir -p /data/clunix/teragon

# mkdir /data/clunix/cd1

# mkdir /data/clunix/cd2

# mkdir /data/clunix/cd3

> cd1,cd2,cd3 디렉토리에 Redhat9.x CD 내용을 각각  복사한다

# mount -t iso9660 /dev/cdrom /mnt/cdrom

# cp -rf /mnt/cdrom/* /data/clunix/cd1

# cp -rf /mnt/cdrom/* /data/clunix/cd2

# cp -rf /mnt/cdrom/* /data/clunix/cd3

> Teragon Server 에 기본 설치되는 RPM Package List 정리하여 ‘kick’ 이란 file 로 보관한다.

> ‘kick’ file 저장위치는 /data/clunix/  안에 둔다.

# rpm -qa > /data/clunix/kick

> redhat 원본CD 에서 Teragon 에 맞는 CD 구성을 만든다.

> addrpm.sh 스크립터를 $teracd 에 만든다.

# cd /data/clunix

[root@teragon01 clunix]# vi addrpm.sh

==============================================================================

#!/bin/sh

for file in `cat kick`

do

        cp -f ./cd1/RedHat/RPMS/${file}* ./teragon/RedHat/RPMS/

        cp -f ./cd2/RedHat/RPMS/${file}* ./teragon/RedHat/RPMS/

        cp -f ./cd3/RedHat/RPMS/${file}* ./teragon/RedHat/RPMS/

done

=============================================================================

# chmod 700 addrpm.sh

> addrpm.sh 실행한다.

만일 배포판 전체 패키지를 통합할 경우 CD1 의 내용에 CD2, CD3 의 RedHat/RPMS 밑의

rpm package 들만을 CD1으로 복사하면 된다.

[root@teragon01 clunix]# ./addrpm.sh

이러면 실제 설치에 필요한 RPM 패키지가 하나의 폴더안에 집중하여 관리 할수 있다.

( 원격 설치 시 자동 One step 설치 방식으로 구성하여 설치 과정 중에 관리자가 계속

대기 하고 있다가 설치에 필요한 정보를 입력하는 수고를 생략하기 위한 것이다. )

기본적인 Redhat rpm package 가 하나로 통합을 시켰으면 이제 HPC에 필요한 추가

패키지를 rpm 으로 만들어 Redhat 배포판 디렉토리 구성의 RPM 디렉토리 안에 추가해

둔다.

dutils, rsh-enable, ecm-base, ecm-mon, ecmhpc-ui 등등의 패키지를 추가한다.

# cp dutil-1.2.1-2.i386.rpm /data/clunix/teragon/RPMS

# cp rsh-enable-0.1-1.i386.rpm /data/clunix/teragon/RPMS

# cp ecm-base-1.0.0-5.i386.rpm /data/clunix/teragon/RPMS

# cp ecm-mon-1.0.0-5.i386.rpm /data/clunix/teragon/RPMS

# cp ecmhpc-ui-1.0.0-5.i386.rpm /data/clunix/teragon/RPMS

> clunix 의 RPM List 를 다시 만들어 준다. anaconda-runtime 이 설치되어져 있어야 한다.

– 기본적인 RPM 구성 정보를 담는 파일을 변경된 구성의 정보로 업데이트 시켜 주어야 한다.  

[root@teragon01 clunix]# /usr/lib/anaconda-runtime/genhdlist –withnumbers –hdlist teragon/RedHat/base/hdlist /data/clunix/teragon/

1.2.2 DHCP Server 설정

[root@teragon01 clunix]# vi /etc/dhcpd.conf

============================================================================

ddns-update-style interim;

ignore client-updates;

default-lease-time 600;

max-lease-time 7200;

option subnet-mask 255.255.255.0;

option broadcast-address 192.168.100.255;

option routers 192.168.100.1;

option domain-name-servers 192.168.100.1;

option domain-name “teragon01”;

subnet 192.168.100.0 netmask 255.255.255.0 {

   range 192.168.100.150 192.168.100.253;

}

===========================================================================

> dhcp 에 사용되는 dev 지정

[root@teragon01 clunix]# vi /etc/sysconfig/dhcpd

==========================================================================

DHCPDARGS=eth0

==========================================================================

> dhcpd deamon restart

[root@teragon01 clunix]# /etc/rc.d/init.d/dhcpd restart

1.2.3 NFS Server 설정

[root@teragon01 clunix]# vi /etc/exports

==========================================================================

/data/clunix/teragon                 *(ro,no_root_squash)

==========================================================================

[root@teragon01 clunix]# /etc/rc.d/init.d/portmap restart

[root@teragon01 clunix]# /etc/rc.d/init.d/nfs restart

> nfs mount 테스트를 한다.

[root@teragon01 data]# mount -t nfs localhost:/data/clunix/teragon /tmp

[root@teragon01 data]# umount /tmp

> ks.cfg

redhat9.x 에서 anaconda 구성이 많이 변경된거 같다.

ks.cfg 구성중 package 구성이 조금 번거롭당.

먼저 HPC 에 맞게 수동으로 완벽하게 설치한  Master Node 시스템에서

rpm -qa > kick 로 rpm list 일일이 ks.cfg 파일에 삽입하여야 한다.

이때 rpm version 은 제거해야 하는데..

vi kick 에서 치환법 ( :%s/-[0-9].*$//g ) 로 제거하면 된다.

그런 후 이 package 구성으로 설치를 한번하고 새로 설치된 시스템의 /root/anaconda-ks.cfg 파일의 Package 구성을 다시 ks.cfg 에 반영하면 된다.

만일 이보다 쉽게 하기 위해서는 redhat-config-kickstart 란 프로그램으로 관리자가

원하는 구성의 ks.cfg 파일을 손쉽게 만들 수 있다. 이렇게 만든 ks.cfg 파일을 원격

설치에 맞게 몇가지 수정을 하여 바로 사용할 수도 있다. 아래 sample 은 수동으로

만든 ks.cfg 파일과 redhat-config-kickstart 를 이용한 ks.cfg 파일 이다.

HPC 셋팅 시 기본 구성으로 참고 하면 되겠다.

완전 수동 ks.cfg 파일 예제

=============================================================================

lang en_US.UTF-8

langsupport –default ko_KR.eucKR en_US.UTF-8 ko_KR.eucKR

keyboard us

mouse none

skipx

text

nfs –server 192.168.100.1 –dir /data/clunix/teragon

zerombr yes

clearpart –all

part / –size 2048

part /usr –size 4096

part swap –recommended

part /data –size 1 –grow

install

network –device eth0 –bootproto none

network –device eth1 –bootproto none

rootpw –iscrypted $1$gICICO40$zY6osnALDHFNVfQUjxeHw1

firewall –medium –dhcp –port=ssh:tcp –trust=eth0

authconfig –enableshadow –enablemd5

timezone Asia/Seoul

bootloader –location=mbr –useLilo

%packages

@ Korean Support

modutils-devel

tk

fam

rpm-build

libxslt

openssl-devel

ncurses-devel

xinetd

ltrace

gmp-devel

redhat-config-kickstart

libbonoboui

m4

blas

indent

db4-utils

diffstat

openldap-devel

gnome-vfs2

pyorbit

emacs-leim

xdelta

units

gnome-mime-data

libxml2-devel

ethereal

cyrus-sasl-devel

libart_lgpl

ntp

atk

gcc-java

kudzu-devel

pkgconfig

libxml-devel

slang-devel

python-devel

automake14

automake15

redhat-config-date

libbonobo

hesiod-devel

patchutils

gcc-c++

gdbm-devel

perl-CPAN

patch

kernel-source

pygtk2-libglade

libpng

gdb

binutils

byacc

memprof

redhat-rpm-config

glibc-kernheaders

readline-devel

cdecl

libxml

fam-devel

libgcj-devel

gnome-python2-canvas

cups-libs

redhat-logviewer

libpcap

bonobo-activation

libgnat

gcc-g77

GConf2

libtermcap-devel

libstdc++-devel

dialog

autoconf

pam-devel

curl

gnuplot

libtool

libgnomecanvas

krb5-devel

audiofile

pciutils-devel

rpm-devel

gtk2

gtk+

octave

libgnomeui

nmap

sgml-common

htmlview

glibc-devel

gcc

libf2c

gcc-gnat

libglade2

flex

pango

libjpeg

expat-devel

gpm-devel

libgcj

dhcp

dev86

gnome-python2

pygtk2

lockdev-devel

emacs

comps-extras

zlib-devel

libusb

libcap-devel

Xaw3d

net-snmp

libcap

redhat-config-packages

samba-client

strace

libusb-devel

libIDL

linc

libvorbis-devel

bison

libvorbis

redhat-config-network

redhat-config-proc

redhat-config-nfs

redhat-menus

ORBit2

libgnome

screen

kernel-smp

db4-devel

esound

rsh-server

doxygen

libogg-devel

cvs

libxml2

texinfo

psgml

libacl-devel

tcl

lapack

swig

libattr-devel

redhat-config-users

automake

vim-enhanced

libuser-devel

libogg

libtiff

splint

libungif

rcs

gnome-python2-bonobo

libxml2-python

newt-devel

samba-common

gettext

curl-devel

krbafs-devel

cpp

rsh-enable

dutil

%post –interpreter /bin/bash

#### setting IP ADDR ############################

stringZ=`cat /proc/cmdline`

for service in $stringZ

do

  if [ `expr match “$service” “ksip=”` -eq “5” ] ; then

    IPADDR=${service:5}

  fi

  if [ `expr match “$service” “ksnm=”` -eq “5” ] ; then

    NAME=${service:5}

  fi

done

echo “DEVICE=eth0” > /etc/sysconfig/network-scripts/ifcfg-eth0

echo “BOOTPROTO=static”  >> /etc/sysconfig/network-scripts/ifcfg-eth0

echo “IPADDR=${IPADDR}”  >> /etc/sysconfig/network-scripts/ifcfg-eth0

echo “NETMASK=255.255.255.128” >> /etc/sysconfig/network-scripts/ifcfg-eth0

echo “ONBOOT=yes”  >> /etc/sysconfig/network-scripts/ifcfg-eth0

echo “NETWORKING=yes”       >  /etc/sysconfig/network

echo “HOSTNAME=${NAME}”     >> /etc/sysconfig/network

#################################################

echo “01 3 * * * root ntpdate 192.168.100.1 > /dev/null  2>&1” >> /etc/crontab

##### setting services off ###################################

chkconfig kudzu off

chkconfig reconfig off

chkconfig ipchains off

chkconfig nfslock off

chkconfig nfs off

chkconfig portmap off

chkconfig keytable off

chkconfig apmd off

chkconfig rawdevices off

chkconfig sendmail off

chkconfig gpm off

chkconfig anacron off

chkconfig atd off

chkconfig netfs off

chkconfig autofs off

/root/rsh.enable

===============================================================================

– redhat-config-kickstart 를 이용한 ks.cfg 파일

===============================================================================

#Generated by Kickstart Configurator

#System  language

lang ko_KR.eucKR

#Language modules to install

langsupport  –default=ko_KR.eucKR

#System keyboard

keyboard us

#System mouse

mouse generic3ps/2

#Sytem timezone

timezone Asia/Seoul

#Root password

rootpw –iscrypted $1$iv0/Mp/1$uoKRMOmtvv/DAVYEnnrGK.

#Use text mode install

text

#Install Red Hat Linux instead of upgrade

install

#Use NFS installation Media

nfs –server=192.168.10.254 –dir=/data/clunix/teragon

#System bootloader configuration

bootloader –useLilo –linear –location=mbr

#Clear the Master Boot Record

zerombr yes

#Partition clearing information

clearpart –all –initlabel

#Disk partitioning information

part /boot –fstype ext3 –size 200

part / –fstype ext3 –size 2000 –asprimary

part /usr –fstype ext3 –size 5000

part /usr/local –fstype ext3 –size 5000

part /var –fstype ext3 –size 2000

part swap –size 2000

part /home –fstype ext3 –size 1 –grow

#System authorization infomation

auth  –useshadow  –enablemd5

#Network information

#network –bootproto=static –ip=192.168.1.1 –netmask=255.255.255.0 –gateway=192.168.1.254 –nameserver=192.168.1.254 –device=eth0

#Firewall configuration

firewall –medium –trust=eth1 –ftp –ssh

#Do not configure XWindows

skipx

#Package install information

%packages –resolvedeps

@ X Window System

@ Editors

@ Engineering and Scientific

@ Graphical Internet

@ Text-based Internet

@ Graphics

@ Authoring and Publishing

@ Server Configuration Tools

@ DNS Name Server

@ Network Servers

@ Development Tools

@ Kernel Development

@ X Software Development

@ Administration Tools

@ System Tools

dutil

rsh-enable

ecm-base

ecm-mon

ecmhpc-ui

%post –interpreter /bin/bash

#### setting IP ADDR ############################

stringZ=`cat /proc/cmdline`

for service in $stringZ

do

  if [ `expr match “$service” “ksip=”` -eq “5” ] ; then

    IPADDR=${service:5}

  fi

  if [ `expr match “$service” “ksnm=”` -eq “5” ] ; then

    NAME=${service:5}

  fi

done

echo “DEVICE=eth1” > /etc/sysconfig/network-scripts/ifcfg-eth1

echo “BOOTPROTO=static”  >> /etc/sysconfig/network-scripts/ifcfg-eth1

echo “IPADDR=${IPADDR}”  >> /etc/sysconfig/network-scripts/ifcfg-eth1

echo “NETMASK=255.255.255.0” >> /etc/sysconfig/network-scripts/ifcfg-eth1

echo “ONBOOT=yes”  >> /etc/sysconfig/network-scripts/ifcfg-eth1

echo “NETWORKING=yes”       >  /etc/sysconfig/network

echo “HOSTNAME=${NAME}”     >> /etc/sysconfig/network

#################################################

##### setting services off ###################################

chkconfig kudzu off

chkconfig reconfig off

chkconfig ipchains off

chkconfig nfslock off

chkconfig nfs off

chkconfig keytable off

chkconfig apmd off

chkconfig rawdevices off

chkconfig sendmail off

chkconfig gpm off

chkconfig anacron off

chkconfig atd off

#############################################################

/root/rsh.enable

======================================================================

이와 같이 만들어진 ks.cfg 파일을 /data/clunix/teragon 에 복사해 두고

dhcp, nfs, portmap 등의 서비스가 정상 가동하는지 확인 후 계산 노드들을 원격으로

설치 한다.

booting CD insert 이후 boot prompt 상에 아래 내용을 입력해 준다.

boot : ks ks=nfs:[nfs_server_ip 혹은 호스트명]:/data/clunix/teragon/ks.cfg ksip=[>설치서버의 기본 IP] ksnm=[설치서버의 호스트명]

        ;; iptables 가 기본적으로 on 되어져 있는 경우 nfs 서비스를 막고 있을 가능성

       이 크다. 그래서 nfs, dhcp 등의 서비스 접속이 안되어서 설치가 안되는 경우

       가 발생할 수 있다. 주의

        ;; 계산 노드의 랜카드가 두장 이상일 경우 실제 nfs 로 통신할 랜카드를 선택

       해야 한다. 실제 랜선이 연결된 랜카드 측의 네트워크 장치를 사용하여 설치

       를 해야 한다.

2. PXE 와 tftp, dhcp, nfs 를 이용한 네트워크 부팅 설치 방법

PXE-ROM 이 있는 Lan Card 의 경우 PXE-protocol 을 이용하여 랜카드 자체에서

네트워크를 통해 부팅 이미지를 읽어 올수가 있다.

이 기능을 이용하면 리눅스 설치 CD 와 같은 미디어 없이 네트워크를 통해 리눅스를

설치 하거나 하드디스크 없이 CPU, MEM 만 달려 있는 시스템을 부팅 이미지와 NFS 서버

를 통해 시스템을 작동 시킬수 있다. 이런 방식을 이용하여 Diskless-HPC 를 구축 하기

도 한다. 여기서는 설치에 관련된 내용만을 다루도록 한다.

Pxe 를 이용한 리눅스 네트워크 설치때 사용되는 기본 프로그램은 아래와 같다.

redhat-config-netboot

tftp-server

dhcpd

nfs

위의 프로그램이 원격 설치 서버 시스템에  기본적으로 설치가 되어져 있어야 한다.

설치는 간단히 배포판에서 제공하는 rpm 으로 설치 하면 된다.

rpm -Uvh redhat-config-netboot

rpm -Uvh tftp-server-x.x.x.rpm

rpm -Uvh tftp-x.x.x.rpm

그럼 /tftpboot 가 생성된다.

/etc/xinetd.d/tftp 의 disable = yes 를 no 변경 해주고 xinetd 를 재시작해준다.

# /etc/rc.d/init.d/xinetd restart

# chkconfig –level 3 xinetd on

# chkconfig –level 3 tftp on

Pxe 네트워크 설치 방식에서 가장 유의해야할 설정은 dhcp 설정이다.

위의 Nfs 네트워크 설치 방식 처럼 단순히 ip 만 활당해 주는 것이 아니기 때문에

다소 복잡하다.

# vi /etc/dhcp.conf

===============================================================================

ddns-update-style interim;

ignore client-updates;

default-lease-time 600;

max-lease-time 7200;

option subnet-mask 255.255.255.0;

option broadcast-address 192.168.100.255;

option routers 192.168.100.254;

option domain-name-servers 192.168.100.254;

option domain-name “node00.tergon.hpc”;

# 아래 추가

allow booting;

allow bootp;

class “pxeclients” {

    match if substring (option vendor-class-identifier, 0, 9) = “PXEClient”;

    next-server 192.168.100.254;

    filename “linux-install/pxelinux.0”;

}

# 특정 Mac Address 를 가지고 접속하는 클라이언트에서 특정 IP 부여

# 이는 tftp 설정에서 클라이언트 시스템 별로 별도의 부팅 이미지 및 ks 파일을

# 적용할수 있기 때문에 지정을 해주면 보다 자동화된 시스템 구축이 가능하다.

group {

        next-server 192.168.100.254;

        filename “linux-install/pxelinux.0”;

        host node01 {

                hardware ethernet 00:09:3d:10:8b:c6;

                fixed-address 192.168.100.1;

                }

        host node02 {

                hardware ethernet 00:09:3d:10:96:64;

                fixed-address 192.168.100.2;

                }

        host node03 {

                hardware ethernet 00:09:3d:10:98:3b;

                fixed-address 192.168.100.3;

                }

        host node04 {

                hardware ethernet 00:09:3d:10:93:ce;

                fixed-address 192.168.100.4;

                }

        host node05 {

                hardware ethernet 00:09:3d:10:98:02;

                fixed-address 192.168.100.5;

                }

        host node06 {

                hardware ethernet 00:09:3d:00:7a:6c;

                fixed-address 192.168.100.6;

                }

        host node07 {

                hardware ethernet 00:09:3d:10:93:d4;

                fixed-address 192.168.100.7;

                }

        }

subnet 192.168.100.0 netmask 255.255.255.0 {

   range 192.168.100.100 192.168.100.150;

}

==================================================================================

그런 후 redhat-config-netboot 명령을 실행한다.

redhat-config-netboot 명령은 기본적으로 X 가 설치된 시스템 위에서 구동한다.

만일 X 가 설치 되어져 있지 않다고 하면 pxeos 와 pxeboot 로 Command Line 상에서

설정을 할수 있다.

redhat-config-netboot 설정은 크게 두가지로 나누어 진다. 먼저 원격 설치에 사용될

부팅 이미지와 initrd 이미지 파일을 설치 OS 별로 구분하여 설정한다.

그런 후 접속 클라이언트 환경을 미리 지정해 두어야 한다.

아래는 Command Line 에서 설정을 추가 하는 방법이다.

설치 OS 구분 추가 :

pxeos -a -i “설명” -p <install_protocol> -D 0 -s <server_name> \\

-L <net-location> <os-identifer>

예)

pxeos -a -i “Redhat ES3” -p NFS -D 0 -s 192.168.100.254 -L /home/clunix/teragon teragon

클라이언트 구분 추가 :

pxeboot -a -O <os-identifer> -r <ramdisk_size> <host>

예 )

pxeboot -a -O teragon -r 10000 192.168.100.1

클라이언트 환경은 /tftpboot/linux-install/pxelinux.cfg/ 밑에 생성이 된다.

각 접속될 클라이언트 별( 구분은 클라이언트 IP 로 한다 )로 부팅 이미지와 ks 파일을

지정할수 있게 설정 파일이 나누어진다. 지정된 클라이언트가 아닌 시스템에서 접속한

경우에는 default 에 지정된 부팅 이미지로 부팅을 하게 된다. 기본적인 설정은

부팅이미지와 ramdisk size 정도 지정되어져 있다. 만일 별도의 kickstart 파일을

이용하여 자동 설치를 원할 경우에는 아래와 같이 ks 관련 append 를 추가 해 주어야

한다. ks 관련 설정은 반드시 기존의 append 설정 뒤에 붙여서 사용하여야 한다.

/tftpboot/linux-install/pxelinux.cfg/default 를 열어보면..

default local

timeout 100

prompt 1

display msgs/boot.msg

F1 msgs/boot.msg

F2 msgs/general.msg

F3 msgs/expert.msg

F4 msgs/param.msg

F5 msgs/rescue.msg

F7 msgs/snake.msg

label local

  localboot 1

label 0

  localboot 1

label 1

  kernel teragon/vmlinuz

  append initrd=teragon/initrd.img ramdisk_size=10000 \\

  ks=nfs:192.168.100.254:/home/clunix/teragon-pkg/ks.cfg ip=dhcp ksdevice=eth0

=======================================================================================

특정 노드에 대한 자동 설정을 하고 쉽다면

/tftpboot/linux-install/pxelinux.cfg/C0A86401  과 같이 특정 호스트에서 접속할 경우

특정 부팅 이미지로 부팅을 시킬수 있다.

# vi /tftpboot/linux-install/pxelinux.cfg/C0A86401

========================================================================================

default teragon

label teragon

    kernel teragon/vmlinuz

append initrd=teragon/initrd.img console=tty0 ramdisk_size=10000 \\

ks=nfs:192.168.100.254:/home/clunix/teragon-pkg/ks.cfg ksip=192.168.200.1 ksnm=node01 ksdevice=eth0

========================================================================================

이제 클라이언트 시스템을 부팅하였을때 클라언트 시스템에 OS 가 설치된 환경이 아니면

자동으로 서버에 접속하여 서버의 부팅 이미지를 가져 오게 된다.

다른 부팅 매체 및 이미지가 존재 할 경우 PXE Network boot 관련 단축키 ( F12 ) 를 부르면

PXE 로 접속하게 된다.

2005년 1월 17일 Sun-FZ440 (Opteron System) 설치 당시 문제점 :

FZ440 시스템에 Redhat ES3-update 3 버전으로 설치를 하였다. PXE 접속하여 OS 설치까지는

무사히 잘 되었는데 설치 완료 후 리부팅 후 bootloader 를 불려 오지 못하는 문제 발생

kickstart file 수정등으로 재 시도를 해 보았지만.. 동일 증세 발견 ..

문제 원인은 Redhat ES3-update3 -amd 버전의 배포 CD 의 isolinux/ 밑의 부팅 관련 이미지

들의 문제임.

당초 CD1 으로 CDROM 부팅이 안되어서 CD1/images/boot.iso 파일의 이미지를 다시 풀어서

부팅이 가능한 문제가 있었는데 설치 이후 기본 부팅 이미지를 덮어 쓰는데 문제 있는

이미지를 덮어 쓰는 문제가 발생함.

어려움이 많았음

**** ks config sample file ****

redhat-config-kickstart

====================================================================================

#Generated by Kickstart Configurator

#System  language

lang en_US

#Language modules to install

langsupport ko_KR.eucKR –default=en_US

#System keyboard

keyboard us

#System mouse

mouse generic3ps/2

#Sytem timezone

timezone Asia/Seoul

#Root password

rootpw –iscrypted $1$I4KvFDeP$nz5hBVDYcdWgfmQgljUEG0

#Reboot after installation

reboot

#Install Red Hat Linux instead of upgrade

install

#Use NFS installation Media

nfs –server=192.168.100.254 –dir=/home/clunix/teragon-pkg

#System bootloader configuration

bootloader –location=mbr

#Clear the Master Boot Record

zerombr yes

#Partition clearing information

clearpart –all –initlabel

#Disk partitioning information

part /boot –fstype ext3 –size 200 –ondisk sda

part / –fstype ext3 –size 3000 –asprimary –ondisk sda

part /usr –fstype ext3 –size 10000 –ondisk sda

part /var –fstype ext3 –size 3000 –ondisk sda

part swap –size 4000 –ondisk sda

part /home –fstype ext3 –size 1 –grow –ondisk sda

#System authorization infomation

auth  –useshadow  –enablemd5

#Firewall configuration

firewall –enabled

#Do not configure XWindows

skipx

#Package install information

%packages –resolvedeps

@ X Window System

@ GNOME Desktop Environment

@ Editors

@ Engineering and Scientific

@ Graphical Internet

@ Text-based Internet

@ Server Configuration Tools

@ DNS Name Server

@ Network Servers

@ Development Tools

@ Kernel Development

@ X Software Development

@ GNOME Software Development

@ Administration Tools

@ System Tools

===============================================================================

custom file

===============================================================================

lang ko_KR.eucKR

langsupport  –default=ko_KR.eucKR

keyboard us

mouse generic3ps/2

timezone Asia/Seoul

rootpw –iscrypted $1$nC947A.0$7k8ULqNdFZhOYDrnhz3ai1

text

install

nfs –server=192.168.100.254 –dir=/home/clunix/teragon-pkg

bootloader –location=mbr

zerombr yes

clearpart –all

part /boot –fstype ext3 –size 200 –ondisk sda

part / –fstype ext3 –size 3000 –ondisk sda –asprimary

part /usr –fstype ext3 –size 10000 –ondisk sda

part swap –size 4000 –ondisk sda

part /var –fstype ext3 –size 3000 –ondisk sda

part /home –fstype ext3 –size 100 –grow –ondisk sda

authconfig –enableshadow –enablemd5

#network –device eth0 –bootproto none

#network –device eth1 –bootproto none

firewall –enabled –trust=eth0

skipx

%packages

@ engineering-and-scientific

@ legacy-software-development

@ editors

@ system-tools

@ base-x

@ gnome-software-development

@ development-tools

@ text-internet

@ x-software-development

@ legacy-network-server

@ dns-server

@ gnome-desktop

@ admin-tools

@ compat-arch-development

@ authoring-and-publishing

@ korean-support

@ server-cfg

@ network-server

@ kernel-development

@ graphical-internet

@ compat-arch-support

krb5-server

rsh-server

-lam

kernel

kernel-smp

rsh-enable

dutil

%post –interpreter /bin/bash

#### setting IP ADDR ############################

stringZ=`cat /proc/cmdline`

for service in $stringZ

do

  if [ `expr match “$service” “ksip=”` -eq “5” ] ; then

    IPADDR=${service:5}

  fi

  if [ `expr match “$service” “ksnm=”` -eq “5” ] ; then

    NAME=${service:5}

  fi

done

echo “DEVICE=eth1” > /etc/sysconfig/network-scripts/ifcfg-eth1

echo “BOOTPROTO=static”  >> /etc/sysconfig/network-scripts/ifcfg-eth1

echo “IPADDR=${IPADDR}”  >> /etc/sysconfig/network-scripts/ifcfg-eth1

echo “NETMASK=255.255.255.0” >> /etc/sysconfig/network-scripts/ifcfg-eth1

echo “ONBOOT=yes”  >> /etc/sysconfig/network-scripts/ifcfg-eth1

echo “NETWORKING=yes”       >  /etc/sysconfig/network

echo “HOSTNAME=${NAME}”     >> /etc/sysconfig/network

#################################################

chkconfig gpm off

chkconfig kudzu off

chkconfig netfs off

chkconfig random off

chkconfig rawdevices off

chkconfig atd off

chkconfig audit off

chkconfig acpid off

chkconfig isdn off

chkconfig iptables off

chkconfig ip6tables off

chkconfig autofs off

chkconfig portmap off

chkconfig nfslock off

chkconfig mdmonitor off

chkconfig cups off

chkconfig rhnsd off

chkconfig hpoj off

chkconfig xfs off

chkconfig arptables_jf off

/root/rsh.enable

==================================================================================

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

3 Responses

  1. ethereal jazz 말해보세요:

    ethereal jazz

  1. 2022년 6월 18일

    3amicably

  2. 2023년 1월 26일

    2sixty-seven

페이스북/트위트/구글 계정으로 댓글 가능합니다.