OS/SOLARIS2007. 8. 28. 01:50
반응형

IPMP Link-based Failure Detection with Solaris [TM] 10 Operating System (OS) and higher


 

Public network의 이중화 솔루션은 Sun Cluster 2.x에서부터 제공되어져 왔다.
첫 시작은 link base failure detection에서 시작되었으며, sc2.x에서 NAFO
(Network Adapter Failover)이라 불리어졌으며, 해당되는 데몬은 pnmd (public
network management daemon)이었다.

NAFO는 NAFO group에 NIC (Network Interface Card)를 설정하고, 한 순간에 단 하나의
interface만이 동작하는 Active-Standby 구성만 가능하였다. 그 이후에 Solaris 8에서
이러한 public network 관리하는 cluster function을 OS에 탑재하였고, IPMP라 칭하였다.

이러한 IPMP는 Solaris 9까지 ICMP partner를 선정하여, 해당 partner (default router 설정이 있을 경우 default router가 ICMP partner)와 지속적으로 ping test(Probe based failure detection)를 하여 public network의 가용여부를 판단하였다.

이러한 구성에서의 문제(?)점은 test를 위한 test ip address가 각 interface별로 요구 되어졌다. 그러나 IPMP의 기능은 OSI 7 layer의 제 4계층(transport layer)를 사용하여 기존의 link base (2계층 data link layer)를 사용하던 방식과는 차별적 우위를 가지고 있다. 이는 단순히 network의 link뿐만 아니라 상위 계층을 지원하므로 많은 이득을 얻을 수 있다. 그러나, 간혹 network 전체에 부하 또는 default router에 과부하 발생시에 원하지 않는 failover를 발생하기도 한다.

OSI 7 layer
7 Application Layer
6 Presentation Layer
5 Session Layer
4 Transport Layer
3 Network Layer
2 Data Link Layer
1 Physical Layer

그리하여, Solaris10에서부터는 제 4계층의 network failure detection을 원하지 않을 경우, 기존 방식대로 link base failure detection을 지원하도록 IPMP를 구성하였다.

그럼, Solaris10에서 link base failure detection으로 구성하는 방법을 살펴보도록 하자.

1.1. Single Interface

/etc/hostname.ce0
192.168.10.10 netmask + broadcast + group ipmp0 up

# ifconfig -a
ce0: flags=1000843 mtu 1500 index 4
inet 192.168.10.10 netmask ffffff00 broadcast 192.168.10.255
groupname ipmp0
ether 0:3:ba:93:90:fc

1.2. Multiple Interfaces

1.2.1. Active-Active

1.2.1.1. Two Interfaces

/etc/hostname.ce0
192.168.10.10 netmask + broadcast + group ipmp0 up

/etc/hostname.ce1
group ipmp0 up

# ifconfig -a
ce0: flags=1000843 mtu 1500 index 4
inet 192.168.10.10 netmask ffffff00 broadcast 192.168.10.255
groupname ipmp0
ether 0:3:ba:93:90:fc
ce1: flags=1000843 mtu 1500 index 5
inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
groupname ipmp0
ether 0:3:ba:93:91:35

1.2.1.2. Two Interfaces + logical

/etc/hostname.ce0
192.168.10.10 netmask + broadcast + group ipmp0 up \
addif 192.168.10.11 netmask + broadcast + up

/etc/hostname.ce1
group ipmp0 up

# ifconfig -a
ce0: flags=1000843 mtu 1500 index 4
inet 192.168.10.10 netmask ffffff00 broadcast 192.168.10.255
groupname ipmp0
ether 0:3:ba:93:90:fc
ce0:1: flags=1000843 mtu 1500 index 4
inet 192.168.10.11 netmask ffffff00 broadcast 192.168.10.255
ce1: flags=1000843 mtu 1500 index 5
inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
groupname ipmp0
ether 0:3:ba:93:91:35

1.2.1.3. Three Interfaces

/etc/hostname.ce0
192.168.10.10 netmask + broadcast + group ipmp0 up

/etc/hostname.ce1
group ipmp0 up

/etc/hostname.bge1
group ipmp0 up

# ifconfig -a
bge1: flags=1000843 mtu 1500 index 3
inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
groupname ipmp0
ether 0:9:3d:11:91:1b
ce0: flags=1000843 mtu 1500 index 4
inet 192.168.10.10 netmask ffffff00 broadcast 192.168.10.255
groupname ipmp0
ether 0:3:ba:93:90:fc
ce1: flags=1000843 mtu 1500 index 5
inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
groupname ipmp0
ether 0:3:ba:93:91:35

1.2.2. Active-Standby

1.2.2.1. Two Interfaces

/etc/hostname.ce0
192.168.10.10 netmask + broadcast + group ipmp0 up

/etc/hostname.ce1
group ipmp0 standby up

# ifconfig -a
ce0: flags=1000843 mtu 1500 index 4
inet 192.168.10.10 netmask ffffff00 broadcast 192.168.10.255
groupname ipmp0
ether 0:3:ba:93:90:fc
ce0:1: flags=1000843 mtu 1500 index 4
inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
ce1: flags=69000842 mtu 0 index 5
inet 0.0.0.0 netmask 0
groupname ipmp0
ether 0:3:ba:93:91:35

1.2.2.2. Two Interfaces + logical

/etc/hostname.ce0
192.168.10.10 netmask + broadcast + group ipmp0 up \
addif 192.168.10.11 netmask + broadcast + up

/etc/hostname.ce1
group ipmp0 standby up

# ifconfig -a
ce0: flags=1000843 mtu 1500 index 4
inet 192.168.10.10 netmask ffffff00 broadcast 192.168.10.255
groupname ipmp0
ether 0:3:ba:93:90:fc
ce0:1: flags=1000843 mtu 1500 index 4
inet 192.168.10.11 netmask ffffff00 broadcast 192.168.10.255
ce0:2: flags=1000843 mtu 1500 index 4
inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
ce1: flags=69000842 mtu 0 index 5
inet 0.0.0.0 netmask 0
groupname ipmp0
ether 0:3:ba:93:91:35

실제 예제)

[root@ZGCANA01 /]# cat /etc/hostname.e1000g0
group web standby up

[root@ZGCANA01 /]# cat /etc/hostname.e1000g2
ZGCANA01 netmask 255.255.255.0 broadcast + group web up

[root@ZGCANA02 /]# cat /etc/hostname.e1000g0
group datos standby up

[root@ZGCANA02 /]# cat /etc/hostname.e1000g2
ZGCANA02 netmask 255.255.255.0 broadcast + group datos up

반응형
Posted by [PineTree]
OS/SOLARIS2007. 8. 22. 20:24
반응형
Tape드라이브는 mt ( magnetic tape control )을 사용하여 tape device를
사용 한다.
사용법은 다음과 같다.
테잎디바이스의 장치번호로 부터 보통 첫번째가 0으로 그다음이 1순으로
시작된다.

