TrueNAS 부팅 안될 때 자동백업파일 추출하기(2)

개요

얼마 전 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를 패스스루해줄 예정입니다…ㅠ

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