OS/SOLARIS2004. 9. 11. 00:22
반응형
안녕하세요..

The NFS Distributed File System의 설정방법에 대해서 알아보겠습니다.

참고 자료는 Sun Solaris8 System Administration을 참조 했고
테스트는 Sparc Solaris 8버전을 사용했습니다.

**** NFS server 설정 ****

데몬

mountd : /usr/lib/nfs/mountd : NFS client가 mount를 요청시 mountd 데몬이 서버의 공유된
마운트 포인터(file handle)를 넘겨줌 -> /etc/rmtab공유하는 목록 저장

nfsd : /usr/lib/nfs/nfsd : 마운트된 이후에 정보를 핸들할수 있도록 해줌
statd : /usr/lib/nfs/statd : NFS file시스템의 상태정보를 저장
lockd : /usr/lib/nfs/lockd : 서버이상시 락을 건다
nfslogd : /usr/lib/nfs/nfslogd : nfs server 로깅데몬

* statd, lockd는 함께 NFS locking서비스를 제공한다 이는 서버 crashes가 발생시
클라이언트가 다시 파일을 사용할수 있도록 빨리 재 Connection이 되도록 한다.
두 대몬은 /etc/init.d/nfs.client 스크립트로 실행가능.

* nfsd,mountd는 /etc/init.d/nfs.server 스크립트로 실행가능

파일

/etc/dfs/dfstab : 부팅시 공유할 곳을 지정
/etc/dfs/sharedtab : 현재 공유하고 있는 곳을 저장
/etc/dfs/fstypes : mount명령을 사용시 -F nfs 옵션을 사용하지 않아도 되도록함
/etc/rmtab : 현재 어떤 host가 share된 자원을 공유하고 있는지를 저장(hostname : fsname)
/etc/nfs/nfslog.conf
/etc/default/nfslogd
/etc/nfs/nfslogtab

명령어

share : 공유
unshare : 공유해제
shareall : /etc/dfs/dfstab내의 share된 리스트를 참조하여 전부 마운트시킴
unshareall : /etc/dfs/sharetab내의 현재 공유된 리스트를 참조하여 전부 언마운트시킴
dfshares : 공유할 자원이 있는지를 확인
dfmounts : 공유한 자원이 있는지를 확인



**** NFS Client 설정 ****

데몬
statd, lockd

파일
/etc/vfstab
/etc/mnttab
/etc/dfs/fstypes

명령어
mount
umount
mountall umountall
dfshares
dfmounts

**** 테스트 ****

테스트목적 : client가 server측 man페이지를 사용할수 있도록 세팅


-서버세팅-

기본적으로 /etc/dfstab파일내 공유할 폴더를 지정
ex)share -F nfs -o ro /usr/share/man
주. dfstab파일내 공유할 폴더를 지정하지 않고 nfs.server를 실행시
NFS service was not started because /etc/dfs/dfstab has no entries.
이런 메세지와 함께.. 중요 서버데몬(mountd,nfsd)이 실행이 안됨

1. 우선 디렉토리를 공유한다.
#share -F nfs -o ro /usr/share/man
(shareall해도 됨)

2. 공유확인
#share
/usr/share/man ro

3. 데몬들이 떠있나 확인
#pgrep -l lockd
#pgrep -l mountd
#pgrep -l nfsd
#pgrep -l statd

4. 데몬들이 살아있지 않으면 실행시켜준다.
#/usr/lib/nfs/lockd
#/usr/lib/nfs/mountd
#/usr/lib/nfs/ufsd
#/usr/lib/nfs/statd

* 참고로 스크립트를 사용해서 데몬을 실행해도 된다.
#/etc/init.d/nfs.server start

-클라이언트세팅-

1. 서버에서 어떤 자원을 공유하고 있나 확인
#dfshares solaris201
RESOURCE SERVER ACCESS TRANSPORT
220.xxx.xxx.xxx:/usr/share/man 220.xxx.xxx.xxx - -

-> /etc/hosts에 solaris201이 명시되어 있어야한다. 목록에 없으면
#dfshares 220.xxx.xxx.xxx

2. 데몬들이 떠있나 확인
#pgrep -l lockd
#pgrep -l statd

3. 데몬들이 살아있지 않으면 실행시켜준다.
#/usr/lib/nfs/lockd
#/usr/lib/nfs/statd

* 혹은 스크립트를 실행
#/etc/init.d/nfs.client start

4. man페이지 테스트
#man ls

5. man페이지 디렉토리를 다름 이름으로 바꾼다.
#mv /usr/share/man /usr/share/man.old

6. man페이지 테스트
#man ls

