ZFS 종료 시 스왑 오류 발생(Linux에서)

ZFS 종료 시 스왑 오류 발생(Linux에서)

저는 ZFS(루트 파일 시스템 포함)에 Debian Stretch를 설치하고 스왑으로 사용할 루트 풀에 볼륨을 만들었습니다. 컴퓨터가 종료될 때를 제외하면 모든 것이 잘 작동합니다. 화면에 다음 두 개의 오류 줄이 출력되는 것을 볼 수 있습니다(오류는 어떤 파일에도 기록되지 않습니다).

[...] failed deactivating swap /dev/rpool/swap
[...] failed deactivating swap /dev/zd0

예상대로 스왑이 풀에 존재합니다.

root@cerberus:~# zfs list -o name,type,used,avail,refer,mountpoint
NAME           TYPE         USED  AVAIL  REFER  MOUNTPOINT
rpool          filesystem   609G   290G    96K  none
rpool/stretch  filesystem   580G   290G   580G  /
rpool/swap     volume      29.8G   319G  29.1M  -

운영 체제는 예상대로 스왑을 사용합니다.

root@cerberus:~# cat /proc/swaps
Filename      Type            Size    Used    Priority
/dev/zd0      partition       29360124        0       -1

마지막으로 장치가 존재하고 예상대로 연결됩니다.

root@cerberus:~# dir /dev/zd0
brw-rw---- 1 root disk 230, 0 2017-01-18 19:51 /dev/zd0

root@cerberus:~# dir /dev/rpool/swap
lrwxrwxrwx 1 root root 6 2017-01-18 19:51 /dev/rpool/swap -> ../zd0

root@cerberus:~# dir /dev/zvol/rpool/swap
lrwxrwxrwx 1 root root 9 2017-01-18 19:51 /dev/zvol/rpool/swap -> ../../zd0

그렇다면 종료 중에 이 오류 메시지가 나타나는 원인은 무엇입니까? 나는 이러한 오류를 무시해도 안전하지만 그 원인을 알고 싶다는 결론에 도달했습니다.

편집 1(airhuff에 대한 코멘트)

스왑 볼륨의 속성은 다음과 같습니다.

root@cerberus:~# zfs get all rpool/swap
NAME        PROPERTY               VALUE                  SOURCE
rpool/swap  type                   volume                 -
rpool/swap  creation               Tue Jan 17 16:36 2017  -
rpool/swap  used                   29.8G                  -
rpool/swap  available              319G                   -
rpool/swap  referenced             29.1M                  -
rpool/swap  compressratio          1.00x                  -
rpool/swap  reservation            none                   default
rpool/swap  volsize                28G                    local
rpool/swap  volblocksize           4K                     -
rpool/swap  checksum               on                     default
rpool/swap  compression            off                    local
rpool/swap  readonly               off                    default
rpool/swap  copies                 1                      default
rpool/swap  refreservation         29.8G                  local
rpool/swap  primarycache           metadata               local
rpool/swap  secondarycache         none                   local
rpool/swap  usedbysnapshots        0                      -
rpool/swap  usedbydataset          29.1M                  -
rpool/swap  usedbychildren         0                      -
rpool/swap  usedbyrefreservation   29.7G                  -
rpool/swap  logbias                throughput             local
rpool/swap  dedup                  off                    inherited from rpool
rpool/swap  mlslabel               none                   default
rpool/swap  sync                   always                 local
rpool/swap  refcompressratio       1.00x                  -
rpool/swap  written                29.1M                  -
rpool/swap  logicalused            28.6M                  -
rpool/swap  logicalreferenced      28.6M                  -
rpool/swap  snapshot_limit         none                   default
rpool/swap  snapshot_count         none                   default
rpool/swap  snapdev                hidden                 default
rpool/swap  context                none                   default
rpool/swap  fscontext              none                   default
rpool/swap  defcontext             none                   default
rpool/swap  rootcontext            none                   default
rpool/swap  redundant_metadata     all                    default
rpool/swap  com.sun:auto-snapshot  false                  local

편집 2(Michael Kjörling의 코멘트):

출력에는 관련 항목이 아무것도 표시되지 않으며 dmesg어떤 파일에도 관련 항목이 표시되지 않습니다 /var/log(이것이 "... (오류가 어떤 파일에도 기록되지 않았습니다)..."라는 뜻입니다). 나는 뭔가를 알아 내려고 노력했지만 last -x소용이 없었습니다.

스왑을 수동으로 꺼도 문제가 발생하지 않는 것 같습니다.

root@cerberus:~# swapoff /dev/zd0
root@cerberus:~# echo $?
0
root@cerberus:~#

관련 정보