공룡호가 사는 세상 이야기

협력사 대상으로 솔라리스 Jumpstart 구성 방법을 강의하고, 필요한 내용을 요약 해 둔다.
강의 내용은 자사 플랫폼만을 대상으로 하였으나, 일부 범용적으로도 사용할 수 있도록 수정.
아래 예제는 서버 1대에 클라이언트 1대를 대상으로 함.

1. 인스톨서버에 디렉토리 작성 후 CD로 부터 OS Image 생성
# mkdir -p /export/install/Sol10
# cd /cdrom/cdrom0/s0/Solaris_10/Tools
# ./setup_install_server /export/install/Sol10
(시간이 꽤 걸림) <- 여기서 생성된 /export/install/Sol10 디렉토리 내용을 iso로 묶어 두면, 재사용 가능

2. 미니루트 작업용 디렉토리 작성 후 복사, unpack중 에러발생할 경우, 가볍게 무시
# mkdir /tmp/work
# /boot/solaris/bin/root_archive unpackmedia /export/install/Sol10 /tmp/work
# rm /tmp/work/tmp/AdDrEm.lck

3. 드라이버 설치
Jumpstart는 네트웍을 통해 설치를 하므로, 해당 네트웍 인터페이스에 대한 드라이버가 없다면, 해당 드라이버를 설치한다.
아래 드라이버는 Fujitsu용 Giga-Ethernet 드라이버와 Ultra-SCSI 드라이버 설치과정이다.

3.1. 미니루트에 FJSVgid 설치
# cd /cdrom/cdrom0/FJSVgid_4.0/10
# pkgadd -R /tmp/work -d . FJSVgid.u
# pkgadd -R /tmp/work -d . FJSVgid.v

3.2. 미니루트에 Ultra SCSI 설치
# cd /cdrom/cdrom0/ultra_lvd_driver/10
# pkgadd -R /tmp/work -d . FJSVulsa.u
# pkgadd -R /tmp/work -d . FJSVulsa.v
# patchadd -C /tmp/work 914572-01(?) - 그냥 들어있는 패치하면 됨

4. 미니루트를 재포장 후 적용
# mkdir -p /tmp/media/Solaris_10
# /boot/solaris/bin/root_archive packmedia /tmp/media /tmp/work
# cd /tmp/media
# find boot Solaris_10/Tools/Boot | cpio -pdum /export/install/Sol10
# df -k 확인
# umount -f /dev/lofi/1
# lofiadm -d /dev/lofi/1

5. 커스텀 jumpstart 디렉토리 작성, 드라이버, 샘플 복사
# mkdir /jumpstart
# echo "share -F nfs -o ro,anon=0 /jumpstart" >> /etc/dfs/dfstab
# shareall

(Giga-Ethernet)
# mkdir /jumpstart/fjgi
# cp -p /cdrom/cdrom0/install_v4 /jumpstart/fjgi/.
# cp -p /cdrom/cdrom0/admin /jumpstart/fjgi/.
# cp -pr /cdrom/cdrom0/FJSVgid_4.0/10/* /jumpstart/fjgi/.
(Ultra-SCSI)
# mkdir /jumpstart/fjulsa
# cp -p /cdrom/cdrom0/install /jumpstart/fjulsa/.
# cp -p /cdrom/cdrom0/admin /jumpstart/fjulsa/.
# cp -pr /cdrom/cdrom0/ultra_lvd_driver/10/* /jumpstart/fjulsa/.

# cp -r /export/install/Sol10/Solaris_10/Misc/jumpstart_sample/* /jumpstart

6. nfs서버 가동중 확인, disable이면 enable
# svcs -av | grep nfs
# svcadm enable (기동시킬 서비스)

7. profile 작성 (설치 기본정보를 기록한다-아래 형식에 주의)
# vi /jumpstart/profile
 install_type initial_install
 system_type server
 partitioning explicit
 cluster SUNWCXall
 filesys c0t0d0s0 51200 /
 filesys c0t0d0s1 24576 swap
 geo             Asia
 locale          ko

8. finish 작성
# vi /jumpstart/finish
 #!/bin/sh
 BASE=/a
 JUMPSTART=/a/mnt
 mount -F nfs 인스톨서버IP:/jumpstart ${JUMPSTART}
 ${JUMPSTART}/fjgi/install_v4 -R ${BASE} -d ${JUMPSTART}/fjgi -p sun4u
 ${JUMPSTART}/fjulsa/install -R ${BASE} -d ${JUMPSTART}/fjulsa -p sun4u
 umount ${JUMPSTART}
 exit 0

9. rules 작성
# vi /jumpstart/rules의 가운데 쯤, 클라이언트 호스트 정보 입력
 hostname 클라이언트호스트명 - profile finish

10. rules 체크 (ok가 떨어질 때 까지 위 내용 확인)
# cd /jumpstart
# ./check -p /tmp/media -r rules

11. 인스톨서버에 클라이언트 서버정보 추가
# vi /etc/hosts
클라이언트IP[탭]hostname(클라이언트)[탭]loghost

12. 클라이언트의 맥어드레스 확인
클라이언트 PROM(ok-mode까지 부팅)
{ok} show-nets
jumpstart에 사용될 ethernet-port 선택
{ok} cd ethernet-port 주소
{ok} .properties
mac 부분에서 해당 MAC Address 확인

13. 클라이언트 서버 맥 등록
# vi /etc/ethers
맥어드레스 hostname(클라이언트)

14. bootparams 생성
# /export/install/Sol10/Solaris_10/Tools/add_install_client -c 서버호스트명:/jumpstart 클라이언트호스트명 sun4u  <== 호스트명은 꼭 /etc/hosts에 들어가 있어야하며(IP안됨) 서버호스트명은 loghost명 이어야 됨
# cat /etc/bootparams 확인하여 올바로 값이 입력되었는지 확인

15. 인스톨
{ok} boot net - install
위 방법이 안될경우, net의 alias 를 확인하거나
{ok} boot 자신의 네트웍 물리주소 - install