개요
얼마 전 TrueNAS의 boot-pool에서 백업파일을 추출하는 글을 작성한 적이 있습니다.
그러나 해당 글을 통해 추출한 파일은 기초설정만 살아있는 파일로, share 목록 등은 건져내지 못합니다.
이번 글은, TrueNAS에서 매일 자동 백업되는 설정파일을 추출하는 글입니다.
추출 환경 준비하기
우분투를 사용할 수 없는 이유
이전 글은 우분투를 사용했지만, TrueNAS 24버전 기준에 맞게, 모든 ZFS풀의 업그레이드를 마쳤다면, 아래처럼 오류가 나며 zpool import를 할 수 없게 됩니다.
root@ubuntu:~# zpool import -f -o readonly=on storage
This pool uses the following feature(s) not supported by this system:
com.klarasystems:vdev_zaps_v2
cannot import 'storage': unsupported version or feature
해당 ‘com.klarasystems:vdev_zaps_v2’ 속성이 readonly도 막아버리기 때문입니다(readonly compatitable=no).
다행히 Proxmox에서는 이 zpool을 무리없이 import할 수 있으므로 Proxmox에서 수행해보겠습니다.
System Dataset에서 설정 파일 추출하기
Proxmox에 MobaXterm등을 이용해 SSH로 접속합니다.
(Proxmox 웹 환경에서 바로 Shell을 쓸 수 있는데 굳이? 싶으시겠지만, 추출해낸 파일을 편하게 다운받으려면 이 방법이 좋기 때문입니다.)
TrueNAS에서 사용하던 디스크를 연결한 뒤 zpool import를 입력합니다.
해당 명령어는 import되지 않은 zpool을 모두 보여줍니다.
root@fenta:~# zpool import
그러면 아래처럼 결과를 볼 수 있습니다.
pool: media
id: 15878658031923720337
state: ONLINE
status: The pool was last accessed by another system.
action: The pool can be imported using its name or numeric identifier and
the '-f' flag.
see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-EY
config:
media ONLINE
raidz2-0 ONLINE
76ade51e-d42e-11ed-b4f8-4dc133087d01 ONLINE
76998f64-d42e-11ed-b4f8-4dc133087d01 ONLINE
76d94ab3-d42e-11ed-b4f8-4dc133087d01 ONLINE
76725110-d42e-11ed-b4f8-4dc133087d01 ONLINE
76e38bb2-d42e-11ed-b4f8-4dc133087d01 ONLINE
76cfc3c4-d42e-11ed-b4f8-4dc133087d01 ONLINE
76a326bf-d42e-11ed-b4f8-4dc133087d01 ONLINE
768f2118-d42e-11ed-b4f8-4dc133087d01 ONLINE
pool: pds
id: 13393763003900774857
state: ONLINE
status: The pool was last accessed by another system.
action: The pool can be imported using its name or numeric identifier and
the '-f' flag.
see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-EY
config:
pds ONLINE
raidz2-0 ONLINE
58d23d72-cba5-4f31-8cd6-b2cce39f983d ONLINE
7eb708bd-778b-47eb-927e-a44c14ea213e ONLINE
4661a086-4801-4953-a8bb-b838fa5a35a6 ONLINE
bfa006b4-0478-4d00-8ac9-7bf8530ee7c7 ONLINE
pool: k8s
id: 10260077198865834824
state: ONLINE
status: The pool was last accessed by another system.
action: The pool can be imported using its name or numeric identifier and
the '-f' flag.
see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-EY
config:
k8s ONLINE
mirror-0 ONLINE
7459ccbe-94c6-4f63-8d42-bf8cc0ec0350 ONLINE
f3acf0d8-01e5-4117-8fc7-4cb9ad7d6d10 ONLINE
pool: storage
id: 11822224687889589541
state: ONLINE
status: The pool was last accessed by another system.
action: The pool can be imported using its name or numeric identifier and
the '-f' flag.
see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-EY
config:
storage ONLINE
raidz2-0 ONLINE
04eab04b-01f9-481e-9683-30d6b2970a85 ONLINE
046ffc38-c861-4a6e-89c5-558102bce9ed ONLINE
134078e5-b246-4de5-8f71-25827cf2386d ONLINE
0337af98-4ac2-4c9a-9591-fb7339ad246a ONLINE
TrueNAS의 System Dataset은 보통 제일 먼저 생성된 풀에 만들어집니다.
그러나, 어떤 풀을 먼저 만들었는지 기억 못할 수도 있고, 저처럼 환경을 바꾸면서 통째로 import하면서 기억이 안날 수도 있습니다 =ㅅ=;
그러니 media풀부터 하나씩 import해보겠습니다.
root@fenta:~# zpool import media -f
root@fenta:~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
.
.
media 36.6T 25.3T 239K /media
media/.system 2.39G 25.3T 1.23G legacy
media/.system/configs-ae32c386e13840b2bf9c0083275e7941 7.74M 25.3T 5.64M legacy
media/.system/cores 205K 1024M 205K legacy
media/.system/netdata-ae32c386e13840b2bf9c0083275e7941 1.14G 25.3T 460M legacy
media/.system/samba4 5.64M 25.3T 717K legacy
media/VA 1.03T 25.3T 1.03T /media/VA
media/backup 4.37T 25.3T 4.37T /media/backup
media/media 31.1T 25.3T 31.1T /media/media
rpool 80.9G 369G 104K /rpool
rpool/ROOT 80.8G 369G 96K /rpool/ROOT
rpool/ROOT/pve-1 80.8G 369G 80.8G /
rpool/data 96K 369G 96K /rpool/data
한 방에 찾았네요..=ㅅ=?
media/.system/configs-블라블라 폴더가 저희가 접근해야 하는 폴더입니다.
TrueNAS UI에서 우리가 생성해서 사용했던 dataset들은 자동적으로 마운트포인트가 잡히지만(마운트가 이루어지지만),
system dataset은 그렇지 않으므로, 마운트할 경로를 생성하고 마운트해주면 됩니다.
root@fenta:~ mkdir -p /mnt/databackup
root@fenta:~# mount -t zfs media/.system/configs-ae32c386e13840b2bf9c0083275e7941 /mnt/databackup
root@fenta:~# ls /mnt/databackup
그러면 아래처럼, 버전이 명시된 폴더를 확인할 수 있습니다.

