이 장에서는 다음 절의 Sun Cluster 구성 패치 추가 및 제거를 위한 절차를 설명합니다.
클러스터의 특성으로 인해, 모든 클러스터 구성원 노드의 패치 수준이 동일해야 클러스터가 제대로 작동합니다. 노드를 Sun Cluster 패치로 패치할 때, 패치를 설치하기 전에 클러스터 구성원에서 노드를 일시적으로 제거하거나 전체 클러스터를 정지해야 할 수도 있습니다. 이 절에서는 이 단계를 설명합니다.
Sun Cluster 패치를 적용하기 전에 패치의 README 파일을 확인하십시오. 또한, 필요한 패치 방법을 보려면 저장 장치에 대한 업그레이드 요구 사항을 확인하십시오.
Sun Cluster 패치에 대해서는 이 장의 절차 대신 패치의 README 파일과 SunSolve에 있는 지시 사항을 따르십시오.
모든 클러스터 노드에 대해 패치를 설치하는 경우는 다음 경우 중 하나에 해당합니다.
패치 또는 펌웨어를 적용하기 전에 boot -sx 또는 shutdown -g -y -i0 명령을 사용하여 노드를 단일 사용자 모드로 부트하고, 그런 다음 재부트하여 클러스터에 연결해야 합니다. 먼저, 패치할 노드의 자원 그룹 또는 장치 그룹을 다른 클러스터 구성원으로 전환하여 노드를 "정지" 상태로 만들어야 합니다. 또한 전체 클러스터가 종료되지 않도록 패치 또는 펌웨어를 한 번에 한 클러스터 노드에 적용합니다.
이 유형의 패치를 적용하면 각 노드는 일시적으로 종료되어도 클러스터는 계속 사용할 수 있습니다. 노드를 패치하면 다른 노드의 패치가 아직 동일한 레벨이 아니어도 패치된 노드가 구성원 노드로 클러스터에 다시 결합될 수 있습니다.
소프트웨어 또는 펌웨어 패치를 적용하려면 클러스터를 종료하고 boot -sx 또는 shutdown -g -y -i0 명령을 사용하여 각 노드를 단일 사용자 모드로 부트해야 합니다. 그런 다음 노드를 재부트하여 클러스터에 연결하십시오. 이 패치의 경우에는 패치를 적용하는 동안 클러스터를 사용할 수 없습니다.
패치를 적용할 때 노드가 "정지" 상태(이 상태에서도 지원 그룹이나 장치 그룹을 마스터할 수 있음)이지 않아도 되며 종료하거나 재부트할 필요도 없습니다. 그러나 패치를 계속 한 번에 하나의 노드에 적용하고 다른 노드를 패치하기 전에 패치가 잘 되고 있는지 확인해야 합니다.
기본 클러스터 프로토콜은 패치로 변경되지 않습니다.
patchadd 명령을 사용하여 클러스터에 패치를 적용한 후에 patchrm을 사용하여 패치를 제거합니다(가능한 경우).
Sun Cluster 패치를 더 효율적으로 관리하려면 다음 팁을 참고하십시오.
패치를 적용하기 전에 항상 패치 README 파일을 읽으십시오.
필요한 패치 방법을 보려면 저장 장치에 대한 업그레이드 요구 사항을 확인하십시오.
운영 환경에서 클러스터를 실행하기 전에 모든 패치(필수 및 추천)를 적용하십시오.
하드웨어 펌웨어 레벨을 검사하고 필요한 펌웨어 업데이트를 설치하십시오.
클러스터 구성원 기능을 하는 모든 노드에 동일한 패치가 있어야 합니다.
클러스터 하위 시스템에 항상 최신 패치를 설치하십시오. 패치에는 볼륨 관리, 저장소 장치 펌웨어 및 클러스터 전송 등이 포함되어 있습니다.
정기적으로(예: 분기마다) 패치 보고서를 검토하고, 권장하는 패치 제품군을 사용하여 Sun Cluster 구성을 패치하십시오.
엔터프라이즈 서비스에서 권장하는 대로 패치를 선택하여 적용하십시오.
주요 패치를 업데이트한 후에 페일오버를 테스트하십시오. 클러스터 작동이 저하되거나 기능이 떨어지면 패치를 취소하십시오.
작업 |
지침 |
---|---|
노드를 중지시키지 않고 한 번에 한 노드씩 재부트하지 않는 Sun Cluster 패치 적용 | |
클러스터 구성원을 비클러스터 모드로 전환한 후에 재부트하는 Sun Cluster 패치 적용 | |
클러스터에 장애 복구 영역이 포함된 경우, 단일 사용자 모드로 패치 적용 | |
Sun Cluster 패치 제거 |
패치 프로세스 중에 클러스터가 계속 작동되도록 하려면 클러스터의 한 노드에 하나씩 패치를 적용하십시오. 이 절차에서는, 패치를 적용하기 전에 먼저 노드를 종료하고 boot -sx 또는 hutdown -g -y -i0 명령을 사용하여 단일 사용자 모드로 부트해야 합니다.
이 절차에서는 장문형 Sun Cluster 명령을 제공합니다. 대부분의 명령에는 단문형도 있습니다. 명령은 명령 이름이 장문형과 단문형인 것을 제외하면 동일합니다. 명령 및 단문형 명령의 목록을 보려면 부록 A, Sun Cluster 객체 지향 명령를 참조하십시오.
패치를 적용하기 전에 Sun Cluster 제품 웹 사이트에서 특별한 설치 전후 지침이 있는지 확인합니다.
패치를 적용할 노드에서 수퍼유저 또는 solaris.cluster.admin RBAC 인증을 제공하는 역할로 전환합니다.
패치를 적용하는 노드의 자원 그룹과 장치 그룹을 표시합니다.
# clresourcegroup status -n 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 메뉴에서 화살표 키를 사용하여 적합한 Solaris 항목을 선택하고 e를 입력하여 해당 명령을 편집합니다.
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의 11 장, GRUB Based Booting (Tasks)을 참조하십시오.
부트 매개 변수 화면에서 화살표 키를 사용하여 커널 항목을 선택하고 e를 입력하여 선택한 항목을 편집하십시오.
다음과 같이 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. |
-sx를 명령에 추가하여 시스템 부트를 비클러스터 모드로 지정합니다.
[ 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 -x |
Enter 키를 눌러 변경 사항을 수락하고 부트 매개 변수 화면으로 복귀합니다.
화면에 편집된 명령이 표시됩니다.
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -x | | 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.- |
b를 입력하여 노드를 비클러스터 모드로 부트합니다.
커널 부트 매개 변수 명령에 대한 변경 사항은 시스템을 재부트하면 사라집니다. 다음에 노드를 재부트하면 클러스터 모드로 부트됩니다. 비클러스터 모드로 부트하려면, 이 단계를 다시 실행하여 -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의 비전역 영역 이름입니다. 자원 그룹을 생성할 때 비전역 영역을 지정한 경우에만 영역을 지정합니다.
다음은 재부트하는 Sun 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 |
패치를 제거하려면 Sun Cluster 패치 변경을 참조하십시오.
이 절자에서는 패치를 적용하기 전에 먼저 클러스터를 종료하고 boot -sx 또는 shtudown -g -y -i0 명령을 사용하여 단일 사용자 모드로 각 노드를 부트해야 합니다.
패치를 적용하기 전에 Sun Cluster 제품 웹 사이트에서 특별한 설치 전후 지침이 있는지 확인합니다.
임의의 클러스터의 노드에서 수퍼유저로 전환합니다.
클러스터를 종료합니다.
# 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 메뉴에서 화살표 키를 사용하여 적합한 Solaris 항목을 선택하고 e를 입력하여 해당 명령을 편집합니다.
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의 11 장, GRUB Based Booting (Tasks)을 참조하십시오.
부트 매개 변수 화면에서 화살표 키를 사용하여 커널 항목을 선택하고 e를 입력하여 선택한 항목을 편집하십시오.
다음과 같이 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. |
-sx를 명령에 추가하여 시스템 부트를 비클러스터 모드로 지정합니다.
[ 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 -x |
Enter 키를 눌러 변경 사항을 수락하고 부트 매개 변수 화면으로 복귀합니다.
화면에 편집된 명령이 표시됩니다.
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -x | | 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.- |
b를 입력하여 노드를 비클러스터 모드로 부트합니다.
커널 부트 매개 변수 명령에 대한 변경 사항은 시스템을 재부트하면 사라집니다. 다음에 노드를 재부트하면 클러스터 모드로 부트됩니다. 비클러스터 모드로 부트하려면, 이 단계를 다시 실행하여 -sx 옵션을 커널 부트 매개 변수 명령에 추가합니다.
소프트웨어 또는 펌웨어 패치를 적용합니다.
한 번에 한 노드씩 다음 명령을 실행하십시오.
# patchadd -M patch-dir patch-id |
패치의 디렉토리 위치를 지정합니다.
주어진 패치의 패치 번호를 지정합니다.
항상 이 장의 절차 대신 패치 디렉토리의 지시 사항을 우선적으로 따르십시오.
각 노드에 패치가 제대로 설치되었는지 확인합니다.
# showrev -p | grep patch-id |
모든 노드에 패치를 적용한 후에 클러스터 모드로 노드를 재부트합니다.
각 노드에서 다음 명령을 실행하십시오.
# reboot |
패치가 적용되고 노드와 클러스터가 정상적으로 작동하는지 확인합니다.
다음은 재부트하는 Sun Cluster 패치를 클러스터에 적용하는 예입니다.
# cluster shutdown -g0 -y ... |
노드를 비클러스터 및 단일 사용자 모드로 부트합니다.
SPARC: 다음을 입력합니다.
ok boot -sx |
x86: 노드를 비클러스터 및 단일 사용자 모드로 부트합니다. 위의 절차를 참조하십시오.
... # patchadd -M /var/tmp/patches 234567-05 (다른 클러스터 노드에 패치 적용) ... # showrev -p | grep 234567-05 # reboot |
패치를 제거하려면 Sun Cluster 패치 변경을 참조하십시오.
클러스터의 한 노드에 하나씩 패치를 적용하십시오. 재부트하지 않는 패치를 적용할 때는 패치를 받는 노드를 먼저 종료할 필요가 없습니다.
패치를 적용하기 전에 Sun Cluster 제품 웹 페이지에서 특별한 설치 전후 지침이 있는지 확인합니다.
한 노드에 패치를 적용합니다.
# patchadd -M patch-dir patch-id |
패치의 디렉토리 위치를 지정합니다.
주어진 패치의 패치 번호를 지정합니다.
패치가 제대로 설치되었는지 확인합니다.
# showrev -p | grep patch-id |
패치가 적용되고 노드와 클러스터가 정상적으로 작동하는지 확인합니다.
# patchadd -M /tmp/patches 234567-05 ... # showrev -p | grep 234567-05 |
패치를 제거하려면 Sun Cluster 패치 변경을 참조하십시오.
장애 복구 영역을 포함하는 단일 사용자 모드에서 패치를 적용하려면 이 작업을 수행합니다. Sun Cluster의 장애 복구 구성에서 Sun Cluster Data Service for Solaris Containers를 사용하는 경우 이 패치 방법이 필요합니다.
이 절차에서 수동으로 처리된 영역 경로가 포함된 디스크 세트 쌍인 공유 저장소로서 사용된 LUN 중 하나에 쿼럼 장치가 구성되지 않았는지 확인합니다.
쿼럼 장치가 영역 경로가 포함된 디스크 세트에서 사용되고 있는지 및 쿼럼 장치가 scsi2 또는 scsi3 예약을 사용하는지 확인합니다.
# clquorum show |
쿼럼 장치가 디스크 세트의 LUN 내에 있는 경우, 영역 경로가 포함된 디스크 세트의 일부가 아닌 쿼럼 장치로서 새 LUN을 추가합니다.
# clquorum add new-didname |
이전의 쿼럼 장치를 제거합니다.
# clquorum remove old-didname |
scsi2 예약이 이전 쿼럼 장치에 사용되는 경우, 이전 쿼럼에서 scsi2 예약을 삭제하고 scsi2 예약이 남아 있는지 확인합니다.
# /usr/cluster/lib/sc/pgre -c pgre_scrub -d /dev/did/rdsk/old-didnames2 # /usr/cluster/lib/sc/pgre -c pgre_inkeys -d /dev/did/rdsk/old-didnames2 |
활성 쿼럼 장치에서 예약 키를 잘못 삭제한 경우, 쿼럼 장치를 제거하고 다시 추가하여 쿼럼 장치에 새 예약 키를 만들어야 합니다.
패치하려는 노드를 비웁니다.
# clresourcegroup evacuate -n node1 |
HA Solaris Container 자원이 포함되어 있는 자원 그룹을 오프라인으로 전환합니다.
# clresourcegroup offline resourcegroupname |
오프라인으로 전환한 자원 그룹의 모든 자원을 비활성화합니다.
# clresource disable resourcename |
오프라인으로 전환한 자원 그룹을 관리 해제합니다.
# clresourcegroup unmanage resourcegroupname |
해당하는 장치 그룹을 오프라인으로 전환합니다.
# cldevicegroup offline cldevicegroupname |
오프라인으로 전환한 장치 그룹을 비활성화합니다.
# cldevicegroup disable devicegroupname |
클러스터 외부에서 패시브 노드를 부트합니다.
# reboot -- -x |
진행하기 전에 SMF 시작 메서드가 패시브 노드에서 완료되었는지 확인합니다.
# svcs -x |
활성 노드의 재구성 프로세스가 완료되었는지 확인합니다.
# cluster status |
디스크 세트의 디스크에 scsi3 예약이 있는지 확인합니다.
패시브 노드에서 메타 세트의 소유권을 가져옵니다.
# metaset -s disksetname -C take -f |
패시브 노드에서 영역 경로가 포함된 파일 시스템을 마운트합니다.
# mount device mountpoint |
패시브 노드에서 단일 사용자 모드로 전환합니다.
# init s |
Sun Cluster Data Service for Solaris Container의 제어를 받지 않는 가능한 모든 부트된 영역을 정지합니다.
# zoneadm -z zonename halt |
(옵션) 여러 패치를 설치하는 경우, 성능을 위해서 단일 사용자 모드의 모든 구성된 영역을 부트하도록 선택할 수 있습니다.
# zoneadm -z zonename boot -s |
패치를 적용합니다.
노드를 재부트하고 해당하는 모든 SMF 시작 메서드가 완료될 때까지 기다립니다. 노드가 재부트된 후 svcs -a 명령만 수행합니다.
# reboot |
# svcs -a |
이제 첫 번째 노드가 준비되었습니다.
패치하려는 두 번째 노드를 비웁니다.
# clresourcegroup evacuate -n node2 |
두 번째 노드에 대해 8-13단계를 반복합니다.
패치 프로세스의 속도를 높이기 위해 이미 패치한 영역을 분리합니다.
# zoneadm -z zonename detach |
패시브 노드에서 단일 사용자 모드로 전환합니다.
# init s |
Sun Cluster Data Service for Solaris Container의 제어를 받지 않는 가능한 모든 부트된 영역을 정지합니다.
# zoneadm -z zonename halt |
(옵션) 여러 패치를 설치하는 경우, 성능을 위해서 단일 사용자 모드의 모든 구성된 영역을 부트하도록 선택할 수 있습니다.
# zoneadm -z zonename boot -s |
패치를 적용합니다.
분리한 영역을 연결합니다.
# zoneadm -z zonename attach -F |
클러스터 모드로 노드를 재부트합니다.
# reboot |
장치 그룹을 온라인으로 전환합니다.
자원 그룹을 시작합니다.
클러스터에 적용한 Sun Cluster 패치를 제거하려면 먼저 새 Sun Cluster 패치를 제거한 후 이전 패치나 업데이트 릴리스를 다시 적용해야 합니다. 새 Sun Cluster 패치를 제거하려면 다음 절차를 참조하십시오. 이전 Sun Cluster 패치를 다시 적용하려면 다음 절차 중 하나를 참조하십시오.
Sun Cluster 패치를 적용하기 전에 패치의 README 파일을 확인하십시오.
임의의 클러스터 노드에서 수퍼유저로 전환합니다.
클러스터 노드를 비클러스터 모드로 부트합니다. 노드를 비클러스터 모드로 부트하는 데 대한 자세한 내용은 비클러스터 모드에서 클러스터 노드를 부트하는 방법을 참조하십시오.
재부트 패치를 제거합니다.
# patchrm patchid |
클러스터 노드를 클러스터 모드로 재부트합니다.
# reboot |
각 클러스터 노드에 대해 2-4단계를 반복합니다.