1.  Tape rewind ( tape device가 /dev/rmt/0X )일때
[ howtosolaris : / ]# mt -f /dev/rmt/0n rew

2.  Tape device의 위치 이동
[ howtosolaris : / ]# mt -f /dev/rmt/0n [option] count
* fsf 옵션은 ( Forward space over count EOF marks ) 의 약자로 현위치에서
  count 갯수 만큼 파일을 건너 뛴다.
* asf (Absolute space to   count  file  number) 옵션의 경우는 테잎의 처음으로 무터 count 갯수 만큼 파일을 건너 뛴다.
* bsf (  Back space over  count  EOF  marks ) 옵션은 현 위치에서 뒷 방향으로 count 갯수 만큼 이동 한다.

<별첨>
/dev/rmt/  디렉터리 밑에는 많은 디바이스가 있는데 기능을 설명 하자면
다음과 같다.

h : high, 6250 bpi
m : medium, 1600bpi
l : low, 800 bpi
c : compressed (압축) ---> 보통 테잎이 24GB 까지 받을수 있다함은 이 옵션을 사용해서 이다.
u : ultra, 6250 bpi compressede
n : no rewind 백업 마치는 시점에서 멈춘다.

반응형
Posted by [PineTree]
OS/SOLARIS2007. 8. 22. 02:53
반응형

# cat /etc/vfstab


host1:/usr/share/man - /usr/share/man nfs - yes soft,bg

 

네트워크상의 host1이라는 호스트이름을 가진 서버가 공유허용 해준

/usr/share/man 디렉토리를  현재 시스템의 /usr/share/man

디렉토리로 mount하려할 때 위와 같이 NFS client쪽에서 지정해주는 겁니다.

첫번째 : Device to mount - 즉, 마운트할 디바이스(파일시스템이구요)


두번째 : - 로 되어있는데,,원래는 fsck 돌릴때(파일시스템 체크시) 사용하는 장치 디바이스
여기는 로컬 파일시스템이 아니므로 지정할 필요가 없어서 그냥 - 로 한거구요.


세번째 : 마운트 포인트, 즉 로컬시스템에서 마운트시 마운트할 디렉토리고요...


네번째 : 파일시스템 타입, 여기는 nfs, ufs (로컬파일시스템일때)


다섯번째 : fsck pass부분인데,,nfs파일시스템일때는 무조건 - (null 값)입니다.


여섯번째 : yes는 부팅할때 마운트하라는 이야기죠. no면 부팅시 자동으로 마운트하지않겠죠.


일곱번째 : bg는 최초마운트시도시 실패했을때, bg(백그라운드<->포그라운드)로 마운트를 재시도 하라는 이야기구, 마지막으로 soft는 리모트 파일시스템을 마운트할 때 나오는 옵션인데, 뭐라 설명드리기가...좀 그렇네요..참고로 hard와 soft옵션이 있고, nfs시 일반적으로 soft,bg라고 마운트옵션을 사용한다고 아시면 됩니다.

 


 

출처 : 네이버 지식검색에서 win2107님이 작성하실 글입니다.

반응형
Posted by [PineTree]
OS/SOLARIS2007. 8. 21. 20:35
반응형
솔라리스 10 U3에는 여러 가지 기능이 좋아졌습니다만, 그 중에서 가장 독특한 기능의 변화는 Trusted Extension이라는 보안 강화 기능인데 , 이는 미군에서 요구하는 보안 등급을 준수하게 해주는 보안 강화 기능으로 매우 강력한 보안 구성 환경으로써, 실제로 이 기능을 구성하여 가동할 수 있다면, 웬만한 보안 소프트웨어는 거의 살 필요가 없을 정도입니다. 이 기능은 다소 복잡한 구성에 대한 이해가 필요하니 별도로 소개를 하도록 하겠습니다. 아울러, 솔10 U3는 보안을 위해서 "Secure By Default"라는 기능을 추가로 제공하고 있는데, 이름 자체에서 언급하는 의미 그대로를 해석하면, "기본적으로 보안이 강화된" 이라고 볼 수 있겠습니다.

최근에 솔라리스는 소스가 공개되었고, 이에 따른 솔라리스 소스의 문제점을 찾아내어 해킹을 시도하는 사례가 증가될 수 있다는 판단이 있었던 것 같습니다. 리눅스가 오픈 소스하에서 이런 문제때문에 상당히 괴롭힘을 당해왔다는 것을 생각해보면 쉽게 이해할 수 있는 일이라 할 수 있겠습니다.

따라서, 솔라리스10 U3(11/2006) 설치 과정중에는 Secure By Default를 하겠냐고 물어보는 과정이 있습니다. 이 과정에 동의를 하고, 구성을 사용하게 되면 솔라리스는 외부 접속을 위해서 ssh를 제외한 모든 원격 접속 서비스인 telnet, XDMCP 서비스등을 모두 disable 되거나 localhost에게만 허용하도록. 때문에, 그 이전 버젼을 사용하던 사용자들은 이런 내용의 사전 습득이 없으면 다소 당황할 수 있게 됩니다.

현재 모드를 알 수 있는 방법은 없으며, 관련 네트웍 서비스를 모두 오픈(사용할 수 있도 하거나) 혹은 '제한'을 두는 두가지의 명령만 있습니다. 사용법은

#/usr/sbin/netservices open
혹은
#/usr/sbin/netservices limited

입니다.

솔라리스10을 정상 설치후 telnet 서비스나 혹은 X-window 관련 서비스가 정상적으로 작동이 되지 않는다면 위의 명령어로 서비스를 오픈한 후 사용하시면 됩니다.

그러나, 안정적인 보안환경을 유지 및 사용하기 위해서는 ssh를 사용할 것을 강력하게 권고합니다.
ssh와 함께 제공되는 데이타 암호화 툴을 이용함으로써 tcp spoofing이나 암호 데이타의 snooping등을 원천적으로 봉쇄할 수 있게됩니다.

복수개의 노드를 관리하기 위해서 rlogin, rsh, rcp등을 사용하던 사용자들도 ssh기반의 환경으로 옮겨서 사용할 것을 강력하게 권고합니다.

기능
unsecured 방법
Secured 방법

터미널 접속 서비스
telnet
ssh

원격 실행
rsh,rexec
ssh

화일 전송
rcp,ftp
scp, sftp

X Window 접속 및 Display
XDMCP
ssh -X


솔라리스의 ssh 서비스를 이용하기 위해서는 일반 사용자를 만들어서 사용하는 것이 바람직합니다. 솔라리스10 Update3에서 설치과정중 "Secure By Default"를 사용하는 것으로 설정하게 되면, 서버는 telnet으로 접속할 수 없게 되어 ssh를 사용해야 하는데, 솔라리스 개발자가 잠깐 졸았는지(?) ssh 서버가 root access를 허용하지 않도록 구성되어 있습니다.

