TrueNAS 사용기 #8 - 마무으리
여기까지 TrueNAS의 큰 틀은 다 잡았습니다.
TrueNAS라는 운영체제 위에, NextCloud라는 유틸리티를 통해 NAS의 효율적인 관리자를 얻었습니다.
모든 작업은 NextCloud를 통해 데이터의 저장, PC와 자동 양방향 동기화, 모바일 앱을 통한 어디서든지 확인 및 편집.
이제 나머지는 유지보수를 위한 작업들과 편의성을 높여줄 것들 뿐이네요.
1. 데이터 보호 설정
안정성을 높여줄 여러가지 보호장치들을 설정할 거예요. TrueNAS 제어판 -> 데이터 보호 항목으로 이동합니다.
1.1. TrueCloud 백업 작업
TrueCloud는 일반적인 유료 클라우드(구글 드라이브, 드롭박스 등)와 마찬가지인 TrueNAS에서 제공하는 유료 클라우드 서비스 입니다. 우리는 한번 구축한 후 무료로 쓰려고 직접 NAS를 구축했는데, 이걸 쓸거같으면 걍 시스템 꾸릴 돈으로 유료 클라우드 썻겠죠... 참고로 네이버 클라우드가 싸고 좋습니다. 네이버 플러스를 구독하면 쇼핑 추가 적립 해택과 클라우드 80기가에 넷플릭스까지 공짜! 아무튼, TrueCloud에 내 시스템의 데이터를 자동으로 백업시키는 기능입니다만, 저는 사용하지 않습니다.
1.2. 클라우드 동기화 작업
외부 클라우드와의 자동 동기화를 설정합니다. TrueCloud와 마찬가지인데, 여기서는 구글 드라이브나, 아마존 S3, 드롭박스등과 연결하여 백업합니다. 역시 사용하지 않습니다.
1.3. 스크럽 작업
스크럽이란, 스토리지 풀의 데이터 손상 여부를 확인하고 손상이 발견되면 수정하는 작업입니다. 보통 풀을 생성할때마다 자동으로 스크럽이 등록되어 있을겁니다. 만약 시간대를 수정하고 싶거나, 좀 더 자주 실행시키고 싶다면 이곳에서 스케줄을 수정하거나 추가해 주세요.
데이터를 체크하여 문제가 있을경우 경고가 발생합니다. 경고는 TrueNAS 제어판 우상단의 종 모양의 알리미로 알려줍니다. 미러링 혹은 패리티 디스크를 활용한 레이드로 풀을 생성했다면 문제가 있을 때에 자동으로 복구를 시도합니다.
스크럽 작업은 시스템에 부하가 많이 걸리는 작업이므로 사용을 하지 않는 새벽 시간대에 동작할 수 있도록 해주시고, 1달에 한번을 추천하며, 적어도 2~3개월에 한번 정도는 검사할 수 있도록 해주세요.
1.4. 주기적인 스냅샷 작업
스크럽과 마찬가지로 이부분이 핵심입니다. 스냅샷은 실수로 파일이 손실되거나, 랜섬웨어 공격 등으로 데이터를 소실했을 때 이전 시점으로 즉시 복구할 수 있는 기능입니다. Apple에서는 타임머신 이라는 기능으로 재공될 거예요. windows에서도 복구 드라이브 라는 이름으로 제공되고 있는 서비스 입니다. 스냅샷의 장점은 백업 데이터가 아주아주 작은데도 불구하고, 그 효율이 어마무시 하다는 점에 있어요. 년-월-일-시 로 저장되어 해당 시간대의 시점으로 복원이 가능합니다. 애플의 타임머신 이라는 명칭은 아주 직관적이면서도 이해하기 쉬운 명칭이네요. 이미 늦은 경우에도 데이터를 복원할 수 있는 아주 매력적인 기능이므로 활성화 합시다.
[추가] 를 눌러 다음과 같이 설정해 주세요.
데이터 세트 : Main (또는 각 데이터 세트별로 따로 만들어 각개별로 백업할 수도 있어요.)
제외 : 선택한 데이터세트에서, 특정 폴더를 제외하거나 할 수 있는데요, 생략합시다.
하위 항목 적용 : 반드시 체크 해주세요. 선택하지 않으면 하위 폴더들이 백업되지 않아요.
스냅샷 수명 : 설정된 기간만큼 보관한 후, 자동으로 폐기합니다. 반드시 일정의 주기보다 길게 설정해 주세요.
이름짓기 방식 : 자동으로 생성될 스냅샷의 이름 규칙이에요. 선택한 데이터 세트의 이름은 기본적으로 자동으로 붙기 때문에 기본값으로 지정해도 좋아요.
일정 : 반복 주기를 설정해줘요. 매일 혹은 매주, 매월 등을 선택할 수 있고, 직접 스캐줄을 지정할 수도 있어요.
빈 스냅샷 허용 & 활성화 : 둘다 체크 해주세요.
추후, 만약 복원을 해야 할 경우에는 [스냅샷] 버튼을 눌러, 원하는 일자의 스냅샷 기록을 클릭해 [되돌리기]로 복원할 수 있어요.
또, 기반이 될 스냅샷을 한번 찍었다면 스냅샷 리스트에서 유지 를 활성화 하여 해당 스냅샷이 수명에 의해 자동 삭제되는걸 막을 수 있어요. 이 스냅샷은 추후 초기상태로 돌아가는 기능으로도 활용될 수 있습니다.
스냅샷에서 특정 폴더나 파일만을 추려서 빼내와야 하는 경우에는 [되돌리기]가 아니라 [새로운 데이터 세트로 복제]를 해야 해요. 해당 스냅샷으로 복원된 새로운 데이터세트가 생겨납니다. 이 세트로 들어가 원하는 파일만 뽑아온 다음 데이터세트를 삭제하면 원하는 파일만을 추려 복원할 수 있어요.
스냅샷 자체는 1개당 수kb~mb정도로 아주 작아서 용량 걱정 없이 많이 만들어 두는것이 이득입니다.
1.5. Rsync 작업
단방향 복사 작업이라고 생각하면 돼요. 또다른 백업전용 TrueNAS라던가, 백업용 PC라던가, 외장하드라던가, 타사의 NAS라던가... 와 서로 연결한 후 복제 혹은 동기화 작업을 할때 사용합니다. 단순한 복사/붙여넣기라고 생각할 수도 있는데, Rsync는 복붙과는 조금 달라요. 붙여넣기 할 곳에 복사한 것과 똑같은 데이터가 있으면 건너뛰고 바뀌거나 다른부분만을 골라 붙여넣기를 합니다. 그래서 첫 백업 이후부터는 속도가 빨라요. 이를 델타 전송 기술이라고 합니다.
스냅샷 만으로도 백업에서 많은 위안이 되지만, 그 스냅샷 자체가 파괴되면 복원할 방법이 없어요. 그래서 백업용 외부 디스크에 1:1로 추가 백업을 한다고 생각하면 돼요. 백업에 대해 관심이 있으시다면 3-2-1 백업 전략을 검색해보시는걸 추천해요. Rsync는 이러한 백업 작업을 간편하게 담당해 줍니다.
1.6. 복제 작업
Rsync와 동일한 일을 하는데요, 좀 더 간편하게 도와줍니다. 로컬에서 로컬(ex: 데이터세트A -> 데이터세트B), 로컬에서 외부(ex: 데이터세트A -> 외부 TrueNAS 데이터세트) 와 같이 마법사로 쉽게 복제 작업을 도와줍니다. Rsync는 양쪽에서 서로 커넥션 작업을 진행해야 하는데, TrueNAS끼리는 간단하게 이루어집니다. 근데 TrueNAS 시스템을 2개나 마련할 정도면 집안에 서버 랙을 갖춰야 겠는데요 이거...
1.7. Periodic S.M.A.R.T. Tests
HDD 혹은 SSD의 상태를 주기적으로 모니터링 하면서 고장 징후를 예보하는 기능입니다. 고장나기 전에 미리 고장날 법 하다는 예보를 받으면 불의의 고장에 미리 대비하여 빠르게 조치할 수 있겠죠. 예를들자면, 배드섹터가 많아요 라던가 온도가 너무 높아요 라던가... 경고를 미리 받으면 새로운 디스크를 미리 구매하여 대비한 후 고장나자마자 갈아끼우면 되니까요.
다음처럼 설정해 줍니다.
All Disks : 체크 해주세요. 굳이 모니터를 하지 않을 디스크는 없으니까요.
유형 : SHORT. 다른것을 선택하면 좀 더 디테일하게 검사를 하지만, 시간도 오래걸리고 검사하는 동안 시스템이 멈출 수 있어요.
일정 : 적당히 매일 한번 정도면 좋아요. 주의할 점으로 스크럽과 스냅샷 작업과는 시간대가 겹치지 않도록 해주세요.
short는 기본적인 것들과 크리티컬 이슈만 체크가 가능하고, long은 배드 섹터까지 추가로 확인합니다.
참고로, 스냅샷과 스크럽, smart는 각각 작업이 동시에 실행되지 않도록 분배하는게 중요해요. 부하가 적고 빨리 끝나는 작업도 있지만 부하가 많이 걸리고 시간이 오래 걸리는것도 있어서요. 저는 다음과 같이 스캐줄을 짜놨어요.
SMART Short : 매 일, 00:00 (약 1~5분 소요)
스냅샷 : 매 일, 00:20 (약 1~5초 소요)
스크럽 : 매 월 n일, 00:30 (Main 풀은 매 월 1일, VM은 매 월 2일 진행합니다. 또 다른 풀을 생성하게 되면 3일, 4일 순서로 등록할 계획이예요)
SMART는 스캐줄 등록에서 분을 입력할 수 없더라구요. 그래서 어쩔 수 없이 맨 처음 시작했습니다. 원래는 스냅샷 먼저 한 후에 시키고 싶었는데 어쩔 수 없네요.
그리고, Long test는 배드 섹터까지 확인해 줘서 더 좋긴 한데, 이게 4TB 하드 하나 검사 하는데 보통 5시간은 넘게 걸린다고 합니다.... 사용중인 공간이 아니라, 하드 자체의 용량 크기에 비례해요. 저는 4TB가 4개나 되는데, 그러면 20시간은 넘게 걸리겠네요.... 하루를 통으로 사용이 힘들게 된다니... 그래서 포기했습니다. 필요한것 같을 때 원하는 시기에 별도로 날잡고 offline 테스트를 따로 해주는게 차라리 좋겠어서 스캐줄에서 제외했습니다.
스냅샷도 용량을 적게 차지하는데 굳이 용량 아낀다고 뜨문뜨문 할 이유가 없을듯 해요. 그냥 매일 해줍니다. 백신은 스무살 이후로 설치 해본 역사가 없고, 랜섬웨어라던가 바이러스는 걸려본적이 없지만 이렇게 꿀옵션이 거의 용량도 차지하지 않고 고속으로 끝난다는데 하루에 몇번씩 할까도 생각했지만... 그건 오버하는듯 해서요.
스크럽은 시간을 엄청 잡아먹어요. 한번 하면 저같은 경우 8~20시간 정도 걸린다고 하는데요. 시놀로지의 경우 3개월에 한번 하는게 기본값입니다. 아무래도 몇개월씩 데이터가 손상된것도 모르고 사용하기엔 찝찝할테니 저는 매월 진행하는것을 추천해요. 만약 디스크가 너무 커서 감당이 힘들다면 역할별로 풀을 나눠 풀 크기를 줄이는것도 방법이 되겠네요.
여러 풀이 동시에 스크럽을 하면 안됩니다. 아니, 되긴 될수도 있겠지만 부하가 너무 커요. 저는 여러개의 풀을 하나씩 매월 1일, 2일, 3일.. 로 나누어 진행합니다. 만약 추후 풀이 더 추가되어도 이런식으로 날짜를 나누어 진행시킬 예정이에요.
2. VM 백업

