OS/Solaris

2011.12.15 솔라리스 4일차 swap, AutoFS, syslog

에몽이ㅋ 2012. 1. 9. 22:08

SWAP


하기전에 명령어 하나~

# mkfile 40mb  /export/home/filename         

40MB filename 인 파일을 만든다.


1. SWAP의 개념

SWAP은 왜 필요한가?

프로세스가 200mb라고 가정하고, RAM이 100mb라고 가정한다. 이때 램에서는 일단 100mb를 불러들인다음, 계속 진행하다가 사용자가 램에 없는 100mb중에서 뭔가를 요구하면 램은 현재 램안에 있는 자료를 비우고 나머지 100mb를 불러들인다.

이 때, 현재 램안에 있는 자료를 SWAP안에 저장한다. 고로 램이 2GB이하라면 SWAP시스템은 램의 1.5배~2배가 적당하다.(램 용량이 많으면 swap용량은 그리 많이는 필요하지 않다)


2. SWAP에 관한 명령어


# swap  -option(-lsad)

-l  : swap space list표시

-s : swap space 요약정보

-a : swap space 추가

방법 1:  swap이 모자라서 시스템이 엄청 버벅이고 급할때

# mkfile 늘릴용량  filename

# swap -a  filename

방법 2 : swap을 추가하고 싶은데 slice단위로 추가할때

하드를 추가하고 slice를 하나 만든다음

/etc/vfstab에 다음과 같이 내용을 추가한 후 리부팅

/dev/dsk/추가할slice        -        -        swap        -        no        -

-d : swap space 삭제



AutoFS


1. 개념 : 

NFS(http://blog.naver.com/gyh214/90131222955) + 자동공유


좀 더 풀어서 설명하면, 클라이언트쪽에서 어떠한 디렉토리를 액서스하면 automountd가 지켜보고 있다가 바로 서버쪽의 디렉토리로 자동mount하는 것이다. 자동unmount도 해준다(default: 해당 디렉토리가 10분동안 쓰이지 않을때)


2. 설정

Server쪽 : NFS설정 그대로

Client쪽 : NFS설정 그대로 + automountd


automountd의 설정이 AutoFS의 관건이다. 설정파일을 map이라고 부른다.


설정파일

/etc/auto_master     →   /etc/auto_direct (Direct Map -- 반드시 절대경로로 설정)

                                 ↘   /etc/설정한파일  (Indirect Map -- 반드시 상대경로로 설정)


/etc/auto_master 파일

bash-2.05# cat /etc/auto_master

# Master map for automounter

#

+auto_master

/-              auto_direct

/net            -hosts          -nosuid,nobrowse

/home           auto_home       -nobrowse

/xfn            -xfn


/net,  /home,  /xfn 이외의 다른 디렉토리는 auto_direct파일을 보고 공유를 합니다.(/-     auto_direct)

말로만 설명하면 어려우니 가상으로 상황을 하나 설정하겠습니다.


 Server, Client 공통

 /etc/hosts안에 각각 partner system정보추가

 Direct Map 구성

 시나리오  :  서버에서 공유한 /usr/share/man을 client에서 자동mount해서 사용한다

 Indirect Map구성

 시나리오 : 서버에서 공유한 사용자의 Home Directory를 client에서 자동mount하여 사용한다.

 Server 설정

 Server 설정 

 # vi  /etc/dfs/dfstab

share -r ro /usr/share/man
 # ps -ef|grep mountd
 # /etc/init.d/nfs.server start 

 # useradd -u 5001 -g 10 -m -d /export/home/user5000 user5000

 # passwd user5000

 # vi  /etc/dfs/dfstab

share     /export/home
 # ps -ef|grep mountd
 # /etc/init.d/nfs.server start

 Client 설정

 Client 설정

 client의 /usr/share/man을 딴 곳으로 옮긴 후

 # vi  /etc/auto_master
 /-    auto_direct   <---- 없으면 추가
 # vi  /etc/auto_direct
 /usr/share/man       partner:/usr/share/man 
                                       <------ 추가
 # automount
 # man ls  (자동공유되는지 체크)

 # useradd -u 5001 -g 10 -m -d /export/home/user5000 user5000 

 # passwd user5000

 # vi /etc/passwd에서 user5000의 home path를 /home/user5000으로 변경

 # vi  /etc/auto_home

 user5000     partner:/export/home/user5000 추가

 # su - user5000


특별히 /etc/auto_master 편집하지 않아도 되는 이유는 기본적으로 auto_home부분이 이미 작성되어 있기때문이다.




syslog()
사람은 죽어서 이름을 남기고, 호랑이는 죽어서 가죽을 남기고, 솔라리스는 죽을때 로그를 남긴다.
syslog란, 시스템에 로그메시지를 남기고 처리하는 프로그램 + 설정파일 모두를 지칭하는 말이다.

/etc/syslog.conf
에 정의된 정보에 의해 msg sending

/etc/syslog.conf의 구성
selector<tab>action   (반드시 탭이어야 한다, 스페이스 안됨)
selector : facility.level