어쩌다보니 컴퓨터 2대가 되었다. 한 대는 게임 컴퓨터 및 잡다한 프로그래밍 컴퓨터로 쓰고 있었고, 한 대는 어디에 쓰지 고민하다가 일단 되는대로 Rocky 리눅스를 깔아 서버처럼 쓰기로 했다. 그런데 생각보다 홈서버라는 것은 집에서 활발하게 무엇을 만들거나 아니면 외부로 서비스를 해야 의미가 있고, 나처럼 하루종일 회사에 있는데 내부망에서 돌리는 것 자체가 큰 어불성설이었다.

그래서 고민하다가 이와 에고 라는 버튜버가 Phanteks ENTHOO PRO 에다가 하드를 주렁주렁 달고 있는 것도 모자라 NAS 까지 쓰는 걸 보고 그래 NAS 로 만들어 봐야겠다고 생각했다. 원래 오타쿠라는 건 다른 프로 오타쿠를 본받기 마련이다. (그리고 오늘도 점장 덕질 영상은 NAS에 중간 스토리지로 저장되고 있다.)

그래서 NAS 로 쓰려고 하니 그냥 리눅스에 쓱쓱 데몬 올려서 써도 문제는 없지만, NAS OS가 쓰고 싶었다. 다들 헤놀리지를 쓰는데 이건 시놀리지 OS 의 변종이라 쓰기 좀 그랬고 TrueNAS 를 쓰기로 했다. 그리고 그러지 말았어야 한다고 생각한다.

TrueNAS 를 쓴 이유 중 하나는 일단 FreeBSD 베이스여서 유닉스를 다루어볼 좋은 기회라고 생각했고, 엔터프라이즈 버전이 있었다. 보통 엔터프라이즈 버전이 있다는 건 그만큼 신뢰성이 믿을만하다는 거였다. 특히 https://github.com/truenas 이렇게 오픈소스이면서 엔터프라즈 구독까지 있다는 건 여러모로 관리가 되고 있다는 뜻이기도 했기 때문이다.

오픈소스 프로젝트의 가장 큰 단점은 제대로 관리가 안 되거나 메인 커미터 등의 관리자 관리를 잘 못하는 경우가 종종 있다는 것인데 엔터프라이즈 버전이 있다는 건 일단 그런 걱정은 접어두어도 된다는 뜻이기 때문이다.

아무래도 FreeBSD 도 처음이고, NAS OS 도 처음이다 보니 https://bongtae.net/truenas-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0/ 해당 블로그의 도움을 많이 받았다.

일단 DDNS 설정을 했고, 해당 노드에 SSH 접속할 계정도 만들었고, 토렌트 데몬도 올리고, 폴더에 토렌트 파일을 올리면 자동으로 다운로드 되겠끔까지 설정하였다.

원래는 SMB 만 설정하였는데 아무래도 SMB 는 보안 취약점이 많기도 하고 통신사 차원에서 해당 포트를 막아두기도 하기 때문에 SSH 를 설정하였다. SSH 설정을 사용해 그대로 SFTP 로 사용할 수 있기 때문이다.

국내 중소 호스팅 같은 경우 FTP 만 사용하는 경우도 많으나 이는 암호화 되어 있지 않기 때문에 중간에 모니터링 등으로 계정과 비밀번호를 탈취 당하면 재밌고 귀찮은 일들이 많이 벌어진다.

이 TrueNAS 라는 녀석은 좀 재밌는데 웹으로 관리 콘솔을 여는 건 일반 NAS와 동일하다 하지만 Jails 란 시스템이 재밌다. Jails FreeBSD 의 시스템 중에 하나이다. 이 Jails 는 chroot 처럼 아예 데몬들을 격리 시켜 주는데 난 SELinux 를 못 끄는 RHEL 이라고 표현하였다.

보통 TrueNAS 에서 플러그인이나 데몬을 설치했는데 안 돌아간다 라고 하면,, 이 Jails 설정인 경우가 많다. 그 예로 TrueNAS 커뮤니티에서 제공하는 큐비토렌트 플러그인의 경우 다운로드 경로는 /var/db/qbittorent/Downloads 가 되는데 실제 경로는 /mnt/SSD/iocage/jails/torrent/var/db/qbittorent/Downloads 가 되는 식이다 즉 큐비토렌트가 속한 Jails 밑에 큐비토렌트에 대한 설정이나 바이너리 파일들이 모이게 된다.

