가상머신에 k3s싱글노드로 구축하고 있는데,
볼륨으로 사용할 nas서버가 필요했다.
VM 하나 더 만들어 가상화 NAS를 만들어서 연결해보려고 함.
가상머신을 만드는 방법은 이전의 포스팅을 참고.
https://anjelaaaaaaaa.tistory.com/13
운영체제는 ubuntu 24.04.lts를 사용했다.
서로 통신을 할 가상머신을 두대 생성하였음.
두 가상머신이 서로 통신을 하고, 또 외부 네트워크로 접근 가능하게 하려면
네트워크는 브릿지 모드여야 한다.
처음 가상머신을 만들었을때에 NAT 모드로 선택했었는데,
이렇게 하면 가상머신이 호스트 시스템(내 로컬피씨)의 네트워크를 통해 외부 네트워크에는 접근이 가능하지만,
가상머신간의 직접적인 통신이 어렵다.
(포트포워딩을 하면 ㄱㅏ능하긴 함 )
그리고 두번째로 호스트 전용 어댑터 모드로 변경을 했을때에는,
가상머신이 호스트와만 통신을 할 수 있어서 외부 네트워크에는 접근할 수 없었음.
결론적으로 브리지 모드를 선택하여
두 가상 머신이 같은 물리적 네트워크 세그먼트에 위치하게 되어 서로 통신할 수 있게 하고,
동시에 외부 네트워크에도 직접 접근할 수 있도록 해야함.
이렇게 두대의 가상머신을 만들어두고 네트워크를 브리지모드로 한 다음
가상머신을 실행하여
터미널에 ip a 명령어를 날려보면
각 ip가 나온다 (inet뒤에 적힌 ip)
그렇게 확인한 두대의 가상머신 ip
가상 nas 서버로 사용할 ip -> 192.168.20.77
나스서버와 마운트 할 ip -> 192.168.20.76
1. 먼저 가상화 nas 서버에서 작업 (192.168.20.77)
nfs에 필요한 패키지를 설치한다.
apt install nfs-common nfs-kernel-server portmap
nfs로 연결할 디렉터리를 생성한 후 권한을 부여한다.
mkdir /home/nfs
chmod 777 /home/nfs
공유하려는 디렉토리와 해당 nas에 접근할 서버정보를 설정 해준다.
vim /etc/exports
exports 파일에
맨 아래줄을 추가하면 됨.
마운트하려는 폴더(nas 서버의 폴더)와 nas로 마운트를 하려는 서버의 ip주소를 적고 뒤에 옵션값을 준다.
rw -> 읽기와 쓰기 권한 허용
sync -> 모든 데이터 변경이 즉시 디스크에 기록됨
no_subtree_check -> 서브트리 검사를 비활성화
설정 적용위해 재시작
service nfs-server restart
잘 적용되었는지 확인
showmount -e 127.0.0.1
이렇게 뜨면 잘 되는거임 !!
2. NFS 서비스를 이용할 가상머신으로 이동 ( 192.168.20.76)
nfs 클라이언트 설치
sudo apt update
sudo apt install nfs-common
nfs 공유 디렉토리 마운트
(마운트할 폴더를 미리 만들었음)
sudo mkdir /home/user/nfs
sudo mount 192.168.20.77:/home/nfs /home/user/nfs
sudo mkdir 마운트할폴더경로
sudo mount NAS서버ip:/마운트경로 /마운트할폴더경로
이렇게하고 폴더에 파일을 생성한뒤 확인해보면 양쪽모두 변경사항이 바로바로 반영된다 !
서버를 재부팅 하는경우 마운트가 풀릴 수 있다.
이때 마운트한 서버에서
/etc/fstab 파일을 수정하면 됨.
sudo nano /etc/fstab
파일의 마지막 줄에 다음 내용을 추가함
192.168.20.77:/home/nfs /home/user/nfs nfs defaults 0 0
192.168.20.77:/home/nfs -> NFS 서버의 IP 주소와 공유 디렉토리 경로
/home/user/nfs -> 로컬에서 마운트할 경로
nfs -> 파일 시스템 유형(NFS)
defaults -> 기본 마운트 옵션
0 0 -> 파일 시스템 덤프 및 체크 옵션 (보통 0 0으로 설정함)
sudo mount -a
재부팅을해도 df -h 했을때
마운트 되어 있는것을 확인할 수 있음.
'기타 > Linux' 카테고리의 다른 글
[ubuntu] 우분투에 vscode 설치하기 (0) | 2024.08.27 |
---|---|
[ubuntu] ubuntu에 docker 설치하기 (0) | 2024.08.26 |
[ubuntu] 현재 사용자에게 권한 부여 (feat. kubectl) (0) | 2024.08.21 |
[ubuntu] ubuntu 22.04.lts에 원하는 노드버전 설치하기 (feat: nvm) (0) | 2024.08.17 |
[ubuntu] ubuntu 22.04.lts 가상환경에 도커 설치하기 (0) | 2024.08.17 |