탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
시스템 관리 설명서: 기본 관리 Oracle Solaris 10 8/11 Information Library (한국어) |
2. Solaris Management Console 작업(작업)
3. Oracle Java Web Console 작업(작업)
x86: GRUB 기반 부트 환경에서 디스크가 없는 클라이언트를 추가하기 위한 준비 방법
Oracle Solaris 10에서 디스크가 없는 클라이언트를 추가하기 위한 준비 방법
디스크가 없는 클라이언트 지원을 위한 OS 서비스 추가 방법
x86: GRUB 기반 부트 환경에서 디스크가 없는 클라이언트 추가 방법
Oracle Solaris 10에서 디스크가 없는 클라이언트 추가 방법
x86: GRUB에서 디스크가 없는 클라이언트 부트 방법
SPARC: Oracle Solaris 10에서 디스크가 없는 클라이언트 부트 방법
디스크가 없는 클라이언트에 대한 OS 서비스 제거 방법
11. Oracle Solaris 부트 동작 수정(작업)
13. Oracle Solaris 부트 아카이브 관리(작업)
14. Oracle Solaris 시스템 부트(작업) 문제 해결
16. x86: GRUB가 구현되지 않은 시스템 부트(작업)
17. Oracle Solaris 자동 등록 regadm 명령 작업(작업)
21. Oracle Solaris 시스템 관리 도구를 사용하여 소프트웨어 관리(작업)
이 섹션에서는 디스크가 없는 클라이언트를 관리할 때 발생하는 문제와 가능한 해결 방법에 대해 설명합니다.
smosservice add 명령으로 root(/) 또는 /usr 파일 시스템에서 ARCH=all로 지정된 패키지가 설치되지 않습니다. 따라서 이러한 패키지는 건너 뜁니다. 경고 또는 오류 메시지는 표시되지 않습니다. 이러한 패키지는 새로 만든 Oracle Solaris OS 서비스에 수동으로 추가해야 합니다. 이 동작은 Solaris 2.1 OS부터 발생하며, SPARC 기반 클라이언트와 x86 기반 클라이언트 모두에 적용됩니다. 누락된 패키지의 목록은 실행 중인 Oracle Solaris 릴리스에 따라 다릅니다.
이 절차에서는 서버에 Oracle Solaris OS 서비스를 만든 후 누락된 ARCH=all 패키지를 찾아서 설치하는 방법을 보여 줍니다. 이 절차에 제공된 예제는 Solaris 10 6/06 OS에 적용됩니다.
% cd /net/server/export/Solaris/s10u2/combined.s10s_u2wos/latest/Solaris_10/Product
% grep -w ARCH=all */pkginfo
인수 목록이 너무 길다는 오류 메시지가 표시되면 대신 다음 명령을 실행하여 목록을 만들 수 있습니다.
% find . -name pkginfo -exec grep -w ARCH=all {} /dev/null \;
이 명령을 실행하면 결과를 생성하는 데 시간이 더 오래 걸립니다.
결과는 다음과 유사합니다.
./SUNWjdmk-base/pkginfo:ARCH=all ./SUNWjhdev/pkginfo:ARCH=all ./SUNWjhrt/pkginfo:ARCH=all ./SUNWjhdem/pkginfo:ARCH=all ./SUNWjhdoc/pkginfo:ARCH=all ./SUNWmlibk/pkginfo:ARCH=all
이 목록에 제공된 정보를 통해 /usr 파일 시스템에 설치된 패키지와 root(/) 파일 시스템에 설치된 패키지를 확인할 수 있습니다.
/usr 파일 시스템에 속하는 패키지는 pkginfo 파일에서 SUNW_PKGTYPE=usr로 지정됩니다. root(/) 파일 시스템에 속하는 패키지는 pkginfo 파일에서 SUNW_PKGTYPE=root로 지정됩니다. 앞의 결과에서 모든 패키지는 /usr 파일 시스템에 속합니다.
역할에는 권한 부여 및 권한이 있는 명령이 포함됩니다. 역할에 대한 자세한 내용은 System Administration Guide: Security Services의 Configuring RBAC (Task Map)를 참조하십시오.
root(/) 파일 시스템에 설치된 패키지에 대한 별도의 설치 관리 파일을 만들고 /usr 파일 시스템에 설치된 패키지에 대한 별도의 설치 관리 파일을 만들 수 있습니다.
/usr 파일 시스템에 설치된 ARCH=all 패키지에 대해 다음과 같은 임시 설치 관리 파일을 만듭니다.
# cat >/tmp/admin_usr <<EOF mail= instance=unique partial=nocheck runlevel=nocheck idepend=nocheck rdepend=nocheck space=nocheck setuid=nocheck conflict=nocheck action=nocheck basedir=/usr_sparc.all EOF #
root(/) 파일 시스템에 설치된 ARCH=all 패키지(있는 경우)에 대해 다음과 같은 임시 설치 관리 파일을 만듭니다.
# cat >/tmp/admin_root <<EOF mail= instance=unique partial=nocheck runlevel=nocheck idepend=nocheck rdepend=nocheck space=nocheck setuid=nocheck conflict=nocheck action=nocheck EOF #
# cd /net/server/export/Solaris/s10u2/combined.s10s_u2wos/latest/Solaris_10/Product
pwd 명령을 실행하면 현재 디렉토리를 확인할 수 있습니다.
# pkgadd -R /export/Solaris_10 -a /tmp/admin_usr -d `pwd` [ package-A package-B ...]
pkgadd 명령을 실행하면 여러 패키지가 나열될 수 있습니다.
# pkginfo -R /export/Solaris_10 [package-A package-B ...]
이러한 패키지가 하나도 존재하지 않을 수 있습니다.
# pkgadd -R /export/root/clone/Solaris_10/sun4u -a /tmp/admin_root -d `pwd` [ package-X package-Y ...]
# pkginfo -R /export/root/clone/Solaris_10/sun4u [ package-X package- ...]
# rm /tmp/administration-file
예 7-10 누락된 ARCH=all 패키지 찾기 및 설치
이 예제에서는 /usr 파일 시스템에서 누락된 ARCH=all 패키지인 SUNWjdmk-base를 설치하는 방법을 보여 줍니다.
% uname -a SunOS t1fac46 5.10 Generic_118833-02 sun4u sparc SUNW,UltraSPARC-IIi-cEngine % cat /etc/release Oracle Solaris 10 8/11 s10x_u10wos_08 X86 Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved. Assembled 28 February 2011 % cd /net/ventor/export/Solaris/s10u2/combined.s10s_u2wos/latest/Solaris_10/Product % grep -w ARCH=all */pkginfo Arguments too long % find . -name pkginfo -exec grep -w ARCH=all {} /dev/null \; ./SUNWjdmk-base/pkginfo:ARCH=all ./SUNWjhdev/pkginfo:ARCH=all ./SUNWjhrt/pkginfo:ARCH=all ./SUNWjhdem/pkginfo:ARCH=all ./SUNWjhdoc/pkginfo:ARCH=all ./SUNWmlibk/pkginfo:ARCH=all % grep -w SUNW_PKGTYPE=usr ./SUNWjdmk-base/pkginfo ./SUNWjhdev/pkginfo ... ./SUNWjdmk-base/pkginfo:SUNW_PKGTYPE=usr ./SUNWjhdev/pkginfo:SUNW_PKGTYPE=usr ./SUNWjhrt/pkginfo:SUNW_PKGTYPE=usr ./SUNWjhdem/pkginfo:SUNW_PKGTYPE=usr ./SUNWjhdoc/pkginfo:SUNW_PKGTYPE=usr % grep -w SUNW_PKGTYPE=root ./SUNWjdmk-base/pkginfo ./SUNWjhdev/pkginfo ... % su Password: xxxxxx # cat >/tmp/admin_usr <<EOFmail= instance=unique partial=nocheck runlevel=nocheck idepend=nochec> k rdepend=nocheck space=nocheck setuid=nocheck conflict=nocheck action=nocheck basedir=/usr_sparc.all EOF # pwd /net/ventor/export/Solaris/s10u2/combined.s10s_u2wos/latest/Solaris_10/Product # pkginfo -R /export/Solaris_10 SUNWjdmk-base ERROR: information for "SUNWjdmk-base" was not found # pkgadd -R /export/Solaris_10 -a /tmp/admin_usr -d `pwd` SUNWjdmk-base Processing package instance <SUNWjdmk-base> </net/ventor/export/Solaris/s10u2/combined.s10s_u2wos... Java DMK 5.1 minimal subset(all) 5.1,REV=34.20060120 Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Using </export/Solaris_10/usr_sparc.all> ## Processing package information. ## Processing system information. Installing Java DMK 5.1 minimal subset as <SUNWjdmk-base> ## Installing part 1 of 1. 2438 blocks Installation of <SUNWjdmk-base> was successful. # pkginfo -R /export/Solaris_10 SUNWjdmk-base application SUNWjdmk-base Java DMK 5.1 minimal subset # rm /tmp/admin_usr
이 섹션에는 디스크가 없는 클라이언트와 관련하여 발생 가능한 일반적인 문제와 가능한 해결 방법을 보여 줍니다.
문제: 디스크가 없는 클라이언트에서 모듈 /usr/lib/security/pam_unix_session.so.1의 소유자가 루트가 아니고, 로그인 시도 시 /usr 파일 시스템이 nobody의 소유인 것으로 보고됩니다.
해결: 문제를 해결하려면 다음과 같은 해결 방법을 따릅니다.
텍스트 편집기를 사용하여 디스크가 없는 클라이언트의 server:/export/root/client/etc/default/nfs 파일을 수정합니다.
#NFSMAPID_DOMAIN=domain 행을 다음과 같이 변경합니다.
NFSMAPID_DOMAIN=the_same_value_as_in_server's_/var/run/nfs4_domain
OS 서버 및 디스크가 없는 클라이언트에 동일한 nfsmapid 도메인이 포함되는지 확인합니다. 이 정보를 확인하려면 /var/run/nfs4_domain 파일을 확인합니다.
주의 - 디스크가 없는 클라이언트의 nfs4_domain 파일에 OS 서버의 /var/run/nfs4_domain 파일과 다른 값이 포함된 경우 디스크가 없는 클라이언트가 부트된 후 시스템에 로그인할 수 없습니다. |
디스크가 없는 클라이언트를 재부트합니다.
자세한 내용은 Oracle Solaris Tunable Parameters Reference Manual의 3 장, NFS Tunable Parameters 및 nfsmapid(1M)을 참조하십시오.
문제: OS 서버가 다음을 수행할 수 없습니다.
클라이언트 RARP(Reverse Address Resolution Protocol) 요청에 대한 응답
클라이언트 bootparam 요청에 대한 응답
디스크가 없는 클라이언트 root(/) 파일 시스템 마운트
해결: 다음 해결 방법은 파일 환경에 적용됩니다.
files가 OS 서버의 /etc/nsswitch.conf 파일에서 hosts, ethers 및 bootparams에 대한 첫번째 소스로 나열되었는지 확인합니다.
클라이언트의 IP 주소가 /etc/inet/hosts 파일에 표시되었는지 확인합니다.
주 - 최소한 Solaris 10 8/07 릴리스를 실행 중이 아니면, 클라이언트의 IP 주소가 /etc/inet/ipnodes 파일에도 표시되는지 확인해야 합니다.
이 Oracle Solaris 릴리스에서 /etc/inet/hosts 파일은 IPv4 및 IPv6 항목이 모두 포함된 단일 파일입니다. 따라서 항상 동기화해야 하는 두 개의 hosts 파일에서 IPv4 항목을 유지 관리하지 않아도 됩니다. 이전 버전과의 호환성을 위해 /etc/inet/ipnodes 파일은 /etc/inet/hosts 파일에 대한 동일한 이름의 심볼릭 링크로 대체됩니다. 자세한 내용은 hosts(4) 매뉴얼 페이지를 참조하십시오.
클라이언트의 이더넷 주소가 /etc/ethers 파일에 표시되었는지 확인합니다.
/etc/bootparams 파일에 클라이언트의 root(/) 디렉토리 및 스왑 영역에 대한 다음 경로가 포함되는지 확인합니다.
client root=os-server:/export/root/ client swap=os-server: /export/swap/client
스왑 크기는 디스크가 없는 클라이언트를 추가할 때 -x swapsize 옵션을 지정하는지 여부에 따라 달라집니다. 디스크가 없는 클라이언트를 추가할 때 -x dump 옵션을 지정하면 다음 행이 제공됩니다.
dump=os-server:/export/dump/client dumpsize=512
덤프 크기는 디스크가 없는 클라이언트를 추가할 때 -x dumpsize 옵션을 지정하는지 여부에 따라 달라집니다.
OS 서버의 IP 주소가 /export/root/ client/etc/inet/hosts 파일에 표시되는지 확인합니다.
문제: OS 서버가 다음을 수행할 수 없습니다.
클라이언트 RARP 요청에 대한 응답
클라이언트 bootparam 요청에 대한 응답
디스크가 없는 클라이언트 root(/) 파일 시스템 마운트
해결: 다음 해결 방법은 이름 서비스 환경에 적용됩니다.
OS 서버 및 클라이언트의 이더넷 주소와 IP 주소가 모두 올바르게 매핑되었는지 확인합니다.
/etc/bootparams 파일에 클라이언트의 root(/) 디렉토리 및 스왑 영역에 대한 경로가 포함되는지 확인합니다.
client root=os-server:/export/ root/client swap=os-server:/export/ swap/client swapsize=24
스왑 크기는 디스크가 없는 클라이언트를 추가할 때 -x swapsize 옵션을 지정하는지 여부에 따라 달라집니다. 디스크가 없는 클라이언트를 추가할 때 -x dump 옵션을 지정하면 다음 행이 제공됩니다.
dump=os-server:/export/dump/ client dumpsize=24
덤프 크기는 디스크가 없는 클라이언트를 추가할 때 -x dumpsize 옵션을 지정하는지 여부에 따라 달라집니다.
문제: 디스크가 없는 클라이언트 패닉
해결: 다음을 확인합니다.
OS 서버의 이더넷 주소가 해당 IP 주소에 올바르게 매핑되어 있습니다. 시스템을 한 네트워크에서 다른 네트워크로 물리적으로 이동한 경우 시스템의 새 IP 주소를 다시 매핑하는 것을 잊었을 수 있습니다.
클라이언트의 호스트 이름, IP 주소 및 이더넷 주소가 클라이언트의 RARP, TFTP(Trivial File Transfer Protocol) 또는 bootparam 요청에 응답하는 동일 서브넷에 있는 다른 서버의 데이터베이스에 존재하지 않습니다. 테스트 시스템은 설치 서버로부터 OS를 설치하도록 설정되는 경우가 자주 있습니다. 이러한 경우 설치 서버가 클라이언트의 RARP 또는 bootparam 요청에 응답하여 잘못된 IP 주소를 반환합니다. 이러한 잘못된 주소로 인해 잘못된 아키텍처의 부트 프로그램이 다운로드되거나 클라이언트의 부트(/) 파일 시스템을 마운트하는 데 실패할 수 있습니다.
디스크가 없는 클라이언트의 TFTP 요청은 잘못된 부트 프로그램을 전송하는 설치 서버(또는 이전 OS 서버)에 의해 응답되지 않습니다. 부트 프로그램의 아키텍처가 다른 경우 클라이언트가 즉시 패닉 상태가 됩니다. 비OS 서버로부터 부트 프로그램을 로드할 경우 클라이언트는 비OS 서버로부터 루트 분할 영역을 가져오고, OS 서버로부터 /usr 분할 영역을 가져올 수 있습니다. 이 경우 루트 및 /usr 분할 영역의 아키텍처 또는 버전이 충돌할 경우 클라이언트가 패닉 상태가 됩니다.
설치 서버 및 OS 서버를 모두 사용할 경우 /etc/dfs/dfstab 파일에서 다음 항목이 있는지 확인합니다.
share -F nfs -o -ro /export/exec/Solaris_version- \ instruction-set.all/usr
여기서 version은 8, 9, 10이고 instruction-set은 sparc 또는 i386입니다.
디스크가 없는 클라이언트의 root(/), /swap 및 /dump(지정된 경우) 분할 영역에 공유 항목이 있는지 확인합니다.
share -F nfs -o rw=client,root=client /export/root/client share -F nfs -o rw=client,root=client /export/swap/ client share -F nfs -o rw=client,root=client /export/dump/ client
OS 서버에서 다음 명령을 입력하여 공유된 파일을 확인합니다.
% share
OS 서버는 디스크가 없는 클라이언트를 추가할 때 지정한 /export/root/client 및 /export/swap/client-name(기본값) 또는 루트, /swap 및 /dump 분할 영역을 공유해야 합니다.
/etc/dfs/dfstab 파일에 다음 항목이 있는지 확인합니다.
share -F nfs -o ro /export/exec/Solaris_version- instruction-set.all/usr share -F nfs -o rw=client,root=client /export/root/ client share -F nfs -o rw=client,root=client /export/swap/ client
문제: OS 서버가 디스크가 없는 클라이언트의 RARP 요청에 응답하지 않음
해결: 클라이언트의 의도된 OS 서버에서 클라이언트의 이더넷 주소를 사용하여 snoop 명령을 수퍼유저(루트)로 실행합니다.
# snoop xx:xx:xx:xx:xx:xx
문제: 부트 프로그램이 다운로드되지만 조기에 패닉 상태가 됨
해결: snoop 명령을 사용하여 의도된 OS 서버가 클라이언트의 TFTP 및 NFS 요청에 응답하는지 확인합니다.
문제: 디스크가 없는 클라이언트의 작동이 중지됩니다.
해결: OS 서버에서 다음 데몬을 다시 시작합니다.
# /usr/sbin/rpc.bootparamd # /usr/sbin/in.rarpd -a
문제: 잘못된 서버가 디스크가 없는 클라이언트의 RARP 요청에 응답함
해결: OS 서버에서 다음 데몬을 다시 시작합니다.
# /usr/sbin/rpc.bootparamd # svcadm enable network/rarp