[ESXi 6.5] FreeNAS 로 Windows, MacOS, Linux 공유 폴더 만들기 Computer Tip

며칠 전 포스트에 Ryzen 7 2700X CPU로 vSphere Hypervisor (ESXi) 6.5 를 구축한 것을 블로그에 남긴 적이 있습니다.

Docker도 마찬가지지만 VM 들도 작업을 하는 주체로 이미지를 만들어 작업하다보면,
스냅샷을 잡아놓고 수시로 이전으로 깨끗이 돌아가서나 하는 일이 부지기수입니다.

이런 상황에서 무언가 말 그대로 Persistent 한 저장소가 있다면, 예를 들어
개발하고 있는 소스를 가지고 처리를 한다면 이런 소스는 계속해서 변경되고 있기 때문에
스냅샷에 포함되는 것이 아니라, 그것과 상관없이 어딘가 저장을 해야할 필요가 있습니다.

또한 어떤 파이썬 소스가 있다고 가정하고, 이것을 하나의 소스로
윈도우/맥/리눅스 용으로 개발, 빌드, 테스트 등을 진행한다고 하였을 때
git 등의 소스 관리를 이용할 수도 있겠지만 개발자가 한 사람이라면
git 에 올리기 전에 많은 작업을 해야할 필요도 존재하지요.

이런 모든 경우를 만족하는게 무엇일까 고민하다 보니,
자연스럽게 공유 폴더 개념이 떠 올랐고, 다음과 같은 요구사항을 
충족시키는 서버가 무엇이 있을까 살펴보았습니다.

- Windows/macOS/Linux 와 모두 자연스럽게 공유가능
- 사용자별 관리 가능
- 공유 서버에 대한 큰 지원 커뮤니티
- 구글 검색에서 쉽게 막힌 솔루션을 찾을 수 있을 것
- 오픈소스 (가급적 BSD나 MIT와 같이 자유로운 라이센스가 좋아요)

위의 조건을 만족하는 것이 무엇이 있을까 살펴본 결과,

FreeNAS 라는 것이 있더군요.

태생이 FreeBSD에서 개발되어서 그런가 라이센스도 BSD 이고, openZFS 라는 파일 시스템을 비롯하여
그 안에 돌리는 플러그인도 jail 로 관리하는 등, BSD와 연관이 깊다고 할 수 있겠네요. 

그냥 Synology 와 같은 NAS를 지원해주는 오픈소스 서버 소프트웨어라 생각하면 되겠네요.

그런데 이 FreeBSD가 하나의 OS 처럼 iso로 설치를 하게되어 있습니다.
다른 별도의 하드웨어를 이용해 볼까 하다가, 결국은 ESXi 서버 안에 하나의 VM으로
구축을 해도 좋겠다는 생각이 들었네요.
어차피 백업은 rsync를 이용하여 이중으로 복사를 해 놓아야 할 것이고,
이왕이면 latency 가 적게 ESXi 서버의 SSD에 VM으로 구축해 놓으면
낫겠다 생각이 들었습니다.

다음은 FreeNAS를 ESXi 6.5에서 VM으로 설치를 하고,
실제 머신 또는 ESXi 6.5 안의 VM에서 공유하는 방법을 공유해 봅니다.

새로운 가상머신을 추가합니다. 이름도 freeNAS 라 하였습니다. 하드웨어 사양은 적어도 8G의 메모리에 FreeBSD 지원 하드웨어면
된다고 하는데 VMWare에서 FreeBSD를 별도 하드웨어 템플릿으로 가지고 있지 않아 일반 Linux 패밀리에 64-bit Linux라
지칭하고 "Next"

기본 동작할 DataStorage로 SSD를 선택하고 "Next" (나중에 필요에 따라 다른 dataStorage에 하드를 추가할 수 있습니다)

가상머신인지라 8G 대신 4G를 주었습니다. (2G 등으로 작게 해도 되는데 FreeNAS 문서에 의하면 공유를 위해서 많은 메모리가
좋다고 하는 것 같군요) 위에서는 16기가 디폴트 하드에 FreeNAS를 설치할 것이고 실제 공유할 공간을 위해서 하드를 하나 
추가했습니다. (FreeNAS가 RAID를 소프트웨어 적으로 지원하는데 위에서는 RAID0 로 아무것도 분산시키지 않을 것입니다)

64기가 하드를 하나 더 붙였습니다.

가상머신을 만든 다음에 "Edit"를 통해서 해도 되고, 바로 이 상태에서 CD-ROM에 ISO 이미지를 연결해도 됩니다.

(위의 그림은 Finish로 만든 이후, ISO CD 이미지를 지정한 것입니다) ISO 파일 선택을 하고,

DataStorage 에 미리 복사해 놓았던 것을 지정합니다. (현재 최신 Stable 버전은 11.1-U6 입니다)

"Finish" 합니다.

VM을 Start하고 "Web Console" 을 하나 띄우면 위와같이 나타납니다.

1 Install/Upgrade 가 선택된 상태에서 "OK" 합니다.

8GB 램 보다 작은데 계속 할 것인가 물어보는데 "Yes"로 진행합니다.

그리고 하드가 2개 중에서 16기가로 잡아 놓았던 것을 선택하여 설치를 진행합니다.

해당 디스크를 모두 초기화하고 진행하는데 괜찮냐고 물어보고, "Yes"

나중에 CLI로 수정할 수도 있지만 기본 root 암호를 넣습니다.

VMWare 이다 보니 호환성이 좋은 "BIOS 부팅"을 선택합니다.

설치에 시간이 조금 걸리는데 기다렸다 끝나면 다시 위와 같이 나오는데 "3 Reboot System" 을 눌러 재부팅합니다.
(차후에 마운트된 CD의 ISO 이미지는 제거합니다)