VM을 사용하는 경우에 해당합니다. VM을 성공적으로 구축했다면, 구축 직후 초기화 한 클론을 하나 생성해두시는게 좋아요. 저같은 경우 win11 이라는 VM을 하나 구축했는데요, 이를 클릭하여 [복제]를 눌러 사본을 하나 생성해 두었습니다. 이 사본은 실행도 안할거고, 자동실행도 꺼 둘거예요.
어디에 쓸거냐면... 메인이 되는 win11을 사용중에 고장나거나 마음에 안들경우 삭제해버릴거예요. 이후, 복제한 사본을 눌러 녀석을 다시 복제 합니다. 그러면 갓 설치된 따끈따끈한 VM이 완벽히 초기 설정이 끝난 채로 짠! 생성될 거예요. 복잡하고 번거롭게 다시 생성해서 오랫동안 설치하고 이것저것 설치 및 설정할 필요가 없게요... 이렇게 사본으로 생성한 VM은 용량도 차지하지 않아서 아주 아주 간편해요. 먼 옛날 고랫적 PC방에서 고스트 라는 툴을 이용해 매일 수동으로 컴터를 초기화 시켜줬었는데요, 그러한 원리입니다.
3. 시스템 설정
3.1. e-mail 받기 (feat. 이메일을 카카오톡으로 알림 받기)

