저는 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:~#