2swan

AIX 시스템 시작 및 정지 본문

AIX

AIX 시스템 시작 및 정지

2swan 2024. 5. 9. 15:53

[ 시스템 시작 및 정지 ]

Systme Startup

플러그인된 모든 장치들의 연결 여부 및 전원 상태를 확인한 후 서버의 전원을 올리면, 전면부에 장착된 "LED"를 통해 부팅 과정이 표시된다. "OK"가 표시되어 있으면 Shutdown 상태이며 정상적으로 시스템이 기동된 상태라면 "LED"에 아무것도 표시되지 않아야 한다.

 

▶ 부트 과정

시스템 부트 단계에서는 서버 자체 및 주변 장치에 대한 하드웨어 테스트, 운영체제 커널 로드 및 실행, 주변장치들에 대한 구성을 검증한다.

 

Normal Boot : 일반적인 시스템 부트로 운영체제가 설치된 디스크를 통한 부팅

Service Boot : 운영체제 설치 및 복구를 위해 부팅 가능한 미디어로 부팅

Network Boot : 네트워크로 연결된 타서버로부터 부트이미지를 받아서 부팅

 

 

■ 일반적인 부트 과정

일련의 하드웨어 점검 절차가 선행되며, 지금은 생산되지 않은 MCA 버스 구조의 서버에서는 "BIST(Built-in Self Test)-POST(Power-on Self Test)" 2단계, 현재의 PCI 버스 구조의 서버에서는 "POST" 1단계로 통합되어 부팅이 진행된다.

 

 

■ 부트 단계 1

rc.boot 1 실행 및 cfgmgr 명령을 통해 rootvg 액세스를 위한 기본 장치들에 대한 점검을 수행하고 bootinfo -b 명령을 통해 최종 부트 장치를 확인한다.

 

 

■ 부트 단계 2

정상적으로 rootvg이 varyon 되면, 운영체제 파일시스템들이 마운트된다. 최종적으로 부트 메시지가 alog 명령을 통해 콘솔로 출력되거나 에러 로그에 기록이 된다.

 

 

■ 부트 단계 3

최종적인 부트 과정으로 /etc/inittab에 등록된 내용들을 순차적으로 실행하고, 주변장치들에 대한 점검 및 rootvg, ODS 정보 등을 동기화한다.

 

 

■   pSeries 서버의 부트 과정

  • 신규 pSeries 서버들도 앞서 기술한 것과 같은 동일한 부트 과정을 수행
  • 각 서버 모델별로 LED 코드는 다른 부분이 있으므로 모델별 하드웨어 매뉴얼 참조
  • 별도의 관리 콘솔이 있는 SP2(Control Work Station, CWS), 파티셔닝 모델들(Hardware Management Console, HMC)의 경우에는 해당 관리 콘솔들의 정상 여부를 반드시 확인

 

 

▶ 일반적인 LED 코드 및 조치 방법

■   LED 551, 555 or 557

장애내용 :

  • A damaged filesystem
  • A damaged JFS log device
  • A failing disk in the machine that is a member of the rootvg

조치 방법 :

1. Diag를 통한 하드웨어 점검이나 문제를 해결하기 위해서는 부팅가능한 미디어를 통해 Service Boot 과정을 실행

 

2. maintenance menu에서 Access a Volume Group and start a shell before mounting file systems를 선택

 

3. 파일시스템 복구를 위해 fsck 명령을 실행

   # fsck -y /dev/hd1

   # fsck -y /dev/hd2

   # fsck -y /dev/hd3

   # fsck -y /dev/hd4

   # fsck -y /dev/hd9var

 

4. JFS log 복구를 위해 logform 명령을 실행한다.

   # /usr/sbin/logform /dev/hd8

 

5. Boot Logical Volume (BLV) 복구를 위해 다음의 명령을 실행한다.

   # bosboot -ad / dev/hdisk0 (hdisk0 : boot disk)

   # bootlist -m normal hdisk0

 

 

■   LED 552, 554 및 556

장애내용 :

  • A damaged filesystem
  • A damaged JFS log device
  • A damaged IPL-device record or a damaged IPL-device magic number (the magic number indicates the device type)
  • A damaged copy of the Object Data Manager (ODM) databasse on the boot logical volume
  • A hard disk in the inactive state in the rootvg
  • A damaged superblock

조치 방법 :

1. Diag를 통한 하드웨어 점검이나 문제를 해결하기 위해서는 부팅가능한 미디어를 통해 Service Boot 과정을 실행

 

2. maintenance menu에서 Access a Volume Group and start a shell before mounting file systems를 선택

 