7. 디렉토리생성
#mkdir /usr/share/man

8. 마운트
#mount -F nfs solaris201:/usr/share/man /usr/share/man

9. man페이지 테스트
#man ls

반응형
Posted by [PineTree]
OS/SOLARIS2004. 6. 2. 05:38
반응형

유닉스 계열 컴퓨터에서의 DNS 서버 설정은  거의 비슷합니다.

bind 라는 소프트웨어를 사용하는데..
이 소프트웨어를 설치하면 돌아가는 데몬이 in.named 라는 데몬입니다.
솔라리스에는 전체설치를 하시면 이 소프트웨어는 기본 설치 되어 있습니다.

이 데몬은 시스템 부팅시에 /etc/named.conf 파일의 존재 여부에 따라 시작이 결정됩니다.

일단 DNS 의 구성 파일부터 살펴 봅시다.
dns 구성 파일 종류
/etc/named.conf  -> dns 환경 설정 파일
/var/named/zoneinfo -> dns 이름을 iP 로 바꿔주는 데이터 파일
/var/named/revzone -> IP 를 dns로 바꿔주는 데이터 파일
/var/named/localzone -> loopback dns 파일
/var/named/named.root -> root name server 기록 파일

할이야기가 많은데 .. 천천히 가보죠..

먼저.. /etc/named.conf 파일부터 봅시다.

전제조건
====================================================================

= 1.  domain name 은 sunsol.net 으로 한다.
= 2. IP 주소 권한 영역은  : 211.108.174.0 ~ 255 으로 한다.
= 3. 주석문은 #, /*, */ 이다 하지만 ';' 는 문장의 끝을 뜻하는 문자이다. 주석과 마찬가지로 해석된다.
= 4. /var/named 를 미리 만들고 이곳은 dns 데이터 파일의 저장 장소로 한다.
= 5. Name Server 는 ultra30 번으로 하고 IP 주소는 211.108.174.30 이다.
= 6. named.root 파일은 ftp://ftp.rs.internic.net/domain/named.root 에서 다운받기로 한다.  
===================================================================

1. /etc/named.conf
- dns 환경 설정 파일로 dns 데이터 파일이 저장될 위치와 각 파일이름 등을 정의한다.
-
-  내용..


# vi /etc/named.conf
options {
directory "/var/named";  # dns 파일들이 저장될 위치 정의
pid-file "/etc/named.pid"; # in.named 프로세스의 pid 값을 저장하고 있는 파일 정의
};

zone "sunsol.net" in {    # sunsol.net zone 을 정의 한다. : 도메인이름 -> IP로
        type master;       # 현재 이 서버의 역할 master 로 역할한다.  
        file "sunsolnet";    # 이 파일이름은 sunsolnet 이다.
};
zone "174.108.211.in-addr-arpa" in { #  IP 를 도메인 이름을 바꾸어줄 IP 영역대 정의
        type master;
        file "invsunsol";             # 파일이름은 invsunsol 이다.
};
zone "0.0.127.in-addr.arpa" in {  # loopback 도메인 설정
        type master;
        file "loopback";           # 파일이름은 loopback 이다.
};
zone "." in {
        type hint;
        file "named.root";    # 내 도메인 안에 있지 않은 도메인네임을 질문할 최상위 도메인 서버정보를 담고 있는 파일 설정
};



- 위에서 정의하는 파일은 모두  /var/named 라는 공간에 저장된다는 사실을 주의 하자.. 그러면 /var/named 는 여러분이 미리 만들어 주어야 한다.
- 이렇듯 named.conf 파일은 반드시 /etc/ 디렉토리 아래에 위치해 있어야 하며.. 각 영역 파일들의 위치를 정의하고 있다.


2. /var/named/sunsolnet 파일

- 다음은 sunsol.net 이라는 도메인이 가지고 있는 host에 대해 외부에 이름을 알려줄 수 있는 IP 어드레스를 지칭한다.


# vi /var/named/sunsolnet
sunsol.net.     IN  SOA  ultra30.sunsol.net. root.ultra30.sunsol.net. (
        20011107        ;    시리얼 넘버, 호스트를 추가한다거나 아이피를 수정할 때 마다 이 값은 반드시 증가해야 한다.
        10800           ;   재전송 타이머 초 단위 현재 표기되어 있는 시간은 12시간
        3600            ;   재시도 타이머 초단위 현재 표기값은 한시간
        604800          ;  만기 값   초단위 현재 표기값은 1주
        86400           ;  캐시에 저장된 값을 유지할 시간 현재 표기값 하루
)
; Name Servers

