이 절에서는 Solaris 10 OS의 시스템 관리 버그를 설명합니다.
Sun 패치 관리자 도구 2.0을 실행하는 시스템은 Sun 패치 관리자 도구 1.0을 비롯하여 패치 관리자 도구를 실행하는 원격 시스템을 관리할 수 있습니다.
그러나 이전 버전의 패치 관리자 도구가 있는 시스템은 패치 관리자 도구 2.0을 실행하는 원격 시스템을 관리할 수 없습니다. 이전 버전에는 다음이 포함됩니다.
Sun 패치 관리자 기본 소프트웨어 1.x
Sun 패치 관리자 도구 1.0
Solaris 8 OS에서는 CIM/WBEM(Common Information Model/Web Based Enterprise Management)이 패치 관리자 도구를 지원하지 않으므로패치 관리자를 사용하는 원격 관리는 Solaris 8 시스템에 적용되지 않습니다.
SRS(Sun Remote Services) Net Connect는 전역 영역에서만 지원됩니다. 다음 작업 중 하나를 수행하면 오류 메시지가 표시됩니다.
로컬 영역에서 SRS Net Connect를 설치합니다.
SRS Net Connect는 로컬 영역이 생성되는 시점에 전역 영역에 설치됩니다.
오류 메시지는 다음과 같습니다.
*** package SUNWcstu failed to install - interactive administration required: Interactive request script supplied by package pkgadd: ERROR: request script did not complete successfully Installation of SUNWcstu was suspended (interaction required). No changes were made to the system. *** package SUNWfrunc failed to install - interactive administration required: Interactive request script supplied by package pkgadd: ERROR: request script did not complete successfully Installation of SUNWfrunc was suspended (interaction required). No changes were made to the system. |
해결 방법:오류 메시지를 무시하십시오.
zoneadm 명령을 사용하여 비전역 영역을 설치할 때 패키지 설치 중에 오류 또는 경고 메시지가 표시될 수 있습니다. 다음 예와 비슷한 메시지가 표시됩니다.
Preparing to install zone zone1. Creating list of files to copy from the global zone. Copying 2348 files to the zone. Initializing zone product registry. Determining zone package initialization order. Preparing to initialize 790 packages on the zone. Initialized 790 packages on zone. Zone zone1 is initialized. Installation of the following packages generated errors: SUNWjhrt SUNWmcc SUNWjhdev SUNWnsb SUNWmcon SUNWmpatchmgr Installation of the following packages generated warnings: SUNWj3rt SUNWmc SUNWwbmc SUNWmga SUNWdclnt SUNWlvma SUNWlvmg SUNWrmui SUNWdoc SUNWpl5m SUNWpmgr |
패키지 설치 관련 문제는 영역 설치 로그가 들어 있는 /export/zone1/root/var/sadm/system/logs/install_log에도 기록됩니다.
해결 방법:없음.
이 메시지가 보고되더라도 비전역 영역을 계속 사용할 수 있습니다. 이전 Solaris Express 및 Solaris 10 베타 릴리스에서는 패키지 설치와 관련된 문제가 발생했지만이 문제에 대한 알림은 생성되지 않았습니다. 본 Solaris 릴리스부터는 이 오류들을 적합하게 보고하고 로깅합니다.
영역에서 Solaris 제품 등록 관리 유틸리티를 시작하려 하면 실행에 실패합니다. 영역 설치 중에 Solaris 제품 등록 데이터베이스인 productregistry가 영역에 복제되지 않으므로이 유틸리티는 영역에서 실행할 수 없습니다.
해결 방법:수퍼유저로서 productregistry 데이터베이스를 영역에 복사합니다.
# cp /var/sadm/install/productregistry zone_path/var/sadm/install/ |
앞 명령에서 zone_path는 생성한 영역의 루트 디렉토리 경로입니다.
다음과 같은 경우에는 patchadd 명령으로 패치를 재적용할 수 없습니다.
이 패치의 영향을 받는 패키지 중 일부가 들어 있지 않은 시스템에 패치를 적용하는 경우
패치 적용 시 설치되지 않았던 패키지를 나중에 설치하는 경우
새로 설치된 패키지에 적용하기 위해 패치를 다시 적용하는 경우
나중에 추가한 패키지에 적용하는 패치의 일부가 설치되지 않은 경우다음 출력과 비슷한 메시지가 표시되는 경우
patchadd ~tsk/patches/111111-01 Validating patches... Loading patches installed on the system... Done! Loading patches requested to install. Done! The following requested patches are already installed on the system Requested to install patch 111111-01 is already installed on the system. No patches to check dependency. |
해결 방법:다음 해결 방법 중 하나를 선택합니다.
해결 방법 1:시스템에서 영역을 만들지 않은 경우 patchadd 명령에 -t 옵션을 사용하여 시스템에 패치를 적용합니다.
# patchadd -t patch-ID |
이전 명령에서 patch-ID는 적용할 패치의 ID입니다.
해결 방법 2:시스템에 영역을 만든 경우 다음 단계를 수행합니다.
패치를 설치 제거합니다.
# patchrm patch-ID |
시스템에 없지만 패치의 영향을 받는 추가 패키지를 설치합니다.
# pkgadd -d device pkgabbrev |
이전 예에서 device는 설치할 패키지의 절대 경로를 지정합니다. pkgabbrev는 설치할 패키지의 약어 이름을 지정합니다. 여러 패키지 이름을 지정할 수 있습니다.
패치를 다시 설치합니다.
# patchadd patch-ID |
전역 영역을 만든 후 패치를 적용하면 나중에 만든 비전역 영역에서 원격 로그인 서비스를 사용할 수 없습니다. 이러한 원격 서비스의 예는 rlogin 및 telnet입니다. 전역 영역에 패치를 적용한 후 비전역 영역을 만든 경우 비전역 영역에 원격으로 로그인할 수 없습니다. 이 문제는 SUNWcsr 패키지를 제공하거나 수정하는 패치가 적용된 시스템에 영향을 줍니다.
해결 방법:다음 해결 방법 중 하나를 선택합니다.
해결 방법 1:비전역 영역을 아직 부트하지 않은 경우 다음 단계를 수행합니다.
전역 영역에서 비전역 영역의 /var/svc/profile 디렉토리로 변경합니다.
global# cd zone_path/root/var/svc/profile |
이전 예에서 zone_path는 비전역 영역의 경로입니다. 전역 영역에 다음 명령을 입력하여 비전역 영역의 경로를 확인할 수 있습니다.
global# zonecfg -z zonename info zonepath |
inetd_services.xml 프로필을 제거합니다.
global# rm inetd_services.xml |
inetd_generic.xml 프로필을 가리키는 inetd_services.xml에 대한 심볼릭 링크를 만듭니다.
global# ln -s inetd_generic.xml inetd_services.xml |
비전역 영역을 부트합니다.
영역 부트 방법에 대한 자세한 내용은 System Administration Guide: Solaris Containers-Resource Management and Solaris Zones을 참조하십시오.
해결 방법 2:비전역 영역을 부트한 경우 다음 단계를 수행합니다.
이전 해결 방법에 나열된 단계를 수행합니다.
비전역 영역에서 /var/svc/profile/inetd_services.xml 프로필에 나열된 서비스를 사용 가능하게 합니다.
my-zone# svccfg apply /var/svc/profile/inetd_services.xml |
비전역 영역을 재부트합니다.
my-zone# reboot |
해결 방법 3:시스템에서 영역을 만들기 전에 플랫폼에 해당 패치를 적용합니다.
SPARC 기반 시스템의 경우 패치 ID 119015-01 이상 버전을 적용합니다.
x86 기반 시스템의 경우 패치 ID 119016-01 이상 버전을 적용합니다.
디스크 없는 클라이언트를 삭제하기 위해 smdiskless 명령을 사용하면 이 명령은 오류를 일으킵니다. 디스크 없는 클라이언트는 시스템 데이터베이스에서 제거되지 않습니다. 다음과 같은 오류 메시지가 나타납니다.
Failing with error EXM_BMS. |
해결 방법:클라이언트를 추가하기 전에 /export 분할 영역의 공유를 해제합니다.
Solaris 10 전체 설치를 시작할 때 Net Connect 3.1.1을 선택하면 이 제품의 설치에 실패합니다. Solaris 10 Operating System DVD를 사용하여 설치 중일 때 이 오류가 발생합니다. OS 설치 완료 시 /var/sadm/install/logs/에 있는 Net Connect 설치 로그에 다음 오류 메시지가 기록됩니다.
Installation of SUNWSRSPX failed. Error: pkgadd failed for SUNWsrspx Install complete. Package: SUNWsrspx |
해결 방법:OS 설치가 완료된 후 다음 단계를 수행합니다.
Solaris 10 Operating System DVD 또는 Solaris 10 Software - CD 4를 삽입합니다.
Net Connect 제품 디렉토리로 이동합니다.
Net Connect 설치 프로그램을 실행합니다.
Sun Net Connect 소프트웨어 및 릴리스 노트의 최신 버전을 다운로드하려면 https://srsnetconnect.sun.com의 Sun Net Connect 포털로 이동하십시오.
다음과 같은 경우에 Solaris Flash 아카이브와 관련된 부트 오류가 발생할 수 있습니다.
특정 하드웨어 지원 기능과 함께 libc C 라이브러리를 사용하는 시스템에서 Solaris Flash 아카이브를 생성하는 경우
하드웨어 지원 기능이 다른 복제 시스템에서 아카이브를 설치하는 경우
복제 시스템 부트를 시도하면 다음 오류 메시지가 표시됩니다.
WARNING: init exited with fatal signal 9; restarting. |
해결 방법:다음 단계를 수행합니다.
아카이브를 만들기 전에 마스터 시스템에서 /lib/libc.so.1 라이브러리를 마운트 해제합니다.
# umount /lib/libc.so.1 |
이 명령을 실행하면 마스터 시스템은 기본 버전의 libc C 라이브러리를 사용할 수 있습니다.
마스터 시스템에서 Solaris Flash 아카이브를 만듭니다.
Solaris Flash 아카이브를 만드는 방법에 대한 자세한 내용은 Solaris 10 설치 설명서: Solaris Flash 아카이브(작성 및 설치)를 참조하십시오.
마스터 시스템에 /lib/libc.so.1라이브러리를 마운트합니다.
# mount -O -F lofs /lib/libc.so.1 /usr/lib/libc/libc_hwcap2.so.1 |
복제 시스템에 Solaris Flash 아카이브를 설치합니다.
Solaris Flash 아카이브를 설치하는 방법에 대한 자세한 내용은 Solaris 10 설치 설명서: Solaris Flash 아카이브(작성 및 설치)를 참조하십시오.
디스크 없는 클라이언트 서비스를 제거하기 위해 smosservice delete 명령을 사용할 경우 이 명령으로 일부 서비스 디렉토리를 성공적으로 제거하지 못합니다.
해결 방법:다음 단계를 수행합니다.
해당 서비스를 사용하는 클라이언트가 없어야 합니다.
# unshare /export/exec/Solaris_10_sparc.all # rm -rf /export/exec/Solaris_10_sparc.all # rm -rf /export/exec/.copyofSolaris_10_sparc.all # rm -rf /export/.copyofSolaris_10 # rm -rf /export/Solaris_10 # rm -rf /export/share # rm -rf /export/root/templates/Solaris_10 # rm -rf /export/root/clone/Solaris_10 # rm -rf /tftpboot/inetboot.sun4u.Solaris_10 |
/etc/bootparams 파일에서 다음 항목을 제거합니다.
fs1-24 boottype=:os |
이 파일 서버에서 다른 모든 서비스에 기능이나 자원을 제공하지 않는 경우에만 이 항목을 제거합니다.
/etc/dfs/dfstab 파일에서 다음 항목을 제거합니다.
share -F nfs -o ro /export/exec/Solaris_8_sparc.all/usr |
/var/sadm/system/admin/services/Solaris_10 파일을 수정합니다.
파일 서버가 Solaris_10이 아니면 파일을 삭제합니다.
파일 서버가 Solaris_10이면 첫 번째 세 줄 이후의 모든 항목을 제거합니다. 삭제된 줄은 /export/root/templates/Solaris_10 및 지원 플랫폼에 있는 USR_PATH 및 SPOOLED ROOT 서비스 패키지를 나타냅니다.
patchadd 명령을 사용하여 다른 시스템에서 NFS를 거쳐 패치를 설치할 경우 이 명령은 오류를 일으킵니다. 다음 예에서는 실패한 patchadd 작업 및 표시되는 오류 메시지를 보여줍니다.
Validating patches... Loading patches installed on the system... [...] Loading patches requested to install. [...] Checking patches that you specified for installation. [...] Approved patches will be installed in this order: [...] Checking local zones... [...] Summary for zones: [...] Patches that passed the dependency check: [...] Patching global zone Adding patches... Checking installed patches... Verifying sufficient filesystem capacity (dry run method)... Installing patch packages... Patch Patch_ID has been successfully installed. See /var/sadm/patch/Patch_ID/log for details Patch packages installed: SUNWroute [...] Adding patches... The patch directory /dev/.SUNW_patches_0111105334-1230284-00004de14dcb29c7 cannot be found on this system. [...] Patchadd is terminating. |
해결 방법:먼저 설치할 모든 패치를 NFS 서버에서 로컬 시스템으로 수동 복사합니다. 그런 다음 patchadd 명령을 사용하여 패치가 복사된 로컬 시스템의 디렉토리에서 패치를 설치합니다.
/dev/md 디렉토리에 장치 항목이 없는 RAID-1 볼륨(미러)을 만들기 위해 lucreate 명령을 사용하면 명령에 오류가 발생합니다. 먼저 Solaris 볼륨 관리자 소프트웨어를 사용하여 미러를 만들지 않으면 lucreate 명령을 사용하여 파일 시스템을 미러링할 수 없습니다.
해결 방법:Solaris 볼륨 관리자 소프트웨어로 미러링된 파일 시스템을 만든 다음 lucreate 명령을 사용하여 새 부트 환경을 만듭니다.
lucreate 명령에 대한 자세한 내용은 lucreate(1M) 또는 Solaris 10 설치 설명서: Solaris Live Upgrade 및 업그레이드 계획을 참조하십시오.
Solaris 볼륨 관리자 소프트웨어로 미러링된 파일 시스템을 만드는 방법에 대한 자세한 내용은 Solaris Volume Manager Administration Guide를 참조하십시오.
일시 중지-다시 시작(cpr) 주기 동안 발생한 패닉이 시스템 중단을 일으킬 수 있습니다. 일반적으로 이 문제는 XVR-1000 그래픽 가속기가 설치된 Sun Blade 2000 워크스테이션에서 주로 발생합니다. 드물게, 다른 SPARC 기반 시스템이 패닉 동안 유사하게 중단됩니다. 패닉이 발생하면 코어 덤프가 저장되지 않고 콘솔에 프롬프트가 나타나지 않습니다. 커널 디버거(kadb)가 활성 상태이면 이 문제가 더욱 확산될 수 있습니다.
해결 방법:시스템을 사용 가능 상태로 복원하려면 시스템을 수동으로 재부트합니다.
Stop-A 또는 L1-A와 같은 키보드 시퀀스를 눌러 시스템을 정지하려 하면 시스템이 패닉 상태가 될 수 있습니다. 다음 예제와 유사한 오류 메시지가 표시됩니다.
panic[cpu2]/thread=2a100337d40: pcisch2 (pci@9,700000): consistent dma sync timeout |
해결 방법:키보드 시퀀스를 사용하여 시스템이 OpenBoot PROM에 들어가도록 강제하지 마십시오.
ipfs 명령은 NAT(Network Address Translation) 및 패킷 필터링 상태 테이블에 대한 정보를 저장하고 복원합니다. 이 유틸리티는 시스템이 재부트할 경우 네트워크 연결이 끊기는 것을 방지합니다. -W 옵션과 함께 ipfs 명령을 실행하면 이 명령으로 커널 상태 테이블을 저장하지 못합니다. 다음과 같은 오류 메시지가 나타납니다.
state:SIOCSTGET: Bad address |
해결 방법:없음.
lucreate를 사용하여 새 부트 환경을 만들면 파일 시스템 마운트 지점에 대한 권한이 보존되지 않으므로일부 사용자 프로세스가 실패합니다. 클러스터링 환경에서 새 부트 환경을 만들면 클러스터는 노드를 껐다가 CD-ROM에서 부트하여 마운트 지점에 대한 권한을 복구합니다.
해결 방법:다음 단계를 수행합니다.
새 부트 환경을 만듭니다.
# lucreate -n newbe -m /:c0t0d0s0:ufs -m /var:c1t0d0s0:ufs -m /usr:c2t0d0s0:ufs |
앞의 예에서 lucreate 명령으로 newbe 부트 환경을 만듭니다. 이 예에서는 다음 파일 시스템 및 마운트 지점을 정의합니다.
root(/) 파일 시스템이 c0t0d0s0에 마운트됩니다.
var 파일 시스템이 c1t0d0s0에 마운트됩니다.
usr 파일 시스템이 c2t0d0s0에 마운트됩니다.
새 부트 환경의 루트 파일 시스템을 마운트합니다.
# mount /dev/dsk/c0t0d0s0 /mnt |
부트 환경에 대해 정의된 각 마운트 지점의 권한을 755로 변경합니다.
# chmod 755 /mnt/var # chmod 755 /mnt/usr |
루트 파일 시스템을 마운트 해제합니다.
# umount /dev/dsk/c0t0d0s0
snmpd.conf의 내용을 수정한 후 kill -HUP snmp Process ID 명령을 실행할 수 있습니다. 이 명령으로 snmp 프로세스를 정지한 다음시스템 관리 에이전트의 마스터 에이전트(snmpd)에게 snmpd.conf를 다시 읽고 수정된 사항을 구현하라는 신호를 보냅니다. 이 명령을 사용하더라도 마스터 에이전트가 구성 파일을 다시 읽지 않을 수 있으므로구성 파일의 수정 사항이 반드시 활성화되는 것은 아닙니다.
kill -HUP를 사용하는 대신 snmpd.conf를 수정한 후 시스템 관리 에이전트를 다시 시작합니다. 다음 단계를 수행하십시오.
수퍼유저가 되도록 합니다.
다음 명령을 입력합니다.
# /etc/init.d/init.sma restart
서비스 분할 영역이 있는 Sun LX50을 부트 중이며 x86 기반 Solaris 10 OS가 설치됩니다. 서비스 분할 영역을 부트하기 위해 F4 기능 키를 누르는 옵션을 선택하면 화면이 빈 페이지가 됩니다. 그리고 시스템은 서비스 분할 영역을 부트하지 못합니다.
해결 방법:BIOS 부트 화면이 표시될 때 F4 키를 누르지 마십시오. 제한 시간이 지난 다음 현재 디스크 분할 영역 정보 화면이 표시됩니다. type=DIAGNOSTIC에 해당하는 Part# 열에서 번호를 선택합니다. Return 키를 누릅니다. 시스템이 서비스 분할 영역을 부트합니다.
Solaris WBEM Services 2.5 데몬은 com.sun.wbem.provider 인터페이스 또는 com.sun.wbem.provider20 인터페이스에 대해 작성된 공급자를 찾을 수 없습니다. 이러한 인터페이스에 대해 작성된 공급자에게 Solaris_ProviderPath 인스턴스를 작성해도 Solaris WBEM Services 2.5 데몬은 공급자를 찾지 못합니다.
해결 방법:데몬이 공급자를 찾을 수 있게 하려면 Solaris WBEM Services 2.5 데몬을 중지하고 다시 시작합니다.
# /etc/init.d/init.wbem stop # /etc/init.d/init.wbem start |
javax
API를 사용하여 공급자를 개발하는 경우 Solaris WBEM Services 2.5 데몬을 중지했다가 재시작할 필요가 없습니다. Solaris WBEM Services 2.5 데몬은 javax
공급자를 동적으로 인식합니다.
javax
응용 프로그램 프로그래밍 인터페이스가 아닌 com.sun 응용 프로그램 프로그래밍 인터페이스를 사용하여 WBEM 소프트웨어를 개발하는 경우에는 공통 정보 모델(CIM) 원격 메소드 호출(RMI)만 완벽히 지원됩니다. XML/HTTP와 같은 다른 프로토콜은 com.sun 응용 프로그램 프로그래밍 인터페이스에서 완벽히 지원되지 않을 수 있습니다.
다음 표에는 RMI에서는 성공적으로 실행되지만 XML/HTTP에서는 실패하는 호출의 예가 나열되어 있습니다.
메소드 호출 |
오류 메시지 |
---|---|
CIMClient.close() |
NullPointerException |
CIMClient.execQuery() |
CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED |
CIMClient.getInstance() |
CIM_ERR_FAILED |
CIMClient.invokeMethod() |
XMLERROR: ClassCastException |
Solaris 관리 콘솔 마운트 및 공유 도구는 루트(/), /usr 및 /var과 같은 시스템 핵심 파일 시스템의 마운트 옵션을 수정할 수 없습니다.
해결 방법:다음 해결 방법 중 하나를 선택합니다.
마운트 명령으로 원격 옵션을 사용합니다.
# mount -F file-system-type -o remount,additional-mount-options \ device-to-mount mount-point |
-remount 옵션을 mount 명령과 함께 사용하여 수행한 마운트 등록 정보 수정은 지속되지 않습니다. 또한 이전 명령의 additional-mount-options 부분에 지정되지 않은 모든 마운트 옵션은 시스템이 지정한 기본값을 상속합니다. 자세한 내용은 mount_ufs(1M) 매뉴얼 페이지를 참조하십시오.
/etc/vfstab 파일의 해당 항목을 편집하여 파일 시스템 마운트 등록 정보를 수정한 다음 시스템을 재부트합니다.