Tag Archives: 리눅스

내부 서버간의 접속 딜레이 해결방법

사용자 삽입 이미지
위와 같은 서버 구조가 있다고 생각해보자. 웹서버 3대가 서비스 중이며 사용자가 업로드한 파일은 NFS로 마운트된 디렉토리에 저장된다.

FILE SERVER는 순전히 내부 네트워크용도로 사용되며 FILE SERVER는 DNS를 사용하지 않을것이라고 가정하자.

서버를 설치할때의 기본 설정이라면 NFS마운트시에 꽤 많은 시간의 딜레이가 걸릴것이다.

하지만 중요한건 결국은 마운트가 된다는것;; 일단 마운트가 되면 매우 잘되는것을 확인할 수 있다.

하지만 DNS를 사용하지 않는다면 다음과 같은 방법으로 /etc/nsswitch.conf 설정을 바꿔 딜레이를 제거할 수 있다.

[code]#hosts:     db files nisplus nis dns
hosts:      files[/code]

호스트를 찾기 위해 수많은 방법을 동원한다는것인데 files만 지정해주면 /etc/hosts만을 참고한다. 거기에도 없으면 아이피로 찾을것이다.

일반적인 웹서버에서도 dns만 추가한 다음과 같은 설정을 사용하는것이 커넥션 딜레이를 최소화 할 수 있을 것이다.

[code]#hosts:     db files nisplus nis dns
hosts:      files dns[/code]

[간단 정리] 리눅스 NFS 설정하기

이번에는 NFS(Network File System)의 설정에 대해 간단히 정리만 하겠습니다;;

처음 설정 하시는 분들에게는 별로 적합하지 않은 메뉴얼이 될것 같네요.

HOST 서버 설정 —————————————————————————————————-
/etc/exports 설정
[code]/home/nfs 192.168.0.0/24(rw,all_squash,insecure,sync,anonuid=99,anongid=99)[/code]
첫번째 /home/nfs는 외부에 마운트를 허용할 디렉토리임
두번째 네트워크 주소는 접근을 허용할 호스트 범위임

/etc/sysconfig/nfs 설정
[code]STATD_PORT=4001
LOCKD_TCPPORT=4002
LOCKD_UDPPORT=4002
MOUNTD_PORT=4003[/code]

데몬 실행 (ntsysv등에서 기본 실행으로 등록할 것)
[code][root@Theeye /]# service portmap start
[root@Theeye /]# service nfs start
[root@Theeye /]# service nfslock start[/code]

방화벽을 사용시 다음의 포트를 열어준다.
[code]111:tcp 111:udp 2049:tcp 2049:udp 4001-4003:tcp 4001-4003:udp[/code]

다음의 명령어로 데몬이 제대로 실행중인지 확인한다.
[code][root@Theeye /]# rpcinfo -p
   프로그램 버전 원형   포트
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100011    1   udp    847  rquotad
    100011    2   udp    847  rquotad
    100011    1   tcp    850  rquotad
    100011    2   tcp    850  rquotad
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100021    1   udp   4002  nlockmgr
    100021    3   udp   4002  nlockmgr
    100021    4   udp   4002  nlockmgr
    100021    1   tcp   4002  nlockmgr
    100021    3   tcp   4002  nlockmgr
    100021    4   tcp   4002  nlockmgr
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100005    1   udp   4003  mountd
    100005    1   tcp   4003  mountd
    100005    2   udp   4003  mountd
    100005    2   tcp   4003  mountd
    100005    3   udp   4003  mountd
    100005    3   tcp   4003  mountd
    100024    1   udp   4001  status
    100024    1   tcp   4001  status[/code]

REMOTE 서버 설정 ————————————————————————————————
데몬 실행 (ntsysv등에서 기본 실행으로 등록할 것)
[code][root@Remote /]# service portmap start
[root@Remote /]# service nfs start[/code]

다음과 같은 명령어로 마운트 한다.
[code]mount -t nfs -o nolock,tcp 192.168.0.100:/home/nfs /home/nfs[/code]
192.168.0.100:/home/nfs는 마운트를 할 원격지 서버아이피와 디렉토리를 정의한다.
마지막 /home/nfs는 마운트를 할 로컬 디렉토리이다.
호스트 서버의 /home/nfs를 현재 호스트의 /home/nfs에 마운트를 하겠다는 뜻이다.