따라서, root로 접속할 수 없게 되는 것이죠. 때문에, 설치를 정상적으로 한후, console(콘솔)에서 ssh 서버가 root로 로그인하는 것을 하용하도록 구성을 변경할 필요가 있습니다. 구성하는 법은 다음과 같이 합니다.

#cp /etc/default/login /etc/default/login.backup
#sed 's/CONSOLE=/#CONSOLE=/g' /etc/default/login > /tmp/login
#cp /tmp/login /etc/default/login

#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
#sed 's/PermitRootLogin no/PermitRootLogin yes/g' /etc/ssh/sshd_config > /tmp/sshd_config
#cp /tmp/sshd_config /etc/ssh/sshd_config
#svcadm restart ssh

와 같이 실행함으로써 ssh가 root로 로그인할 수 있도록 할 수 있습니다.

X-window 로그인이나 애플리케이션 화면출력(Display)를 위해서는 클라이언트쪽(PC나 노트북등)에 X server를 지원하는 운영체제(solaris, linux)를 사용한다면 ssh -X를 쉽게 사용할 수 있습니다. 만약, windows나 Mac을 사용하는 경우라면 ssh -X를 이용한 원격 디스플레이를 지원하는 X server 에뮬레이션 소프트웨어를 사용하셔야 합니다.
반응형

'OS > SOLARIS' 카테고리의 다른 글

Tape 디바이스 명령어  (0) 2007.08.22
솔라리스에서 NFS 마운트시 vfstab 설정법  (0) 2007.08.22
[보안] rlogin 설정  (0) 2007.08.21
solaris 솔라리스 svcadm 설정 rsh  (0) 2007.08.21
솔라리스 10에서 nfs 설정하기  (0) 2007.08.17
Posted by [PineTree]
OS/SOLARIS2007. 8. 21. 20:30
반응형

ID  000095
제목  password 확인 없이 Remote system으로 rlogin 또는 rsh 실행하기
분류  네트워크
Product  
O/S  Solaris 2.x 

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

 

1. 사용자가 개인별로 정의 할 경우

    home directory에 .rhosts 화일을 만들어 그 안에 rlogin또는 rsh 명령을
    실행 할 시스템의 이름과 userid를 넣어 놓는다.
      
 예1) host "cat"의 kildong 이라는 사용자가 remote host "dog"의 같은
      userid로 R-명령을 실행할 경우
  
             %hostname
             dog
             %whoami
             kildong
             % vi ~/.rhosts
             cat    
 
 예2) host "cat"의 kildong 이라는 사용자가 remote host "dog"의 "jjkim"
      이라는 사용자로 R-명령을 실행할 경우
     
      %hostname
             dog
             %whoami
             jjkim
             % vi ~/.rhosts
             cat kildong
            
        예3) host "cat"의 모든 사용자가 remote host "dog"의 "jjkim" 이라는 사용
             자로 R-명령을 실행할 경우
     
      %hostname
             dog
             %whoami
             jjkim
             % vi ~/.rhosts
             cat +
            
        예4) 모든 host의 "kildong" 이라는 사용자가 remote host "dog"의 "jjkim"
             이라는 사용자로 R-명령을 실행할 경우
     
      %hostname
             dog
             %whoami
             jjkim
             % vi ~/.rhosts
             + kildong
            
        예5) 모든 host의 어떤 사용자든지 remote host "dog"의 "jjkim" 이라는
             사용자로 R-명령을 실행할 경우
            
             %hostname
             dog
             %whoami
             jjkim
             % vi ~/.rhosts
             + +
                        
2. 시스템 admin이 /etc/hosts.equiv 화일에 지정하는 경우      
 
    root로 login하여 /etc/hosts.equiv 화일을 만들어 그 안에 rlogin또는 rsh
    명령을 실행 할 시스템의 이름과 userid를 넣어 놓는다.
   
    예1) /etc/hosts.equiv 화일에 remote hostname 만을 넣어 놓은 경우
   
     %hostname
     dog
     %vi /etc/hosts.equiv
     cat
     
     위와 같이 지정하면 remote host, "cat" 의 모든 사용자들이 dog 시스템의
     같은 userid로 R-명령여를 수행할 수 있다.
     
    예2) /etc/hosts.equiv 화일에 remote hostname과 userid를 지정한 경우
   
     %hostname
     dog
     %vi /etc/hosts.equiv
     cat kildong
     
     위와 같이 지정하면 remote host, "cat" 의 kildong이라는 사용자는 dog
     시스템의 root를 제외한 모든 사용자로 R-명령을 실행할 수 있다
     
    예3) /etc/hosts.equiv 화일에 "+"를 넣어 놓은 경우
   
     %hostname
     dog
     %vi /etc/hosts.equiv
     +
     
     위와 같이 하면 어떤 시스템에서든지 "dog" 시스템의 같은 userid에 대하여
     (root 제외) R-명령을 실행 할 수 있다.
     
   예4) /etc/hosts.equiv 화일에 "+ userid"를 넣어 놓은 경우
  
    %hostname
     dog
     %vi /etc/hosts.equiv
     + kildong
     
     위와 같이 하면 어떤 시스템에서든지 "kildong"이라는 사용자로 부터 "dog"
     시스템의 root를 제외한 모든 사용자로 R-명령을 실행할 수 있다.
     
   예5) /etc/hosts.equiv 화일에 remote hostname과 "+"를 넣어 놓은 경우
  
    %hostname
     dog
     %vi /etc/hosts.equiv
     cat +
     
     위와 같이 지정하면 remote host, "cat" 으로부터 dog" 시스템의 root를  
     제외한 모든 사용자에 대하여 R-명령을 실행 할 수 있다.
     
    예6) /etc/hosts.equiv 화일에 "+ +"를 넣어 놓은 경우
   
     %hostname
     dog
     %vi /etc/hosts.equiv
     + +
 
  위와 같이 지정하면 모든 remote host로 부터 dog 시스템의 root를 제외한
  모든 사용자에 대하여 R-명령을 실행 할 수 있다.
  
3. 예외사항

    /etc/hosts.equiv화일은 "root" 에게는 적용이 않되기 때문에 root에 대하여
    R-명령이 password를 물어 보지 않고 실행 되게 하려면 root의 home directory에
    .rhosts 화일을 만들어 permission을 열어줄 remote host와 userid를 각각
    등록해야 한다.
   
    시스템에 /etc/hosts.equiv 화일이 존재하고 사용자가 home directory에 .rhosts
    화일을 가지고 있으면 ?R-명령어 실행시 .rhosts화일의 내용이 적용된다.
   

반응형
Posted by [PineTree]
OS/SOLARIS2007. 8. 21. 20:27
반응형

Hi,
I m trying to execute some command on my Solaris 10 box from Windows
machine. But i m getting the message


