본문 바로가기
HP-UX/Operating System

[HP-UX] HP OS 운영 기초

by 레이루이 2008. 5. 1.
반응형

1.1 HP-UX 11.x 운영 기초

1.1.1 HP-UX 11.X File System 구조

Static(Shared) 디렉토리들에는 실행파일이나 OS 다큐멘테이션 등과 같은 read-only
파일들이 존재한다. 이 디렉토리는 다른 호스트들에 의해 공유될 수 있다.
Dynamic(Private) 디렉토리들에는 사용자 작업 파일이나 어플리케이션 구성파일, 로그 파일 등이 존재한다. 이 곳에는 호스트마다 다른 특정한 정보들이 있다.
O/S install시 기본으로 /, /stand, /var, /opt, /usr, /tmp, /home의 file system이 구성됨.

1.1.2  탐색 명령어

find : file 및 file system 의 구조를 탐색할 수 있다.
[예제] # find . –size +1000000c|tee /tmp/bigfiles
1M 이상의 파일을 찾아서 stdout 과 /tmp/bigfiles에 저장
whereis : source, binaries, man pages 을 찾을 수 있다.
[예제] # whereis sendmail
which : PATH 변수에 설정된 환경 하에서 실행 파일을 찾을 수 있다.
[예제] # which sendmail
file : file type을 알 수 있다.
[예제] # file /usr/sbin/sendmail
 

1.1.3  시스템의 주요 정보 및 파일들

 
아래의 command를 실행한 후 출력 결과를 printer로 출력하여 보관한다.
이 정보는 향후 시스템에 문제가 발생할 경우 필요한 최소한의 정보로 고객의 시스
템에 설치된 product에 따라 더 많은 Configuration file이 필요할 수도 있다.
시스템 관리자는 반드시 아래 내용을 Printer로 출력하여 두고 필요한 모든
Configuration file을 별도로 백업 받아둔다.
System Configuration Information
# ioscan -fn
# strings /etc/lvmtab
# vgdisplay -v Volume-Group-Name
# lvdisplay -v Logical-Volume-Name
# bdf
# swapinfo
# sysdef
현재 실행중인 o/s kernel 을 분석하여 tunable configuration parameter를 
보여줌
# dmesg
# lpstat -t
# lvlnboot –v
boot, root, primary swap, dump logical volume에 대한 정보를 보여줌
# cat /stand/system
# cat /etc/passwd
# netstat –rn
# lanscan
 
시스템의 중요한 파일들
/etc/passwd            User ID 및 password가 들어 있는 파일
/etc/group                    Group ID와 Group에 속한 User ID가 들어 있음
/etc/fstab                    file system의 mount정보가 있음
/etc/PATH              모든 사용자에게 적용되는 PATH 설정을 위한 파일.
/etc/rc.log                   시스템 부팅 시 생성되는 log 파일
/etc/resolv.conf       Name Server(DNS, NIS)를 지정하는 파일
/etc/rc.config.d/namesvrs     DNS, NIS Server 설정 파일
/etc/rc.config.d/netconf      hostname, ip-address, routing에 대한 정보가 있는 중
요한 파일
/etc/nfsconf           NFS 설정을 위한 파일
 
기타 configuration files 
/etc/cmcluster/*          HA Product(MC S/G, MC L/M) 의 configuration file 및
실행 파일
 

1.1.4  Log Files

무한정 커지는 log files
 
File name
Command
Description
/var/adm/wtmp
last
Successful login attempts
/var/adm/btmp
lastb
Unsuccessful login attempts
/var/adm/sulog
 
Log uses of “su” command
/var/adm/cron/log
 
 
/var/adm/lp/log
 
 
/var/adm/sw/sw*.log
 
 
 
 
대부분의 모든 log file들은 /var directory에 쌓인다. O/S 및 Application 의 임시파일은
 /tmp 혹은 /var/tmp directory에 쌓인다.
File system 관리적인 측면에서 정기적으로
clear 시키는 것이 좋다.
 
#cat /dev/null >/var/adm/wtmp  or   # >/var/adm/wtmp
 
Core File
Core File은 시스템의 어디서나 나타날 수 있다. 어떤 신호를 받을 때 만들어지고 종료되지
않은 프로세스의 코어 이미지이다.
가장 일반적인 원인으로는 메모리 위반, 잘못된 지시,
유동 소수점 예외, 버스
오류, 사용자 생성 종료 신호 등이 있다.
 Core File을 이용하면 프로세스가 종료할 때 수행 중이던 일을 분석할 수 있다.
 
[예제] # strings /tmp/core 
   대체로 core 파일은 의미가 없고 size가 크기 때문에 파일 시스템 관리적인 측면에서
   삭제 해준다.
[예제] “core “ 파일을 찾아서 모두 삭제
# find / -name core exex rm {} ;
 
Large and Old Files
Size가 5M byte 이상인 파일을 찾아냄.
[예제] # find  /  -size  +5000000c -print                ( c: byte )
5일 동안 Access하지 않은 파일을 찾아냄.
[예제] # find  /  -atime  5days  -print :

1.2  시스템 기동과 정지

1.2.1  시스템 기동

시스템 전원을 ON하면 Boot Program이 초기화를 수행하고 H/W검사가 완료되면 기본 부트 경로와 콘솔 경로를 초기화 하면서 화면 아래와 같은 부트 메시지가 나온다.

n                      자동 부팅 (autobooting)
터미널 화면에 표시된 것처럼 10초 이내에 아무런 key를 누르지 않는다면,시스템은 자동으로 부팅이 됩니다. (Primary Boot Path에 설정된 device로 Boot)
n                      수동 부팅 (manual booting)
10초 이내에 어떤 key를 누르게 되면(700 시스템은 ESC), 시스템은 수동 부트 모드 상태로 전환됩니다.
수동부트로 전환되면 아래와 같은 PDC Main Menu 화면이 나타납니다.
 
                    Boot device path 찾기 
“Main Menu” 에서 ‘sea’ 를 입력하면 부팅 가능한 boot path를 보여준다.
여기서 나타난 boot device의 path로 부팅을 시도한다.
boot disk ( root disk)가 fail일 경우 혹은 system install시 tape이나 CD-ROM 으로 booting시 해당 device의 path를 찾고자 할 때 ‘search’ 를 사용한다.
 
                   Booting 하기
Main Menu : Enter Command or Menu : bo pri
ð                    Primary boot path 로 부팅한다. (일반적으로 root disk)
Main Menu : Enter Command or Menu : bo alt
ð                    Alternative boot path로 부팅한다. (tape 혹은 CD-ROM)
Main Menu : Enter Command or Menu : bo p6
ð                    ‘search’ 결과에서 보여지는 특정 device의 index를 지정해 부팅한다.
                   단일 사용자 모드로 부팅하기
ISL(Initial System Loader) 부트를 interact 방식으로 한다.
Interact with IPL (Y or N) ? > y              /* “y”를 입력한다. */
 
 
ISL 프롬프트에서 아래와 같이 입력한다.
 
