파일기반 공유 스토리지
- 블록 기반 스토리지- DAS : Direct Attached Storage
- SAN : Storage Area Network - FC(FibreChannel) - iSCSI
 
- 파일 기반 스토리지- NAS : Network Attached Storage - NFS/CIFS
 
NFS(Network FIle System)
- 유닉스/리눅스 계열 시스템의 기본 파일 공유 형태
- Sun Microsystems(Solaris Unix, Java)
- 파일 기반의 공유 스토리지 : 공유 서버에서 성정한 공유 디렉토리를 다른 시스템이 연결하여 사용
NFS 실습
- NFS 서버관련 기능 설치 - # yum search nfs-utils # yum -y install nfs-utils
- NFS 공유 설정 - /etc/exports 파일을 수정하여 공유 설정 추가 - 공유 디렉토리 공유대상 ([옵션]) - 공유할 디렉토리 생성 - mkdir /share chmod 777 /share
- 공유 설정 예시 - # vi /etc/exports /share 192.168.100.0/24 #/share 192.168.100.200 #/share www.example.local #/share *.example.local #/share 192.168.100.0/24 192.168.101.0/24 #/share server[1-5].example.local
- 방화벽 설정 변경 - # firewall-cmd --add-service=nfs --permanent # firewall-cmd --add-service=rpc-bind --permanent # firewall-cmd --add-service=mountd --permanent # firewall-cmd --reload
 
- NFS 연결(클라이언트에서 실행)
    - 일반 저장장치 : mount <저장소장치> <마운트포인트>
    - NFS 연결 : mount -t nfs [원격 nfs 디렉토리 정보] [마운트 포인트]
        마운트포인트 생성 및 마운트
        ```
        # mkdir /mount/nfs
        # mount -t nfs 192.168.100.100:/share /mount/nfs
        ```
- NFS공유 설정 변경
    - 기존 공유 설정(/etc/exports) 파일의 공유 설정을 읽기/ 쓰기 가능으로 변경
        ```
        # vi /etc/exports
        /share          192.168.100.0/24(rw)
        ```
    - 공유설정 변경 후 설정 적용
        ```
        # exportfs -r        // 변경설정 적용
        # exportfs -v        // 설정상태 확인
        ```- NFS파일 공유 시 권한 관련 옵션 - sec : 공유되는 파일의 권한 규칙 - sys : 기본값, 각 시스템 사용자의 UID/GID를 기준으로 적용됨 
- none : 모든 사용자의 권한을 nfsnobody로 처리 - ex) /etc/exports 파일의 설정 수정 - /share 192.168.100.0/24(rw,sec=none)
- krb5... : 통합사용자 인증 설정(IPA) - Directory Service(LDAP...) 
 
- root_squash : sec=sys 설정이 되어 있더라도, root계정에 대해서는 nfsnobody 권한을 사용하도록 설정 - nfsnobody 권한을 사용하도록 설정 - ex) /etc/exports 파일의 설정 수정 - /share 192.168.100.0/24(rw,sec=sys,no_root_squash)
 
- ro, rw : 읽기 전용 or 읽기/쓰기 
- 공유 시, 마운트 시 각각 ro, rw 설정 가능- 한쪽이라도 ro로 설정되어 있을 경우, 결과적으로 읽기만 가능
 
 
- 공유 시, 마운트 시 각각 ro, rw 설정 가능
 
자동마운트 설정(Automount)
- NFS 마운트 시 mount 명령어로 연결할 경우는 지속적으로 마운트가 유지 
- 자동마운트 설정 시 설정이 적용될 떄 즉시 마운트가 실행되지 않음 
- 자동마운트를 통해 연결될 위치에 접근 시, 마운트가 수행됨 
- 장기간 사용하지 않을 경우, 스스로 연결을 해제함 
- NFS 서버의 디렉토리 내 하위 디렉토리 등을 한 설정으로 마운트 되도록 할 수 있음 - ex) NFS 자동마운트를 통한 사용자 홈 디렉토리 공유 
- 자동마운트 설정 시 : 마스터 맵 - 직접/ 간접 맵 
- 마스터 맵 : 마운트 포인트, 맵 파일을 명시 - [마운트 포인트] [맵 파일 경로]
- /etc/auto.master.d/[파일명].autofs 형태로 생성된 파일만 적용
 
- 직접 맵 : 마운트포인트에 지정된 경로를 자동마운트 설정, 마운트포인트가 절대경로 - <마운트포인트(절대경로)> <마운트옵션> <NFS공유위치> 
- 간접 맵 : 마운트포인데에 대한 정보를 상대경로로 지정, 마스터 맵에 설정된 마운트포인트에 간접맵설정에 지정된 마운트포인트를 경합하여 마운트 위치 지정 - <마운트포인트(상대경로)> <마운트옵션> <NFS공유위치> 
자동마운트 실습
- NFS 서버는 공유가 걸려있는 상태 (이전실습 상태 그대로 유지) 
- NFS 클라이언트에서 autofs 패키지를 설치 
# yum search autofs
# yum install autofs- 직접마운트 설정 - 직접마운트 설정 - /etc/auto.master.d/test.autofs파일 생성 - #vi /etc/auto.master.d/test.autofs /- /etc/test.direct
- 직접 마운트 설정이 들어있는 직접 맵 파일 생성 - /etc/test.direct 파일생성 - #vi /etc/test.direct /mount/nfs -rw,sync 192.168.100.100:/share
- autofs 서비스 시작/활성화 - # systemctl start autofs.service # systemctl enable autofs.service
 
- 간접마운트 설정 - NFS 서버에서 공유 추가 설정 - server# mkdir -p /shares/{alpha,beta,gamma} server# chmod -R 777 /shares server# vi /etc/exports /share 192.168.100.0/24(rw,sec=sys,no_root_squash) /shares/alpha 192.168.100.0/24(rw) /shares/beta 192.168.100.0/24(rw) /shares/gamma 192.168.100.0/24(rw) server# exportfs -r server# exportfs -v
- 간접마운트 설정 - /etc/auto.master.d/test.autofs파일 생성 - #vi /etc/auto.master.d/test.autofs /mount /etc/test.indirect
- 간접 맵 파일 생성 - /etc/test.indirect 파일 생성 - #vi /etc/test.indirect indirect -rw,sync 192.168.100.100:/share
- 간접마운트로 생성된 경로 접근 후 확인 - # cd /mount # ls # cd /mount/indirect
- 간접 맵에서 와일드 카드 사용 - 와일드 카드 : *, ? - 간접 마운트 설정 시 특정 경로 및 그 하위 디렉토리 포함 
- 기존 간접마운트 맵 파일 사용 
- 마운트 포인트 경로는 마스터맵 사용 - ``` 
 #vi /etc/test.indirect
 indirect -rw,sync 192.168.100.100:/share
- -rw,sync 192.168.100.100:/& 
 
- 설정을 적용하기 위해 서비스 재시작 - #systemctl restart autofs.service
 
'클라우드 아키텍트 양성과정' 카테고리의 다른 글
| 쉘 프로그래밍시 사용되는 쉘 기능 (0) | 2021.05.12 | 
|---|---|
| 쉘 프로그래밍의 이해 (0) | 2021.05.12 | 
| 리눅스(CentOS) SSH(Secure SHell) (0) | 2021.05.12 | 
| 리눅스 (CentOS) DNS(Domain Name System) (0) | 2021.05.12 | 
| 리눅스(CentOS) NTP(Network Time Protocol) (0) | 2021.05.12 | 
 
										
									 
										
									 
										
									 
										
									
댓글