관리 메뉴

공부공부 공부공부내용

vol2 _5 nfs 스토리지 구성과 마운트로 연결하기 (수동맵, 자동맵<직접맵,간접맵>) 본문

IT 기초, 네트워크, 리눅스/2. 리눅스 기초 vol2 (kvm 활용한 서비스 관리)

vol2 _5 nfs 스토리지 구성과 마운트로 연결하기 (수동맵, 자동맵<직접맵,간접맵>)

wkdth04 2020. 6. 3. 22:16

자동 마운트 방식 에 따라 1. 직접맵 2.간접맵

1)-직접
- 마운트 포인트가 존재한다.

- 1:1 방식

마스터맵 형식 : /etc/auto.master.d/<이름>.autofs

/-        /etc/auto.<이름>

 

직접맵 형식 : /etc/auto.<이름>

/mnt/public         -rw,sync,sec=sys 192.168.122.200:/shares/public          //맨앞 저렇게 디렉토리 적어줘야함(/mnt/public)

 

mkdir /mnt/public (이렇게 파일디렉토리 먼저 만들어줘야함)

systemctl start autofs

 

2)-간접맵

- 마운트 포인트가 존재하지 않음

- 1:1 방식

마스터맵 형식 : /etc/auto.master.d/<이름>.autofs (마스터 맵까지는 직접마운트와 동일)

/test          /etc/auto.<이름>

 

간접맵 /etc/auto.<이름>

public       -rw,sync,sec=sys       192.168.122.200:/shares/public

docs         -rw,sync,sec=sys        192.168.122.200:/shares/docs

work         -rw,sync,sec=sys       192.168.122.200:/shares/work

 

- 1:n방식

마스터맵 형식 : /etc/auto.master.d/<이름>.autofs 

/test     /etc/auto.<이름>

 

간접맵 /etc/auto.<이름>

* -rw,sync,sec=sys 192.168.122.200:/shares/&


수동마운트 실습

<서버>

1. 설치

yum install -y nfs-utils (서버열어주는거)

yum install -y rpcbind (구성에 있어서 필요한것) -----------> 생략가능


2. 공유디렉토리 만들기 mkdir /nfs

권한주기 chmod 777 /nfs


공유디렉토리 추가 만들때

mkdir {public,docs,work}

chmod 777 {public,docs,work}

ls -al 로 확인


vi /etc/exports

/nfs 192.168.122.0/24(rw,syncsec=sys)

/nfs/public 192.168.122.0/24(rw,syncsec=sys)

/nfs/docs 192.168.122.0/24(rw,syncsec=sys)

/nfs 192.168.122.0/24(rw,syncsec=sys)


3. systemctl start rpcbind

systemctl start nfs-server

systemctl enable rpcbind

systemctl enable nfs-server 후 재부팅

exportfs -v (systmectl start 해줘야 보임)


4. 방화벽 설정 데몬열어주기

firewall-cmd --permanent --add-service=nfs

firewall-cmd --permanent --add-service=rpc-bind

firewall-cmd --permanent --add-service=mountd

firewall-cmd --reload


5. <클라이언트 >

1) 수동마운트 첫번째 방법

yum install -y nfs-utils (서버열어주는거)

yum install -y rpcbind (구성에 있어서 필요한것) -----------> 생략가능

showmount -e 192.168.122.200 (-e로 진짜 export 되고있나 확인)


6. mkdir /mnt/nfs/manual_mount (수동이니까 마운트포인트 만들기)

7. mount -o rw,sync,sec=sys 192.168.122.200:/nfs/public /mnt/nfs/manual_mount/

mount | grep nfs 로 확인

df -Th


1) 수동마운트 두번째 방법

8. vi etc/fstab

192.168.122.200:/nfs/public /mnt/nfs/manual_mount/ nfs rw,sync,sec=sys 0 0

두번째방법 fstab vi 다시들가서 내용 다지우기,   umount -a 해서 다지우고 자동마운트 실습 해보기

 

자동마운트 실습
<서버>

1. 설치
yum install -y nfs-utils (서버열어주는거)
yum install -y rpcbind (구성에 있어서 필요한것) -----------> 생략가능

2. 공유디렉토리 만들기 mkdir /nfs
권한주기 chmod 777 /nfs
공유디렉토리 추가 만들때
mkdir {public,docs,work}
chmod 777 {public,docs,work}
ls -al 로 확인

vi /etc/exports
/nfs 192.168.122.0/24(rw,syncsec=sys)
/nfs/public 192.168.122.0/24(rw,syncsec=sys)
/nfs/docs 192.168.122.0/24(rw,syncsec=sys)
/nfs 192.168.122.0/24(rw,syncsec=sys)

3. systemctl start rpcbind
systemctl start nfs-server
systemctl enable rpcbind
systemctl enable nfs-server 후 재부팅
exportfs -v (systmectl start 해줘야 보임)

4. 방화벽 설정 데몬열어주기
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload

 

<클라이언트 자동마운트_직접맵>