ISL> hpux –is
 
 
 
                   예비 커널로 부팅하기
ISL(Initial System Loader) 부트를 interact 방식으로 한다.
ISL 프롬프트에서 아래와 같이 입력한다.
Interact with IPL (Y or N) ? > y              /* “y”를 입력한다. */
 
 
 
ISL> hpux  disc(52.6.0;0)/stand/vmunix.prev
 
  

1.2.2  Kernel 의 시작 단계

부팅 ROM의 시작 단계에서 하드웨어를 점검한 후, 부팅 프로그램은 운영 체제의 복사본 즉, 커널(/stand/vmunix)을 찾아서 시스템의 메모리에 로드하여 사용자가시스템을 사용할 수 있도록 작동시킨다. 
 
▶ 메모리에 로드된 /stand/vmunix는 다음과 같은 순서로 작업을 수행합니다.
    하드웨어 장치를 찾아서 구성합니다.
    루트 파일 시스템을 찾고, 쉘을 시작합니다.
    /sbin/pre_init_rc에서 명령을 읽습니다.
    첫번째 프로세스인 /sbin/init은 /etc/inittab의 초기화 파일을 읽어들여서, 정상적인
      작업 조건의 환경을 정의합니다.
    시스템 부트가 완료되면 시스템 콘솔에서 Startup Checklist가 나오며, 시스템 환경에
      필요한 스크립트를 수행합니다. 이 내용을 검증하여 시스템의 정상 구동 여부를
      확인합니다.
    시스템 Start-up Checklist가 완료되면 Login 프롬프트가 나오면 시스템 booting이
      완료된 것입니다. 
 
 ▶ 커널이 메모리에 로드된 후의 진행 사항을 그림으로 보면 다음과 같습니다.
 

1.2.3 시스템 정지

시스템을 종료 시 불가피한 상황을 제외하고는 “shutdown” 혹은 “reboot”  명령어를
사용하여 정지시킨다. 시스템이 완전히 정지 된 후 주변 장치의 전원을 OFF 시킨다.
 
n        shutdown 방법 – “shutdown” 명령어 사용 방법
    shutdown은 시스템 활동을 질서 정연하고 일관된 방법으로 정지시킨다.
       시스템 활동이 멈춘 후에 관리 작업을 수행하거나 시스템을 재부팅 하거나
       종료시킬 수 있다.
 
“shutdown” 명령어는 다음과 같은 일을 수행함.
      - 지정된 시간(초 단위)동안 기다린다.
      - /etc/rc.config.d의 모든 파일을 실행한다. 이들 스크립트는 나중에 /sbin/rc에서
  평가된 변수만을 설정한다.
- /sbin/rc*.d(여기서 *은 현재의 실행 수준임)에서 실행 수준을 1씩 감소 시켜서
  /sbin/rc0.d까지 모든 stop 스크립트를 실행시킨다. Stop 스크립트는 대문자 K로
  시작하는 이름을 가진 실행 스크립트이다.
[Syntax]
          /sbin/shutdown [-r or –h] [grace]
[옵션 설명]
          no options     단일 사용자 모드로 전환
          -h 시스템이 단일 사용자 모드로 들어간 후에 시스템을 정지
          -r 시스템이 단일 사용자 모드로 들어간 후에 시스템을 다시 부팅
              grace 유예 시간을 지정 가능. 즉 주어진 값은 shutdown이 시스템에서
              실행중인 모든 프로세스를 종료 시키기 위해 기다리는 시간이다.(초 단위) 
              기본값은 60초임
   
 
 
 
 
 
 
 
 
 
 
          [예제] # shutdown    or     #init s
ð       다중 사용자 모드에서 단일 사용자 모드로 이동 시 사용
[예제] # shutdown –h 60
ð      60초 후에 시스템 완전 종료 시작함.
[예제] # shutdown –r 0
ð      0초 후에 시스템 재부팅 시작함.
 
n        Reboot 방법 – “reboot” 명령어 사용 방법
    선택 항목을 지정하지 않고 shutdown 명령어를 사용하여 시스템을 종료 시키면
       시스템은 단일 사용자 실행수준으로 남아 있으므로 여러 작업을 수행할 수 있다. 
       이들 작업을 수행 한 후 “reboot” 명령어를 사용하면 시스템을 다시 부팅하거나
       정지 시킬 수 있다.
       Reboot 명령의 기본 활동은 디스크와 메모리의 내용을 동기 시키고 시스템을 다시
       부팅하는 것이다. 이 명령은 언제나 시스템이 단일 사용자 실행 수준에 있을 때
       사용한다.
     [예제]  #reboot       or     #init 실행수준의 값( 예,  #init 4)
ð      단일 사용자 모드에서 다시 부팅 시 사용
[예제] #reboot –h
ð      단일 사용자 모드에서 완전히 시스템을 종료 시 사용
 

1.3  LVM 개념 및 구성

1.3.1 LVM Disk Layout

- LVM은 Phygical Volume의 시작부분에 있는 데이터 구조에 정보를 저장한다.
 
- 이 구조는 Phygical Volume  Boot Data,Volume Group  정보,그리고 LVM을 구축하기  위해 필요한 다른 정보들을 포함하고 있으며 이들은 pvcreate나 vgcreate  명령어로 만들어 진다.
 

1.3.2 Boot Disk(Root Disk)

Header(Logical Interchange Format) 
LIF는 여러가지 HP computer system간에 파일교환을 위한 표준 mass storage Format으로서 root,swap,dump devices의 phygical volume에 존재하며 LIF Header정보는 mkboot명령어로 만들어진다.
 
BDRA(Boot Data Reserved Area) 
이 영역은 root,primary swap,dump logical volume을 구성하기위한 정보뿐만 아니라 root file system을 mount하고 root volume group에 LVM disk의 위치와 size를 가지고 있다. 
 
LIF Directory Area 
이 영역은 HPUX,LABEL,ISL,AUTO file등을 포함하고 있으며 mkboot명령어로 만들어진다. # lifls v l /dev/dsk/c0t6d0 명령어로 볼수있다.
 

1.3.3  Non Boot Disk(Data Disk)

PVRA(Physical Volume Reserved Area) 
Physical Volume에 관한 정보를 포함한다. pvcreate명령으로 만들어진다.
 
VGRA(Volume Group Reserved Area)
전체 Volume Group에 대한 정보를 가지고 있으며 Volume Group에 속해있는 각각의         Physical Volume에는 VGRA의 복사본이 들어있다. VGRA는 Volume Group의 quorum정보를 가지고 있는 VGSA(Volume Group Status Area)와  Volume Group을 구성하기 위해 필요한 device driver정보를 가지고 있는 VGDA(Volume Group Descriptor Area)영역이 있다.
        
User Data Area
이 영역은 모든 유저 데이타가 저장되는 곳으로서 file system, virtual memory(swap),user application들이 들어있다. Volume Group이 만들어 질때 이 영역은 fixed size의 physical extent와 logical extent의 map으로 나뉘어진다.
 
