Proxmox ZFS에서 Swap 설정하기.
안녕하세요. 달소입니다.
오늘은 루트 파티션이 ZFS로 구축된 시스템에서 SWAP을 설정하는 방법입니다.
ZFS의 특징으로는 ARC를 사용하기때문에 RAM용량을 많이 사용하는데요. 이때문에 발생할 수 있는 오류는... 지난 주말처럼 시스템에서 out of memory를 띄우면 램을 많이먹는 VM을 꺼버립니다..ㅠㅠ
그래서 Swap을 사용하려고했는데...
기본적으로 ZFS에서는 스왑이 따로 설정되어있지 않기떄문에 아래 과정을 통해 스왑 풀을 만들어야합니다.
ZFS쪽에서도 스왑용 파티션을 직접 만드는걸 추천하기떄문에 아래 과정은 저처럼 피치못한 사정으로만.. 해주시면되겠습니다.
ZFS 스왑 풀 만들기
먼저 노드의 쉘로 진입해서 zpool list rpool 명령어로 스왑풀을 만들 용량을 미리 확인해주세요.
그리고 아래 명령어를 통해 스왑풀을 생성해줍니다.
zfs create -V 16G -b $(getconf PAGESIZE) -o logbias=throughput -o sync=always -o primarycache=metadata -o com.sun:auto-snapshot=false rpool/swap mkswap -f /dev/zvol/rpool/swap swapon /dev/zvol/rpool/swap
생성된 스왑 파티션은 swapon --show 를 통해 확인이 가능합니다.
다른 파티션이나 마운트와 동일하게 스왑 파티션도 재부팅후에 설정값이 날라가는데
아래처럼 /etc/fstab에 내용을 추가하면 재부팅 후에도 값이 유지됩니다.
echo '/dev/zvol/rpool/swap none swap discard 0 0' >> /etc/fstab
메인에서도 SWAP이 잡힌것을 확인할 수 있습니다.
https://forum.proxmox.com/threads/new-installation-system-raid1-how-to-create-swap.103157/#post-470285
주기적으로 메모리 부족해지면 캐시메모리 비우는 건 어떤가요? drop_caches 가 proxmox도 있나 모르겟네요
오호.. 한번 찾아봐야겠습니다..
흐음.. 스왑 제거 방법도 알려주실 수 있을까여;; 스왑을 너무 많이 할당해버렸네요
swapoff인가.. 있던걸로기억합니다 한번찾아봐야될거같네요 ㅠ
zfs create -V 16G -b $(getconf PAGESIZE) -o logbias=throughput -o sync=always -o primarycache=metadata -o com.sun:auto-snapshot=false rpool/swap
//
mkswap -f /dev/zvol/rpool/swap
//
swapon /dev/zvol/rpool/swap
위와 같이 한 줄씩 입력하면 될까요?;
질문하면서도 부끄럽습니다 ^^;;
cmt alert