sudo yum install autofs (자동마운트 관리해주는 설치파일)

(이름은 상관없고 마스터 파일의 파일만 만들어 줄 것)
vi /etc/auto.master.d/direct_master.autofs (직접맵 파일을 만들어줌)
             /- /etc/auto.directmap (directmap이라는 이름의 파일)******

vi /etc/auto.directmap
             /mnt/nfs/directmap -rw,sync,sec=sys 192.168.122.200:/nfs/public(마운트 포인트 적어주기, 마운트 옵션적어주기, 서버이름 적어주기 )
or

             /mnt/nfs/directmap/jang -rw,sync,sec=sys 192.168.122.200:/nfs/jang

직접맵은 디렉토리가 있어야한다. 마운트포인트가 필요함. (차이를 이해)
systemctl start autofs.service (이제 실행)
df -Th (로 확인해보면 자동마운트이기 때문에 접근하기 전에는 보이지 않음)
cd /mnt/nfs/directmap 으로 들어갔다가
df -Th 확인하면 마운트 보임

<클라이언트 자동마운트_간접맵_1:1방식>

vi /etc/auto.master.d/indirect_master.autofs

/mnt/nfs /etc/auto.indirect.autofs (맨앞부분이 직접맵은 /- 였지만 간접맵은 /루트 또는 /루트안 경로 등등 으로 넣기)

vi /etc/auto.indirect_map

work -rw,sync,sec=sys 192.168.122.200:/nfs/work(간접맵 만들기)

systemctl restart autofs.service

cd /mnt/nfs/
ls (디렉토리없음을 확인)
cd work
df -Th (마운트된걸 확인할 수 있음, 시간지나면 사라짐)

<클라이언트 자동마운트_간접맵__ 1:n 방식>
cp /etc/auto.indirect_map /etc/auto.indirect_map_n (새로실습을 위해 복사)

vi /etc/auto.master.d/indirect_master.autofs 들어가서 끝에 n만 넣어주기

vi /etc/auto.indirect_map_n

* -rw,sync,sec=sys 192.168.122.200:/nfs/&

systemctl restart autofs.service


자동맵 /간접맵/ 1:n 방식 연습1 (성공)


[서버]
yum install -y nfs-utils
yum install -y rpcbind
systemctl start nfs
systemctl enable nfs
systemctl start rpcbind
systemctl enable rpcbind

firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-reload

mkdir /nfs
cd /nfs
mkdir {public,docs,work}
chmod 777 * /nfs
ls -al
mkdir {jang,so,yeon}
chmod *
chmod 777 *
vi /etc/exports
	/nfs/public	192.168.122.0/24(rw,sync,sec=sys)    ** / 꼭 nfs밑에 경로까지 적어줘야한다.
	/nfs/docs	192.168.122.0/24(rw,sync,sec=sys)
	/nfs/work	192.168.122.0/24(rw,sync,sec=sys)
	/nfs/jang	192.168.122.0/24(rw,sync,sec=sys)		
	/nfs/so		192.168.122.0/24(rw,sync,sec=sys)
	/nfs/yeon	192.168.122.0/24(rw,sync,sec=sys)    
systemctl start nfs
systemctl start rpcbind
systemctl enable nfs
systemctl enable rpcbind
exportfs -r
exportfs -v


[클라이언트 간접맵 1:n 구성]
showmount -e 192.168.122.200
mkdir -p /mnt/nobreak
vi /etc/auto.master.d/exports.autofs
		-> /nobreak        /etc/auto.indirect

vi /etc/auto.indirect
		-> *       -rw,sync,sec=sys        192.168.122.200:/nfs/&


firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=autofs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-reload

systemctl start nfs
systemctl restart autofs
cd /nobreak/
cd jang
df -Th

자동맵 /간접맵/ 1:n 방식 연습2 (성공)


[서버]
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpcbind
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --list-all

systemctl start nfs
systemctl start rpcbind
systemctl enable rpcbind
systemctl enable nfs

