linux2

9일차 nfs

컴공 2013. 2. 14. 23:56
반응형

이전 시간에 fstab에 대해서 진행하며 UUID부분에 마운트 위치를 적어줘도 되지만
UUID를 사용하는 이유는 물리적값을 직접 적음으로써 scsi와 IDE 타입이 혼재된 시스템에서
장치명이 렌덤으로 바껴 야기되는 혼란을 피할 수 있다.
SCSI끼리는 괜찮다. 그러나 IDE가 추가되면 IDE가 sda와 같이 sd*중 가장 앞자리로 할당되고 scsi는 모두 뒤로 하나씩 밀린다. 그러나 두 번째부터는 렌덤으로 할당된다.
UUID는 유닉스 관련 파일시스템인 GTP 파티션의 GUID와 유사하며 윈도우는 아래와 같이 할당된다.

C:\Users\Administrator>bcdedit

Windows 부팅 로더
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  ko-KR
inherit                 {bootloadersettings}
recoverysequence        {3804ef4d-72c5-11e2-9e0a-fbda7ac4208e}  //window 부팅 물리주소
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {3804ef4b-72c5-11e2-9e0a-fbda7ac4208e}
nx                      OptIn

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

NFS(Network File System)

솔라리스를 만든 썬 마이크로 시스템즈가 NIS(Network Information Service)와 함께 개발한 것으로
ext3의 단점을 개선하고 NFS를 추가하여 만든 것이 ext4이다. 5.대의 centos는 ext3까지 지원한다.
5.대의 NFS는 80% 이상이 오류가 나는데 여기에 용량오류를 수정한 것이 ext4이다.
nfs서버로 부터 client에 마운트한다.

nfs의 장점
- 중앙 집중적으로 관리 가능(저장하는 곳이 1곳)
- 투명성 확보 및 디스크 절약이 가능
- 자료의 일관성과 신뢰성 (관리자가 한 곳에서 모두 처리함)

RPC 관련 패키지
# rpm -qa|grep portmap //6.3에서는 기본 패키지로 제공한다 (xinetd에 포함되어 있슴)
5.대 centos에서 RPC 구동시
# service portmap restart

RPC(Remote Procedure Call) 작동원리
# /etc/rc.d/init.d/nfs restart 로 nfs 마운트를 재구동시 변하는 port 값을 찾아준다.
nfs의 포트 확인 
# rpcinfo -p
xinetd에 기본적으로 포함되어있지만 5.대에는 수동으로 해야하기에 nfs데몬은 재시작하지 않는다.
그리고 /etc/exports 에 nfs 설정이 끝나면 exportfs -ra로 공유정보를 최신화하기만 하면 된다. 

1.정의:Network를 통해서 File system을 사용하는 방법
(시분할 시스템)// 블레이드서버나 클라우드 서버, (vmware나 zen을 이용)

2.pkg: nfs-utils-~.rpm

nfs-utils-lib-1.1.5-4.el6.i686
nfs-utils-1.2.3-26.el6.i686          주 패키지
nfs4-acl-tools-0.3.3-6.el6.i686
//나머지는 서비스 간력화와 지원 프로그램이다.

3.마운트 이용방법 2가지
1) CMD
2) 부팅시작 마운트( /etc/fstab ) 시작마운트랑은 개념이 틀림

4.nfs서비스 실행 (share을 시작하기 위해)
# /etc/rc.d/init.d/nfs restart
# /service nfs restart

NFS 데몬 실행 (rpcinfo -p시 나타나는 파일들 )
데몬                    담당
nfsd     -  nfs와 nfs_acl을 관리
rpc.mountd - mountd 관리
rpc.statd|rpc.lockd - nlockmgr을 관리


클라이언트  200

서버 150

① pkg 확인. nfs 서비스 실행

