backup / knowledge
PBS datastore를 NFS로 마운트하기
PBS VM에는 큰 디스크가 붙어 있지 않다. 백업이 실제로 쌓이는 곳은 TrueNAS의 dataset이고, PBS는 그걸 NFS로 마운트해서 datastore로 쓴다.
dataset의 record size를 1M로
만들 때 record size를 1M로 잡아야 한다. 기본값 128K로 두면 PBS가 쓰는 chunk 크기와 어긋나서 쓸데없는 read-modify-write가 늘어난다. PBS의 chunk는 보통 이보다 크다.
이건 dataset을 만들 때 정하는 값이고 나중에 바꿔도 이미 쓴 데이터에는 적용되지 않는다. 처음에 잡아야 한다.
마운트
먼저 붙일 수 있는 export가 보이는지 확인한다.
$ showmount -e 10.10.10.1
임시로 붙여서 되는지 본다.
$ mount -t nfs 10.10.10.1:/mnt/vault/pbs /mnt/nas
여기까지 되면 /etc/fstab 에 올린다.
10.10.10.1:/mnt/vault/pbs /mnt/nas nfs rw,hard,noatime,rsize=1048576,wsize=1048576,timeo=600,retrans=5 0 0
hard— NAS가 응답하지 않으면 무한히 재시도한다. 백업 중에 에러를 던지고 끝내는 것보다 기다리는 게 낫다.rsize/wsize1048576 — 1M다. dataset의 record size와 맞췄다.timeo=600— 1/10초 단위라 60초다.retrans=5와 함께 쓰면 끊겼을 때 성급하게 포기하지 않는다.noatime— 접근 시각을 쓰지 않는다. 백업 datastore에서 atime은 쓸모가 없고 쓰기만 늘린다.
확인은 이렇게 한다.
$ mount | grep nfs
datastore 등록
PBS 웹에서 Datastore를 추가하고, Backing Path에 방금 마운트한 경로를 적는다.

여기 있는 GC Schedule과 Prune Schedule은 나중에 따로 조정한다.
백업용 유저에게 권한 주기
Access control에서 backup 유저를 만들고, datastore의 Permissions에서 그 유저에게 DatastoreBackup 권한을 준다. PVE가 이 계정으로 붙는다. 관리자 계정을 그대로 쓰지 않는 편이 낫다.