mkdir /jjang
mkdir -p /jjang/user{1..4}
chmod 777 /jjang/*
vi /etc/exports
systemctl start nfs
systemctl start rpcbind
exportfs -r
exportfs -v


[클라이언트]
showmount -e 192.168.122.200
mkdir -p /mnt/jsy
vi /etc/auto.master.d/base.autofs
->	/jsy    /etc/auto.indirect

vi /etc/auto.indirect
->	*       -rw.sync,sec=sys        192.168.122.200:/jjang/&

firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=autofs
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload
systemctl start nfs
systemctl start autofs
cd user1
df -Th

/etc/exports 파일형식

 

/nfs 192.168.122.0/24(rw,...,sec)

여기서 sec=none, sys, krb5, krb5i, krb5p 각각 설명 215p참조

krb5i -> 주고받는

krb5p -> 데이터 자체를 암호화, 복호화해서 사용

 

주소

DNS -> *.nobreak.co.kr //DNS서버에 저장되어있을경우에 아니면 아이피 (192.168.122.0/24)

client1.nobreak.co.kr

client2.nobreak.co.kr

client[1,2].nobreak.co.kr (위에 두개 주소 이렇게 표현도 가능하다)

www.nobreak.co.kr

 

192.168.0.5(rw) 192.168.0.10(ro) -> ()->마운트옵션 지정해서 만들기가 가능

DNS서버구성하고 돌고있는 DNS서버에 위에처럼 주소 마운트 하는 거 시험문제 *******

 

-----------------마운트는 어떻게 ? ------------------------

1)수동마운트

- 마운트 명령어를 사용한다.

- fstab(fstable)에 마운트를 추가한다.

 

2)자동마운트 *어렵* -> 자동마운트는 NFS 공유디렉토리를 자동으로 마운트하거나 해제하기 때문에 시스템 자원낭비를 줄일 수 있다. (일정시간동안 접근하지 않으면 마운트 해제)

- 맵파일이 3가지가 존재한다. (1. 마스터맵, 2.직접맵, 3.간접맵)

- 마스터맵 : 마운트 포인트, 맵파일의 경로(직접맵과 간접맵의 경로)

- 직접맵 : 마운트되는 파일시스템의 경로를 와일드카드로 마스크로 입력

 

 

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

<수동마운트 실습>

1. df -Th 로 클라이언트 보면 /mnt/nfs 좀전에 nfs 연습할때 만들어놓았던 공유 디렉토리 umount로 일단 지우기

sudo umount -a

(!그전에 nfs라는 디렉토리가 있어야 한다)

 

2. sudo vi /etc/fstab

swap swap defaults

192.168.122.200:/nfs /mnt/nfs nfs defaults,sec=sys 0 0

 

 

잘 동작하는지 확인하기 위해 sudo mount -a -> df -Th로 확인해보면

맨밑에 nfs4/mnt/nfs에서 동작하고 있음을 확인할 수 있다.

 

3. 재부팅하기

마운트 했으니깐 재부팅 후에도 남아있어야한다.

df -Th 로 다시 마운트 확인.

 

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

 

<자동마운트 실습>

 

--------(서버)----- 할일이 별로없음

4. sudo mkdir -p /shares/{work,docs,public} shares라는 디렉토리에 3개만마운듦

ls ls -ald /shares/ 로 디렉토리 확인

 

5. chmod 777 /shares/{work,docs,public} 권한도 줌

권한 안주고 밑에 vi들어가면 readonly 떠서 변경이 안됨.

6. vi /etc/exports 로 들어가서

/nfs 192.168.122.0/24(rw,sync,sec=sys)

/shares/public 192.168.122.0/24(rw,sync,sec=sys)

/shares/work 192.168.122.0/24(rw,sync,sec=sys)

/shares/docs 192.168.122.0/24(rw,sync,sec=sys) 로 공유할 디렉토리 마운트

나와서

 

7.

sudo systemctl restart rpcbind

sudo systemctl restart nfs-server

sudo systemctl restart nfs

sudo systemctl status nfs

exportfs -r 로 다 잘 되는지 확인해보기

 

$ sudo exportfs -r

$ sudo exportfs -v

 

 

 

-------(클라이언트)-------- // 할게많음

8. sudo yum install -y autofs

9. sudo mkdir /test (여기다가 마운트 할 예정)

 

10. sudo vi etc/auto.master.d/shares.autofs -> 먼저 현재 경로를 cd /etc/auto.master.d/ 로 들어가서vi 실행하기

/test /etc/auto.shares -> /test라는 마운트 할 주소와, 그 옆이 간접맵인지 직접맵인지 지정하는것 (지금은 직접맵)

 

sudo vi /etc/auto.shares ->직접맵 구성

public -rw,sync,sec=sys 192.168.122.200:/shares/public        ->public에다가 이렇게 구성.

work -rw,sync,sec=sys 192.168.122.200:/shares/work        ->public에다가 이렇게 구성.

docs -rw,sync,sec=sys 192.168.122.200:/shares/docs         ->public에다가 이렇게 구성.

 

 

11.

systemctl start autofs

systemctl status autofs

 

12. df -Th로 일단 확인

13. cd /test/

ls -al

df -Th로 보면 들어가기 전에 보면 public, work, docs 확인이 안됨

14.

cd /test/

cd docs

cd public

cd work 등 들어가서 보고

이후에 df -Th 보면

마운트 되어있음 ,,

해당 work 에 파일을 만약 만들면 서버로 접속해서 확인해도 만들어진 파일을 확인할 수 있다.

 

 

<자동마운트 _ 간접맵>

클라이언트에서 vi auto.shares(간접맵) 아래처럼 설정해준다.

저 주소의 서버에서 shares에 있는 모든 디렉토리파일을 마운트 해준다는 뜻이다.

 

vi /etc/auto.shares

* -rw,sync,sec=sys 192.168.122.200:/shares/&

 

직접맵처럼 똑같이 클라이언트에서 파일을 접속해야만

df -Th를 통해서 확인할 수 있다.