다음 부팅화면에서 기다리면 몇초 후 ..

위와 같이 첫 콘솔 메뉴입니다.
우선은 디폴트로 DHCP로 IP 주소를 받아오는데 이를 서비스를 하려면 고정 IP로 변경해야 되겠지요?

1번을 눌러,

위와 같이 "192.168.99.11' 로 내부 망에 IP를 하나 고정해 놓았습니다.

그리고 다른 머신에서 해당 주소로 "http://192.168.99.11" 접속을 해 보면,

root 에 설치시에 넣었던 암호를 넣어주면,

최초에 "Initial Wizard" 가 나타납니다. 동작을 시키다가 언제든지 상단 오픈편에 있는 "Wizard"를 눌러도 동일한 것이 타나납니다.
우선 시간대만 "Asia/Seoul" 로 맞추었습니다.

여기서는 약간의 RAID에 대한 지식이 필요합니다만, 공유할 하드를 1개만 만들었으므로 고민할 필요도 없이 "RAID 0" 을 선택합니다.
(ZFS 에서 RAID 구성을 할 수 있다는 것이 재미나네요, RAID 구성에 따라, 3개, 4개, 5개의 하드가 필요할 수 있습니다)

만약 지원하려고 하는 네트워크 대역에 Active Directory나 LDAP, NIS 등으로 묶여 있다면 위에서 지정하는 곳인데, 없으므로
아무것도 만지지 않고 "Next" 하였습니다.

공유할 이름을 "naswork" 라 하고 디폴트인 "Windows (SMB)" 만 선택한 후 "Add" 를 하고 "Next"
(나중에 해당 볼륨에 대해 SMB 서비스 뿐만 아니라 NFS 등으로 서비스만 추가할 수 있다는 것이 놀라웠습니다)

오류가 있을 경우 보내는 부분인데 이 부분도 아무것도 만지지 않고 "Next"

그러면 이렇게 공유할래? 하고 물어보는 것에서 "Confirm"을 누르면,

약 1,2 분 이내에 작업을 마칩니다.

이렇게 마법사를 종류하고 처음에는 바로 root 로 사용자로 붙여보려고 하였으나 안되더군요. 왼편의 Account > Groups / Add Group 을 선택하고
"develop" 라는 그룹을 추가했습니다.

이제는 왼편 메뉴에서 "Account > Users > Add User" 를 선택하고 "toor" 라는 사용자를 추가했습니다.
(Full Name 도 꼭 넣어 주어야 하니 이름을 입력하시구요)
암호는 잘 기억해 두셨다가 다음에 연결할 때 필요합니다.

이제 이전에 만들었던 공유 볼륨에 해당 사용자의 퍼미션을 지정할 차례입니다.
왼편 Storage > Volumns > /mnt/workVolume > /mnt/workVolume/naswork > Change Permissions 을 선택하고,
위와 같이 해당 사용자와 그룹을 지정하고 퍼미션 타입은 윈도우로 했습니다.


자.. 여기까지 했으면 이제 접속 가능합니다.

우선 맥에서 공유해 볼까요?


파인더의 "Go > Connect to Server..." 또는 "Command+K"를 눌러,

smb 로 IP 주소 및 공유 폴더 이름을 주고 "Connect" 하면,

원격 연결하겠는가 물어보는데, "Connect"

FreeNAS 에서 만들었던 사용자와 암호로 지정하고 키체인에 저장한다고 체크하고 "Connect"

아주 매끄럽게 잘 됩니다.
가상머신 밖에서도 잘 되고, 다음과 같이,

가상머신 윈도우10에서도 탐색기에서 \\192.168.99.11\naswork 로 접근을 하려 하면, 물어보는데,
여기에 동일하게 이름과 암호를 넣고 "내 자격 증명 기억"을 체크 후 "확인" 하면,

역시 파일 공유가 잘 됩니다. (오호~~ ^^)

이제는 리눅스인 우분투 데스크탑 18.04 에서 공유를 해 보겠습니다.

우선 삼바로 mount 하기 위해서는 삼바의 부분집합이라 할 수 있는 CIFS 관련 설치를 합니다.

$ sudo apt install cifs-utils

수동으로 마운트가 잘 되는지 테스트 해 봅니다.

$ mkdir $HOME/naswork
$ sudo mount -t cifs //192.168.99.11/naswork $HOME/naswork -o username=toor,password=...,vers=3.0,uid=toor,gid=toor,iocharset=utf8

잘 되는 것을 확인했습니다.
이제 /etc/fstab 에 넣어 봅니다.

$ sudo vi /etc/fstab
으로 열어

//192.168.99.11/naswork /home/toor/naswork   cifs   username=toor,password=...,vers=3.0,uid=toor,gid=toor,iocharset=utf8,sec=ntlmssp,rw   0     0

과 같이 지정해 놓고, 재부팅을 하면,

우와~~ 이렇게 해서 윈도우, 맥, 리눅스 모두 공유 가능한 공유폴더를 FreeNAS 로 만들게 되었습니다.


어느 분께는 도움이 되셨기를..







핑백

덧글

  • 임덕규 2019/04/23 15:25 # 삭제 답글

    아래 명령어가 동작하지 않는다면
    sudo mount -t cifs //192.168.99.11/naswork $HOME/naswork -o username=toor,password=...,vers=3.0,uid=toor,gid=toor,iocharset=utf8

    아래처럼 해주시면 동작합니다.
    sudo apt install cifs-utils
    sudo /sbin/mount.cifs -o username=toor,password=****,vers=3.0,uid=toor,gid=toor,iocharset=utf8 //192.168.99.12/naswork $HOME/naswork
댓글 입력 영역

구글애드텍스트