TrueNAS 제어판 -> 시스템 -> 일반설정으로 이동합니다.
여기서는 이메일을 추가할게요. 이메일 카드에서 [설정]을 눌러 등록할 수 있습니다. 다행히 gmail 인증을 지원하니 nextCloud 에서 사용했던 앱 비밀번호를 이용할 필요가 없네요. gmail인 경우 별도로 보낸 사람 이메일이나, 보낸사람 이름의 항목을 반드시 입력할 필요는 없어요. 네이버나 다음 같은 경우에는 SMTP를 이용해 진행합시다.
해당 메일서버를 통해 알림이 발생하면 해당 내용을 이메일로 자동으로 전송할거예요. 여기서 받을 메일 주소는 자격증명 -> 사용자에서 본인의 계정 정보에 등록된 이메일 주소에 해당 내용이 전달됩니다.
이메일로 받고자 하는 내용은 시스템 -> 경고설정 에서 E-Mail 항목에 지정한 수준 이상을 받도록 되어 있으니, 취향껏 수준을 설정해 주세요.
자, 이제 우리는 스마트한 시대에 살고 있으니, 카톡으로 알림을 받아봅시다. 이메일로 알림을 전송해주는 모든 서비스는 다 카톡으로 알림을 받아볼 수 있어요.
먼저 카카오톡 -> 더보기 -> 메일을 들어갑니다. 만약 메일이 없다면 생성해 주세요.
이후, 카카오톡 메일 -> 기본환경 -> 새 메일 알림 으로 들어갑니다. 관심친구 메일만 체크 해주시구요, 알림을 받음에 설정해 주세요.
다음, 설정 -> 관심친구관리로 들어가 본인의 카카오 메일 주소를 추가합니다. 만약 카카오 메일을 오로지 알림용으로만 쓰고자 하면 새 메일 알림을 모든메일로 선택하시고 관심친구는 등록 안해도 돼요. 이후 카카오 메일로 오는 메일은 카톡으로 알림이 뜹니다.
이후, TrueNAS와 nextCloud의 계정에서 본인의 메일 주소를 모두 카카오 메일 주소로 변경해 주세요. 저는 공유기와 시놀로지, 기타 IoT의 메일도 등록해서 집의 모든 기기들 메일 알림이 카톡으로 와요.
이제 TrueNAS나 nextCloud의 메일 설정에 가서 테스트 메일을 발송해 보면 카톡으로 알림이 도착하는것을 확인할 수 있어요.
4. 시스템 설정 백업
자 마지막으로 시스템 설정을 백업해 봅시다. 해당 백업 파일은 TrueNAS의 장기간 운용 중 boot pool 디스크에 문제가 생겨서 문제가 될 때, 혹은 잘못된 설정으로 인해 복원해야 할 때 백업해둔 구성 설정 파일을 이용할 수 있어요.
TrueNAS 제어판 -> 시스템 -> 일반 설정으로 이동합니다.
우상단의 [구성 관리] 를 눌러 파일 다운로드를 누르고, 경고창에서 비밀번호 시크릿 시드 내보내기를 선택한 후 저장을 합니다. 그러면 tar 확장자의 파일 하나가 다운받아지는데요, 이 파일이 추후 복원할 수 있는 파일입니다. 여기에는 네트워크 설정, 사용자 계정, 서비스 설정, 앱 설정 등 사용자 데이터를 제외한 모든 정보가 담겨있습니다. 이를 본인의 이메일에 나에게 쓰기 등으로 저장하던가, 별도의 PC에 잘 저장하던가, USB에 담아서 봉인하던가... 여러가지 방법으로 잘 보관해 둡시다. 또, 설정이 바뀔때마다 백업해두는것이 좋아요. 세상일은 모르니까요.
cron 작업으로 이 행위를 스캐줄러에 등록해 지정한 주기마다 자동으로 저장하는 방법도 있긴 합니다만, 부트 디스크가 손상되면 내부 스토리지에 접근하는것도 쉽지 않은 일이 되므로 추천하지 않아요.
만약 부트풀이 망가져서 새로운 디스크로 교체후 복원할 때에는, 일반적인 방법으로 TrueNAS OS를 처음부터 다시 설치 합니다. 이때 기존에 사용중인 스토리지 풀들을 실수로 건드리지 않도록 유의해 주세요.
설치 후, 수동 백업과 마찬가지 방법으로 시스템 -> 일반 설정에서 구성 관리 -> 파일 업로드를 통해 복원이 가능합니다.
만약 TrueNAS를 USB로 설치하여 운용중인 경우에는 짧으면 6개월~ 보통 1년정도면 USB가 맛이 간다고 하던데, 그런 경우에는 여분의 USB를 다수 준비해 두고 백업파일을 주기적으로 저장하여 복원에 지장이 없도록 해야 해요.
5. 미디어 스트리밍