Bad Block Relocation Area
이 영역은 bad block recovery mechanism에 관한 정보를 가지고 있다.
 

1.3.4  LVM Overhead

LVM에 사용되는 Data구조는 disk space에 대한 약간의 Overhead를 소비한다.
 
Overhead는 Bootable LVM disk는 2912Kb의 고정된 크기로 사용하며 Non Bootable LVM disk는 보통 400Kb를 사용하지만 Volume Group의 크기에 따라 다르다.
 
Non Bootable disk의 Overhead는 vgcreate명령어나 SAM에서 사용하는 parameter에 따라 다르며 만약 small extent size를 만들거나 많은 physical volume을 만들때는 LVM 데이타 구조는 더 커질것이다.
 

1.3.5 LVM 구성을 위한 사전 정보수집 방법

# ioscan –fnkCdisk
Class     I  H/W Path  Driver      S/W State H/W Type  Description
===================================================================
disk      0  4.5.0     sdisk       CLAIMED   DEVICE    SEAGATE ST32550W
                         /dev/dsk/c0t5d0   /dev/rdsk/c0t5d0
disk      1  4.8.0     sdisk       CLAIMED   DEVICE    SEAGATE ST32550W
                         /dev/dsk/c0t8d0   /dev/rdsk/c0t8d0
disk      2  16/5.2.0  sdisk       CLAIMED   DEVICE    TOSHIBA CD-ROM XM-5301TA
                         /dev/cdrom        /dev/dsk/c1t2d0   /dev/rdsk/c1t2d0
disk      3  16/5.4.0  sdisk       CLAIMED   DEVICE    SEAGATE ST32550N
                         /dev/dsk/c1t4d0   /dev/rdsk/c1t4d0
# diskinfo /dev/rdsk/c0t5d0
SCSI describe of /dev/rdsk/c0t5d0:
vendor: SEAGATE
product id: ST32550W
type: direct access
size: 2082636 Kbytes
bytes per sector: 512
 
# lssf /dev/dsk/c0t5d0
 
sdisk card instance 0 SCSI target 5 SCSI LUN 0 section 0 at address 4.5.0 /dev/dsk/c0t5d0
 
# strings /etc/lvmtab
 
/dev/vg00
/dev/dsk/c0t5d0
/dev/vg01
/dev/dsk/c0t8d0
/dev/vg02
/dev/dsk/c1t4d0
 
# lvlnboot –v
 
Boot Definitions for Volume Group /dev/vg00:
Physical Volumes belonging in Root Volume Group:
        /dev/dsk/c0t5d0 (4.5.0) -- Boot Disk
Boot: lvol1     on:     /dev/dsk/c0t5d0
Root: lvol3     on:     /dev/dsk/c0t5d0
Swap: lvol2     on:     /dev/dsk/c0t5d0
Dump: lvol2     on:     /dev/dsk/c0t5d0, 0
 
# vgdisplay –v /dev/vg00
 
--- Volume groups ---
VG Name                     /dev/vg00
VG Write Access             read/write
VG Status                   available
Max LV                      255
Cur LV                      3
Open LV                     3
Max PV                      16
Cur PV                      1
Act PV                      1
Max PE per PV             2000
VGDA                        2
PE Size (Mbytes)          4
Total PE                   507
Alloc PE                   507
Free PE                    0
Total PVG                  0
 
   --- Logical volumes ---
   LV Name                     /dev/vg00/lvol3
   LV Status                   available/syncd
   LV Size (Mbytes)           1880
   Current LE                  470
   Allocated PE                470
   Used PV                     1
 
   LV Name                     /dev/vg00/lvol2
   LV Status                   available/syncd
   LV Size (Mbytes)           100
   Current LE                  25
   Allocated PE                25
   Used PV                     1
 
   LV Name                     /dev/vg00/lvol1
   LV Status                   available/syncd
   LV Size (Mbytes)           48
   Current LE                  12
   Allocated PE                12
   Used PV                     1
 
 
   --- Physical volumes ---
PV Name                     /dev/dsk/c0t5d0
   PV Status                   available
   Total PE                    507
   Free PE                     0
 
# lvdisplay –v /dev/vg00/lvol1
 
--- Logical volumes ---
LV Name                     /dev/vg00/lvol1
VG Name                     /dev/vg00
LV Permission               read/write
LV Status                   available/syncd
Mirror copies               0
Consistency Recovery       MWC
Schedule                     parallel
LV Size (Mbytes)           48
Current LE                  12
Allocated PE                12
Stripes                      0
Stripe Size (Kbytes)      0
Bad block                   off
Allocation                  strict/contiguous
 
   --- Distribution of logical volume ---
   PV Name            LE on PV  PE on PV
   /dev/dsk/c0t5d0    12        12
 
   --- Logical extents ---
   LE   PV1                PE1  Status 1
   0000 /dev/dsk/c0t5d0    0000 current
   0001 /dev/dsk/c0t5d0    0001 current
   0002 /dev/dsk/c0t5d0    0002 current
   0003 /dev/dsk/c0t5d0    0003 current
   0004 /dev/dsk/c0t5d0    0004 current
   0005 /dev/dsk/c0t5d0    0005 current
   0006 /dev/dsk/c0t5d0    0006 current
   0007 /dev/dsk/c0t5d0    0007 current
   0008 /dev/dsk/c0t5d0    0008 current
   0009 /dev/dsk/c0t5d0    0009 current
   0010 /dev/dsk/c0t5d0    0010 current
   0011 /dev/dsk/c0t5d0    0011 current
 
# pvdisplay –v /dev/dsk/c0t5d0
 
--- Physical volumes ---
PV Name                     /dev/dsk/c0t5d0
VG Name                     /dev/vg00
PV Status                   available
Allocatable                 yes
VGDA                        2
Cur LV                      3
PE Size (Mbytes)            4
Total PE                    507
Free PE                     0
Allocated PE                507
Stale PE                    0
IO Timeout (Seconds)        default
 
   --- Distribution of physical volume ---
   LV Name            LE of LV  PE for LV
   /dev/vg00/lvol3    470       470
   /dev/vg00/lvol2    25        25
   /dev/vg00/lvol1    12        12
 
   --- Physical extents ---
   PE   Status   LV                 LE
   0000 current  /dev/vg00/lvol1    0000
   0001 current  /dev/vg00/lvol1    0001
   0002 current  /dev/vg00/lvol1    0002
   0003 current  /dev/vg00/lvol1    0003
   0004 current  /dev/vg00/lvol1    0004
   0005 current  /dev/vg00/lvol1    0005
   0006 current  /dev/vg00/lvol1    0006
   0007 current  /dev/vg00/lvol1    0007
   0008 current  /dev/vg00/lvol1    0008
   0009 current  /dev/vg00/lvol1    0009
   0010 current  /dev/vg00/lvol1    0010
   0011 current  /dev/vg00/lvol1    0011
   0012 current  /dev/vg00/lvol2    0000
   0013 current  /dev/vg00/lvol2    0001
   0014 current  /dev/vg00/lvol2    0002
   0015 current  /dev/vg00/lvol2    0003
   0016 current  /dev/vg00/lvol2    0004
   0017 current  /dev/vg00/lvol2    0005
   0018 current  /dev/vg00/lvol2    0006
   0019 current  /dev/vg00/lvol2    0007
   0020 current  /dev/vg00/lvol2    0008
   0021 current  /dev/vg00/lvol2    0009
   0022 current  /dev/vg00/lvol2    0010
   0023 current  /dev/vg00/lvol2    0011