그러면 나는 사용자로 로그인 할 건데 어떻게 해야하나요? 라고 한다면, 플러그인이나 Jails 설정에서 사용자 홈 디렉토리 안에 있는 디렉토리를 해당 디렉토리에 마운트 하면 된다. 물론 이것도 권한을 잘 보고 마운트 해야하는게 마운트한 내가 만든 내 폴더는 소유자가 나지만 큐비토렌트가 생성한 파일은 소유자가 큐비토렌트 데몬 실행 사용자가 된다. 그래서 이걸 잘 확인하지 않으면 제대로 쓰기가 되지 않아서 파일 다운로드가 안 되거나, 기껏 다운로드 했는데 읽어오지 못하는 불상사가 발생할 수 있다.

사실 이런 것 때문에 귀찮아서 토렌트 말고는 어떤 플러그인이나 데몬도 올리지 않고 있다. 어차피 이 NAS 는 직장 같은 곳에서 다운로드 받거나 수집한 덕질 파일들의 중간 거점이기도 하고 말이다. 원래 회사는 몰래 덕질하기 위해 다니는 곳이다. 하루종일 일만 하면 사람이 미쳐버린다.

좋았던 점이라면 ZFS 를 경험해본다는 것 정도.? SMART 검사나 RSYNC, CRON 같은 걸 웹콘솔에서 설정할 수 있다는 것 정도.?

ZFS 는 궁국의 파일 시스템이라고 하는데 궁국의 미식버거처럼 기대하고 쓰면 손만 많이 가는 이상한 무언가가 된다. 기대를 버리고 대충 이렇게 쓰는 거구나 라는 마음을 먹으면 나쁘지 않다. 여전히 레이드로 묶었을 때 마이그레이션은 어떻게 하는지 모르겠는데 레이드 종류 변경은 사실상 새롭게 풀 구성을 해야하는 거라고 봐야해서 ㅎ 용량이 다 차면 그때 고민해야지 하고 있다.

귀찮은 부분들은 웹콘솔에서 설정할 수 있는 건 좋았다. 아무래도 비즈니스 관리 모델이 있는 이유가 이것 때문이 아닌가 싶었다. 그래서 나에게는 조금 투머치한 느낌도 있었는데 이왕 써보는 거 제대로 써봐야지 라는 느낌으로 일단은 쓰고 있다. 어차피 루트 사용자는 아니지만 SSH 외부접속도 허용한 마당에,,

사실 그런 것 때문에 이걸 메인 백업으로 삼기 무서운 것도 있다. 월 7 달러 정도면 백블레이즈에 무제한으로 백업이 되는데 HDD 가 죽는 걸 감수하고 NAS 를 쓰기엔 너무 나에겐 부담스럽다. 사실 이건 내가 그동안 기록말살! 이라는 명분으로 주기적으로 데이터들을 밀고 후회해서이기도 하다. 그래서 이번엔 데이터를 안 밀려고 최선을 다해 백업 시스템을 구축하고 있다. HDD 단독 백업은 내가 일하면서 HDD가 사망하는 경우를 많이 봐서 백업 클라우드는 최소 하나 연결하려고 한다. 자체적으로 3-2-1 백업을 구축하는 건 생각보다 관리 포인트가 늘어나기도 하고, 그렇게 혼자 관리하면 나는 하루종일 컴퓨터를 만지는 사람이 될테니까,, 이미 그러고 있지만서도

rclone 이라도 기본적으로 지원되었으면 그냥 B2 연결해서 쭉 백업 돌릴텐데 일단 고정비를 줄여야지 라는 마음도 있고, 테스트 기동이니까 그렇게까지 진심은 아니었으면 좋겠다 라는 마음도 있고, 아니 근데 왜 rsync 는 기본이면서 rclone 은 없냐, 이거 하려면 또 jail 하고 왜 안 돼 소리지르면서 설정해야하잖아,,,

뭐 아무튼 중간 스토리지로써 유용하게 쓰고 있으니 일단은 만족이다. 다만 내 컴퓨터 케이스가 하드가 2장 밖에 안 들어가서 이후에 좀 귀찮아지겠꾼 하고 있는데 돈이 되는대로 3RSYS L920 이런 케이스들을 써볼까 싶다. 옆에 아크릴 달린 걸로, 이 케이스는 HDD가 꽤 많이 들어가고 저소음이라고 해서 기대된다. 일단은 메인 컴에 때려 넣은 할부가 내년 설날쯤 끝나면 고민해봐야지. 만약에 하드를 넣는다면 3 ~ 4장 넣어서 RAID 5 같은 걸로 구성하고 싶다. 소프트웨어 RAID가 많이 느리긴 하다던데 일단은 좀 상태를 보고 싶은 것도 있으니까 말이다.

  • 친구에게 처음에 NAS 구축하기 전에 사람들은 NAS 를 어디에 써라고 물었더니 보통 사람은 NAS 를 안 쓰지 라는 대답이 돌아와서 아,, 하면서 벙쪘다. 이 친구는 제일 오타쿠 같은데 말하는 것만 들으면 갓반인인 친구다.