솔직히 말해서, nextCloud만으로 미디어를 완전히 만족하긴 어려워요. 사진 같은 정도는 괜찮은데, 동영상은 안보이는게 많더라구요... 알아보니 서버에서 코덱 처리를 해주지 않으면 못보는게 많을 수 있다고 하네요. 영화나 드라마까지는 휴대폰이나 TV로 볼 일이 없는 경우 딱히 필요 없는 서비스이긴 합니다.
저는 오래된 드라마나 영화 같은걸 조금 소장하고 있는데요, 컴퓨터 앞에 앉아서 보는것을 좋아하진 않아요... 집에 대문짝만한 대형 TV를 놔두고 궁상피우는듯 해서요. 그래서 미디어 서버를 구축해서 TV나 휴대폰 앱으로 보도록 할거예요.
일단 일반적인 미디어 서버 앱으로는 plex가 유명해요. 내 서버에 있는 영상들을 마치 netflix처럼 만들어줘요. 하지만 예전과는 다르게 유료 요금제를 채택하고(물론 무료 요금제도 있긴 한데요 기능 제약이 있어요), 광고도 넣는 등 몹시 기분나쁜 친구로 탈바꿈 하였어요. 그런 초심을 잃은 친구들을 저는 용서치 않아요.
모든것이 무료에 광고도 없으면서 똑같은 기능을 하는 jellyfin 이라는 앱이 있어요. 우리는 이 친구를 이용할거예요. TrueNAS의 앱으로 들어가서 jellyfin 앱을 찾아 설치합니다.
nextCloud, npm을 설치했을때와 다른게 없어보입니다. 오히려 단촐하네요.
적당한 이름과, npm을 사용해 서브 도메인을 이용하고자 하는 경우 Published Server URL을 설정해주시고, 사용자와 그룹은 기본값 568로 설정합니다. 네트워크의 포트 설정도 5~6만번대 설정해주세요. 참고로 https는 여기서 안쓸겁니다. 쉽게 해보려다가 인증서 문제가 좀 까다로워서 http를 이용해 npm으로 강제 SSL 먹여줄거예요.
참고로 Discovery Port는 설정하지 않아도 됩니다.
스토리지 옵션은 전부 ixVolume으로 설정했구요, Additional Strorage만 하나 추가해 줬어요. Host path로, path 경로는 nextCloud의 UserData/[사용자명]/files 폴더를 선택해주고, Mount Path에는 /files 라고 적어줬습니다. 이렇게 추가하는 경로는 앱 내에서 Mount Path에 지정된 경로 이름으로 연결되어 Host Path의 파일들을 앱이 직접 이용할 수 있게 돼요.
미디어 자료는 전부 저기에 저장될테니 이렇게 연결해주고 앱에서 /files 폴더로 접근해서 모든 영상을 볼거예요.
설치가 끝나면 Web UI로 들어가 볼게요. 처음 실행하는 경우 서버 이름과 언어, 관리자 계정을 생성해야 합니다. 서버 이름은 적당히 아무렇게나 사용하면 되고, ID와 비밀번호를 입력 후 진행합니다.
미디어 라이브러리 설정은 미디어를 구분하여 선택해서 볼 수 있는 기능이라고 보면 돼요. 넷플릭스를 예로 들자면 [영화], [시리즈] 처럼요. 콘텐츠 종류는 적당히 어울리는것을 선택해 주세요. 저는 아직 원래 쓰던 NAS에서 데이터들이 입주하질 않아서 아무것도 없어서요... 일단 영화 및 쇼 혼합 이라고 적당해 보이는걸 선택했습니다. 폴더는 아까 마운트했던 /files를 통으로 선택해 봤어요. 이러면 내 클라우드 내의 모든 미디어가 다 노출될 거라고 생각해요... 나중에 [영화], [드라마], [애니] 등으로 개별 폴더화 하여, 여러개의 라이브러리로 나누어 특정 폴더의 미디어만 보여질 수 있도록 하려고 해요. 나머지 세부 설정등은 적당히 설정해도 문제 없을듯 해요.
선호하는 메타데이터 언어는 korea로 했구요, 원격 접근 설정은 허용해야 합니다.
이제 설정이 끝났으니 생성한 아이디로 로그인을 해봅시다. 넥스트 클라우드에 들어있던 미디어들이 다 나타날 거예요.
이제 도메인을 이용한 원격접속을 해봐야겠죠. jellyfin을 설치하면서 지정했던 http port 번호를 공유기에서 포트포워딩 한 후, npm에서 신규 서브 도메인의 인증서를 등록, 호스트를 통해 http로 해당 포트를 등록하고 인증서를 통해 강제 SSL을 활성화 시킵니다.
휴대폰이나 태블릿에서도 이용이 가능합니다. https://play.google.com/store/apps/details?id=org.jellyfin.mobile
Jellyfin - Google Play 앱
귀하의 미디어를 귀하의 조건에 맞게.
play.google.com
webUI 주소 입력하고 로그인하면 똑같이 이용할 수 있어요. nextCloud 뷰어에서 재생 안되던 테스트 영상을 재생해봤는데, 아무 문제 없이 재생이 잘 됩니다. 자막도 당연히 지원되어서 좋네요.
내장 그래픽카드라서 인코딩에 문제가 있진 않을까 걱정했는데 아무런 문제가 없어서 다행입니다.
6. 토렌트 다운로더

