본 장에서는 Sun 중급 및 고급 서버와 관련된 문제를 설명합니다. 현재 Sun 서버는 Sun Fire 시스템 제품군에 포함되어 있습니다. 기존 서버는 Sun Enterprise 시스템 제품군에 포함되어 있습니다.
Sun Validation Test Suite 릴리스 노트는 이제 별도의 문서로 제공되며 http://sun.com에서 찾을 수 있습니다.
이 장의 문제 및 버그 중 일부는 이후 Solaris 10 릴리스에서 수정되었습니다. Solaris 소프트웨어를 업그레이드한 경우 이 장의 특정 문제 및 버그가 더 이상 적용되지 않을 수 있습니다. Solaris 10 소프트웨어에 더 이상 적용되지 않는 버그 및 문제를 보려면 부록 A, Solaris 10 운영 체제의 통합 버그 표을 참조하십시오.
본 절에서는 Solaris 10 소프트웨어를 실행하는 다음 Sun Fire 고급 시스템에서 발생하는 대표적인 도메인측 DR 버그에 대해 설명합니다.
Sun Fire 25K
Sun Fire 20K
Sun Fire 15K
Sun Fire 12K
Sun Management Services의 DR 버그에 대한 자세한 내용은 해당 시스템에서 실행 중인 SMS 버전의 SMS 릴리스 노트를 참조하십시오.
다음 소프트웨어 및 하드웨어 버그는 Sun Fire 고급 시스템에 적용됩니다.
프로세스에서 네트워크 장치를 열린 상태로 유지하면 해당 장치와 관련된 모든 DR 작업에 실패합니다. 참조 카운트를 보유한 데몬 및 프로세스에서 DR 작업이 완료되지 못하게 중단합니다.
해결 방법: 수퍼유저로서 다음 단계를 수행합니다.
/rplboot 디렉토리를 제거하거나 이름을 바꿉니다.
NFS 서비스를 종료합니다.
# sh /etc/init.d/nfs.server stop |
부트 서버 서비스를 종료합니다.
# sh /etc/init.d/boot.server stop |
DR 분리 작업을 수행합니다.
NFS 서비스를 다시 시작합니다.
# sh /etc/init.d/nfs.server start |
부트 서버 서비스를 다시 시작합니다.
# sh /etc/init.d/boot.server start |
SunSwift PCI 카드의 옵션 1032를 통해 구성된 시스템에서 DR 명령을 실행하는 중에 경고가 표시될 수 있습니다. 이러한 경고는 Solaris 8, Solaris 9 또는 Solaris 10 소프트웨어를 실행하는 도메인에서 표시됩니다. 예를 들어 다음과 같은 경고가 표시됩니다.
Aug 12 12:27:41 machine genunix: WARNING: vmem_destroy('pcisch2_dvma'): leaked |
이는 가벼운 경고에 해당됩니다. DR 작업 중에 DVMA(Direct Virtual Memory Access) 공간이 적합하게 재생되고실제 커널 메모리 누출은 발생하지 않습니다.
해결 방법: 이 경고가 표시되는 것을 방지하려면 /etc/system에 다음 행을 추가합니다.
set pcisch:pci_preserve_iommu_tsb=0 |
Sun GigaSwift Ethernet MMF 옵션 X1151A를 사용하는 시스템과 CISCO 스위치를 연결하는 데 실패합니다. 이 오류는 다음 스위치 중 하나에 연결된 시스템에서 DR 작업 실행을 시도할 때 발생합니다.
CISCO WS-c4003 스위치(f/w: WS-C4003 소프트웨어, 버전 NmpSW: 4.4(1))
CISCO WS-c4003 스위치(f/w: WS-C4003 소프트웨어, 버전 NmpSW: 7.1(2))
CISCO WS-c5500 스위치(f/w: WS-C5500 소프트웨어, 버전 McpSW: 4.2(1) 및 NmpSW: 4.2(1))
CISCO 6509 스위치에서는 이 문제가 발생하지 않습니다.
해결 방법: 다른 스위치를 사용하거나 Cisco에 문의하여 해당 스위치의 패치를 구할 수 있습니다.
본 절에서는 다음 Sun Fire 중급 시스템에서 DR과 관련하여 발생하는 대표적인 문제에 대해 설명합니다.
Sun Fire E6900
Sun Fire E4900
Sun Fire E6800
Sun Fire E4810
Sun Fire E4800
Sun Fire E3800
표 4–1에서는 각 Sun Fire 중급 시스템에서 DR를 실행할 때 사용할 수 있는 Solaris 소프트웨어 및 시스템 제어기(SC) 펌웨어의 조합을 나타냅니다.
최신 펌웨어 기능 및 버그 수정 프로그램을 최대한 활용하려면 Sun Fire 중급 시스템에서 가장 최신 버전의 SC 펌웨어를 실행하십시오. 최신 패치에 대한 정보는 http://sunsolve.sun.com을 참조하십시오.
플랫폼 |
Solaris 릴리스 |
최소 SC 펌웨어 |
---|---|---|
UltraSPARC IV+ 포함 Sun Fire E6900/E4900 |
Solaris 10 3/05 HW1(제한된 릴리스) 또는 Solaris 10 1/06 |
5.19.0 |
UltraSPARC IV+가 없는 E6900/E4900 |
Solaris 9 4/04 |
5.16.0 |
Sun Fire 6800/4810/4800/3800 |
Solaris 9 4/04 |
5.16.0 |
Sun Fire 6800/4810/4800/3800 |
Solaris 9 |
5.13.0 |
펌웨어 이미지가 저장된 FTP나 HTTP 서버에 연결하여 Sun Fire 중급 시스템의 시스템 펌웨어를 업그레이드할 수 있습니다. 자세한 내용은 README 및 Install.info 파일을 참조하십시오. 이러한 파일은 도메인에서 실행 중인 펌웨어 릴리스에 포함되어 있습니다. http://sunsolve.sun.com에서 Sun 패치를 다운로드할 수 있습니다.
본 절에서는 중요한 DR 버그를 나열합니다.
프로세스에서 네트워크 장치를 열린 상태로 유지하면 해당 장치와 관련된 모든 DR 작업에 실패합니다. 참조 카운트를 보유한 데몬 및 프로세스에서 DR 작업이 완료되지 못하게 중단합니다.
해결 방법: 수퍼유저로서 다음 단계를 수행합니다.
/rplboot 디렉토리를 제거하거나 이름을 바꿉니다.
NFS 서비스를 종료합니다.
# sh /etc/init.d/nfs.server stop |
부트 서버 서비스를 종료합니다.
# sh /etc/init.d/boot.server stop |
DR 분리 작업을 수행합니다.
NFS 서비스를 다시 시작합니다.
# sh /etc/init.d/nfs.server start |
부트 서버 서비스를 다시 시작합니다.
# sh /etc/init.d/boot.server start |
SBM(Solaris Bandwidth Manager)이 사용 중일 때 CPU가 있는 시스템 보드가 시스템에서 제거되면 패닉이 발생할 수 있습니다.
해결 방법: DR를 사용할 시스템에는 SBM을 설치하지 마십시오. SBM이 설치된 서버의 CPU 시스템 보드에서는 DR 작업을 수행하지 마십시오.
Sun Fire 중급 시스템에서 CompactPCI(cPCI) I/O 보드의 포트 0(P0)이 비활성 상태이면 해당 보드를 구성 해제할 수 없습니다. 이 문제는 Solaris 10, Solaris 9 소프트웨어 및다음 패치가 하나 이상 설치된 Solaris 8 소프트웨어에서 발생합니다.
패치 ID 108528–11 ~ 108528–29
패치 ID 111372–02 ~ 111372–04
또한 이 오류는 cPCI 보드와 관련된 DR 작업 중에만 발생합니다. 다음 예제와 유사한 오류 메시지가 표시됩니다.
# cfgadm -c unconfigure NO.IB7 cfgadm: Hardware specific failure: unconfigure N0.IB7: Device busy:/ssm@0,0/pci@1b,700000/pci@1 |
NO.IB7은 P0이 비활성 상태인 CompactPCI I/O 보드입니다.
해결 방법: 포트 0 대신 슬롯을 비활성화합니다.
본 절에서는 Sun Enterprise 10000 서버의 다음 기능과 관련된 문제를 설명합니다.
시스템 서비스 프로세서 요구 사항
동적 재구성(DR)
InterDomain Networks(IDN)
Sun Enterprise 10000 도메인의 Solaris 운영 체제
Solaris 10 소프트웨어는 Sun Enterprise 10000 시스템에 속한 개별 도메인에서 실행할 수 있지만Sun Enterprise 10000 시스템 서비스 프로세서는 본 릴리스에서 지원되지 않습니다.
Solaris 10 소프트웨어를 지원하려면 시스템 서비스 프로세서(SSP)에 SSP 3.5 소프트웨어가 필요합니다. 먼저 SSP에 SSP 3.5를 설치하면Sun Enterprise 10000 도메인에 Solaris 10 OS를 설치하거나 업그레이드할 수 있습니다.
또한 도메인을 DR 모델 3.0에 적합하게 구성하려면 SSP 3.5 소프트웨어가 필요합니다.
본 절에서는 Sun Enterprise 10000 도메인의 동적 재구성과 관련된 여러 문제를 설명합니다.
Solaris 9 12/03 릴리스부터는 Solaris OS를 실행하는 Sun Enterprise 10000 도메인에서는 DR 3.0을 사용해야 합니다. DR 모델 3.0은 SSP에서 다음 명령을 사용하여 도메인 DR 작업을 수행하는 기능을 나타냅니다.
addboard
moveboard
deleteboard
showdevices
rcfgadm
도메인에서 cfgadm 명령을 실행하여 보드 상태 정보를 얻을 수 있습니다. 또한 DR 모델 3.0은 RCM(Reconfiguration Coordination Manager)과의 인터페이스를 통해 도메인에서 실행 중인 다른 응용 프로그램과 DR 작업을 조정합니다.
DR 모델 3.0에 대한 자세한 내용은 Sun Enterprise 10000 Dynamic Reconfiguration User Guide를 참조하십시오.
본 Solaris 릴리스에서 DR은 분리 중인 사용자 프로세스를 CPU에서 더 이상 자동으로 바인딩 해제하지 않습니다. 분리 시퀀스를 시작하기 전에 이 작업을 수행해야 합니다. CPU에서 바인딩된 프로세스가 발견되면 드레인 작업에 실패합니다.
프로세스에서 네트워크 장치를 열린 상태로 유지하면 해당 장치와 관련된 모든 DR 작업에 실패합니다. 참조 카운트를 보유한 데몬 및 프로세스에서 DR 작업이 완료되지 못하게 중단합니다.
해결 방법: 수퍼유저로서 다음 단계를 수행합니다.
/rplboot 디렉토리를 제거하거나 이름을 바꿉니다.
NFS 서비스를 종료합니다.
# sh /etc/init.d/nfs.server stop |
부트 서버 서비스를 종료합니다.
# sh /etc/init.d/boot.server stop |
DR 분리 작업을 수행합니다.
NFS 서비스를 다시 시작합니다.
# sh /etc/init.d/nfs.server start |
부트 서버 서비스를 다시 시작합니다.
# sh /etc/init.d/boot.server start |
도메인을 DR 3.0에 적합하게 구성하려면 SSP 3.5 소프트웨어가 필요합니다. SSP를 SSP 3.5로 업그레이드한 후 도메인에서 DR 3.0이 활성화되면 다음 명령을 실행합니다.
# devfsadm -i ngdr |
InterDomain Network에 도메인을 추가하려면 활성 메모리가 있는 해당 도메인의 모든 보드에 하나 이상의 활성 CPU가 있어야 합니다.
OpenBoot PROM 프롬프트에서 boot net 명령을 실행(OK)하기 전에 local-mac-address?변수가 false로 설정되었는지 확인합니다. 이 설정은 출하시의 기본 설정값입니다. 변수가 true로 설정되어 있는 경우 이 값이 로컬 구성에 대해 적절한지 확인해야 합니다.
local-mac-address?변수를 true로 설정하면 도메인이 네트워크를 통해 성공적으로 부트하지 못할 수 있습니다.
netcon 창의 OpenBoot PROM 프롬프트에서 다음 명령을 사용하여 OpenBoot PROM 변수 값을 표시할 수 있습니다.
OK printenv |
local-mac-address?변수를 기본 설정으로 재설정하려면 setenv 명령을 사용합니다.
OK setenv local-mac-address? false |
본 절에서는 Solaris 10 소프트웨어를 실행 중인 다음 중급 서버의 동적 재구성(DR) 기능에 대한 최신 정보를 제공합니다.
Sun Enterprise 6x00
Sun Enterprise 5x00
Sun Enterprise 4x00
Sun Enterprise 3x00
Sun Enterprise Server 동적 재구성에 대한 자세한 내용은 Dynamic Reconfiguration User's Guide for Sun Enterprise 3x00/4x00/5x00/6x00 System를 참조하십시오. Solaris 10 릴리스에는 이전 목록에서 언급한 시스템의 모든 CPU/메모리 보드 및 대부분의 I/O 보드에 대한 지원이 포함되어 있습니다.
먼저 시스템이 동적 재구성을 지원하는지 확인합니다. 사용 중인 시스템이 오래 전에 설계된 제품이라면 콘솔이나 콘솔 로그에 다음 메시지가 표시되고이런 시스템은 동적 재구성에 적합하지 않습니다.
Hot Plug not supported in this system |
다음 I/O 보드는 현재 지원되지 않습니다.
Type 2(그래픽)
Type 3(PCI)
Type 5(그래픽 및 SOC+)
본 절에서는 DR에 대한 일반적인 소프트웨어 정보를 제공합니다.
동적 재구성을 활성화하려면 /etc/system 파일에서 두 개의 변수를 설정하고CPU/메모리 보드를 제거할 수 있도록 추가 변수를 설정해야 합니다. 다음 단계를 수행하십시오.
수퍼유저로 로그인합니다.
/etc/system 파일을 편집하여 다음 행을 추가합니다.
set pln:pln_enable_detach_suspend=1 set soc:soc_enable_detach_suspend=1 |
CPU/메모리 보드 제거를 사용하려면 파일에 다음 행을 추가합니다.
set kernel_cage_enable=1 |
이 값을 설정하면 메모리 구성 해제 작업을 사용할 수 있습니다.
변경 사항을 적용하려면 시스템을 재부팅합니다.
다음 명령을 사용하여 중지 테스트를 시작합니다.
# cfgadm -x quiesce-test sysctr10:slot number |
대형 시스템에서 중지 테스트는 최대 1분 동안 실행될 수 있습니다. 이때 cfgadm이 호환되지 않는 드라이버를 찾지 못하면 어떤 메시지도 표시되지 않습니다.
사용 불가 보드 목록에 있는 보드에 연결하려고 하면 오류 메시지가 표시될 수 있습니다.
# cfgadm -c connect sysctrl0:slotnumber cfgadm: Hardware specific failure: connect failed: board is disabled: must override with [-f][-o enable-at-boot] |
사용 불가 조건을 무시하려면 두 가지 옵션을 사용할 수 있습니다.
force 플래그 사용(-f)
# cfgadm -f -c connect sysctrl0:slot number |
enable 옵션 사용(-o enable-at-boot )
# cfgadm -o enable-at-boot -c connect sysctrl0:slot number |
사용 불가 보드 목록에서 모든 보드를 제거하려면 명령을 실행하는 프롬프트에 따라 두 옵션 중 하나를 선택하십시오.
수퍼유저 프롬프트에서 다음과 같이 입력합니다.
# eeprom disabled-board-list= |
OpenBoot PROM 프롬프트에서 다음과 같이 입력합니다.
OK set-default disabled-board-list |
disabled-board-list 설정에 대한 자세한 내용은 Platform Notes: Sun Enterprise 3x00, 4x00, 5x00, and 6x00 Systems 설명서의 “Specific NVRAM Variables” 절을 참조하십시오. 이 설명서는 본 릴리스의 설명서 세트에 포함되어 있습니다.
OpenBoot PROM disabled-memory-list 설정에 대한 정보가 본 릴리스에 게시되어 있습니다. Solaris on Sun Hardware 설명서 중 Platform Notes: Sun Enterprise 3x00, 4x00, 5x00, and 6x00 System의 “Specific NVRAM Variables”를 참조하십시오.
Detach-unsafe 드라이버를 언로드하려면 modinfo 행 명령을 사용하여 드라이버의 모듈 ID를 찾습니다. 그런 다음 modunload 명령에서 모듈 ID를 사용하여 detach-unsafe 드라이버를 언로드할 수 있습니다.
DR 연결 시퀀스 중 다음 오류 메시지가 표시되면 가능한 빨리 시스템에서 보드를 제거합니다.
cfgadm: Hardware specific failure: connect failed: firmware operation error |
보드가 자기 진단에 실패했을 때 보드를 제거하면 다음 재부팅 중에 재구성 오류가 발생하는 것을 피할 수 있습니다.
자기 진단에 실패한 상태에서는 추가 작업이 불가능합니다. 따라서 실패한 작업을 즉시 다시 시도하려면 먼저 보드를 제거한 다음 다시 삽입해야 합니다.
다음 목록은 언제라도 변경될 수 있습니다.
프로세스에서 네트워크 장치를 열린 상태로 유지하면 해당 장치와 관련된 모든 DR 작업에 실패합니다. 참조 카운트를 보유한 데몬 및 프로세스에서 DR 작업이 완료되지 못하게 중단합니다.
해결 방법: 수퍼유저로서 다음 단계를 수행합니다.
/rplboot 디렉토리를 제거하거나 이름을 바꿉니다.
NFS 서비스를 종료합니다.
# sh /etc/init.d/nfs.server stop |
부트 서버 서비스를 종료합니다.
# sh /etc/init.d/boot.server stop |
DR 분리 작업을 수행합니다.
NFS 서비스를 다시 시작합니다.
# sh /etc/init.d/nfs.server start |
부트 서버 서비스를 다시 시작합니다.
# sh /etc/init.d/boot.server start |
Sun Enterprise5 x500 서버가 치명적인 재설정 후 재부트하면 메모리 인터리브가 잘못된 상태로 남아 있습니다. 이후 DR 작업들은 실패합니다. 이 문제는 메모리 인터리브가 min으로 설정된 시스템에서만 발생합니다.
해결 방법: 다음 옵션 중 하나를 선택합니다.
문제를 해결하려면 OK 프롬프트에서 시스템을 수동으로 재설정합니다.
문제를 방지하려면 NVRAM memory-interleave 등록 정보를 max로 설정합니다.
두 번째 옵션을 사용하면 시스템이 부트될 때마다 메모리가 인터리브됩니다. 그러나 인터리브된 메모리가 포함된 메모리 보드는 동적으로 구성 해제될 수 없으므로 이 옵션이 적합하지 않을 수도 있습니다. 메모리가 인터리브된 CPU/메모리 보드를 구성 해제할 수 없음(4210234)을 참조하십시오.
메모리가 설치된 CPU 보드 또는 메모리 전용 보드를 구성 해제한 다음 연결을 끊으려면 먼저 메모리를 구성 해제합니다. 그러나 보드의 메모리가 다른 보드의 메모리와 인터리브되면 그 메모리는 동적으로 구성 해제될 수 없습니다.
prtdiag 또는 cfgadm 명령을 사용하여 메모리 인터리브를 표시할 수 있습니다.
해결 방법: 보드를 작동하기 전에 시스템을 종료한 다음 재부팅합니다. 향후 CPU/메모리 보드에서 DR 작업을 허용하려면 NVRAM memory-interleave 등록 정보를 min으로 설정합니다. 메모리 인터리브와 관련된 내용은 치명적 재설정 후 메모리 인터리브가 잘못 설정됨(4156075) 을 참조하십시오.
메모리가 설치된 CPU 보드 또는 메모리 전용 보드를 구성 해제한 다음 연결을 끊으려면 먼저 메모리를 구성 해제합니다. 그러나 일부 메모리는 재배치될 수 없고이런 메모리는 영구 메모리로 간주됩니다.
보드상의 영구 메모리는 cfgadm 상태 표시에서 “permanent”로 표시됩니다.
# cfgadm -s cols=ap_id:type:info Ap_Id Type Information ac0:bank0 memory slot3 64Mb base 0x0 permanent ac0:bank1 memory slot3 empty ac1:bank0 memory slot5 empty ac1:bank1 memory slot5 64Mb base 0x40000000 |
이 예에서 slot3에 삽입된 보드에는 영구 메모리가 있으므로 제거할 수 없습니다.
해결 방법: 보드를 작동하기 전에 시스템을 종료한 다음 재부팅합니다.
한 보드에서 cfgadm 프로세스가 실행 중일 때 동시에 두 번째 보드와의 연결을 끊으려는 시도는 실패합니다. 다음과 같은 오류 메시지가 나타납니다.
cfgadm: Hardware specific failure: disconnect failed: nexus error during detach:address |
해결 방법: 한 번에 하나의 cfgadm 작업만 실행합니다. 한 보드에서 실행 중인 cfgadm 작업을 완료한 후에 두 번째 보드에서 cfgadm 연결 해제 작업을 시작합니다.