sunsol.net.     IN  NS  ultra30.sunsol.net.    # ultra30 호스트를 Name Server 로 둔다.

;Host Addresses
; 여기서부터 호스트에 대한 IP 주소 정의 즉, 여기에 정의한 값을 이 DNS 서버에서 관리한다.

localhost.sunsol.net.   IN  A  127.0.0.1         
ultra30.sunsol.net.     IN  A  211.108.174.30
ultra20.sunsol.net.     IN  A  211.108.174.20
ultra3.sunsol.net.      IN  A  211.108.174.13

; Aliases
; 위 호스트 에 대한 별명(CNAME) 즉, ultra20번은 ultra20.sunsol.net 이기도 하며 www.sunsol.net 이기도 하다.

www.sunsol.net.         IN  CNAME  ultra20.sunsol.net.
ftp.sunsol.net.         IN  CNAME  ultra3.sunsol.net.   


 

- 기타 사항
  IN : Internet class
  A : 뒤에 나오는 데이터 타입을 정의 IP 주소가 오는 것을 볼 수 있다.
- 주의 : 반드시 도메인 명 뒤에는 . 을 찍어 주어야 한다. 그래야 완전한 도메인 명이 성립된다.


3. /var/named/invsunsol 파일


# vi /var/anmed/invsunsol
174.108.211.in-addr.arpa.  IN  SOA   ultra30.sunsol.net. root.ultra30.sunsol.net. (
        20011106        ;  앞의 zone 파일과 같습니다.
        10800           ;
        3600            ;
        604800          ;
        86400           ;
)


; Name Servers
; 이부분은 Name 서버의 IP 주소를 도메인 네임으로 바꾸는부분입니다.

30.174.108.211.in-addr.arpa.       IN  NS  ultra30.sunsol.net.

;PTR records
; 이부분 은 각 IP 주소를 도메인 네임과 일치시키는 부분입니다.
; 앞의 sunsolnet 파일과 같은 항목이 들어가 있어야 합니다.
30.174.108.211.in-addr.arpa.    IN  PTR  ultra30.sunsol.net.
20.174.108.211.in-addr.arpa.    IN  PTR  ultra20.sunsol.net.
13.174.108.211.in-addr.arpa.    IN  PTR  ultra3.sunsol.net.



- 위의 파일은 IP 로 질의가 들어왔을 때 도메인 네임을 되돌려 주는 부분입니다. 그러므로 나오는 항목은 sunsolnet 존 파일과 동일해야 합니다.

4. /var/named/loopback


# vi /var/named/loopback
0.0.127.in-addr.arpa.  IN  SOA  ultra30.sunsol.net. root.ultra30.sunsol.net.
(
        20011107 ;
        10800   ;
        3600    ;
        604800  ;
        86400   ;
        )
; Nameservers
; 자기자신의 루푸백 도메인을 가리키는 곳입니다.
;여기서는 자기자신의 값만 정의 되어 있으면 됩니다.

1.0.0.127.in-addr.arpa.   IN  NS ultra30.sunsol.net.

:
1.0.0.127.in-addr.arpa. IN  PTR  localhost         


 

5. /var/named/named.root

- 원래 DNS 서버는 자기자신이 담당하고 있는 영역 이외의 부분은 자료로서 가지고 있지 않습니다. 위의 영역에 해당하지 않는 도메인은 named.root 파일에 정의된 root 도메인 서버로 질의를 넣어 결과값을 얻고 그 얻은 내용은
cache 파일에 저장합니다. 캐쉬파일에 넣어두는 기간은 앞에 설명드렸던 타이머에 의해 정의 됩니다.
- 이 파일은 수정을 하지 않습니다. 이 파일은 internic 에서 관할하고 있는 nameless root 서버의 위치를 정의하고 있으므로 아래 주소에서 다운 받아 옵니다.
- ftp://ftp.rs.internic.net/domain/name.root


# vi /var/named/named.root
이 항목은 내용이 굉장히 많습니다. 따로 표기 하지 않겠습니다.
위 주소에서 다운 받으시기 바랍니다.
이 파일은 원래 3달에 한번씩 internic 에서 다운 받도록 권장하고 있습니다.
하지만 그럴 필요는 없습니다. root DNS 서버가 바뀌는 일은 거의 없으니까요..

6. DNS 서버 설정
위의 작업이 다 완성 되면 네임 서버를 자기자신으로 맞추어 줍니다.


# vi /etc/resolv.conf
domain sunsol.net
nameserver 211.108.174.30

 

7. in.named 구동


#  /etc/init.d/inetsvc stop
#  /etc/init.d/inetsvc start

 