3. LED 551,555 or 557에 대한 조치방법으로 복구가 되지 않는 경우, 백업 데이터를 이용한 복구를 수행한다. 만일, 운영체제 파일시스템 중 /dev/hd4(root filesystem)이 복구가 되지 않는 경우는 시스템 재설치 외에는 방법이 없다.

 

4. Maintenance Mode로 부팅시 'not an AIX filesystem, 'not a recognized file system type' 등의 에러메시지 출력시, 파일시스템 superblock 복구를 위해 다음을 실행한다.

   # dd count=1 bs=4k skip=31 seek=1 if=/dev/hd4 of=/dev/hd4

 

5. BLV의 ODM을 복구하기 위해 다음을 실행한다.

      # /usr/sbin/mount /dev/hd4 /mnt

      # /usr/sbin/mount /dev/hd2 /usr

      # /usr/bin/mkdir /mnt/etc/objrepos/bak

      # /usr/bin/cp /mnt/etc/objrepos/Cu* /mnt/etc/objrepos/bak

      # /usr/bin/cp /etc/objrepos/Cu* /mnt/etc/objrepos

      # /usr/sbin/umount all

      # exit

   새로운 ODM을 RAMFS 으로부터 BLV로 복사하기 위해 다음을 수행한다.

      # lslv -m hd5 (boot disk 확인)

      # savebase -d /dev/hdisk0 (hdisk0 : boot disk)

      # bosboot -ad /dev/hdisk0

      # shutdown -Fr

 

 

■   LED 518, 553

장애내용 :

  • LED 518 : /usr, /var 파일시스템 마운트 장애
  • LED 553 : /tmp, / 파일시스템 용량 부족, inittab 파일 비정상

조치 방법 :

1. rootvg 및 파일시스템 장애 조치 방법에 따라 복구

 

2. /tmp, / 파일시스템의 용량 및 /etc/inittab 파일의 문법을 점검

 

 

▶ Startup Script의 이용

시스템 시작시 부트과정에 언급된 /etc/inittab을 통해서 프로세스들을 초기화하는 방법 외에 시스템이 지정한 디렉토리에 원하는 프로세스들을  기동하는 스크립트를 작성하여 자동화 할 수 있다.

 

관련 명령어

명령어 : /etc/rc.d/rd

관련파일 : /etc/inittab (예: l2:2:wait:/etc/rc.d/rc 2)

 

 

시작 스크립트

정의 :

/etc/rc.d 하위 디렉토리에 원하는 Run Level 디렉토리로 이동후 대문자 S로 시작하는 쉡스크립트 작성

 

디렉토리 :

/etc/rc.d/rc#.d (# : Run Level)

 

작성 예 :

# 오라클 데이터 베이스 자동시작 스크립트

    #!/bin/ksh

    # Name : StartOracle

    # Purpose : oracle database start script

    ORA_HOME=/prod/oracle/app/oracle/product/9.2.0

    ORA_OWNER=oracle

 

    case "$1" in

    "start")

                su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart";

                su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start";

     esac

 

 

 

▶ System Shutdown

Shutdown 과정

시스템의 정상적인 종료 절차로 현재 수행중인 모든 프로세스의 종료 및 운영체제의 정상 종료 과정을 수행

각 시스템 별로 운영체제 외의 서비스 프로세스들(Database, WAS 등)은 운영체제 종료 이전에 각 서비스들의 절차에 맞는 정상 종료 절차를 반드시 선행해야 한다. 만일, 서비스들의 정상 종료가 선행되지 않으면 운영체제는 이와 관련된 모든 프로세스에게 Kill 신호(TERM 후 실패시 KILL)을 보내서 종료하게 되므로 데이터의 유실을 초래할 수 있다. 관련 명령어는 "shutdown, halt"를 사용한다.

 

 

Shutdown 명령어

명령어 : /usr/sbin/shutdown

 

옵션 

-F : fast shutdown

-r : shutdown 실행후 시스템 재시작

-l : shutdown log 작성, /etc/shutdown.log

 

관련파일 : /etc/rc.shutdown

 

 

 rc.shutdown의 이용

명령어 : /etc/rc.shutdown

 

주의점 : shutdown 실행 이전에 수행되며 실패시 shutdown이 진행되지 않는다.

 

작성 예 :

 # 오라클 데이터 베이스 자동 종료 스크립트

    #!/bin/ksh

    # /etc/rc.shutdown

    # Shutdown Script runs at the beginning of the shutdown

    su=/usr/bin/su

    # Oracle Database Shutdown

    $su -oracle << aa

    lsnrctl stop

    sqlplus '/as sysdba' << EOF

    shutdown immediate

    exit

    EOF

    aa