rsh {servername} -l username comamnd
{Servername}: permission denied
rsh: can't establish connection


I have done changes in /etc/hosts and /.rhosts but still i m not able
to connect.
all these services are enabled.
svcadm enable svc:/network/login:rlogin
svcadm enable svc:/network/shell:default
svcadm enable svc:/network/login:rlogin


ssh is working but it is asking for password on each attempt of
execution of command.
May be this problem due to since in Solaris 10 inetd.conf is useless
and all the services are controlled by svcadm or inetadm.
Please let me know how can i overcome this problem.

기용:

svcadm restart svc:/network/login:rlogin

svcadm restart svc:/network/shell:default

 

해야지..적용..^^



반응형

'OS > SOLARIS' 카테고리의 다른 글

Solaris 10 Update 3의 새로운 기능 &quot;Secure by Default&quot;  (0) 2007.08.21
[보안] rlogin 설정  (0) 2007.08.21
솔라리스 10에서 nfs 설정하기  (0) 2007.08.17
SSH  (0) 2007.08.02
Solaris Resource Manager (SRM)  (0) 2007.08.02
Posted by [PineTree]
OS/SOLARIS2007. 8. 17. 02:16
반응형

root@unknown # more dfstab

#       Place share(1M) commands here for automatic execution
#       on entering init state 3.
#
#       Issue the command 'svcadm enable network/nfs/server' to
#       run the NFS daemon processes and the share commands, after adding
#       the very first entry to this file.
#
#       share [-F fstype] [ -o options] [-d "<text>"] <pathname> [resource]
#       .e.g,
#       share  -F nfs  -o rw=engineering  -d "home dirs"  /export/home2

root@unknown # more /etc/default/nfs
# ident "@(#)nfs        1.10    04/09/01 SMI"
#
# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

# Sets the maximum number of concurrent connection oriented connections.
# Default is unlimited and is obtained by not setting NFSD_MAX_CONNECTIONS.
# Equivalent to -c.
#NFSD_MAX_CONNECTIONS=

# Set connection queue length for the NFS over a connection-oriented
# transport. The default value is 32 entries.
# Equivalent to -l.
NFSD_LISTEN_BACKLOG=32

# Start NFS daemon over the specified protocol only.
# Equivalent to -p, ALL is equivalent to -a on the nfsd command line.
# Mutually exclusive with NFSD_DEVICE.
NFSD_PROTOCOL=ALL

# Start NFS daemon for the transport specified by the given device only.
# Equivalent to -t.
# Mutually exclusive with setting NFSD_PROTOCOL.
#NFSD_DEVICE=

# Maximum number of concurrent NFS requests.
# Equivalent to last numeric argument on nfsd command line.
NFSD_SERVERS=16

# Set connection queue length for lockd over a connection-oriented transport.
# Default and minimum value is 32.
LOCKD_LISTEN_BACKLOG=32

# Maximum number of concurrent lockd requests.
# Default is 20.
LOCKD_SERVERS=20

# Retransmit Timeout before lockd tries again.
# Default is 5.
LOCKD_RETRANSMIT_TIMEOUT=5

# Grace period in seconds that all clients (both NLM & NFSv4) have to
# reclaim locks after a server reboot. Also controls the NFSv4 lease
# interval.
# Overrides the deprecated setting LOCKD_GRACE_PERIOD.
# Default is 90 seconds.
GRACE_PERIOD=90

# Deprecated.
# As for GRACE_PERIOD, above.
# Default is 90 seconds.
#LOCKD_GRACE_PERIOD=90

# Sets the minimum version of the NFS protocol that will be registered
# and offered by the server.  The default is 2.
NFS_SERVER_VERSMIN=2

# Sets the maximum version of the NFS protocol that will be registered
# and offered by the server.  The default is 4.
NFS_SERVER_VERSMAX=4

# Sets the minimum version of the NFS protocol that will be used by
# the NFS client.  Can be overridden by the "vers=" NFS mount option.
# The default is 2.
#NFS_CLIENT_VERSMIN=2

# Sets the maximum version of the NFS protocol that will be used by
# the NFS client.  Can be overridden by the "vers=" NFS mount option.
# If "vers=" is not specified for an NFS mount, this is the version
# that will be attempted first.  The default is 4.
#NFS_CLIENT_VERSMAX=4

# Determines if the NFS version 4 delegation feature will be enabled
# for the server.  If it is enabled, the server will attempt to
# provide delegations to the NFS version 4 client. The default is on.
#NFS_SERVER_DELEGATION=on

# Specifies to nfsmapid daemon that it is to override its default
# behavior of using the DNS domain, and that it is to use 'domain' as
# the domain to append to outbound attribute strings, and that it is to
# use 'domain' to compare against inbound attribute strings.
NFSMAPID_DOMAIN=domain

#vi /etc/dfs/dfstab

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

share -o rw /export/home/data1

share -o rw /export/home/data2

 

#svsc svc:/network/fs/server

STATE             STIME             FMRI

disabled           00:00"00         svs:/network/nfs/server:default

 

#svcadm enable svc:/network/nfs/server

 

#svsc svc:/network/fs/server

STATE             STIME             FMRI

online              00:00"00         svs:/network/nfs/server:default

 

#share

-              /export/home/data1         rw   ""

-              /export/home/data2         rw   ""

 

#svcs svc:/nework/nfs/mapid:default

STATE             STIME             FMRI

disabled           00:00"00         svs:/network/nfs/mapid:default

 

#svcadm restart svc:/network/nfs/mapid:default

 

#svcs svc:/nework/nfs/mapid:default

STATE             STIME             FMRI

online              00:00"00         svs:/network/nfs/mapid:default

 

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

 

[client 설정]

#vi /etc/default/nfs

# ident "@(#)nfs        1.10    04/09/01 SMI"
#
# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

# Sets the maximum number of concurrent connection oriented connections.
# Default is unlimited and is obtained by not setting NFSD_MAX_CONNECTIONS.
# Equivalent to -c.
#NFSD_MAX_CONNECTIONS=

# Set connection queue length for the NFS over a connection-oriented
# transport. The default value is 32 entries.
# Equivalent to -l.
NFSD_LISTEN_BACKLOG=32

# Start NFS daemon over the specified protocol only.
# Equivalent to -p, ALL is equivalent to -a on the nfsd command line.
# Mutually exclusive with NFSD_DEVICE.
NFSD_PROTOCOL=ALL

# Start NFS daemon for the transport specified by the given device only.
# Equivalent to -t.
# Mutually exclusive with setting NFSD_PROTOCOL.
#NFSD_DEVICE=

# Maximum number of concurrent NFS requests.
# Equivalent to last numeric argument on nfsd command line.
NFSD_SERVERS=16

# Set connection queue length for lockd over a connection-oriented transport.
# Default and minimum value is 32.
LOCKD_LISTEN_BACKLOG=32