0024 current  /dev/vg00/lvol2    0012
                          ..
                          ..
                          ..
 

1.3.6  New Volume Group을 Create하는 방법

# vi vgcreate.sh
 
pvcreate –f /dev/rdsk/c0t5d0
mkdir /dev/vg01
mknod /dev/vg01/group c 64 0x010000
vgcreate /dev/vg01 /dev/dsk/c0t5d0
lvcreate –l 250 /dev/vg01 : (# lvcreate –L 1000 /dev/vg01 같다)
lvcreate –l 250 /dev/vg01
newfs -F vxfs /dev/vg01/rlvol1
newfs –F vxfs /dev/vg01/rlovl2
:wq
 
# sh vgcreate.sh
# mkdir /disk1
# mkdir /disk2
# vi /etc/fstab
# mountall 또는 # mount –a
# vgdisplay –v /dev/vg01 확인
# strings /etc/lvmtab 으로 확인
 
 

1.3.7  New Lvol을 Create하는 방법

# vgdisplay /dev/vg01
 
--- Logical volumes ---
   LV Name                     /dev/vg01/lvol1
   LV Status                   available/syncd
   LV Size (Mbytes)           1000
   Current LE                  250
   Allocated PE                250
   Used PV                     1
 
--- Physical volumes ---
   PV Name                     /dev/dsk/c0t8d0
   PV Status                   available
   Total PE                    508
Free PE                     258
 
# lvcreate –l 258 /dev/vg01
  또는 (# lvextend –L 1032 /dev/vg01/lvol1)
# vgdisplay –v /dev/vg01 확인
# newfs –F vxfs /dev/vg01/rlvol2
# vi /etc/fstab 추가
# mountall
 

1.3.8  Lvol size를 Extend하는 방법

# vgdisplay /dev/vg01
 
--- Logical volumes ---
   LV Name                     /dev/vg01/lvol1
   LV Status                   available/syncd
   LV Size (Mbytes)           1000
   Current LE                  250
   Allocated PE                250
   Used PV                     1
 
--- Physical volumes ---
   PV Name                     /dev/dsk/c0t8d0
   PV Status                   available
   Total PE                    508
   Free PE                     258
 
# umount /dev/vg01/lvol1  또는 # umount /mountpoint
# lvextend –l 508 /dev/vg01/lvol1
  또는 (# lvextend –L 2032 /dev/vg01/lvol1)
# vgdisplay –v /dev/vg01 확인
# extendfs –F vxfs /dev/vg01/rlvol1
# vi /etc/fstab
# mountall
 
 

1.3.9 Lvol size를 Reduce하는 방법

# vgdisplay /dev/vg01
 
--- Logical volumes ---
   LV Name                     /dev/vg01/lvol1
   LV Status                   available/syncd
   LV Size (Mbytes)           2032
Current LE                  508
   Allocated PE                508
   Used PV                     1
 
--- Physical volumes ---
   PV Name                     /dev/dsk/c0t8d0
   PV Status                   available
   Total PE                    508
   Free PE                     0
 
# /dev/vg01/lvol1 data tar,cpio,fbackup등을 이용하여 full backup
# umount /dev/vg01/lvol1
# lvreduce –l 250 /dev/vg01/lvol1
# newfs –F vxfs /dev/vg01/rlvol1
# vgdisplay –v /dev/vg01
# mount –a
# tar,cpio,fbackup등을 이용하여 backup받은 data recover
 
 

1.3.10 Volume Group에 New Disk를 Extend하는 방법

# pvcreate –f /dev/rdsk/c0t8d0
# vgextend /dev/vg01 /dev/dsk/c0t8d0
# vgdisplay –v /dev/vg01 확인
 
# pvcreate –f /dev/rdsk/c0t8d0
# pvcreate –f /dev/rdsk/c0t9d0
# vgextend /dev/vg01 /dev/dsk/c0t8d0 /dev/dsk/c0t9d0
# vgdisplay –v /dev/vg01 확인
# strings /etc/lvmtab 으로 확인
 
# pvcreate –f /dev/rdsk/c0t8d0
# vgextend /dev/vg01 /dev/dsk/c0t8d0 /dev/dsk/c1t8d0
# vgdisplay –v /dev/vg01
# strings /etc/lvmtab

1.3.11 Volume Group에서 Phygical Volume을 Reduce하는 방법

# vgreduce /dev/vg01 /dev/dsk/c0t1d0  : /dev/vg01 lvol 없는경우
# strings /etc/lvmtab
# vgdisplay –v /dev/vg01
# vgreduce –f /dev/vg01
 
ð      Missing PVs 성공적으로 remove되면 다음과 같은 message 나타난다.
 
           PV with key 0 sucessfully deleted from vg /dev/vg01
 
           Repair done, please do the following steps.....:
 
           1.  Save /etc/lvmtab to another file.
 
           2.  Remove /etc/lvmtab.
 
           3.  Use vgscan -v to recreate /etc/lvmtab.
 
          4.  NOW use vgcfgbackup(1M) to save the LVM setup.

1.3.12 Volume Group을 Remove하는 방법

# tar,cpio,fbackup,omniback등으로 remove volume group 모든 lvol
   backup한다.
# lvremove /dev/vg01/lvol1  : vg01 모든 lvol remove한다.
# lvremove /dev/vg01/lvol2
# vgreduce /dev/vg01 /dev/dsk/c0t7d0 : 명령어는 vg01 2 이상의
             디스크가 존재할때 하나의 디스크만 남기고 모두 reduce한다.
# vgremove /dev/vg01
# strings /etc/lvmtab으로 확인
 
 

1.3.13 vgexport로 Volume Group을 Remove하는 방법

# umount /dev/vg01/lvol1
# umount /dev/vg01/lvol2
# vgchagne –a n /dev/vg01
# vgexport –m /tmp/vg01.map /dev/vg01
# strings /etc/lvmtab
 

1.3.14 Root Disk를 Mirroring하는 방법

# ioscan –fnkCdisk /dev/dsk/c1t6d0 HW Path확인
# vi root_mirror.sh
  pvcreate -B -f /dev/rdsk/c1t6d0
  vgextend /dev/vg00 /dev/dsk/c1t6d0
  mkboot /dev/dsk/c1t6d0
  mkboot -a "hpux -lq(10/1.6.0;0)/stand/vmunix" /dev/dsk/c1t6d0
  mkboot -a "hpux -lq(10/0.6.0;0)/stand/vmunix" /dev/dsk/c0t6d0
  setboot –a 10/1.6.0
  lvextend –m 1 /dev/vg00/lvol1 /dev/dsk/c1t6d0
  lvextend –m 1 /dev/vg00/lvol2 /dev/dsk/c1t6d0
  lvextend –m 1 /dev/vg00/lvol3 /dev/dsk/c1t6d0
  lvlnboot –R
:wq
# sh root_mirror.sh
# lvlnboot –v 확인
# strings /etc/lvmtab으로 확인
# lvdisplay –v /dev/vg00/lvol3 확인
# setboot 로  alternate boot path 확인
 
 

1.3.15  Non Root Disk(Data Disk)를 Mirroring하는 방법

# vi non_root_mirror.sh
  pvcreate -f /dev/rdsk/c1t3d0
  pvcreate -f /dev/rdsk/c1t4d0
  pvcreate -f /dev/rdsk/c1t5d0
  vgextend /dev/vg01 /dev/dsk/c1t3d0
  vgextend /dev/vg02 /dev/dsk/c1t4d0
  vgextend /dev/vg03 /dev/dsk/c1t5d0
  lvextend -m 1 /dev/vg01/lvol1 /dev/dsk/c1t3d0
  lvextend -m 1 /dev/vg01/lvol2 /dev/dsk/c1t3d0
  lvextend -m 1 /dev/vg01/lvol3 /dev/dsk/c1t3d0
  lvextend -m 1 /dev/vg02/lvol1 /dev/dsk/c1t4d0
  lvextend -m 1 /dev/vg02/lvol2 /dev/dsk/c1t4d0
  lvextend -m 1 /dev/vg03/lvol1 /dev/dsk/c1t5d0
  lvextend -m 1 /dev/vg03/lvol2 /dev/dsk/c1t5d0
:wq
# sh non_root_mirror.sh
# vgdisplay /dev/vg01 확인
# stings /etc/lvmtab으로 확인
 

1.3.16  Mirror된 Lvol을 Split하는 방법

# lvdisplay -v /dev/vg01/lvol1
# lvsplit -s backup /dev/vg01/lvol1  : -s option 안주면 lvol1b 생김
# fsck –F vxfs /dev/vg01/lvol1backup
# mkdir /backup
# mount /dev/vg01/lvol1backup /backup  : 이렇게 해서 mirror lvol
                                                 backup할수 있다.
 

1.3.17  Split된 Lvol을 하나로 merge하는 방법

# umount /backup
# lvmerge /dev/vg01/lvol1backup /dev/vg01/lvol1  (# 순서에 주의)
  또는
# lvmerge /dev/vg01/lvol1b /dev/vg01/lvol1 : -s option을 안줬을 경우

1.3.18  A 시스템의 Disk를 Export하여 B 시스템에 Import하는 방법

# umount /dev/vg01/lvol1
# vgchange –a n /dev/vg01
# vgexport –v –m /tmp/vg.map /dev/vg01
# B 시스템으로 /tmp/vg.map ftp한다.
 
# ioscan –fnkCdisk
# mkdir /dev/vg02
# mknod /dev/vg02/group c 64 0x020000
# vgimport –m /tmp/vg.map /dev/vg02 /dev/dsk/c1t1d1
# vgdisplay –v /dev/vg02
# vgcfgbackup /dev/vg02
# vi /etc/fstab
# mountall
 

1.3.19  Secondary Dump Device를 추가시키는 방법

# pvcreate –f /dev/rdsk/c1t0d0
# vgextend /dev/vg00 /dev/dsk/c1t0d0
# lvcreate –L 2000 –C y –r n /dev/vg00 :(/dev/vg00/lvol4 만들어졌다면)
# lvlnboot –v : 현재의 root,swap,dump정보확인
 
Boot Definitions for Volume Group /dev/vg00:
Physical Volumes belonging in Root Volume Group:
        /dev/dsk/c0t5d0 (4.5.0) -- Boot Disk
Boot: lvol1     on:     /dev/dsk/c0t5d0
Root: lvol3     on:     /dev/dsk/c0t5d0
Swap: lvol2     on:     /dev/dsk/c0t5d0
Dump: lvol2     on:     /dev/dsk/c0t5d0, 0
 
# lvlnboot –R : 현재의 root volume group configuration /etc/lvmconf
                   backup.
# lvrmboot –r /dev/vg00  : 현재의 root volume group root,swap,dump
                                정보를 삭제함.
# lvlnboot –R
# lvlnboot –b /dev/vg00/lvol1
# lvlnboot –r /dev/vg00/lvol3
# lvlnboot –s /dev/vg00/lvol2
# lvlnboot –d /dev/vg00/lvol2  : primary dump영역 설정
# lvlnboot –d /dev/vg00/lvol4  : secondary dump영역 설정
# lvlnboot v 로 확인
 

1.3.20  Mirrored된 Disk를 분리하는 방법

# vgdisplay –v /dev/vg01 확인
# strings /etc/lvmtab
# lvreduce –m 0 /dev/vg01/lvol1 /dev/dsk/c0t6d0
# lvreduce –m 0 /dev/vg01/lvol2 /dev/dsk/c0t6d0
# vgreduce /dev/vg01 /dev/dsk/c0t6d0
# strings /etc/lvmtab으로 확인
# lvdisplay –v /dev/vg01/lvol1 확인
# lvdisplay v /dev/vg01/lvol2로 확인

1.3.21  Mirrored된 Volume Group에서 Disk Fail이 발생한 Disk를 떼어내는 방법

# lvdisplay –v –k /dev/vg01/lvol1  : -k option으로 fail 발생한 disk
                      pvkey(Phygical Volume Number in VG)값을 알아야한다.
                      여기서 pvkey값이 2라고 한다면..
 
# lvreduce –m 0 –k /dev/vg01/lvol1 2
# lvdisplay –v –k /dev/vg01/lvol2  : pvkey값이 3이라면 한다면..
# lvreduce –m 0 –k /dev/vg01/lvo2 3
# vgdisplay –v /dev/vg01  : 여기서  ”Cur PV” 값과 ”Act PV”값을 확인한다.
# vgreduce –f /dev/vg01   : 만약 Cur PV값이 Act PV값보다 크면 –f option으로
                                 queorum 정족수를 맞춰줘야 한다.
# mv /etc/lvmtab /etc/lvmtab.bak
# vgscan –v   : /etc/lvmtab file 다시 생성한다.
# lvlnboot R 또는 # lvcfgbackup /dev/vg01
 
 

1.4  HP Software/Patch 설치 및 제거

1.4.1 Software Distributor-HP-UX 개요

Software Distributor-HP-UX(SD-UX) software 관리와 관련된 모든 작업 사항(설치,제거,수정,구성) 수행하는 프로그램이다. 향상된 기능을 갖춘 SD-O 사용하면 node에서 나머지 다른 node들의 software management 가능하다.
 

1.4.2 SD-UX command 사용법 요약

swcopy   
시스템 관리자가 소프트웨어 패키지로부터(or depot 로부터) 특정 depot 으로 복사
하는데 쓰이는 명령으로, 여러 개의 depot을 하나의 depot으로 만들 때 유용하다.
SD-OV를 이용하면 한 node의 disk에 depot을 swcopy 후 central에서 나머지 node로 한번에 install 수행할 수 있다.
 
swinstall
CD-ROM/테이프 또는 특정 depot 로부터 local host에 소프트웨어를 설치하거나
업데이트 한다.
[예제1] 현 디렉토리내에 있는 software라는 depot에 있는 모든 소프트웨어를 설치
# swinstall s $PWD/software *
[예제2] HP에서 제공된 CD-ROM으로 소프트웨어를 설치할 때
# ioscan fnkCdisk
ð     CDROM 의 device file을 확인, N4000일 경우 /dev/dsk/c0t2d0
# mount /dev/dsk/c0t2d0 /SD_CDROM
# swinstall s /SD_CDROM
 
swlist
현 시스템, depot 혹은 미디어에 있는 소프트웨어의 목록을 보여준다.
[예제] 시스템에 설치되어 있는 소프트웨어 및 patch를 보여줌
# swlist   
 
 [예제] 시스템에 설치되어 있는 software 를 level 별로 보여줌.
# swlist –l <root/depot/bundle/product/subproduct/fileset/file>
 
[예제] CD-ROM내의 depot 내용을 보여줌
# swlist –s /SD_CDROM
 
swpackage
소프트웨어 업체나 시스템 관리자가 소프트웨어를 패키지 하는데 쓰이는 명령.
[예제] 현 디렉토리내에 있는 software라는 depot에 있는 모든 소프트웨어를
테이프에 패키지할 때
# swpackage –s `pwd`/software –d /dev/rmt/0m –x target_type=tape
 
swremove   
현 시스템에 설치되어 있는 소프트웨어나 depot에 있는 소프트웨어의 제거.
[예제] 현 시스템에 설치되어 있는 B3910AA_APZ이라는 이름의 소프트웨어
       bundle을 제거하고자 할 때
# swremove B3910AA_APZ
[예제] 만일 현 시스템에서 쓰고 있는 라이브러리나 커널과 연관이 있는 제품을
제거할 때
# swremove –x autoreboot=true B3910AA_APZ
 
swconfig
Install 된 software를 configure 시킨다. 대체로 swinstall 수행 시 swconfig가 수행
되지만 configuration이 실패 시 manual로 수행해 준다.
[예제] 시스템에 있는 모든 fileset을 configuration 할 때
# swconfig *
 [예제] 시스템에 있는 B3910AA_APZ를 configuration 할 때
# swconfig B3901AA_APZ
 
swverify
install 된 software의 integrity 를 점검한다. Software나 patch를 install 후 install 의 성공여부를 확인하기 위해 사용될 수 있다.
[예제] 시스템에 있는 모든 filest을 점검
# swverify *
[예제] 시스템에 있는 B3901AA_APZ을 점검
# swverify B3901AA_APZ
 
그 밖에 swacl , swmodify , swreg 등이 있다.
 

1.4.3  HP 소프트웨어 설치 방법

# /etc/mount  /dev/dsk/c1t2d0  /SD_CDROM
# /usr/sbin/swinstall –s /SD_CDROM
software install을 실시하면 TUI 혹은 GUI가 뜬다.
설치하려는 소프트웨어와 관련된 부분을 선택한 후 Action 메뉴에서 “Mark for Install”을 실행시킨다.
다시 “Action Menu” 밑에 있는 “Install(Analysis)를 실행시킨다.(HPUX 10.20 부터 Mark 과정 생략 가능함) 이때 "Install Analysis" window가 나타난다. 여기서 Analysis가 끝나면 "View Log File" button을 누른다. 마지막 줄에 "The Analysis Phase succeeded"라고 나오면 Analysis가 무사히 끝난 것이다.
만일 error가 나타나면 가장 처음 error로 가서 내용을 확인한 후 조치를 취한다.
대개의 경우 조치 사항이 log에 기록되어 있다. 그 다음 "Install Analysis" window로 돌아가서 "OK" button을 누른다. 계속되는 질문에 "OK"를 선택하면 Install이 수행된다.
다 끝나면 "Done" button을 누른 후 swinstall을 종료한다. Software 종류에 따라서 시스템을 재 부팅하기도 한다. Install을 확인하려면 "swlist" 라는 명령을 실행한다.
 
 

1.4.4 Patch 설치 방법

patch 화일을 /tmp 밑에 다운로드 받는다
예제로 “PHSS_12345” 을 설정
HP-UX에서 shell archive를 푼다
# sh PHSS_12345
PHSS_12345.depot 와 PHSS_12345.text 가 생성됨.
# swinstall -s /tmp/ PHSS_12345.depot 
여기서 –s 다음에 절대경로를 써야 함.
GUI or TUI 가 뜬다.
Non-interactive mode에서 작업 시는 full option을 준다.
# swinstall x autoreboot=true x patch_match_target=true -s /tmp/PHSS_12345.depot
 
 

1.5 시스템 백업

초기 설치 또는 업데이트를 수행하기 전에 시스템을 백업하고 초기 설치 또는 업데이트 후에 백업을 다시 수행합니다. 문제가 발생할 경우 시스템을 원래 상태로 쉽게 복원할 수 있습니다.
이 절에서는 시스템 백업을 수행하는 방법으로 fbackupfrecovermake_net_recoverymake_tape_recovery를 소개합니다.

1.5.1 fbackup 및 frecover 사용

대부분의 관리자는 기본적인 fbackup 명령을 사용하여 전체 시스템을 테이프에 백업합니다. 사용자는 가져온 파일 시스템을 마운트 해제하지 않아도 됩니다. 즉, fbackup은 지정하지 않는 한 NFS 경계를 넘지 않습니다.
일반적인 테이프 위치를 사용하여 전체 백업을 수행하려면 새 테이프를 삽입하고 다음 명령을 입력하십시오.
fbackup -f/dev/rmt/0m -i -v
나중에 시스템을 이전 상태로 되돌리려면 frecover 명령을 사용하십시오. 예제는 fbackup(1M) 맨페이지를 참조하십시오.

1.5.2 Ignite-UX 복구 명령

Ignite-UX에서 사용할 수 있는 make_net_recovery 또는 make_tape_recovery 명령을 사용하여 시스템을 복구하는 방법은 부팅할 수 없는 시스템을 복구하는 기능을 비롯하여 fbackupfrecover보다 더 많은 융통성을 제공합니다.
HP-UX 11i v2용 Ignite-UX 서버 소프트웨어는 HP-UX 11i v2 DVD에 있으며 새로운 서버를 만들거나 업데이트하는 HP-UX 11i v2 초기 설치 또는 업데이트 시 함께 설치됩니다.

1.5.3 make_net_recovery 사용

Ignite-UX 서버에는 네트워크상의 다른 시스템에 시스템 복구 아카이브를 만들 수 있는 make_net_recovery 명령도 있습니다. make_net_recovery가 만든 아카이브는 그 파일이 만들어진 시스템에만 관련되며, 시스템 ID에는 호스트 이름, IP 주소, 네트워킹 정보 등이 포함됩니다. 루트 디스크가 손상된 경우에는 Ignite-UX 서버를 사용하여 복구 아카이브를 설치함으로써 시스템을 복원하십시오.
시스템 복구 아카이브 내용에는 항상 시스템 기능을 복구하는 데 필수적인 파일과 디렉토리가 모두 포함되어 있습니다. 이 필수 목록은 make_net_recovery에서 미리 정의됩니다. 대화식 모드로 make_net_recovery를 실행하여 필수 목록을 구성하는 디렉토리 및 파일을 검토하고 디스크/볼륨 그룹, 파일 또는 디렉토리 단위로 아카이브에서 다른 데이터를 추가하거나 제거할 수 있습니다.
make_net_recovery 사용에 대한 자세한 내용은 make_net_recovery(1M) 맨페이지 또는 Ignite-UX Administration Guide를 참조하십시오.

1.5.4 make_tape_recovery 사용

Ignite-UX 서버의 make_tape_recovery 명령은 Ignite-UX 서버가 작동하여 실행되는 동안 LVM 또는 전체 디스크 파일 시스템을 위한 부트 가능한 복구 테이프를 만듭니다. 시스템에 논리 볼륨 배치가 있으면 복구 테이프에는 루트 볼륨 그룹의 데이터와 /usr 디렉토리를 포함하는 루트가 아닌 볼륨 그룹의 데이터만 포함됩니다.
복구 테이프를 만들려는 시스템에서 로컬로나 Ignite-UX 서버에서 make_tape_recovery를 실행할 수 있습니다.
부팅 가능한 복구 테이프를 만들려면 다음과 같이 입력하십시오.
/opt/ignite/bin/make_tape_recovery -Av
여기서 A는 전체 루트 디스크 또는 볼륨 그룹을 지정하며 v는 파일 유형 및 이름 표시 모드입니다. 또한, -x 옵션으로 둘 이상의 볼륨 그룹을 지정할 수 있습니다.
기본 드라이브(/dev/rmt/0m)가 아닌 다른 테이프 드라이브를 사용하려면 다음과 같이 명령을 수정하여 사용할 장치를 가리키도록 합니다(예: /dev/rmt/3mn에 있는 테이프 드라이브).
/opt/ignite/bin/make_tape_recovery -Av -a /dev/rmt/3mn
복구 테이프를 만든 후에 손상된 시스템 디스크 또는 볼륨 그룹을 복구하려면 복구 테이프를 로드하고 시스템을 부팅하는 중 부팅 순서를 일시 중단하여 테이프 드라이브로 다시 지정하면 됩니다. 이제 설치 프로세스가 완료될 때까지 기다리십시오. 시스템이 다시 부팅되며, 관련된 모든 볼륨 그룹의 맵 파일이 테이프에 저장되었기 때문에 기존의 볼륨 그룹이 자동으로 가져와 져서 마운트됩니다. 루트 볼륨 그룹에 없는 데이터는 일반 백업 유틸리티를 사용하여 백업하고 복구해야 합니다.
 
 

1.6  MC/ServiceGuard 소개 및 운영

MC/ServiceGUard는  HP-UX OS를 갖는  HP9000 의 high availability cluster상에서 상호간의 자원 사용을 허용하여 준다.
Redundant LAN, disk mirroring 등을 통해 H/W fail 시에도 계속적인 운영을 가능하게 하는 high available database 기능을 제공한다.
 

1.6.1 Cluster 란

2대이상의 독립된 시스템들이 모여 각각의 자원을 공유 및 활용하여, 시스템 운영비를 감소시킬 뿐만 아니라, 한 시스템의 장애 발생시에도 최소의 시간으로 서비스를 지속시켜 주기 위해 만들어진 개념입니다.                                  
Cluster는 2대 이상의 서버가 상호 상태를 감시하여 상대방 서버의 Failover발생시 Takeover하여 Downtime을 최소화하므로써 지속적이고도 투명한 서비스를 제공할 수 있게 해줍니다. 새로 도입되는 서버가 HP로 구성되어질 때 업무가 다른 서버와의 Clustering이 가능하며 이에 따라 시스템의 신뢰도를 극대화 시킬 수 있습니다.
 
 

1.6.2 MC S/G 의 구성 요소

MC S/G는 cluster, node, package로 구성된다
 
클러스터(cluster) :
cluster란 s/w, h/w의 각 component들이 이중화 되어 single point of failure가 발생시 이중 화된 component에 의해 take-over할수 있도록 구성된 시스템의 그룹을 의미한다.
MC S/G에서는 최소 두대에서 여덟대의 시스템을 하나의 cluster로 구성할수 있다.
cluster로 그룹화된 시스템들은 특정 시스템의 fail이 발생 시 해당 서비스를 take-over 하여 고객의 서비스를 지속적으로 운영하도록 구성된다                                     
시스템은 특정 시점에는 하나의 cluster에만 속할 수 있다.
 
노드(node) :
Node 란 cluster에 포함된 시스템을 의미한다.
Cluster 내의 node들은 cluster의 상태정보를 주고 받으면서 cluster내의 변화를 감지하여 fail이 발생 시 미리 계획된 시나리오에 따라 service를 take-over하여 서비스의 가용성을 유지한다.
 
패키지(package) :
Package 란 node에서 실행되는 application과 해당 application이 사용하는 system resource (Volume group, IP address 등)로 구성된다.
특정 package가 사용하는 resource는 다른 package에 의해서 공유될수 없다. 
 
 
 

1.6.3 클러스터 구성 파일

 
Cluster ascii configuration file : /etc/cmcluster/cluster.asc
Cluster및 cluster를 구성하는 server들의 기본 정보를 정의
(Lan info, Lock disk volume info, disk info, node name 등)
생성 COMMAND : " cmquerycl -C "
 
Cluster binary configuration file : /etc/cmcluster/cmclconf
Cluster 정보 및 package 정보를 cluster daemon이 인식할 수 있도록 ascii configuration file을 compile 하여 생성한 binary file
생성 COMMAND : " cmapplyconf"
 
Package cofiguration file : /etc/cmcluster/pkg1/pkg1.conf
Package를 구성하는 요소를 정의
( pkg name, service name등 )
생성 COMMAND : " cmmakepkg -p "
 
Package control file : /etc/cmcluster/pkg1/pkg1.cntl.
Package를 구성하는 configuration file에 의해 invoke되는 실질적인 프로그램
DB/Appl startup(stop), RIP 추가, Vol activation/FS mount 등을 실행하는 file
생성 COMMAND : " cmmakepkg -s "
 
Package monitoring file : /etc/cmcluster/pkg1/pkg1.mon
Package에 의해 기동되는 DB/Appl process를 monitoring
일반 shell scripter
 
Log file : /var/adm/syslog/syslog.log
일반적인 시스템 log
시스템 각 구성 요소의 fail 정보, cluster 정보 등
보는 COMMAND : tail -f *.log
 
Log file : /etc/cmcluster/pkg1/pkg1.cntl.log
Package 기동 및 정지 시 발생되는 log
보는 COMMAND : tail -f *.log
 
 

1.6.4 Cluster configuration 변경

 
Cluster의 configuration 변경은 아래의 경우에 실시한다.
IP address 의 변경 (Data & Heartbeat)
Parameter 변경 (Heartbeat Interval, 노드 Timeout, Autostart Delay 등)
Lock 디스크의 변경
볼륨 그룹 변경
 
cmhaltcl
cd /etc/cmcluster
cmquerycl -n hp_prod2 -n hp_test1 -C cluster.asc
ç Cluster configuration 파일을 재생성 사용한다.
vi  cluster.asc
cmcheckconf  -C cluster.asc
cmapplyconf  -C cluster.asc  -P ./pkg1/pkg1.conf
cmruncl
 
 

1.6.5  Cluster start/stop

 
Cluster의 모든 node를 start 시킬 때
   # cmruncl
특정 node만으로 cluster를 start 시킬 때
   # cmruncl  -n  hp_prod2
cluster를 전체를 stop 시킬 때
   # cmhaltcl
package가 running 중일 때 cluster stop
   # cmhaltcl  -f
 
 

1.6.6 Cluster status/node

Cluster의 상태를 확인할 때
  # cmviewcl [-v]
node를 cluster에서 잠시 제외 시킬 때
   # cmhaltnode  -f  hp_prod2
제외된 node를 다시 cluster에 합류 시킬 때
   # cmrunnode  hp_prod2
 
 

1.6.7 Package configuration 변경

Package Configuration 파일 (pkg1.conf) 의 변경은 아래의 경우에 실시한다.
Package 명의 변경
기동/정지 스크립트의 timeout 값
Package 자동 take-over 여부
패키지 장애시 시스템 이상 종료 여부
 
Package Control 파일 (pkg1.cntl) 의 변경은 아래의 경우에 실시한다.
마운트 포인트 변경/추가/삭제
RIP (Relocatable IP address) 변경
Package 기동/정지 프로시져 변경
 
 
cmhaltpkg pkg1
cd /etc/cmcluster/pkg1
 
cmmakepkg -p pkg1.conf ç Package configuration 파일을 변경할 경우
 
vi pkg1.conf
cmhaltcl
cmapplyconf  -C cluster.asc  -P ./pkg1/pkg1.conf
cmruncl
 
cmmakepkg -s pkg1.cntl  ç Package control파일을 재생성할 경우
 
vi pkg1.cntl
rcp pkg1.cntl pkg1.conf  hp_test1:/etc/cmcluster/pkg1/
cmrunpkg pkg1
 
 

1.6.8  Package & switching

 
Package를 start 시킬 때
# cmrunpkg pkg1
 
package를 stop 시킬 때
# cmhaltpkg pkg1
 
package를 특정 node에서 start 시킬 때
# cmrunpkg -n hp_prod2 pkg1
 
stop된 package의  switching을  enable하려면
# cmmodpkg -e pkg1
 
 
다른 node로 넘어간 package를 원래 node로 다시 넘길 때
# cmhaltpkg pkg1 -n hp_test1
# cmmodpkg -e -n hp_prod2 pkg1
# cmrunpkg -n hp_prod2 pkg1
# cmmodpkg -e pkg1
 
 

1.6.9 MC/SG상에서 Volume 변경

Volume내의 lvol size변경(vg18의 lvol1을 500mb -> 1G)
 
hp_prod2 # cmhaltcl -f                  /* cluster 종료                   */
hp_prod2 # vgchange -c n -S n vg18             /* volume을 cluster mode에서 해제       */
hp_prod2 # vgchange -a y vg18           /* volume을 Active                */
hp_prod2 # lvextend -L 1000 /dev/vg18/lvol1   /* volume Size를 1G로 늘림       */
hp_prod2 # vgchange -a n vg18           /* volume을 Inactive                    */
hp_prod2 # vgexport -p -m vg18.map vg18 /* create map file                */
hp_prod2 # rcp vg18.map hp_test1:/tmp
hp_prod2 # remsh hp_test1               /* hp_test1로 Login                     */
 
hp_test1 # vgexport vg18                /* 기존의 Volume Group을 삭제           */
hp_test1 # mkdir /dev/vg18              /* import volume group                  */
hp_test1 # mknod /dev/vg18/group c 64 0x180000
hp_test1 # vgimport -m /tmp/vg18.map vg18 /dev/dsk/c7t2d3 /dev/dsk/c9t2d3
hp_test1 # vgchange -c y vg18
hp_test1 # remsh hp_prod2
hp_prod2 # vgchange -c y vg18
 
hp_prod2 # cmruncl               /* Cluster 기동  
 
 

1.6.10  MS/SG상에서 Volume Group추가

 
hp_prod2 # cmhaltcl -f                  /* cluster 종료                  */
hp_prod2 # mkdir /dev/vg19              /* create new volume group       */
hp_prod2 # mknod /dev/vg19/group c 64 0x190000
hp_prod2 # vgcreate vg19 /dev/dsk/c7t3d3 /dev/dsk/c9t3d3
hp_prod2 # lvcreate -L 1000 -n newvol vg19    /* create newvol size 1G          */
hp_prod2 # vgchange -a n vg19           /* volume을 Inactive                    */
hp_prod2 # vgexport -p -m vg19.map vg19 /* create map file                */
hp_prod2 # rcp vg19.map hp_test1:/tmp  
 
hp_prod2 # remsh hp_test1
hp_test1 # mkdir /dev/vg19              /* hp_test1에 Volume Group import       */
hp_test1 # mknod /dev/vg19/group c 64 0x190000
hp_test1 # vgimport -m /tmp/vg19.map vg19 /dev/dsk/c7t3d3 /dev/dsk/c9t3d3
hp_prod2 # vi /etc/cmcluster/cluster.asc      /* 다음의 내용을 추가                   */
       VOLUME_GROUP        /dev/vg19
 
hp_prod2 # rcp -p /etc/cmcluster/cluster.asc hp_test1:/etc/cmcluster
                                        /* Compile cluster configuration */
hp_prod2 # cmapplyconf     -C /etc/cmcluster/cluster.asc   
             -P /etc/cmcluster/pkg1/pkg1.conf
hp_prod2 # cmruncl               /* Cluster를 기동                */
반응형