본문 바로가기
HP-UX

[HP-UX] HP-UX Start-up Procedure

by 레이루이 2008. 4. 30.
반응형

1. Boot Rom Startup Sequence

- Power을 on하면 H/W의 self test을 수행한다. ( RAM, IO Card 등 ) self test도중 error가 발생하면 Console의 왼쪽 하 단에 Diag code가 display 된다. (example : CD0A)
- Console Path을 찾는다.
- vmunix (커널)이 있는 Disk을 찾아 vmunix(커널)을 Loading한다.

2. /etc/init

- /stand/vmunix(커널)이 start되면 초기화 작업을 수행한 후에 /etc/init process을 실행시키고 자신은 swapper(process id 0)가 된다. /etc/init process는 /etc/inittab file을 참조하여 아래와 같은 수순으로 process을 기동시키고 시스템의 Run leve l에 따라 start up되는 process을 관리한다.

init process는 process id가 1이며 UNIX상에서 모든 Process의 Parent Process가 된다.

1) /sbin/ioinitrc

/etc/ioinit을 수행하여 iomap을 kernel에 인식시키고 /sbin/insf로 없는 special file 생성

2) /sbin/mtinit

/etc/mtconfig file을 읽어서 tape drive의 minor number를 kernel에 저장

3) /sbin/dasetup

mux card 에 driver program을 download

4) /sbin/bcheckrc

filesystem을 mount 하기 전에 filesystem의 상태를 확인하여 필요한 경우 filesystem을 check

5) /sbin/rc

/etc/rc script는 /etc/inittab file의 run level을 check하여 해당 run level에 맞는 directory의 script을 기동시킨다.

. /etc/rc1.d --- Run level 1 이상
. /etc/rc2.d --- Run level 2 이상
. /etc/rc3.d --- Run level 3 이상

즉 Run level이 1 이면 /etc/rc1.d의 script만 실행이되고,
Run level이 2 이면 /etc/rc1.d와 /etc/rc2.d의 script가 실행되고,
Run level이 3 이면 위의 3 directory의 script가 실행된다.

run level

state

sequence dir

/sbin/rc와의 관계

0

halted
/sbin/rc0.d
모든 start/kill script 수행됨

S

single user
/sbin/rc0.d

1

minimal system
configuration
/sbin/rc1.d

낮은 state에서 올 때 모든 start script 수행됨

2

multi-user
/sbin/re2.d
높은 state에서 올 때 kill script 수행됨

3

exported file system
/sbin/rc3.d

4

HP-VUE
/sbin/rc4.d

5

현재 사용하지 않음
/sbin/rc5.d

6

현재 사용하지 않음
/sbin/rc6.d

- /sbin/rc[0123456].d directory 아래의 file은 /sbin/init.d directory 아래의 script에 link 되어 있음

- link file의 구조

/sbin/rc2.d/S060cron

1 2 3 4

1: run level
2: start/kill script
3: 일련 번호 (작은 번호의 script가 먼저 수행)
4. script name

■ /sbin/rc1.d/S???*

S100hfsmount

/sbin/lvmrc로 logical volume start

mountall(1m)으로 hfs로 정의된 filesystem을 mount quotaon(1m)으로 quota start

S320hostname

hostname(1), uname(1) 수행

S400set_prvgrp

/etc/privgroup file을 읽어 setprivgrp(1m) 수행

S420set_date (/etc/rc.config.d/set_date)

/sbin/set_parms로 system 시간 수정

S440savecore (/etc/rc.config.d/savecore)

dump device에 kernle core dump가 있으면 savecore(1m)로 save

S500swap_start

swapon(1m)으로 /etc/fstab에 swap으로 정의된 partition 또는 logical volume을 swap으로 kernel에 인식시킴

S520syncer (/etc/rc.config.d/syncer)

/usr/sbin/syncer daemon을 start


■ /sbin/rc2.d/S???*

S008net.sd (/etc/rc.config.d/netconf)

ifconfig(1m), lanconfig(1m), route(1m) 명령 수행

S100swagentd

swagentd(1m) daemon을 start

S120swconfig

swconfig(1m) 명령으로 install은 되었으나 configure 되지않은 software를 configure 시킴

S200clean_ex

비정상으로 중단된 ex(1), vi(1) file을 recover

S202clean_uucp (/etc/rc.config.d/clean_uucp:$CLEAN_UUCP)

/usr/lbin/uucp/uuclean 수행하여 uucp 관련 log/lock file 정리

S204clean_tmps (/etc/rc.config.d/clean_tmps:$CLEAR_TMP)