# Maximum number of concurrent lockd requests.
# Default is 20.
LOCKD_SERVERS=20

# Retransmit Timeout before lockd tries again.
# Default is 5.
LOCKD_RETRANSMIT_TIMEOUT=5

# Grace period in seconds that all clients (both NLM & NFSv4) have to
# reclaim locks after a server reboot. Also controls the NFSv4 lease
# interval.
# Overrides the deprecated setting LOCKD_GRACE_PERIOD.
# Default is 90 seconds.
GRACE_PERIOD=90

# Deprecated.
# As for GRACE_PERIOD, above.
# Default is 90 seconds.
#LOCKD_GRACE_PERIOD=90

# Sets the minimum version of the NFS protocol that will be registered
# and offered by the server.  The default is 2.
#NFS_SERVER_VERSMIN=2

# Sets the maximum version of the NFS protocol that will be registered
# and offered by the server.  The default is 4.
#NFS_SERVER_VERSMAX=4

# Sets the minimum version of the NFS protocol that will be used by
# the NFS client.  Can be overridden by the "vers=" NFS mount option.
# The default is 2.
NFS_CLIENT_VERSMIN=2

# Sets the maximum version of the NFS protocol that will be used by
# the NFS client.  Can be overridden by the "vers=" NFS mount option.
# If "vers=" is not specified for an NFS mount, this is the version
# that will be attempted first.  The default is 4.
NFS_CLIENT_VERSMAX=4

# Determines if the NFS version 4 delegation feature will be enabled
# for the server.  If it is enabled, the server will attempt to
# provide delegations to the NFS version 4 client. The default is on.
#NFS_SERVER_DELEGATION=on

# Specifies to nfsmapid daemon that it is to override its default
# behavior of using the DNS domain, and that it is to use 'domain' as
# the domain to append to outbound attribute strings, and that it is to
# use 'domain' to compare against inbound attribute strings.
NFSMAPID_DOMAIN=domain

 

#svcadm restart svc:/network/nfs/client:default

 

#svcadm enable svc:/network/nfs/mapid:default

 

#mount 서버IP:/ /mnt

 

#ls -al /mnt

 

 

#netstat -an | egrep '2049'

반응형

'OS > SOLARIS' 카테고리의 다른 글

[보안] rlogin 설정  (0) 2007.08.21
solaris 솔라리스 svcadm 설정 rsh  (0) 2007.08.21
SSH  (0) 2007.08.02
Solaris Resource Manager (SRM)  (0) 2007.08.02
dumpadm  (0) 2007.08.02
Posted by [PineTree]
OS/SOLARIS2007. 8. 2. 19:04

SSH

반응형
1. SSH 일반적 설명
 
Solaris9에서는 SSH를 기본 제공하나 8에서는 그러하지 못하다. 보안문제가 중요한 이시점에서 무료로 제공하는 SSH는 안전한 패킷통신을 지원하기 위한 원격 접속 서비스입니다.
일반 텔넷 서비스는 암호회되지 않아서 스니핑시에 정보가 노출될 위험이 있으나, 22번 포트를 사용하는 SSH의 경우 인터넷의 키 알고리즘을 이용해 암호화된 자료를 전송하며, 인터넷 프로토콜로 쉽게 사용할수 있어 불법적으로 내용을 해독할수 없게 합니다.
SSH는 쌍방의 비대칭키를 이용하여 안전한 접속 세션을 구성합니다.
보통 scp(rcp(secure cp))나 sftp(ftp(secure ftp))와 같은 파일 전송 도구로도 활용되고 있는 실정입니다. 보통 SSH1과 SSH2가 있는데 SSH2를 많이 사용합니다.
 
 
2. SSH 설치 작업
 
1. 자신의 솔라리스에 맞는 패치를 설치합니다.
http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access 에서 자신에게 맞는 패치를 다운로드 받습니다.

2. 받은 패치를 설치합니다.
112438-01.zip는 버전마다 차이있음 자신에게 맡는것 받으세요

# mv 112438-01.zip.exe 112438-01.zip
만약 위 보기처럼 exe라고 붙은 파일이 있으면 이름 변경해야됩니다.
# unzip 112438-01.zip
압축을 풉니다.
# patchadd 112438-01
패치를 까는 명령(patchadd), 지우는 명령(patchrm)
Checking installed patches......
패치 까는데 보통 30~1시간 이상 걸립니다.
3. 패치를 깔고나면 프롬프트(#)가 나오는데, 재부팅을 해야합니다.
# reboot
 
 
3. 다음 4개의 파일을 www.sunfreeware.com등에서 다운로드 받으세요
 
※ 주의 : 아래파일은 솔라리스8용이며 인텔버젼용 딴 머신은 자신에게 맞는 파일을 다운로드 받으세요

1. openssh-3.4p1-sol8-intel-local.gz
2. openssl-0.9.6e-sol8-intel-local.gz
3. zlib-1.1.4-sol8-intel-local.gz
4. libgcc-3.1-sol8-intel-local.gz
위 4개의 파일을 받는데 버전이 업된것도 있다.
 
4. 해당 파일을 다운 받았으면, 압축을 풀어주세요
 
# gunzip openssh-3.4p1-sol8-intel-local.gz
# gunzip openssl-0.9.6e-sol8-intel-local.gz
# gunzip zlib-1.1.4-sol8-intel-local.gz
# gunzip libgcc-3.1-sol8-intel-local.gz
압축 한번에 풀기 는..    # gunzip *.gz 위명령과 동일하다.
 
5. 압축이 풀렸다면 패키지를 깔으세요.
 
#pkgadd -d openssh-3.4p1-sol8-intel-local
#pkgadd -d openssl-0.9.6e-sol8-intel-local
#pkgadd -d zlib-1.1.4-sol8-intel-local
#pkgadd -d libgcc-3.1-sol8-intel-local
 
6. /var/empty 디렉토리 생성후 권한줍니다.디렉토리내 아무것도 없어야함)
 
# mkdir /var/empty
# chown root:sys /var/empty
# chmod 755 /var/empty
 
7. sshd 유저와 그룹생성 홈디렉토리 변경
 
# groupadd sshd
# useradd -g sshd -c "sshd" -d /var/empty -s /bin/false sshd
 
8. 모든 시스템에서의 접속을 허용한다면 다음과 같이 한다.
 
# echo "sshd: ALL" > /etc/hosts.allow
allow로 끝나는 파일은 허용할 대상 설정 파일(deny는 막는것 설정)

9. ssh의 실행을 위해 기본으로 사용될 키를 생성합니다.
 
만약 다음 명령이 실행안되면 패스를 지정합니다.
참고로 다음 명령의 위치는 /usr/local/bin/ssh-keygen 입니다

# ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N ""
# ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key -N ""
# ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key -N ""
 
 
10. 환경변수 설정합니다.(본인 쉘에 맞는것만 하세요)
 