8. 확인
# nslookup
- 이 명령을 내린후 아무런 에러 없이 작동 되면 완성된 겁니다.

 

 

========= 끝으로 =====================

DNS 작업은 일일이 수작업으로 해야 하는 만큼 부담이 많이 됩니다.

물론 Windows 같은 경우야 마우스로 클릭하면 되는 작업이지만 유닉스는 그렇지 않습니다.
이게 IPv6 로 완전히 바뀔 경우 DNS 수작업으로 한다는 것은 거의 불가능에 가까워 집니다.. 물론 그에 대비한 툴이나 bind 버전이 새로 갱신되겠지만.. 128bit 의 IP 주소를 일일이 손으로 적는다고 해보십시오..ㅡㅡ;  거의 죽음입니다. ㅡㅡ;

암튼.. 한번이상의 에러를 겪을 겁니다. 될 수 있으면 위 내용을 출력하셔서 꼼꼼히 따라해보시기 바랍니다. 아니면 파일로 카피해서
복사해 넣고 자기 환경에 맞게 수정해도 상관없습니다.

편한대로 하시기 바랍니다. .
참고로 DNS 설정은 여기까지 이지만.. 나중에 에러를 보시려면

/var/adm/messages 파일을 유심히 살펴보시기 바랍니다.

tail -f /var/adm/messages 파일을 보시면 /etc/init.d/inetsvc 를 구동 시킬 때 마다. 오류 위치가 나타납니다..
일일이 어디서 오류가 났는지.. 찾아 다니는 수고를 줄일 수 있죠..^^;

 그럼.. 이만..

==========================================================

