탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
![]() |
Oracle Solaris Cluster 시스템 관리 설명서 Oracle Solaris Cluster (한국어) |
1. Oracle Solaris Cluster 관리 방법 소개
2. Oracle Solaris Cluster 및 RBAC
5. 전역 장치, 디스크 경로 모니터링 및 클러스터 파일 시스템 관리
11. Oracle Solaris Cluster 소프트웨어 및 펌웨어 패치
Oracle Solaris Cluster 소프트웨어 패치
재부트하지 않는 Oracle Solaris Cluster 패치를 적용하는 방법
페일오버 영역이 있는 노드에 단일 사용자 모드로 패치를 적용하는 방법
표 11-1 작업 맵: 클러스터 패치
|
패치 프로세스 중에 클러스터 자체의 작동을 유지하려면 한 번에 하나의 클러스터 노드에 패치를 적용하십시오. 이 절차에서는 패치를 적용하기 전에 먼저 클러스터에서 노드를 중지하고 boot -sx 또는 shutdown -g -y -i0 명령을 사용하여 단일 사용자 모드로 부트해야 합니다.
phys-schost# 프롬프트는 전역 클러스터 프롬프트를 반영합니다. 전역 클러스터에서 이 절차를 수행합니다.
이 절차에서는 장문형 Oracle Solaris Cluster 명령을 제공합니다. 대부분의 명령에는 단문형도 있습니다. 명령은 명령 이름이 장문형과 단문형인 것을 제외하면 동일합니다.
# clresourcegroup status -Z all -n node[,...]
패치를 적용 중인 node에 있는 전역 클러스터 노드 또는 영역 클러스터 노드의 이름입니다.
# cldevicegroup status -n node
패치를 적용 중인 전역 클러스터 노드의 이름입니다.
주 - 장치 그룹은 영역 클러스터와 연결되지 않습니다.
# clnode evacuate -n node
모든 전역 클러스터 비투표 노드를 포함하여 모든 장치 그룹과 자원 그룹을 비웁니다.
전환할 자원 그룹 및 장치 그룹이 있는 노드를 지정합니다.
# shutdown -g0 [-y] [-i0]
SPARC 기반 시스템에서는 다음 명령을 실행합니다.
ok boot -sx
x86 기반 시스템에서는 다음 명령을 실행합니다.
phys-schost# shutdown -g -y -i0 Press any key to continue
GRUB 메뉴가 다음과 같이 나타납니다.
GNU GRUB version 0.95 (631K lower / 2095488K upper memory) +-------------------------------------------------------------------------+ | Solaris 10 /sol_10_x86 | | Solaris failsafe | | | +-------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line.
GRUB 기반 부트에 대한 자세한 내용은 System Administration Guide: Basic Administration의 Booting an x86 Based System by Using GRUB (Task Map)를 참조하십시오.
다음과 같이 GRUB 부트 매개 변수 화면이 나타납니다.
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. ] grub edit> kernel /platform/i86pc/multiboot -sx
화면에 편집된 명령이 표시됩니다.
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -sx | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.-
주 - 커널 부트 매개 변수 명령에 대한 변경 사항은 시스템을 재부트하면 사라집니다. 다음에 노드를 재부트하면 클러스터 모드로 부트됩니다. 비클러스터 모드로 부트하려면, 이 단계를 다시 실행하여 -sx 옵션을 커널 부트 매개 변수 명령에 추가합니다.
# patchadd -M patch-dir patch-id
패치의 디렉토리 위치를 지정합니다.
주어진 패치의 패치 번호를 지정합니다.
주 - 항상 이 장의 절차 대신 패치 디렉토리의 지시 사항을 우선적으로 따르십시오.
# showrev -p | grep patch-id
# reboot
모든 노드를 재부트하고 나면 마지막으로 재부트된 노드에는 온라인 상태인 자원 그룹과 장치 그룹이 없게 됩니다.
# cldevicegroup switch -n node + | devicegroup ... # clresourcegroup switch -n node[:zone][,...] + | resource-group ...
전환할 자원 그룹 및 장치 그룹이 있는 노드의 이름입니다.
자원 그룹을 마스터할 수 있는 전역 클러스터 비투표 노드(node)의 이름입니다. 자원 그룹을 만들 때 비투표 노드를 지정한 경우에만 zone을 지정합니다.
# clresourcegroup switch -Z zoneclustername -n zcnode[,...] + | resource-group ...
자원 그룹을 전환할 영역 클러스터의 이름입니다.
자원 그룹을 마스터할 수 있는 영역 클러스터 노드의 이름입니다.
주 - 장치 그룹은 영역 클러스터와 연결되지 않습니다.
# /usr/cluster/bin/scversions
다음 결과 중 하나가 표시됩니다.
Upgrade commit is needed. Upgrade commit is NOT needed. All versions match.
# scversions -c
주 - scversions을 실행하면 상황에 따라 하나 이상의 CMM이 재구성됩니다.
예 11-1 재부트하는 패치 적용(노드)
다음은 재부트하는 Oracle Solaris Cluster 패치를 노드에 적용하는 예입니다.
# clresourcegroup status -n rg1 ...Resource Group Resource -------------- -------- rg1 rs-2 rg1 rs-3 ... # cldevicegroup status -n nodedg-schost-1 ... Device Group Name: dg-schost-1 ... # clnode evacuate phys-schost-2 # shutdown -g0 -y -i0 ...
노드를 비클러스터 및 단일 사용자 모드로 부트합니다.
SPARC: 다음을 입력합니다.
ok boot -sx
x86: 노드를 비클러스터 및 단일 사용자 모드로 부트합니다. 앞선 절차의 부트 단계를 참조하십시오.
# patchadd -M /var/tmp/patches 234567-05 ... # showrev -p | grep 234567-05 ... # reboot ... # cldevicegroup switch -n phys-schost-1 dg-schost-1 # clresourcegroup switch -n phys-schost-1 schost-sa-1 # scversions Upgrade commit is needed. # scversions -c
참조
패치를 제거하려면 Oracle Solaris Cluster 패치 변경을 참조하십시오.
이 절차에서는 패치를 적용하기 전에 먼저 클러스터를 중지하고 boot -sx 또는 shtudown -g -y -i0 명령을 사용하여 단일 사용자 모드로 각 노드를 부트해야 합니다.
# cluster shutdown -y -g grace-period “message”
확인 프롬프트에 대해 yes로 응답하도록 지정합니다.
시스템을 종료하기 전에 대기할 시간을 초 단위로 지정합니다. 기본 종료 시간은 60초입니다.
브로드캐스트할 경고 메시지를 지정합니다. message에 여러 단어를 포함하려면 따옴표를 사용합니다.
각 노드의 콘솔에서 다음 명령을 실행합니다.
SPARC 기반 시스템에서는 다음 명령을 실행합니다.
ok boot -sx
x86 기반 시스템에서는 다음 명령을 실행합니다.
phys-schost# shutdown -g -y -i0 Press any key to continue
GRUB 메뉴가 다음과 같이 나타납니다.
GNU GRUB version 0.95 (631K lower / 2095488K upper memory) +-------------------------------------------------------------------------+ | Solaris 10 /sol_10_x86 | | Solaris failsafe | | | +-------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line.
GRUB 기반 부트에 대한 자세한 내용은 System Administration Guide: Basic Administration의 Booting an x86 Based System by Using GRUB (Task Map)를 참조하십시오.
다음과 같이 GRUB 부트 매개 변수 화면이 나타납니다.
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. ] grub edit> kernel /platform/i86pc/multiboot -sx
화면에 편집된 명령이 표시됩니다.
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -sx | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.-
주 - 커널 부트 매개 변수 명령에 대한 변경 사항은 시스템을 재부트하면 사라집니다. 다음에 노드를 재부트하면 클러스터 모드로 부트됩니다. 비클러스터 모드로 부트하려면, 이 단계를 다시 실행하여 -sx 옵션을 커널 부트 매개 변수 명령에 추가합니다.
한 번에 한 노드씩 다음 명령을 실행하십시오.
# patchadd -M patch-dir patch-id
패치의 디렉토리 위치를 지정합니다.
주어진 패치의 패치 번호를 지정합니다.
주 - 항상 이 장의 절차 대신 패치 디렉토리의 지시 사항을 우선적으로 따르십시오.
# showrev -p | grep patch-id
각 노드에서 다음 명령을 실행하십시오.
# reboot
# /usr/cluster/bin/scversions
다음 결과 중 하나가 표시됩니다.
Upgrade commit is needed. Upgrade commit is NOT needed. All versions match.
# scversions -c
주 - scversions을 실행하면 상황에 따라 하나 이상의 CMM이 재구성됩니다.
예 11-2 재부트하는 패치 적용(클러스터)
다음은 재부트하는 Oracle Solaris Cluster 패치를 클러스터에 적용하는 예입니다.
# cluster shutdown -g0 -y ...
노드를 비클러스터 및 단일 사용자 모드로 부트합니다.
SPARC: 다음을 입력합니다.
ok boot -sx
x86: 노드를 비클러스터 및 단일 사용자 모드로 부트합니다. 위의 절차를 참조하십시오.
... # patchadd -M /var/tmp/patches 234567-05 (Apply patch to other cluster nodes) ... # showrev -p | grep 234567-05 # reboot # scversions Upgrade commit is needed. # scversions -c
참조
패치를 제거하려면 Oracle Solaris Cluster 패치 변경을 참조하십시오.
한 번에 하나의 클러스터 노드에 패치를 적용합니다. 재부트하지 않는 패치를 적용할 때는 패치를 받는 노드를 먼저 종료할 필요가 없습니다.
# patchadd -M patch-dir patch-id
패치의 디렉토리 위치를 지정합니다.
주어진 패치의 패치 번호를 지정합니다.
# showrev -p | grep patch-id
# /usr/cluster/bin/scversions
다음 결과 중 하나가 표시됩니다.
Upgrade commit is needed. Upgrade commit is NOT needed. All versions match.
# scversions -c
주 - scversions을 실행하면 상황에 따라 하나 이상의 CMM이 재구성됩니다.
예 11-3 재부트하지 않는 Oracle Solaris Cluster 패치 적용
# patchadd -M /tmp/patches 234567-05 ... # showrev -p | grep 234567-05 # scversions Upgrade commit is needed. # scversions -c
참조
패치를 제거하려면 Oracle Solaris Cluster 패치 변경을 참조하십시오.
페일오버 영역이 있는 단일 사용자 모드에서 패치를 적용하려면 이 작업을 수행합니다. Oracle Solaris Cluster 소프트웨어의 페일오버 구성에서 Oracle Solaris Cluster Data Service for Solaris Containers를 사용하는 경우 이 패치 방법이 필요합니다.
# clquorum show
# clquorum add new-didname
# clquorum remove old-didname
pgre 명령을 실행하는 방법에 대해 알아보려면 Oracle Support에서 제공하는 Diagnostic Toolkit(SUNWscdtk) 패키지를 설치하고 사용해야 합니다.
주 - 활성 쿼럼 장치에서 예약 키를 잘못 삭제한 경우, 쿼럼 장치를 제거하고 다시 추가하여 쿼럼 장치에 새 예약 키를 만들어야 합니다.
# clresourcegroup evacuate -n node1
# clresourcegroup offline resourcegroupname
# clresource disable resourcename
# clresourcegroup unmanage resourcegroupname
# cldevicegroup offline cldevicegroupname
# cldevicegroup disable devicegroupname
# reboot -- -x
주 - 영역 경로에 대한 zpool이 있는 페일오버 영역을 패치하려는 경우 다음 명령을 사용합니다.
# reboot -- -xs
# svcs -x
주 - 영역 경로에 대한 zpool이 있는 페일오버 영역을 패치하려는 경우 이 단계를 건너뜁니다.
# cluster status
디스크 세트의 모든 디스크에 대해 /usr/cluster/lib/sc/scsi -c disfailfast -d /dev/did/rdsk/d#s2 명령을 실행합니다.
키가 나열되면 /usr/cluster/lib/sc/scsi -c release -d /dev/did/rdsk/d#s2 명령을 실행하여 키를 해제합니다.
예약 키 해제가 완료되면 #12단계를 건너뛰고 #13단계에서 계속합니다.
# /usr/cluster/lib/sc/scsi -c inkeys -d /dev/did/rdsk/didnames2
# /usr/cluster/lib/sc/scsi -c scrub -d /dev/did/rdsk/didnames2
# metaset -s disksetname -C take -f
주 - 영역 경로에 대한 zpool이 있는 페일오버 영역을 패치하려는 경우 다음 명령을 사용합니다.
# zpool import -R / pool_name
# mount device mountpoint
# init s
# zoneadm -z zonename halt
# zoneadm -z zonename boot -s
# reboot
# svcs -a
이제 첫 번째 노드가 준비되었습니다.
# clresourcegroup evacuate -n node2
# zoneadm -z zonename detach
# init s
# zoneadm -z zonename halt
# zoneadm -z zonename boot -s
# zoneadm -z zonename attach -F
# reboot
# /usr/cluster/bin/scversions
다음 결과 중 하나가 표시됩니다.
Upgrade commit is needed. Upgrade commit is NOT needed. All versions match.
# scversions -c
주 - scversions을 실행하면 상황에 따라 하나 이상의 CMM이 재구성됩니다.
클러스터에 적용한 Oracle Solaris Cluster 패치를 제거하려면 먼저 새 Oracle Solaris Cluster 패치를 제거한 후 이전 패치나 업데이트 릴리스를 다시 적용해야 합니다. 새 Oracle Solaris Cluster 패치를 제거하려면 다음 절차를 참조하십시오. 이전 Oracle Solaris Cluster 패치를 다시 적용하려면 다음 절차 중 하나를 참조하십시오.
주 - Oracle Solaris Cluster 패치를 적용하기 전에 패치의 README 파일을 확인합니다.
# patchrm patchid
# patchrm patchid
# reboot