현재 저는 376Gb의 메모리를 가진 서버를 운영중이고, 그중 ARC를 16Gb를 사용중이고, 최대 188G까지 사용 했습니다.
여기서 ARC란? ZFS의 ARC (Adaptive Replacement Cache) 를 얘기합니다.
ZFS파일 시스템에서 자주사용하는 데이터를 빠르게 사용하기 위해 메모리에 두고 사용하게 되는데 proxmox에서 설정된 기본값이 200GB로 잡혀있어서 우선 사이징 하는 방법에 대해 찾아봤습니다.
아래 보시면 정말 좀 과하게 사용합니다.
이렇게 되면 사실 디스크 성능은 확실히 좋아 질 겁니다. 하지만 너무 과하게 사용하는 것 같아서 변경 적업을 했고 변경 진행 후 다음과 같습니다.
확실히 절약 된 모습입니다.
1. 서버포럼 (https://svrforum.com/os/287551)
2. dlford (https://www.dlford.io/memory-tuning-proxmox-zfs/)
위의 글을 찾아서 적용했습니다.
현재저는 4대의 서버 중 한대를 변경했습니다.
변경 값은 다음과 같습니다. 우선 아래와 같이 변경했습니다 기본값은 20 이고 주석 처리 되어 있습니다.
그리고 아래와 같이 파일 하나 를 생성하던지, 파일이 없다면 생성해서 다음과 같이 적용 합니다.
그리고 proxmox를 재 시작 해줍니다. 그렇게 되면 적용이 확인 됩니다.
# cat zfs.conf
options zfs zfs_arc_min=4294967296
options zfs zfs_arc_max=21474836480
적용된 후 min / max의 값이 잘 적용 됬는지 확인 하려면 다음과 같습니다.
cat /sys/module/zfs/parameters/zfs_arc_max
cat /sys/module/zfs/parameters/zfs_arc_min
잘 적용되어서 다행이네요. 사실 기본 값에서 수정한다는 것은 잘 적용 되면 좋은데 잘못되면 실제 콘솔을 붙여서 다시ㅠㅠ 수정해야해서 걱정이 되었습니다. 해당 걱정이 생기게 된 이유는 서버포럼에서 적용 실패했다는 댓글이 있어서 였습니다. 하지만 저는 잘 적용 됐네요^^
서버포럼 달소님과 댄 포드 님에게 감사를 전하고 저는 그분들의 글로 적용해서 성공했음을 전달 드립니다.
가장 중요한 사항은 아래와 같은 것 입니다. 일단은 몇개월 운영하며 문제 사항은 확인 해 봐야 할 거 같습니다.
적용 서버
미 적용서버
설정 하던 중 사실 메모리를 이용해야 할 필요가 있을까란 생각을 했습니다. 현재 m.2의 속도가 워낙 좋기때문에 m.2를 cache로 사용 할 방법이 있을거라는 생각을 했습니다. 우선 메모리 가격보다 현저하게 저렴하고, m.2의 속도 역시 좋기때문에 하지만 내구성 문제가 마음에 걸리기는해서.. 몇가지 사항을 조사한 후 적용해야 할거 같습니다.
간략히 예시를 들면 아래와 같습니다.
zpool add testpool cache /dev/nvme0n1
위와 같이 testpool 의 ZFS Pool을 가지고 있으면 다음과 같이 설정해서 nvme로 cache를 설정하겠다 입니다. 사실 가격으로 따지면 굉장히 좋은 방법 입니다. 하지만 rw가 과하게 발생할 것이며, 얼마나 버틸지에 대한 내구성 문제를 생각한다면 고민이 되긴 합니다.
많은 분들에게 도움이 되길 바랍니다.
https://svrforum.com/os/287551
https://www.dlford.io/memory-tuning-proxmox-zfs
'서버인프라 > Proxmox' 카테고리의 다른 글
또다시 Proxmox 업그레이드 시간이 다가왔다 (2) | 2023.09.26 |
---|---|
Proxmox Firewall (2) | 2023.01.09 |
Proxmox upgrade (2) | 2022.12.07 |
Proxmox Dark Thema 설정 (2) | 2022.12.06 |
Proxmox Cluster 제거 (0) | 2022.12.02 |
댓글