반응형
Posted by [PineTree]
OS/SOLARIS2004. 6. 2. 05:37
반응형
   1) 도메인 등록

   2) /etc/named.conf

   3) /var/named/* file create

   4) 정리 및 테스트

----------------------------

한 개의 서버에 ftp, mail, www 서비스를 할려고 할 때 DNS서버 세팅에 관한 것을 다루도록 하겠다.

(1) 도메인 등록

http://domain.internetnames.co.kr/main/main.asp에서 도메인을 등록한다.
예를 들어
domain           : nuxschool.orgt
name server1 : ns1.nuxschool.org  (203.247.51.32)
name server2 : ns2.nuxschool.org  (203.247.51.33)
라고 가정하자

(2) /etc/named.conf 파일을 생성하자

/etc/named.conf 파일이 기존에 존재하지 않는다. 생성하자.

# vi /etc/named.conf
options  {
         directory   "/var/named";
};

zone "." in {
      type hint;
      file "named.root";
};

zone "nuxschool.org" in {
      type master;
      file "nuxschool.zone";
};

zone "51.247.203.in-addr.arpa" in {
      type master;
      file "nuxschool.rev";
};

zone "0.0.127.in-addr.arpa" in {
      type master;
      file "loop.back";
};

(3) /var/named/*  file들을 만들자

/var/named/named.root
/var/named/nuxschool.zone
/var/named/nuxschool.rev
/var/named/loop.back
위의 파일들을 만들자

(3-1) /var/named/named.root 파일을 다운바다자

named.root파일을 다운받자
# ftp ftp.kr.internic.net
id      : anonymous
pass : 멜 주소
ftp> cd domain
ftp> lcd /tmp
ftp> get named.root
ftp> quit
# cd /tmp
# mkdir /var/named
# cp named.root /var/named

(3-2) /var/named/nuxschool.zone 파일을 생성하자.

$ORIGIN nuxschool.org.

nuxschool.org.     IN  SOA  ns.nuxschool.org.   root.ns.nuxschool.org. (
       2002112501    ; serial number
       43200         ; refresh (12hr)
       3600          ; retry (1hr)
       604800        ; expire (7days)
       86400  )       ; ttl (1day)

;---------------------------------
;  Domain Section
;---------------------------------

nuxschool.org.      IN    NS   ns.nuxschool.org.

;---------------------------------
;  Host Information Section
;---------------------------------

;  Example  :   server1    IN    A    192.168.1.2

localhost           IN     A    127.0.0.1
www                 IN     A    203.247.51.32
ftp                 IN     A    203.247.51.32
mail                IN     A    203.247.51.32

;---------------------------------
;  Mail Information Section
;---------------------------------

nuxschool.org       IN     MX   10   mail.nuxschool.org

(3-3) /var/named/nuxschool.rev 파일을 생성하자.

$ORIGIN 51.247.203.IN-ADDR.ARPA.

51.247.203.IN-ADDR.ARPA.     IN  SOA  ns.nuxschool.org.   root.ns.nuxschool.org.
(
       2002112501    ; serial number
       43200         ; refresh (12hr)
       3600          ; retry (1hr)
       604800        ; expire (7days)
       86400  )       ; ttl (1day)

;---------------------------------
;  Domain Section
;---------------------------------

51.247.203.IN-ADDR.ARPA.      IN    NS   ns.nuxschool.org.

;---------------------------------
;  Host Information Section
;---------------------------------
;  Example  :   2    IN    PTR  server1

32                  IN     PTR   ns.nuxschool.org.
32                  IN     PTR   mail.nuxschool.org.
32                  IN     PTR   www.nuxschool.org.

(3-4) /var/named/loop.back 파일을 만든다.


$ORIGIN 0.0.127.IN-ADDR.ARPA.

0.0.127.IN-ADDR.ARPA.     IN  SOA  ns.nuxschool.org.   root.ns.nuxschool.org. (
       2002112501    ; serial number
       43200         ; refresh (12hr)
       3600          ; retry (1hr)
       604800        ; expire (7days)
       86400  )       ; ttl (1day)

;---------------------------------
;  Domain Section
;---------------------------------

0.0.127.IN-ADDR.ARPA.      IN    NS   ns.nuxschool.org.

;---------------------------------
;  Host Information Section
;---------------------------------
;  Example  :   2    IN    PTR  server1

1                  IN     PTR   localhost.nuxschool.org.

(4) 정리 및 테스트

(4-1) /etc/resolv.conf 파일을 수정한다.

# vi /etc/resolv.conf
search nuxschoo.org
nameserver 203.247.51.32

(4-2) in.named 데몬을 띄운다.

# /usr/sbin/in.named

(4-3) 테스트 해 본다.

# nslookup
> mail.nuxschool.org
> ftp.nuxschool.org

# pkill -INT in.named
# view /var/named/named_dump.db
반응형
Posted by [PineTree]
OS/SOLARIS2004. 6. 2. 05:36
반응형

Sun One

 

프로세스의 갯수는 CPU갯수만큼.

 

웹서버 정지

 

/webserver_root/https-admserv/stop

 

웹서버 Access log

 

tail -f /webserver_root/https-admserv/logs/access

 

환경설정

 

/webserver_root/https-instance/config/magnus.conf

RqThrottle 128 (디폴트)

Maximum Simultaneous Requests

 

Listen Socket 에 대한 환경화일

/webserver_root/https-instance/config/server.xml

 

Maxsessions : 1000 (default)

timeout : 1800초(30분)

할당된 세션이 아무런 작업을 하지 않고 넘긴시간이 지날경우 해당 세션을 파기

 

Maximum Heap Size

 

default : 16777216byte (1.6G)

 

reapInterval 설정된 시간마다 세션의 휴지시간을 Timeout과 비교하여 Timeout 된 세션을 회수

기본값 600초(10분)

일정 시간마다 일괄적으로 세션을 회수

 

docs.sun.com Administrator's Guide ONE Web Server , Enterprise Edition 참조

 

Solaris 8 일경우에는 개선된 Thread Library 를 사용하기 위하여 시스템에서 제공되는 lwp 라이브러리를 사용하는 것이 성능에 도움이 된다.

다음과 같은 경로 추가

webserver_root/http-instnace/start

 

LWP_LIB_PATH=/usr/lib/lwp

LD_LIBRARY_PATH=${LWP_LIB_PATH}:

 

1개의 HTTP 데몬에 60MB의 Physical Memory 를 권장한다.

 

메모리 계산법 :

Process x 60MB +{(Concurrent User - 50) x 0.512MB}

= 4 x 60 + {(100 - 50) x 0.512} = 85.6MB

 

프로세서 4개 , 동시접속자 100명 , 1명당 512 K를 권장

 

응답시간이 크다는 것은 웹서버가 과부하 상태라는 것을 뜻한다.

과부하가 되는 이유는 어플리케이션의 문제 또는 시스템 리소스 부족인 경우가 많으므로 먼저 CPU,Physical Memory, 스왑 메모리, Disk I/O 사용량을 점검한다.

시스템이 정상적인 상황에서 Delay 만 클 경우 서버측 프로그램들의 상태를 점검한다.

 

모니터링을 위하여 Perfdump 실행

1.obj.conf 파일의 defalut object tag 안에 다음 내용을 추가한다.

NameTrans fn=assign-name from="/.perf" name="perf"

 

<Object name="perf">

Service fn="service-dump"

</Object>

 

2.Server manager - monitor 탭 - Monitor Curren Activity 메뉴에서 monitoring 을 반드시 활성화시킴

 

3. 웹서버 재기동

 

4. http://호스트:포트/.perf 접속

 

BMT시에는 keepalive 접속을 허용하지 말아햐 한다.

 

/etc/system

rlim_fd_max=8192

rlim_fd_cur=4096

 

java.lang.OutOfMemoryError :

java heap 영역 부족할 경우발생

 

/webserver_root/https-instance/config/jvm12.conf

jvm.minHeapSize 1048576 JVM이 사용할 메모리 영역을 웹서버 시작시 공간을 확보한다.

jvm.maxHeapSize 16777216 JVM이 사용 가능한 최대 메모리량을 지정한다.

 

Web server Down 메시지

 

/var/adm/messages uxwdog : server exit : status 1 (Interrupted system call)

 

 

반응형
Posted by [PineTree]
OS/SOLARIS2004. 6. 2. 05:07
반응형
  

Startup과 Shutdown(시스템 켜기와 끄기)

 
 

STARTUP

  • 시스템을 켜기전 참고 사항

    1. 시스템에 인가될 전원 체크
    2. 외부연결장치의 확인( keyboard, mouse, monitor, 외장 HDD 등)
    3. 본체에 전원을 켜기전에 외부장치의 전원을 먼저 켠다.

     

  • SPARC 시스템의 경우 디폴트로 전원을 켜면 시스템이 OBP의 boot-deviceauto-boot? 파라메터 값에의해 자동으로 부팅이 됩니다.
  • 관리자가 시스템의 admin을 할 경우나 새로운 디바이스의 연결 또는 다른 모드로 부팅을 할 필요가 있는 경우 OK prompt상태(= OBP 상태)로 만든후 OBP 파라메터의 변경이나 아래의 boot 커멘드를 이용해서 다른 모드로 부팅이 가능하다. (화면 banner출력시 STOP-A key를 동시에 누른다.)

 

boot command

ok boot [device name] - [options]

ok prompt (stop-A) 상에서 부팅을 하는 명령어이다. [device name]에  특정장치명을 입력하면, cdrom이나 다른 장치로 booting을 할 수 있다.  booting시 default는  디스크와 run level 3단계다.

<예> cdrom 부팅시
 ok boot cdrom

 - a : interactive 부팅을 하는 옵션으로 부팅시 system file, 사용할 커널을 지정할 수 있다.
커널파일 또는 system 파일을 디폴트가 아닌 다른 파일을 이용해 부팅할수 있다.

 - s : run level 1번으로 Single Mode 부팅을 하는 옵션이며 user login을 할수없다.

 - r : run level 3번으로 부팅을 하며 디바이스 파일을 새로 만들어 준다.
새로운 하드 디스크나 테이프 디바이스, 옵션 네트워크 카드등을 연결했을때 사용한다.

 

SYSTEM SHUTDOWN

  • 시스템을 끄기전에 참고사항

    1. 시스템에 운영중인 APP프로그램을 중지한다.(DB, WEB, etc..)
    2. 현재 사용중인 사용자가 있는가.. 당연히 없어야 한다.
    3. 사용자가 있다면 wall 커멘드 등을 이용해 알린다.
    3. sync 커멘드를 사용해서 메모리의 테이터를 저장한다.

     

  • 아래에 나오는 커멘드를 이용해 시스템을 종료한후 OK 상태로 되면 시스템의 전원을 끄고 기타 외부에 연결되어진 장치(monitor, 외장 hdd등을 끈다.)

※ sync는 메모리와 disk의  super block 및 block에 operation을 행하여 그 내용이 변한 것 중에 disk에 저장되지 못한 block들을 write 시키도록 하는 명령이다. sync를 하지 않고 전원을 끈 경우, boot 시에 file system check에서 에러가 발생하는 경우가 대부분이다

 

init command

 init [012356abcQqSs]

 시스템의 run level을 바꾸는 명령어이다. 지정 level에 따라서 ok prompt Mode, 시스템의 리부팅, 시스템 전원의 off를 할 수 있다.

shutdown command

shutdown [ -y ] [ -g<grace> ] [ -i<initstate> ] [ message ]

system을 종료시키는 명령어로서 종료시 종료여부를 묻고 종로시간에 맞추어 경고메세지를 보낸다.

 - y : shutdown시 yes or no를 묻는데 이 옵션을 쓰면 pass됨

 - g : 이 옵션은 shutdown시 걸리는 시간을 정해주는 옵션으로 이 옵션을 쓰지않으면 default shutdown시간은 60초입니다. 뒤에 지정  되는 시간뒤에 셧다운을 합니다. 중간중간 경고 message를 나타냅니다.

 - I : shutdown 후 default로 run level S를 실행하는데 이 옵션은 그외에 다른 run level을 선택할  수  있다.

<예>
# /usr/sbin/shutdown -y -g30
   30초 후에 시스템은 single모드로 만든다.

# /usr/sbin/shutdown -y -g0 -i0

THE SYSTEM taks IS BEING SHUT DOWN NOW ! ! !
Log off now or risk your files being damaged

Changing to init state 0 - please wait

위의 메시지가 나오면서 시스템이 ok 모드로 됩니다.
그러면 시스템의 전원을 끄면 됩니다.

※ init 명령이나, shutdown 명령은 system을 종료하는데 있어서 rc0 file을 참조, 현재 실행되고 있는 모든 process를 닫기 때문에 안정적인 shut down 방법이라 할 수 있습니다. 이때 닫고 싶은 process가 있다면 /etc/rc0.d에 script파일을 만들어 주면 됩니다.(이것은 init 0  또는 # /usr/sbin/shutdown -y -g0 -i0 일경우만 해당 됩니다.)

 

Other command

halt : 시스템을 shutdown 시키고 ok prompt 상태로 돌아가는 명령어이다. init 0명령과 유사하지만, rc0 scripts 를 실행하지 않는다. 어떠한 이유에서 rc0 file 이 고쳐졌을 경우에는 사용하기 적합치 않은 명령어이다.

poweroff : sun4u나 sun4m 시스템을 종료시키고, 시스템의 파워를 끄는 명령어이다. run level 5단계이며 이  명령어 또한 rc0 scripts를 실행시키지 않는다.

reboot : 말그대로 시스템을 다시 부팅하는 명령어이며 default로 run level 3단계를 실행시키며 이역시 rc0를  실행시키지 않는다.

※ 이 세명령어 역시 shutdown 시키는 명령어이지만, DB shutdown script나 특정한  스크립트를 rc0.d 에 추가 했다면 주의해야할 커멘드 입니다.

 

system run level

Option

description

0

 ok prompt 상태 (PROM Monitor level)

1

 시스템 관리자 모드 user login 불가 (Single user Mode level)

2

 Muti-user Mode

3

 Muti-user Mode & share system resource(NFS Server)

5

 Halt system and power off

6

 Halt  and reboot system

a, b, c

 사용자가 /etc/inittab entry를  수정 a, b, c level을 setting할 수 있음

S, s

 Single user Mode level.

 

Editor&Written by taks

반응형
Posted by [PineTree]
OS/SOLARIS2004. 6. 2. 05:05
반응형

Basic Network Setup

 

 

Solaris를 설치한후 해야하는 기본적인 네트워크 셋업 설명입니다. host name, IP변경
Router, DNS Client 셋업이 설명되어 있습니다.

  • Host Name / IP Address 변경
  # sys-unconfig 
  reboot  (Y/N)   yes   
  System Halt
  ok

  ok boot 

위와 같이 한후 부팅하면 부팅과정에서 Host Name / IP Address / NIS / Subnet / TIMEZONE설정을 할수 있다

sys-unconfig를 사용한 후에는 /etc/TIMEZONE 파일내에
.
LANG=ko
.
라는 것을 넣어 주어야 locale 이 korea 가 됩니다.

 

  • Host Name 변경 (예 : click  --> bigcom)
  # vi /etc/nodename
  # vi /etc/hostname.xxx       (xxx : hme0 , le0)
  # vi /etc/hosts
  위의 파일에서 click을 찾아 bigcom으로 바꾼다.

  # hostname  bigcom   

 

  • IP Address 변경 (예 : 192.9.200.1 --> 210.108.179.150)
      # vi /etc/hosts
      위의 파일에서 192.9.200.1을 찾아 168.126.100.100로 바꾼다.

      # ifconfig xxx inet 168.126.100.100

xxx 는 le0, hme0 등등의 네트워크 인터페이스 이름

 

  • Netmask 설정 (예 : IP = 210.108.179.150이고  C class설정(255.255.255.0)이면)
  # vi /etc/netmasks
  이 파일안에 아래와 같은 라인을 삽입한다.

  210.108.0.0    255.255.255.0

  • Router 설정  (예 : 168.126.100.1 이 라우터 일때)
  # vi /etc/defaultrouter
  168.126.100.1            ; 라인을 추가 한다.

   # route add default 168.126.100.1  1

  route 커멘드만 사용하여 라우터를 설정하면 시스템 재부팅후에는 라우터 설정이 없어 진다. 그러므로 "defaultrouter"파일 작성과 병행 해야 된다.

라우터 설정을 하지 않으면 외부망을 사용할수 없다. 물론 인터넷도 사용할수 없다.

 

  • DNS Client 설정
      # vi /etc/resolv.conf
         domain bigcom.co.kr
         nameserver 168.126.63.1
         nameserver 168.147.1.1

      # vi /etc/nsswitch.conf
         .
         group     files
         hosts      files        dns   
        

    
반응형
Posted by [PineTree]
OS/SOLARIS2004. 6. 2. 05:04
반응형
 

Solaris boot process

 
  

BOOT PROM 단계


이 단계에서는 power on한후 하드웨어 단계에서 시스템의 테스트를 한후 부트 블럭의 로드까지의 단계이다.

1

PROM self test

|

2

OK printenv boot-device

|

3

OK boot
(reads disk label (sector 0)
|

4

Read boot block
 (sector 1-15)

|

5

PROM loads boot block(bootblk) Program


BOOT 프로그램 단계


이 단계에서는 두번째 부트블럭의 로드
와 시스템에 맞는 커널을 과 커널 모듈
을 로드 합니다.

6

The bootblock Program loads  the boot(ufsboot) Program

|

7

The boot (ufsboot) Program loads the 32-or 64-bit kernel

|

8

Load kernel modules


KERNEL 초기화 단계


이 단계에서는 사용자 시스템  파라메터를 로드하고 커널의 초기화와 init 데몬을 이용한 시스템 프로세서를 시작합니다.

9

Read /etc/system file

|

10

The kernel initialiizes itself and starts the init process


INIT 단계

11

The init process starts the run control scripts

 

 

1. PROM runs self-test diagnostics

boot PROM 프로그램이 self-test 루틴을 실행하여 시스템 하드웨어와 메모리를 점섬합니다. self-test장 이상없이 완료 되어야 다음의 부팅 단계로 진행 됩니다.
self-test가 종료되면 화면에 banner를 출력해 하여 시스템 모델 타입, 키보드 타입, 메모리 사이즈, PROM 시리얼 넘버, 이더넷 주소, 호스트 ID를화면출력 한니다,

2. OK printenv boot-device

베너 출력후 boot-device 에 설정된 값에 따라 부팅을 시작한다.
이 값의 확인은 메모리초기화시 STEP-A키를 누르면 OK prompt 상태로 한후 printenv boot-device 명령을 입력시키면 현재의 boot device 명을 출력시킨다.

3. OK boot         reads disk label (sector 0)

boot 명령을 입력하면 부팅을 재시작하고 boot-device에 설정된 디바이스의 0번  섹터를 읽어들인다.(보통은 디스크)
디폭트로 auto-boot? true 값에 의해 자동으로 이 단계는 진행 됩니다.

4. Read boot block (sector 1~15)

PROM program이 bootblk을 (disk의 1~15번째 섹터) 읽어들인다.

5. PROM loads boot block (bootblk) program

PROM에 의해 읽어들여진 bootblk이 로딩된다.

6. the boot bolck program loads the boot (ufsboot) program

로딩된 bootblk program이 두 번째 boot program인  /platform/`uname -m`/ufsboot을찾아내고, 메모리에 로드시킨다.

7. the boot(ufsboot) program loads the 32-or 64-bit

boot program 로딩후 boot PROM 프로그램은 두 종류의 커널중 하나를 로드하는데,하나는 32-bit system, 또 하나는 64-bit system 의 커널이다.

32-bit의 kernle위치   /platform/`uname -m`/kernel/unix & /kernel/genunix
64-bit의 kernel위치  /platform/`uname -m`/kernel/sparcv9/unix  &
/platform/`uname -m`/kernel/sparcv9/genunix

8. lode kernel modules

커널이 ufsboot 프로그램의 파일들을 읽어들이면서 모듈을 로딩한다.

9. Read /etc/system file

모듈이 로딩됨과 동시에 커널은 /etc/system 파일을 읽어 관리자가 설정한 값들을 로드 한다.

10. The kernel initializes itself and starts the init process

커널이 자기자신을 초기화 시키고 init 프로세스를 구동한다.

11. The init process starts the run control scripts

커널은 user process를 만들어 내고 /sbin의 init  program을 실행한다.
/etc/inittab file을 참조하여 부팅 레벨에 맞는 /sbin/rc X file을 실행하고 /etc/rc X.d file을 실행시키고 모니터에 login 화면이 뜨면서 부팅을 종료한다.

 

Editor&Written by taks

반응형
Posted by [PineTree]