② rpc 정보확인 (# rpcinfo -p)
"# rpcinfo -p"
( 유동포트이므로 서비스 재실행시 포트가 변경된다. 재시작시 안되는 이유 => 방화벽 설정시 중요)

③ nfs share 설정
ㄱ. nfs 설정파일: /etc/exprots (빈 값이 있슴)

ㄴ. 공유 정보
a. 확인    : # exportfs -v
b. 최신화 : # exportfs -ra

④ 방화벽 해제
=> 6.3 centos : nfs 서비스가 존재
=> 5.x 이하는 "#  rpcinfo -p"로 확안되는 모든 포트를 수동해제

① pkg 확인

② rpc 정보 확인  (# rpcinfo -p)

③ mount로 공유 가져오기

# mount -t  nfs   Device   MountPoint
[nfs가 파일 형식을 알아서 찾음] [절대경로]
# mount -t nfs 192.168.180.200:/nfs_server0 /nfs_client

 mount 정식 형식
# mount -t fs-type option Device MP
fs-type과 option을 nfs로 mount 시 다르게 적는 이유는 local(내 장치 device는 생략가능)이고 option은 설정하지 않으면 default로 저장되기 때문이다.


실습문제

아래 같이 nfs 서비스를 설정하시오
1. nfs server - LinuxBT iamage1
*SCSI type 2gb 추가 후 2개의 파티션 설정
*각 파티션 mp:
sdb1 - /nfs_scsi
sdb2 - /hosting_user (자동 마운트로 설정하세요)0

*각 mp를 이용하여 nfs 서비스로 등록하시오
(nfs_sc1 - Host 방식 /nfs_sc2 - Network 방식)

vi /etc/exports
[share dir] [access allow host/ network](option)
1) 호스트 지정   /nfs_server   x.x.x.200(ro,no_root_squash, sync)
2) 네트워크방식 /nfs_server   x.x.x.0/255.255.255.0(rw,sync)
3) 모두 쓰게함  /nfs_server    *(sync)

옵션
ro - 읽기 전용으로만 연결을 허용
rw - 일기 쓰기 가능한 연결
root_squash - nfs 설정시 기본 값, 익명계정으로 연결을 허용
no_root_squash - 클라이언트가 서버 측에 접속 요청시 관리자 계정으로 맵핑시켜 연결을 허용
sysnc - 서버와 클라이언트 간의 동기화를 의미 (네트워크간 딜레이를 최소화시킨다)

적용 후에는 데몬을 재시작할 필요없이 exportfs -ra 을 하고 exportfs -v 로 확인하면 된다.

 

2. NFS Client - LinuxBT image2
* (LinuxBT Image1) : /nfs_sc1 -> mp - /hotsix

# fdisk

 

 server

client 

① rpcinfo -p (portmapper 확인)

② /etc/rc.d/init.d/nfs restart (nfs 데몬 실행)

③ vi /etc/exports
/nfs_sc1 192.168.117.200(rw,no_root_squash, sync)

④ mkdir /nfs_sc1
# /exportfs -ra 로 동기화(reset all)
# /exportfs -p 로 확인

⑤ 서브측 방화벽 해제 system-config-firewall
nfs4 체크

① rpinfo -p (portmap부터 확인)

② mkdir /nfs_sc2

③ mount -t nfs 192.168.117.150:/nfs_sc2  /nfs_client

( ※ nfs는 마운트시 "/" 루트영역의 모든 용량을 사용한다. centos는 90% 이상이되도 부하만 일어날 뿐이지만, 솔라리스의 경우 90% 이상이되면 "단순부팅모드"로 변해버린다.)

 


 실습3
1. Test (UID:500) 계정을 사용하여 접속 # cat /etc/passwd /etc/group |grep 500
2. FTP_linux 디렉토리에 접근시 모든 class member의 디렉토리가 보이도록 구성
# chmod u+r FTP_linux
# chmod g+r FTP_linux
# chmod o+r FTP_linux

3. Clinet가 한명의 ftp server 접속 후 class memberX 디렉토리에 업로드 시 모든 class member의 FTP_linux /Class memberX에 업로드 되도록 구성(NFS 활용)
# vi /etc/exports
/FTP_linux/class1 192.168.117.200(rw,no_root_squash,sync)
/FTP_linux/class2 192.168.117.200(rw,no_root_squash,sync)
/FTP_linux/class3 192.168.117.200(rw,no_root_squash,sync)
/FTP_linux/class4 192.168.117.200(rw,no_root_squash,sync)
# exportfs -ra
# exportfs -v
CMD ) ftp noose@192.168.117.150

반응형

'linux2' 카테고리의 다른 글

9일차 Autofs  (0) 2013.02.15
유닉스 파일시스템  (0) 2013.02.15
시스템 주요파일 복구방법(fstab,passwd,shadow)  (0) 2013.02.14
8일차, SCP(secure Copy)  (0) 2013.02.14
[부팅과정] 퍼왔죠  (0) 2013.02.13