/tmp/*, /usr/tmp/* file을 삭제

S206clean_adm (/etc/rc.config.d/clean:$CLEAN_ADM)

/var/adm/* 아래의 log을 OLD*로 변경하고 reset


S220syslogd (/etc/syslogd.conf)

syslogd.conf file에 의해 syslogd(1m) daemon 수행

S230ptydaemon (/etc/rc.config.d/ptydaemon:$PTYDAEMON_START)

pseudo tty를 process에 할당하는 ptydaemon을 start

S300nettl (/etc/rc.config.d/nettl:$NETTL)

network trace를 위한 nettl(1m) daemon start

S320hpether (/etc/rc.config.d/hpetherconf)

hpetherconf file을 읽어 lanadmin(1m) 을 이용하여 ethernet address를 변경

S340net (/etc/rc.config.d/netconf)

netconf file을 참조하여 ifconfig(1m), lanconfig(1m), route(1m) 명령 수행

S350x25 (/etc/rc.config.d/x25)

x25가 configure 되어 있으면 x25init(1m) 수행

S370named (/etc/rc.config:$NAMED)

named configure 되어 있으면 named(1m) daemon을 start


S400nfs.core

RPC program number를 DARPA protocol port number로 변경하는 portmap(1m) daemon을 start

S410nis.server (/etc/rc.config.d/namesvrs:$NIS_MASTER_SERVER,

$NIS_SLAVE_SERVER)

yellow page의 master/slave server로 정의되어 있는 경우

ypserv(1m), ypxfrd(1m), rpc.yppasswdd(1m) daemon을 start

S420nis.client (/etc/rc.config.d/namesvrs:$NIS_CLIENT)

yellow page의 client로 정의되어 있는 경우 ypbind(1m) daemon을 start

S430nfs.clent (/etc/rc.config.d/nfsconf:$NFS_CLIENT)

nfs client로 configure되어 있는 경우 portmap(1m), biod(1m), rpc.statd(1m), rpc.lockd(1m),

automount(1m) daemon을 start


S500inetd

internet service daemon인 inetd(1m)를 start

S510gated (/etc/rc.config.d:$GATED)

dynamic routing을 사용하는 경우 gated(1m) daemon을 start

S520rdpd (/etc/rc.config.d/netconf:$RDPD)

router discover protocol daemon인 rdpd(1m)을 start

S530rwhod (/etc/rc.config/netdaemon:$RWHOD)

system status daemon인 rwhod(1m)을 start

S540sendmail (/etc/rc.config.d/mailservs:$SENDMAIL_SERVER)

sendmail의 server로 정의되어 있는 경우 sendmail(1m) daemon을 start

S550ddfa (/etc/rc.config.d/netdaemon:$DDFA)

DTC device file access daemon을 start

S560SnmpMaster (/etc/rc.config.d/SnmpMaster:$SNMP_MASTER_START)

SNMP daemon인 snmpd(1m)를 start


S565SnmpHpunix (/etc/rc.config.d/SnmpHpunix:$SNMP_HPUNIX_START)

HP Unix subAgent daemon을 start

S565SnmpMib2 (/etc/rc.config.d/SnmpMib2:$SNMP_MIB2_START)

MIB2 subAgent daemon을 start

S570dce (/etc/rc.config.d/dce)

dce 관련 daemon을 start

S580dfs (/etc/rc.config.d/dfs)

dfs 관련 daemon을 start

S590ncs (/etc/rc.config.d/ncs:$START_LLBD, $START_GLBD)

ncs와 관련된 llbd(1m), glbd(1m) daemon을 start llbd는 hp-ux 10.0 부터 rpcd에 포함

S600i4lmd (/etc/rc.config.d/i4lmd:$START_I4LMD)

iFOR/LS licensing daemon을 start

S610rbootd (/etc/rc.config.d/netdaemons:$START_RBOOTD)

boot daemon인 rbootd(1m)을 start

S620xfs (/etc/rc.config.d/xfs:$RUN_X_FONT_SERVER)

X font server인 fs(1) daemon을 start

S630vt (/etc/rc.config.d/vt:$VTDAEMON_START)

virtual terminal daemon인 vtdaemon(1m)을 start

S650dtcmgr (/etc/rc.config.d/dtcmgr:$START_DTCMGR)

DTC Manager/UX를 위한 management protocol daemon인 dtcnmd(1m)를 start

S660xntpd (/etc/rc.config.d/netdaemons:$XNTPD)

network time synchronization daemon인 xntpd(1m)를 start

S680snaplus (/etc/rc.config.d/snaplus:$START_SNAPLUS)

sna+ 관련 daemon인 snapstart(1m)을 start


S700acct (/etc/rc.config.d/acct:$START_ACCT)

proccess accounting을 위해 /usr/sbin/acct/startup script start

S710hparray (/etc/rc.config.d/hparray:$HPARRAYSCAN)

HPC2400 disk array를 scan하기 위한 process start

S720lp (/etc/rc.config.d/lp:$LP)

lp spooler인 lpsched(1m)을 start

S730cron (/etc/rc.config.d/cron:$CRON)

cron daemon인 cron(1m)을 start

S740supprtinfo (/etc/rc.config.d/supprtinfo:$SUPPORTINFO)

hp-ux 10.0 부터는 on-line diagnostic이 optional product라는 message를 console에 display

S742diagnostic (/etc/rc.config.d/diagnostic:$DIAGNOSTICS)

diagnostic daemon인 DIAGINIT을 start

S750envd (/etc/rc.config.d/envd:$ENVD)

environmental daemon인 envd(1m)을 start

S760auditing (/etc/rc.config.d/auditing:$AUDITING)

auditing daemon인 audomon(1m)을 start

S770audio (/etc/rc.config.d/audio:$AUDID_SERVER)

audio


server daemon인 Aserver를 start

S800spa (/etc/rc.config.d/spa)

single point admin을 위한 준비 작업 수행

S810scope (/etc/rc.config.d/scope:$SCOPE_START)

performance collection software인 scopeux의 startup script를 start

S820prm (/etc/rc.config.d/prm:$PRM_ENABLE)

process resource manager를 configure/start 시키는 script

S880swcluster (/etc/rc.config.d/swcluster)

SD/SD child process에 의해 사용되는 environment variable을 set

S900hpnpd

hp network based printer를 위한 daemon인 hpnpd(1m)를 start

S900laserrx (/etc/rc.config.d/laserrx:$LASERRX)

laserrx의 spooler인 iasqlsvr를 start


■ /sbin/rc3.d/S???*

S100nfs.server (/etc/rc.config.d/nfsconf:$NFS_SERVER)

nfs server에 필요한 daemon을 start

S800cmcluster (/etc/rc.config.d/cmcluster:$AUTOSTART_CMCLD)

CM cluster에 자신 node를 등록

반응형