해당 폴더 안의 내용을 들여다보면, 일별로 자동저장된 설정파일을 확인할 수 있습니다.
root@fenta:~# ls /mnt/databackup/TrueNAS-SCALE-24.04.2

Proxmox에 root로 로그인했다면 이대로 다운로드 받으면 되고, 아니라면 다른 곳에 복사, 권한 부여 후 다운로드 받으면 됩니다.


다운로드 후 Proxmox에서는 해당 zpool을 다시 제거해야 합니다.
root@fenta:~# zpool export media
복원은 이전 글과 마찬가지로 진행하시면 됩니다.
마무리
Proxmox환경에서 부팅디스크 이미지 파일로 사용하는 TrueNAS는 많이 불안정한가 봅니다.
이 글을 두 번째 작성하게 되는 이유는, TrueNAS를 재부팅할 때 setting up plugins 단계에서 7분을 기다려도 middleware를 시작하지 못하다가 결국
middleware is not running 상태로 빠지면서 부팅에 실패했기 때문입니다.
레딧 등을 찾아보니, USB드라이브 등을 이용한 부팅 환경에서 많이 발생하는 것 같네요.
버전이 높아지면서 기능도 많아지고 무거워지다보니 이런 일이 발생하는건가 싶습니다.
복구하는 TrueNAS는 SSD를 패스스루해줄 예정입니다…ㅠ