Bourne shell 시에...
# export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/ssl/lib:$LD_LIBRARY_PATH

C Shell 시에는...
# setenv LD_LIBRARY_PATH /usr/local/lib
 
 
11. inetd 데몬 죽입니다.
 
# ps -ef | grep inetd
root 177 1 0 5월 XX일 ?  8:00 /usr/sbin/inetd -s
# kill -9 177           
해당 프로세서를 죽인다.
 
 
12. /usr/local/sbin/sshd 를 실행시킨다.
 
# /usr/local/sbin/sshd
 
 
13. 내 시스템이나 타 시스템 접속시
 
# ssh localhost
.......자기 시스템에 접속됨................
# ssh
user@host.example.com
.......타 시스템에 접속시 예제.............

정리.

inetd를 죽인이유는 inetd데몬 없이도 접속이 가능하기때문입니다.
 
 
 
 
 
 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
기존에 telnet 명령이나 ftp 명령은 text base 통신 이기 때문에 snoop 등의
프로그램에 의해 감청을 당하기 쉽습니다.
쉽게 말해 자신의 암호를 다른 사람이 쉽게 알아 낼 수 있다는 것이지요.

아래의 내용으로 프로그램을 설치하면 다음의 명령들을 사용할 수 있습니다.

- ssh 107.2.1.1 ( telnet 107.2.1.1 과 같은 보안 프로그램)
- sftp 107.2.1.1 ( ftp 107.2.1.1 과 같은 보안 파일 전송 프로그램)
- scp comedu100:/etc/passwd /tmp
( rcp comedu100:/etc/passwd /tmp 과 같은 파일 복사 프로그램)
- slogin comedu100 ( rlogin comedu100 과 같은 프로그램)


1) pkg를 설치 합니다.
4가지의 package 를 설치 하여야 합니다.
이프로그램은 (
http://sunfreeware.com 에서 구하실 수 있습니다.)

[/]# pkgadd -d prngd-0.9.25-sol8-sparc-local
[/]# pkgadd -d zlib-1.1.4-sol8-sparc-local
[/]# pkgadd -d openssl-0.9.6g-sol8-sparc-local
[/]# pkgadd -d openssh-3.5p1-sol8-sparc-local

2) /.profile 과 /.kshrc 파일을 수정 합니다.
이 파일안에 설정하는 내용은 프로그램의 위치를 나타내는 PATH 변수와
man 프로그램의 MANPATH 를 설정 하는 부분입니다.

[/]# vi /.profile
export ENV=.kshrc

[/]# vi /.kshrc
export PATH=$PATH:/usr/local/bin:/usr/local/sbin
export MANPATH=$MANPATH:/usr/local/man

[/]# . /.profile
[/]# . /.kshrc

3) /etc/services 파일에 다음의 내용을 추가 합니다.

[/]# vi /etc/services
prngd 708/tcp
prngd-user 4840/tcp

[/]# pkill -HUP inetd <-- 반드시 수행 합니다.

4) prng 데몬을 시작 합니다.
[/]# /usr/local/sbin/prngd -s /dev/urandom /var/run/egd-pool

% 반대로 데몬을 정지 하고자 한다면 다음과 같이 하셔야 합니다.
[/]# /usr/local/sbin/prngd --kill /var/run/egd-pool

5) ssh 통신을 위한 보안키를 생성 합니다.
[/]# ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N ""
[/]# ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key -N ""
[/]# ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key -N ""

6) sshd 의 사용자를 생성합니다.
[/]# useradd sshd

7) 디렉토리를 생성합니다.
[/]# mkdir /var/empty

8) sshd 데몬을 뛰웁니다.
[/]# sshd

9) 연결하려는 컴퓨터도 위와 같이 셋업을 한후에 test 합니다.
[/]# ssh comedu100
root@comedu129's password: *******
Last login: Wed Feb 12 15:14:06 2003 from comedu127
Sun Microsystems Inc. SunOS 5.8 Generic February 2000
Sun Microsystems Inc. SunOS 5.8 Generic February 2000
You have new mail.

또는 sftp 로 접속하여 안전하게 파일을 암호화 하여 전송합니다.
[/] # sftp comedu100
Connecting to comedu129...
root@comedu129's password:
sftp>

10) test가 제대로 되었을 경우 부팅후에도 계속적으로
daemod을 사용할 수 있도록 startup script 를 생성합니다.


[/]# vi /etc/rc2.d/S88ssh
------------------- 여기부터 ----------------------
#!/bin/ksh
case "$1" in
start)
/usr/local/sbin/prngd -s /dev/urandom /var/run/egd-pool
/usr/local/sbin/sshd
;;
stop)
pkill -9 sshd
/usr/local/sbin/prngd --kill /var/run/egd-pool
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
------------------- 여기까지 ----------------------

[/]# chmod u+x /etc/rc2.d/S88ssh
 
Q&A게시판에 질문하신 분이 계셔서 글을 올립니다..
이작업을 수행하고 나면 라이브러리 에러가 발생할 수 있다는군요..
해결책으로는 gcc를 설치해 주시면 깔끔하게 해결이 된답니다..
 
출처
반응형

'OS > SOLARIS' 카테고리의 다른 글

solaris 솔라리스 svcadm 설정 rsh  (0) 2007.08.21
솔라리스 10에서 nfs 설정하기  (0) 2007.08.17
Solaris Resource Manager (SRM)  (0) 2007.08.02
dumpadm  (0) 2007.08.02
Solaris 보안  (0) 2007.08.01
Posted by [PineTree]
OS/SOLARIS2007. 8. 2. 18:43
반응형
 
Resource Manager는 Solaris9 OS 이상부터 포함되어 있는 기술로
OS차원에서의 전반적인 자원 관리를 할 수 있는 기술입니다.
 
최근들어 시스템 통합작업(consolidation)을 많이 하게 됩니다.
여러대로 나누워져 있는 서버를 성능 좋은 하나의 서버에 통합 하게 되는데
이때 각 서버에서 사용하던 서비스를 하나의 시스템에 통합하게 되면
시스템 자원에 대한 고민이 생기게 됩니다. 예를 들어 oracle과 web서비스를
통합했을 때 web서비스가 시스템의 CPU와 Memory를 모두 사용하게 될 경우
Oracle서비스는 자원 부족으로 동작하지 못하거나 느려지는 문제가 발생하게 됩니다.
이런 문제점들을 해결하기 위해 Resource Manager를 이용하게 되면 별도의 비용없이
서비스들을 효율적으로 자원 관리 할 수 있습니다.
 
시스템 차원에서의 자원 관리는 다음과 같은 것들을 포함합니다.
 