시놀로지의 DSM을 사용할 때에는 다운로드 스테이션이 참 편했어요. 다운로드 스테이션에 다운로드 시작만 걸어두고 컴퓨터를 꺼놔도 NAS가 계속 켜져있으니까 알아서 다운받아 주고 그랬거든요. 이와 똑같은 앱은 못찾았습니다... TrueNAS의 공식 앱 카탈로그에서는 없고, TrueCharts 라는 비공식 카탈로그에서는 다운로드 스테이션을 대체할만한 앱이 있긴 합니다만, 아무래도 비공식 이라서 추천하기엔 좀 그래요. 카탈로그를 추가 하는 방법도 복잡해서 포기했어요.
그래서 일반 다운로드는 그냥 PC에서 진행하도록 하고, 토렌트 다운로더만 앱으로 관리해보도록 할게요. 처음엔 nextCloud가 관리하는 userData 폴더 내에 바로 다운로드 받아지도록 하려고 노력해봤는데, 권한 문제 해결이 어려워서 조금 절차를 복잡하게 가져가야 해요.
6.1. 데이터 세트 생성
토렌트 파일이 다운로드 될 데이터 세트를 하나 생성할게요. 저는 Main 풀에 Torrent라는 데이터 세트를 하나 만들었어요. 권한을 들어가서 항목을 하나 추가하고, everyone@의 유저에게 전체 제어를 허용하는 ACL을 주고 저장합니다. 좀더 권한을 잘 알면 딱 필요한 유저에게 필요한 권한만 주면 좋을것 같긴 한데, 저는 잘 모르겠어요.
6.2. QBittorrent 설치
TrueNAS 앱에서 QBittorrent를 검색하고 설치합니다. 포트 번호 프라이빗 설정 하고, config storage는 그냥 ixVolume으로 해도 돼요.
download storage의 host path를 방금 만든 Torrent 데이터 세트로 설정하고, mount path에 /Torrent 로 지정합니다. 그러면 QBit토렌트 앱에서 해당 데이터세트를 접근해서 활용할 수 있게 돼요. ACL 설정 까지는 필요 없어요.
6.3. 포트포워딩
외부에서 접속하기 위해서는 프라이빗 포트를 포트포워딩 해줘야겠죠. 개인 도메인을 사용중이라면 서브 도메인을 또 받아서 npm으로 등록해서 강제 SSL을 주면 좋아요. 혹여 외부에서는 토렌트를 쓸 계획이 없다면 스킵해도 문제없어요.
하지만, BT Port는 반드시 포트포워딩을 해줘야 해요. webUI는 안해줘도 내부에서 접속은 문제없지만, BT Port는 안해주면 파일을 받을수가 없어요. BT Port는 TCP/UDP 로 지정해서 포워딩 해줘야 합니다.
6.4. 앱 설정
이제 해당 포트를 이용해 앱에 접속해봅시다. TrueNAS의 앱에서 webUI 버튼을 눌러 접속하면 계정을 물어봐요. 분명 어드민 계정을 만든 기억이 없는데? 싶은데요, 임시 비밀번호를 찾아내야해요...
앱 화면에서 QBittorrent의 작업부하를 보면 컨테이너들 중에 qbittorrent를 찾아서 기록 보기를 눌러줍니다. 맨 아래에서 조금 위 근처에서 admin 이라는 계정 이름을 찾을 수 있어요. 그 다음 줄에서 어드민 계정이 설정되지 않았다면서 임시 비밀번호가 적혀있는 것을 찾을 수 있어요.

