'auto mount'에 해당되는 글 2건
- 2015.04.04 [28] nfs(2), nfs auto mount, autofs(1)
- 2015.03.28 [27] auto mount, 응급복구, nfs(1)
- 2014.12.15
1. nfs Server
NFS : Network File System
1) /etc/export 설정
NFS Service 를 구성하기 위한 설정내용을 작성하는 NFS의 주 설정 파일이며, 기본적으로 아무런 데이터도 입력되어 있지 않다.
아래 내용 입력
# vi /etc/exports
1 # NFS configure file (/etc/exports)
2
3 # [Share dir] [access allow host/network] (option)
4 /nfs_server 192.168.1.134 (ro,no_root_squash,sync)
5 # /nfs_server1 192.168.1.0/255.255.255.0 (rw,sync)
6 # /nfs_server2 *(sync) //all network allow
공유 디렉터리 Client ip (option)
※ nfs option
ro : 읽기 전용으로만 연결을 허용한다.
rw : 읽기 쓰기 가능하게 연결을 허용한다.
root_squash : NFS 설정 시 기본값이 되며 클라이언트측에 관리자가 접속 요청을 했을 때 익명 계정으로 연결을 허용한다.
no_root_squash : 클라이언트 측에 관리자가 접속 요청을 했을 때 서버 측에서의 관리자 계정으로 매핑을 시켜 연결을 허용한다.
no_all_squash : NFS 설정 시 기본값이 되며 클라이언트 측에 사용자가 접속 요청을 했을 때 서버 측에 동일한 사용자가 있으면 동일한 계정으로 연결을 허용한다.
해당 계정이 존재하지 않을 경우는 클라이언트의 UID, GID 값이 동일한 사용자로 연결 허용한다.
all_squash : 클라이언트 측에서 사용자로 접근 요청 했을 떄 익명 계정으로 연결을 허용한다.
anonuid=[UID] : 클라이언트 측에서 익명으로 접근 요청 시 지정한 UID 값의 계정으로 연결하게 된다.
anongid=[GID] : 클라이언트 측에서 익명으로 접근 요청 시 지정한 GID 값의 그룹으로 연결하게 된다.
noaccess : 공유 디렉터리 내에서 접근을 거부할 디렉터리가 있으면 사용한다.
sync : server & client 동기화시키기.
2) portmap 데몬의 동작 여부 확인
5 이전 버전의 경우 portmap service를 따로 재시작 해줘야한다.
# /etc/rc.d/init.d/portmap restart
portmap 데몬의 동작 여부 확인
# rpminfo -p
3) NFS 데몬 실행
portmap 동작이 확인 되었으면 NFS 서비스를 동작 시킨다.
# /etc/rc.d/init.d/nfs restart
헌데 아래와 같은 오류 메세지가 출력된다.
exportfs: Failed to stat /nfs_server: No such file or directory
exportfs: No host name given with /nfs_server (ro,no_root_squash,sync), suggest *(ro,no_root_squash,sync) to avoid warning
exportfs: Failed to stat /nfs_server: No such file or directory
먼저는 /nfs_server 라는 디렉터리가 없다고 하니 디렉터리 생성 후에 다시 재시작 해보자.
# mkdir /nfs_server
# /etc/rc.d/init.d/nfs restart
하지만 여전히 나오는 에러 메세지. read only 옵션이 문제인가? 해서 rw로 수정.
exportfs: No host name given with /nfs_server (ro,no_root_squash,sync), suggest *(ro,no_root_squash,sync) to avoid warning
# vi /etc/exports
4 /nfs_server 192.168.1.134 (rw,no_root_squash,sync)
# /etc/rc.d/init.d/nfs restart
여전히 오류난다.
알고보니 ip 와 옵션() 사이에 공백이 있으면 안되는 것. 공백 수정 후 리스타트하면 성공이다.
# vi /etc/exports
4 /nfs_server 192.168.1.134(rw,no_root_squash,sync)
4) NFS 동작 여부 확인
# netstat -lntup | grep nfs
NFS 서비스는 netstat으로 확인 불가하다. 아래 명령어로 확인 가능하다.
# rpcinfo -p
5) NFS 서버 확인
공유정보 확인
# exportfs -v
NFS의 설정(/etc/exports) 정보가 변경되었을 경우 NFS 서비스를 재시작 할 필요 없이 아래 명령어를 사용하여 변경된 내용을 적용할 수 있다.
# exportfs -ra
2. nfs - Client
NFS 서버가 정상적으로 동작하는지 확인
# rpcinfo -p 192.168.1.134
서버 ip
마운트포인트 생성
# mkdir /nfs_client/
# mount -t nfs 192.168.1.134:/nfs_server /nfs_client
type option server client mp
마운트 내역 확인
# df -h
[실습]
samadal 계정정보를 마운트시킨 /nfs_client 로 정보변경 후 samadal이 정상 로그인되는지 확인
# cp ./* ./.* /nfs_client
# mv /export/home/samadal/ /nfs_client/
# usermod -d /nfs_client/samadal samadal
# df -h
Filesystem Size Used Avail Use% Mounted on
192.168.1.134:/nfs_server
7.6G 336M 6.9G 5% /nfs_client
근데 최상위가 있는 파티션을 빌려줬다...?
=> nfs는 디렉터리를 빌려주는 것이 아니라 마운트 된 디렉터리가 있는 파티션을 빌려주기 때문.
[문제]
samadal을 제외한 모든 사용자 삭제 및 IDE HDD 제거하신 후 HDD SCSI 1G : 100(user1), 200, 300, 400
자동마운트, nfs server 설정 후 user1 생성하세요
/etc/fstab 내용에 추가한 것 삭제하여 부팅 시 오류 발생을 막는다.
# vi /etc/fstab
계정 삭제 위해 계정 정보 확인
# tail /etc/passwd
# userdel -r user1
# userdel -r clang1
# userdel -r clang2
# userdel -r linux1
# userdel -r linux2
# userdel -r ms1
# userdel -r ms2
# userdel -r na
# userdel -r np
시스템 종료
# init 0
HDD 삭제 및 추가, 재부팅 하여 필요 없는 mount point 삭제
# rm -rf /Anon/ /Clang/ /Linux/ /Ms/ /Net/
새로 추가한 HDD의 파티션 및 포맷 설정
# fdisk -l
# fdisk /dev/sdb
# mkfs.ext4 /dev/sdb 1~4
mount point 생성 후 auto mount 설정
# mkdir /SCSI/
# cd /SCSI/
# mkdir sdb1 sdb2 sdb3 sdb4
# vi /etc/fstab
19 /dev/sdb1 /SCSI/sdb1 ext4 defaults 1 2
20 /dev/sdb2 /SCSI/sdb2 ext4 defaults 1 2
21 /dev/sdb3 /SCSI/sdb3 ext4 defaults 1 2
22 /dev/sdb4 /SCSI/sdb4 ext4 defaults 1 2
# mount -a
# df -h
마운트 되는 것 확인하면 재부팅 해보는 것이 좋다.
[NFS Server 측 설정]
# vi /etc/exports
4 /SCSI/sdb1 192.168.1.134(rw,no_root_squash,sync)
5 /SCSI/sdb2 192.168.1.0/255.255.255.0(rw,no_root_squash,sync)
6 /SCSI/sdb3 *(rw,no_root_squash,sync)
7 /SCSI/sdb4 192.168.1.0/24(rw,no_root_squash,sync)
변경사항 적용 및 확인
# exportfs -ra
# exportfs -v
[NFS Client 측 설정]
Server 및 mount point 확인
# rpcinfo -p 192.168.1.134
# cd /nfs_client
# mkdir sdb1 sdb2 sdb3 sdb4
마운트 후 확인
# mount -t nfs 192.168.1.134:/SCSI/sdb1 /nfs_client/sdb1
# df -h
계정 추가
# useradd -d /nfs_client/sdb1/user1 user1
# passwd user1
[ nfs auto mount ]
서버 재부팅 후에도 자동으로 마운트 되도록 설정할 수 있다.
그렇다면 서버측에서 nfs 서비스를 서버 재시작 시 자동 실행되게끔 해야한다.
# chkconfig nfs on
[문제]
기존 HDD SCSI 1G : 100(user1), 200(samadal), 300(user2), 400(user3)
자동마운트, nfs server 설정 후 사용자 생성하세요
/etc/fstab 의 마운트 타입을 수정하여 기재.
# vi /etc/fstab
23 192.168.1.134:/SCSI/sdb1 /nfs_client/sdb1 nfs defaults 1 2
24 192.168.1.134:/SCSI/sdb2 /nfs_client/sdb2 nfs defaults 1 2
25 192.168.1.134:/SCSI/sdb3 /nfs_client/sdb3 nfs defaults 1 2
26 192.168.1.134:/SCSI/sdb4 /nfs_client/sdb4 nfs defaults 1 2
계정 정보 설정
# mv /nfs_server/samadal/ /nfs_client/sdb2/
# usermod -d /nfs_client/sdb2/samadal samadal
# useradd -d /nfs_client/sdb3/user2 user2
# useradd -d /nfs_client/sdb4/user3 user3
특정 마운트 용량 확인
# df -h /nfs_client/sdb1
3. autofs
[실습 전 작업]
기존 VMware 삭제, 기존에 client 로 남겨두었던 VMware 실행
putty로 root 정상 로그인 되도록 설정
test 계정 삭제, samadal 계정 생성
이전엔 ssh로의 root 접근을 막았다.
root로 접근 가능하도록 42번줄 앞에 # 붙이기
# vi /etc/ssh/sshd_config
42 #PermitRootLogin yes
# userdel -r test
# useradd samadal
# passwd samadal
[autofs 란?
자동 마운트 데몬의 작동을 제어하는 프로그램
자동 마운트 데몬은 자동으로 사용 시 파일 시스템을 마운트로 하고 일정시간동안 사용을 하지 않으면 언마운트 하는 데몬
주로 NFS나 cd/dvd rom 장치, floopy 등의 자주 사용되지 않는 마운트 할 때 사용하는 데몬
[Client 쪽 설정]
6.5 버전 까지는 /etc/sysconfig/autofs 였으나
6.6 부터는 /etc/autofs.conf 파일이다.
autofs 사용 여부, 사용할 것이니 yes로 변경
# vi /etc/autofs.conf
38 browse_mode = yes
실제 마운트에 관한 정보 입력
# vi /etc/auto.misc
16 /nfs_client -ro,hard,intr 192.168.1.139:/nfs_server
Client 측 option Server측
실제 마운트시킬 디렉터리와 mount point 생성
# mkdir /nfs_server/ /nfs_client/
재시작 시 autofs 자동 실행 되도록 설정
# chkconfig autofs on
헌데 재부팅 했는데도 마운트가 되지 않는다. 혹시나 해서 -ro -> -rw 로 변경 후 재부팅
# vi /etc/auto.misc
16 /nfs_client -rw,hard,intr 192.168.1.139:/nfs_server
하지만 여전히 안됨.
# ll /misc/
디렉터리 내용물 한번 확인(?) 해보고 다시 auto.misc 파일 수정. client 측 주소에서 / 를 뺐다.
# vi /etc/auto.misc
16 nfs_client -rw,hard,intr 192.168.1.139:/nfs_server
하지만 또 안된다.
아까 확인했던 디렉터리 가보니 nfs_client 디렉터리가 생성되었다.
# ll /misc/
합계 0
dr-xr-xr-x 2 root root 0 2014-12-15 15:14 cd
dr-xr-xr-x 2 root root 0 2014-12-15 15:14 nfs_client
기존에 만들었던 mount point를 삭제
# rm -rf /nfs_client/
/etc/auto.master 파일 보면 auto.misc에 있는 내용을 /misc에다 알아서 적용하라는 내용이 있다.
즉, /misc = autofs base mount point
# vi /etc/auto.master
7 /misc /etc/auto.misc
/etc/auto.misc 에만 적으면 mount point 따로 만들어 줄 필요 없이 자동으로 master에 적혀있는 위치에 자동으로 mount point를 만들어준다.
autofs에 관한 자세한 설명은 다음 시간에 계속
[다음 실습을 위한 준비]
samadal 계정의 홈 디렉터리를 /misc/nfs_client/ 로 설정
# mv /home/samadal/ /misc/nfs_client/
'Study > CentOS' 카테고리의 다른 글
[30] nfs_autofs 실습, dns (0) | 2015.04.06 |
---|---|
[29] autofs(2), su - 명령어 제한 (0) | 2015.04.04 |
[27] auto mount, 응급복구, nfs(1) (0) | 2015.03.28 |
[26] vnc(2), vnc with ssh, ftp (0) | 2015.03.28 |
[25] vnc(1) (0) | 2015.03.28 |
- 2014.12.12
1. auto mount
/etc/fstab : 중요파일, 백업 진행
# cp /etc/fstab /backup/
일반 mount 명령어는 다음과 같다.
# mount /dev/sda1 /mp
이 명령어를 분해해보면 /etc/fstab 안에 있는 내용도 쉽게 이해할 수 있다.
# vi /etc/fstab
13 UUID=8e73b72d-7801-4d6e-8050-3bd32ca6c0c6 /var ext4 defaults 1 2
14 UUID=1741a394-facf-4255-8708-a2b60775d79c swap swap defaults 0 0
UUID=8e73b72d-7801-4d6e-8050-3bd32ca6c0c6 : UUID=일련번호
/var : mount point
ext4 : 포맷형식
defaults : 옵션. p107 참조
0 : 가상메모리. 직접적으로 파일 만들 수 있는지 여부.
1 : 직접적으로 파일 만들 수 있다.
2 : 파일시스템 체크에 대한 여부. 부팅 할 순서라고 해도 된다.
0 : 가상메모리, 1 : 최상위, 2 : 나머지 디렉터리
[복구 실습]
# vi /etc/fstab
여기에 있는 UUID 로 시작하는 내용물 삭제 후 재부팅하면 부팅 안되고 오류 메세지를 출력한다.
Ctrl + Alt + Insert 누르고 VMware 로고 뜨자마자 F2를 눌러 CMOS 메뉴로 들어간다.
(Tip_CMOS 는 ROM에 있으며 메인보드에 ROM이 박혀있다.)
CMOS 메뉴 중 Boot로 이동.
CDROM에 놓고 +를 눌러서 CDROM 을 맨 위로 올린다.
Exit Saving Changes 로 저장 후 종료
CDROM 으로 부팅 되면 3번째인 Rescue installed system을 선택하여 진행한다.
언어 : English
키보드 : us
네트워크 : no
복구모두 시작 : continue
chroot /mnt/sysimage 명령어 기억하기
shell, fakd, reboot 중 shell 선택
그러면 bash 쉘로 쉘 입력 가능하다.
/etc/fstab 내용물 수정 위해 /etc/fstab 보자.
# vi /etc/fstab
하지만 이상하다. cd 부팅에 대한 정보인듯 하다.
아까 메모해둔 명령어를 쳐보자.
# chroot /mnt/sysimage
sh 쉘(복구 전용 쉘)로 변경되었다.
# cp /backup/fstab /etc
(혹은 /backup/fstab 에 있는 내용을 /etc/fstab 으로복사)
재부팅 하려고 하는데 재부팅에 관련된 명령어가 안된다. (sh 쉘은 복구 전용 쉘이기 때문)
다시 bash 쉘로 돌아가자.
# exit
[문제]
automount -> /etc/fstab
ex)
/dev/sda1 /mp ext4 defaults 1 2
- HDD(1G, IDE) : 100M, 200M, 200M, 300M, 200M
- mount point & users
100M : Clang & clang1, clang2
200M : Linux & linux1, linux2
200M : Ms & ms1, ms2
300M : Net & na, np
200M : Anon
각 파티션은 모두 auto mount 설정(반드시 재부팅할것)
모든 설정 완료 후 사용자 생성 후 정상 로그인 되는지 확인
VMware 전원 off한 상태에서 1G Hdd 추가한뒤 전원 on
# fdisk -l
# fdisk /dev/sda
primary partition으로 1~3번 만든 후 4번에는 Extended를, Logical partition을 5~6번에 생성한다.
Command (m for help): n
p
Partition number (1-4): 1
First cylinder (1-130, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): +100M
Command (m for help): n
p
Partition number (1-4): 2
First cylinder (14-130, default 14):
Using default value 14
Last cylinder, +cylinders or +size{K,M,G} (14-130, default 130): +200M
Command (m for help): n
p
Partition number (1-4): 3
First cylinder (39-130, default 39):
Using default value 39
Last cylinder, +cylinders or +size{K,M,G} (39-130, default 130): +200M
Command (m for help): n
e
Selected partition 4
First cylinder (64-130, default 64):
Using default value 64
Last cylinder, +cylinders or +size{K,M,G} (64-130, default 130):
Using default value 130
Command (m for help): n
First cylinder (65-130, default 65):
Using default value 65
Last cylinder, +cylinders or +size{K,M,G} (65-130, default 130): +300M
Command (m for help): n
First cylinder (104-130, default 104):
Using default value 104
Last cylinder, +cylinders or +size{K,M,G} (104-130, default 130):
Using default value 130
Command (m for help): p
Command (m for help): w
Mount point가 될 디렉터리 생성, 각각의 파티션 포맷.
# mkdir -p /Clang/home /Linux/home /Ms/home /Net/home /Anon
# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/sda2
# mkfs.ext4 /dev/sda3
# mkfs.ext4 /dev/sda5
# mkfs.ext4 /dev/sda6
/etc/fstab 파일을 auto mount를 위해 추가한다.
# vi /etc/fstab
19 /dev/sda1 /Clang ext4 defaults 1 2
20 /dev/sda2 /Linux ext4 defaults 1 2
21 /dev/sda3 /Ms ext4 defaults 1 2
22 /dev/sda5 /Net ext4 defaults 1 2
23 /dev/sda6 /Anon ext4 defaults 1 2
(Tip - # blkid 명령어를 통해 UUID 명령어를 본 뒤 장치명에 UUID="장치의UUID" 를 넣어도 된다.)
# mount -a
# reboot
# useradd -d /Clang/home/clang1 clang1
# useradd -d /Clang/home/clang2 clang2
# useradd -d /Linux/home/linux1 linux1
# useradd -d /Linux/home/linux2 linux2
# useradd -d /Ms/home/ms1 ms1
# useradd -d /Ms/home/ms2 ms2
# useradd -d /Net/home/na na
# useradd -d /Net/home/np np
# passwd clang1
# passwd clang2
# passwd linux1
# passwd linux2
# passwd ms1
# passwd ms2
# passwd na
# passwd np
[Trouble Shooting]
/etc/fstab에 일련번호가 아닌 장치명으로 썼기 때문에 재부팅 시 부팅이 실패할 수도 있다.
복구모드에서 # chroot /mnt/sysimage 시 readonly로 뜰 때
bash쉘에서 /mnt/sysimage 를 언마운투 후 다시 마운트 하면 readonly가 풀린다.
# df -h
# umount /mnt/sysimage
# mount /dev/sdb7 /mnt/sysimage
다시 # chroot /mnt/sysimage 들어가서 복구 진행.
2. nfs
NFS : Network 를 통해 File System 빌려주는 것
File system(=partion)
runlevel 2 : multi user 지원하지만 nfs 지원 안하는 것.
썬 마이크로 시스템즈에서 파일시스템 공유와 서버 자원 공유를 위해 1980년대 후반에 NIS(Network Information Service)와 함께 개발되어졌다.
[장점]
분산되어 있는 데이터를 중앙 집중적으로 관리 가능 : 1개의 파일 서버에서 파일들을 관리할 수 있기 때문
투명성 확보 및 디스크 절약이 가능 : 관리자에 의해 파일이 관리되며, 공간을 쪼개어 사용하기 때문
자료의 일관성과 신뢰성 제공 : 모든 파일을 한 서버에서 관리하기 때문
[실습]
CD 안에 있는 nfs* PKG 설치
=> 실습 환경에는 설치 되어 있음.
CentOS6 오면서 portmap은 기본 설치 되어있음.
=> rpcbind 로 대체됨
구체적인 실습은 다음 시간에 진행.
'Study > CentOS' 카테고리의 다른 글
[29] autofs(2), su - 명령어 제한 (0) | 2015.04.04 |
---|---|
[28] nfs(2), nfs auto mount, autofs(1) (0) | 2015.04.04 |
[26] vnc(2), vnc with ssh, ftp (0) | 2015.03.28 |
[25] vnc(1) (0) | 2015.03.28 |
[24] openSSH, system-config-firewall, scp, sftp (0) | 2015.03.28 |