1. CPU 자원 관리
  
   1) Fair Share
  
       - 서비스가 전체 CPU 사용량을  특정 비율로 정해 사용하는 기술입니다.
         예를 들어 Oracle 서비스와 WEB 서비스를 동시에 사용하는 서버에서
         Oracle 서비스는 전체 CPU의 50% 사용까지 , WEB서비스는 전체 CPU의
         30% 까지만 사용하도록 제한하여 사용하고자 할 경우에 사용되는 기술입니다.
 
       - 특정 Login 사용자에게 CPU 사용률을 부여 할 수 있습니다.
          예를 들어 Oracle 사용자에게는 전체 CPU 사용률 50%로 제한을 할 수 있습니다.
 
       - 사용자,서비스별 CPU사용량을 모니터링 할 수 있습니다.
 
   2) Resource Pool
 
       - 다중 CPU 환경에서 특정 서비스를 특정 CPU들에 연결하여 사용하는 기술입니다.
          예를 들어 10개의 CPU중에서 Oracle 사용자에게는 CPU 2,3,4,5번 을 사용하도록
          설정하고, WEB 사용자에게는 CPU 6,7,8,9,10번을 사용하도록 설정할 수 있습니다.
 
 2. Memory 자원 관리
   
       - 서비스별 Memory 사용량을 제한 할 수 있습니다.
         예를 들어 전체 메모리 10Gbyte중  Oracle 서비스는 6Gbyte만 사용하도록 하고
         WEB 서비스는 3Gbyte만 사용하도록 제한 할 수 있습니다.
 
       - 서비스별 Memory 사용량을 모니터링 할 수 있습니다. 예를 들어 oracle관련
          Process들의 메모리 사용량을 확인 할 수 있습니다.
 
3. Process 제한 관리
 
       - Process와 관련된 제한을 쉽게 설정한다.  Shell의 limit를 resource 로 변경됨.
 
    1) Address space 제한
        - Process의 가상 메모리 사이즈 제한 설정할 수 있다.
   
     2) Core File 제한
         - Process 문제로 인해 발생하는 Core 파일의 사이즈를 제한 한다.
 
     3) CPU 사용시간 제한
         - Process가 CPU를 특정 시간이상 사용하지 못하도록 제한 한다.
   
      4) Heap 사이즈 제한
         - Process가 사용하는 Heap 메모리 사용량을 제한한다.
   
      5) 파일 사이즈 제한
         - Process가 만들 수 있는 최대 파일 사이즈를 제한 할 수 있다.
 
      6) 최대 Open 파일  개수 제한
         - Process가 최대 동시에 OPEN할 수 있는 파일 사이즈를 제한 할 수 있다.
 
      7) 최대 Stack 사이즈 제한
         - Process가 사용할 수 있는 Stack 사이즈를 제한 할 수 있다.
 
4. Extended Accounting
     기존 Account와 별도로 확장된 Account 기능이 제공됩니다.
     시스템 관리자는 Account기능을 이용해 시스템 사용량을 일별, 월별로
      기록 하여 관리 할 수 있습니다.
 
     1) Process & task
        - Prcess별 시작, 종료, 사용된 시간이 기록됩니다.
        - Process별 Swap  , Disk , Network ,signal 사용량 등이 기록 됩니다.
        - Process뿐만 아니라 서비스 별로 기록된다.
          ( 예를 들어 Oracle서비스가 얼마정도 1시간30분20초 동안 사용했다.)
 
     2) Flow account
        - IPQOS를 이용한 Network 사용량이 기록 됩니다.
        - IP-address 별로 사용량이 기록 됩니다.
        - Network Port별로 사용량이 기록 됩니다.
        - 사용자별로 network 사용량이 기록 됩니다.
        - Class별로 Network 사용량이 기록 됩니다.
        - 서비스별로 Network 사용량이 기록됩니다.
         ( 예를 들어 Oracle 서비스는 10.10.10.1 서버와 통신시 1Gbyte를 통신했다.)
 
5. IPQOS 자원 관리
     Network의 사용량을 분석하고 제한할 수 있다.
   
     - Packet별로 사용자 우선 순위 설정이 가능하다.
     - Class별 사용량을 제한할 수 있다.
     - Class별 처리량에 따른 Packet 구분이 가능하다.
        예를 들어 1Mbps 속도 이내로 전송되는 packet과 1Mbps 이상으로 전송되는
        Packet을 구분하여 제한 할 수 있다.
     - Flow acount와 연동하여 Network 사용량을 기록 한다.
      
6. Solaris10 에서의 추가 자원관리
     솔라리스9 버젼보다 10에서는 보다 많은 자원 관리 기능을 수행합니다.
    
   - IPCS 관련 사용량 제한으로 더이상 Oracle설치후 /etc/system 파일에
      IPCS관련 설정 값을 기록할 필요가 없으며 Oracle설치후 시스템을 rebooting할 필요없다.
 
   - Zone이라는 가상 서버 기술과 Resource manager를 이용하여 CPU 자원관리를 한다.
  
   - 20개 이상의 Proces자원 관리가 추가됨
 
반응형

'OS > SOLARIS' 카테고리의 다른 글

솔라리스 10에서 nfs 설정하기  (0) 2007.08.17
SSH  (0) 2007.08.02
dumpadm  (0) 2007.08.02
Solaris 보안  (0) 2007.08.01
Solaris 설치 후 기본적인 설정  (0) 2007.07.25
Posted by [PineTree]
OS/SOLARIS2007. 8. 2. 18:37
반응형
[1] 기능

이 명령어는 시스템의 크래쉬 덤프(Crash dump) 환경 설정을 위하여 사용한다.
시스템의 크래쉬는 예기치 않은 이벤트(event)로 인하여 시스템에서 발생하는 치명적인 장애라 할 수 있다.
이때 장애를 일으키는 원인을 찾기 위해서는 시스템의 장애 발생 시점에서의 각종 상황을 이해해야 한다.
CPU에서 실행이 되어지는 프로세스는 무엇이고, 메모리에 있던 프로세스는,
각종 캐시에 있던 내용등에 대해서 상세한 정보가 필요하다.
이러한 정보들은 항상 메모리에 흔적이 남아 있다.
크래쉬 덤프란 이 메모리의 내용을 파일로서 받기 위한 방법이라 할 수 있다.

[2] 형식
   /usr/sbin/dumpadm  [ -nuy ]  [ -c content-type ]  [ -d dump-device ]
                      [ -m min k | min m | min% ] [ -s savecore-dir]
                      [ -r root-dir ]


[3] 상세 설명