이것을 기록해두고, webUI에서 로그인을 하면 접속할 수 있어요.
설정 아이콘을 눌러 몇가지 기본 설정을 해줄거예요.
[동작] 탭
- 언어 : 한국어
[다운로드] 탭
- 기본 저장 경로 : /Torrent (위에 생성한 데이터세트를 마운트했던 mount path 에 적었던 경로이름이예요)
- 완료못한 토렌트 보관 위치 : /Torrent/temp (다운이 진행되고 있는 파일들의 임시 저장 위치예요. 저는 편의성때문에 쓰는데, 필수 옵션은 아니예요)
[WebUI] 탭
- 사용자 이름 & 암호 : 사용할 계정을 여기서 수정해주세요. 이걸 안바꾸면 매번 임시 비밀번호를 확인 후 접속해야 해요.
나머지 설정은 자유롭게 바꿔주세요. 몇몇 잘못 바꾸면 접속이나 사용이 어려워지는것도 있으니 확실한것만 건드려주세요.
마지막으로 상단 메뉴에서 보기 -> 로그 를 켜주세요. 만약 오류가 있거나 하는 경우 무슨 문제인지는 이 로그를 봐야 알 수 있어요.
하나 이상한 버그가 있는데요, npm으로 도메인을 설정하면 로그인을 안하고 바로 들어가집니다... 오히려 편하긴 한데요... 좀 그렇네요.
6.5. nextCloud에서 외부저장소 접근
토렌트가 다운받아지는 데이터 세트는 nextCloud의 환경 밖의 데이터세트에 있어요. nextCloud의 webUI는 userData에서 사용자 이름으로 구분된 file 폴더만 볼 수 있게 되어 있는데요, 원래는 QBit토렌트의 다운로드 경로를 이 userData의 file에 저장하고 싶었는데 권한때문에 다운로드가 진행이 안돼요. 그래서 별도의 데이터 세트를 만들어서 이용한거예요.
그러면 nextCloud에서 이 데이터 세트로 접근을 하면 되겠네요. TrueNAS의 앱에서 nextCloud의 앱 정보 카드에 있는 [수정]을 들어갑니다. 설치할때 봤던 그 설정화면이 보이는데요, storage 설정의 하단에 있는 Additional Storage를 하나 추가 해 줍니다.
유형은 host path로 하면 내 컴퓨터의 경로를 선택할 수 있어요. host path는 위에서 생성한 Torrent 데이터 세트를 선택해 주세요. mount path는 /Torrent로 지정합시다. 그러면 nextCloud 앱 내에서 /Torrent 라는 경로를 설정하면 Torrent 데이터 세트를 가리키게 돼요.
nextCloud의 webUI로 가서 관리자 설정으로 갑니다. 외부 저장소를 선택해서 다른 영역에 있는 데이터들을 연결할 수 있어요.
만약 설정화면이 안보이고 뭐라뭐라 하면 nextCloud의 앱에서 External storage support 찾아 활성화 해줘야 합니다.
nextCloud의 관리자 설정 -> 관리 -> 외부 저장소를 찾아 갑니다. 여기서 다음과 같이 설정해 주세요.
폴더 이름 : Torrent
외부 저장소 : 로컬
인증 : 없음
설정 : /Torrent (Additional Storage에 지정한 Mount path 이름)
다음으로 사용 가능 : 모든 사용자
저장을 누르면 이제 파일 리스트에서 외부 저장소 항목을 통해 접근할 수 있습니다. QBittorrent에서 다운받은 파일들을 이제 nextCloud의 webUI에서 확인할 수 있고 정리가 필요하면 다른 폴더로 옮길 수 있게 됐어요. 위에서 데이터 세트의 권한을 everyone에게 전체 권한을 줬기 때문에 권한 문제 없이 이용할 수 있게 됐습니다.
이 밖에도 additional storage에 경로를 더 추가하여 로컬 타입으로 지정하면 여러 경로를 넥스트 클라우드에 마운트 할 수 있어요. 필요하면 외부 저장소 기능을 통해 FTP나 WebDAV, 혹은 또 다른 별도의 nextCloud와 쉽게 연결할 수 있어요.
저는 시놀로지의 NAS도 같이 운영중인데요, 이 경우 ftp 등으로 서로 연결해서 저장 용량을 확장하거나, 하나의 NAS를 외부 백업 전용의 수단으로 이용할 수 있습니다.
이것으로 TrueNAS를 개인 NAS로 활용하기 위한 모든 틀은 다 잡았습니다. nextCloud에 파일들을 저장해서 실제 사용할 수 있는 단계까지 왔어요.
앞으로 무서운것은, 처음 TrueNAS를 설치한 이후로도 벌써 버전업이 3번이나 있었는데, 앞으로 계속해서 업데이트를 하다보면 손이 계속 가는게 아닌가 싶어요. 버전 업데이트가 지원되는건 고마운 일이지만, 업데이트 할때마다 살짝 두근거리긴 해요... 옛날에 앱 관련 대규모 업데이트가 있을때도 모든 앱을 한순간 이용할 수 없는 큰 문제가 있었다고도 했거든요.
지금까지는 사용에 문제가 없어보여서 저도 실 사용에 들어갔습니다. 앞으로도 문제가 없길 바래요...
제 경험이 모든 분들께 도움이 되었으면 좋겠습니다.