dumpadm 프로그램은 시스템에서 크래쉬 덤프 기능을 설정하기 위한 시스템 어드민 명령어이다.
크래쉬 덤프는 잘못된 시스템 에러가 발생 하였을 때, 시스템의 물리적인 메모리의 내용을 디스크로 복사한다.
OS의 치명적인 에러가 발생할 때, 콘솔 창에는 에러에 대하여 메시지가 상세히 출력된다.
OS는 물리적 메모리의 내용을 사전에 정의된 덤프 디바이스(dump device-일반적으로 로컬 디스크 파티션을 사용한다.)에
쓰기를 함으로써 크래쉬 덤프는 활성화 되어진다. 덤프 디바이스는 dumpadm에 의하여 설정되어 진다.
OS의 에러는 OS의 버그(bug)에 의할 수 있으며, 디바이스 드라이버나, 로드러블(loadable) 모듈, 하드웨어의 실패 등이 있을 수 잇다. 1
이러한 경우가 발생 하였을 때, 크래쉬 덤프는 지원하는 엔지니어가 문제를 분석을 할 수 있는 정보 등을 제공한다.
시스템 크래쉬는 savecore 라는 유틸리트를 부팅하는 동안에 자동으로 실행 하여, 덤프 디바이스로부터
크래쉬 덤프를 복구한다. 이때 복구는 사용자의 파일 시스템에 unix.X, vmcore.X
형식의 파일로 쓰기를 실행한다.
X는 10진 양의 정수로서, 처음 생성이 되면 0, 두 번째 생성이 되면 1 등의 번호를 순서적으로 갖게 된다.
저장되어지는 디렉토리는 dumpadm에 의하여 설정되어 진다.
기본적으로는 /var/crash/server_name이 된다.

기본적으로 덤프 디바이스는 스왑(swap) 파티션으로 설정되어 있다.
스왑 파티션은 OS에서 가상 메모리을 내용을 백업 저장하기 위하여 예약된 디스크의 파티션이다.
그러나, 덤프 하기 위하여 있는 데이터는 덮어쓰기가 되어버릴 수 있으므로 영구적이지 못하다.

다음은 아무런 옵션 없이 dumpadm 을 실행한 결과이다.
# dumpadm
         Dump content: kernel pages
         Dump device: /dev/dsk/c0t0d0s1 (swap)
  Savecore directory: /var/crash/cyber
    Savecore enabled: 예

옵션 없이 실행을 하게 되면, dumpadm은 크래쉬 덤프를 위하여 현재 시스템에 설정 되어 있는 내용을 출력한다.
위 결과의 내용은 다음과 같다.
덤프를 할 내용은 “kernel”이고, 현재 덤프 디바이스는 /dev/dsk/c0t0d0s1(swap)이고,
나중에 파일로서 저장되어지는 디렉토리의 경로는 /var/crash/cyber이며,
savecore는 시스템 부팅 시 자동으로 하게끔 enable 상태로 되어 있다.

[4] 옵션

  
[표1] dumpadm 명령어의 옵션
-c content-type- 덤프 되어지는 덤프 내용
     -content-type
     kernel     커널 메모리 페이지만 덤프
     all     모든 메모리 페이지를 덤프
-d dump-device- 덤프 디바이스는 절대 경로
- /dev/dsk/cNtNdNsN 형식으로 기술처음에 시스템이 구성될 때 dumpadm은      swap을 기본 디바이스로 사용하고 있으며, 그대로 사용하는 것이 일반적이다.
-m min k | min m | min%- 현재의 savecore를 할 디렉토리를 가지는 파일 시스템의 공간이 부족할 경우 프리 공간(free space) 범위 내에서만 생성이 되도록 설정

min 은 다음의 인수를 가진다.
     k     Kbyte 단위로 파일 저장
     m     Mbyte 단위로 파일 저장

           - %은 minfree 값이 savecore 디렉토리를 포함하는 파일 시스템이 현재 전체크기의 주어진 퍼센트(%)로서 계산되어진다.
-n시스템 리부팅 시에 자동으로 savecore를 실행하지 않는다.(거의 사용하지 않음)
-r root-dirdumpadm이 생성하는 상대적인 경로는 /(root)에서 찾는다. 기본적으로 /로 설정 되어 있으므로, 변경을 하지 않는다.
-s  savecore-dirsavecore 유틸리트에 의하여 저장되어지는 디렉토리의 절대적인 경로를 표시한다. 기본 경로는 /var/crash/server_name이며, 시스템 관리자는 이를 여가 많은 다른 파일시스템의 디렉토리로 변경 할 수 있다.
-u/etc/dumpadm.conf 파일을 강제적으로 업데이트하기 위한 옵션이며, 시스템이 리부팅(rebooting) 되어 질 때, veore 시작 스크립트에 의해서만 사용되어진다.
-y시스템 리부팅 시에 자동으로 savecore를 실행한다. 기본적으로 설정되어 있는 옵션




[5] 예제

예제1] 덤프 디바이스의 변경
# dumpadm -d /dev/dsk/c0t1d0s7
         Dump content: kernel pages
         Dump device: /dev/dsk/c0t1d0s7 (dedicated)
         Savecore directory: /var/crash/cyber
         Savecore enabled: 예


이때 /dev/dsk/c0t1d0s7 파티션은 마운트되어 사용하는 파일 시스템이 아니어야 한다.

예제2] savecore 디렉토리 변경
# dumpadm -s /home88/lsi
        Dump content: kernel pages
        Dump device: /dev/dsk/c0t0d0s1 (swap)
        Savecore directory: /home88/lsi
        Savecore enabled: 예

savecore할 디렉토리가 /var/adm/cyber에서 /home88/lsi로 변경되었다.
이후 save 유틸리트는 크래쉬 덤프 파일들을 /home88/lsi 디렉토리로 저장할 것이다.

[6] /etc/dumpadm.conf 파일
이 파일은 dumpadm 명령어에 의해서 크래쉬 덤프에 대한 내용이 변경이 될 경우 자동으로 업데이트 되어진다.
예를 들어, 다음과 같이 savecore 디렉토리를 변경하면, 이 파일의 내용도 다음과 같이 바뀌게 된다.

# dumpadm -s /home88/lsi
        Dump content: kernel pages
        Dump device: /dev/dsk/c0t0d0s1 (swap)
        Savecore directory: /home88/lsi
        Savecore enabled: 예

# more /etc/dumpadm.conf
#
# dumpadm.conf
#
# Configuration parameters for system crash dump.
# Do NOT edit this file by hand -- use dumpadm(1m) instead.
#
DUMPADM_DEVICE=/dev/dsk/c0t0d0s1
DUMPADM_SAVDIR=/home88/lsi
DUMPADM_CONTENT=kernel
DUMPADM_ENABLE=yes

그리고, 크래쉬 덤프를 위하여 사용하는 디바이스는 /dev/dump 라는 디바이스 파일을 이용한다.
이 어드민 명령어는 Soalris 7이상에서만 지원이 됩니다.
반응형

'OS > SOLARIS' 카테고리의 다른 글

SSH  (0) 2007.08.02
Solaris Resource Manager (SRM)  (0) 2007.08.02
Solaris 보안  (0) 2007.08.01
Solaris 설치 후 기본적인 설정  (0) 2007.07.25
Solaris,HP-UX 에서 패치  (0) 2007.07.20
Posted by [PineTree]