3.8 KiB
title, updated, tags, type, host_kind, location, provider, status, ssh_host, tailscale_ip, lan_ip, lan_ip_2_5g, os, kernel, cpu_model, cpu_cores, ram_gb, k3s_role, critical, monthly_cost_usd, chassis
| title | updated | tags | type | host_kind | location | provider | status | ssh_host | tailscale_ip | lan_ip | lan_ip_2_5g | os | kernel | cpu_model | cpu_cores | ram_gb | k3s_role | critical | monthly_cost_usd | chassis | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| incus-kr2 |
|
|
host | server | seoul | self-hosted | active | incus-kr2 | 100.119.109.41 | 192.168.9.135 | 192.168.205.135 | Debian 13 (trixie) | 6.12.85+deb13-amd64 | AMD Ryzen 9 6900HX | 16 | 30 | control-plane | true | 0 | Bosgame EffiZen Series (mini PC) |
역할
Incus + K3s control-plane 호스트 (서울존). Mini PC 폼팩터, AMD Ryzen 9 6900HX. K3s control-plane 2 중 하나, Incus 프로젝트 default + inbest. inbest 프로젝트가 leewell.com 등 7 컨테이너(cloudflared/nginx/php5/php8/mariadb10/phpmyadmin/sftp) 호스팅 — kr2 단일 장애 시 leewell.com 포함 inbest 서비스 전체 다운.
네트워크
- 1G LAN
192.168.9.135(eno1) — Tailscale 진입 - 2.5G LAN
192.168.205.135(USB r8152,enx803f5dd34c9f) — 백업/대용량 전송용 (실 사용량 14~70 B/s 수준으로 거의 idle, infra-hosts 참조) - Tailscale
100.119.109.41
전원/원격제어
- Tapo 스마트플러그 연결 → 강제 리부팅 가능 (호스트 hang 시 유일한 OOB 수단)
- iLO/IPMI 미장착 (mini PC 폼팩터)
알려진 hang 패턴 — AMD-Vi (IOMMU) Completion-Wait Timeout
호스트 freeze 반복의 근본 원인. 메커니즘 정본은 amd-vi-iommu, 사건 사연은 2026-05-04-amd-iommu-freeze.
요약: AMD Ryzen 6900HX IOMMU의 Completion-Wait queue가 stall되면서 DMA 의존 디바이스(NVMe, USB 컨트롤러 등)가 멈춤 → containerd/incus/sshd login만 죽고 ICMP/이미 매핑된 프로세스(nginx, node-exporter)는 살아남는 부분 hang. 조치: GRUB cmdline iommu=pt 추가 (2026-05-04 적용, 17시간 timeout 0건 검증).
과거 freeze 이력 비교:
| 일자 | 원인 | 조치 |
|---|---|---|
| 2026-04-04 | USB 2.5GbE r8152 autosuspend hang (2026-04-04-usb-25g-hang) | usbcore.autosuspend=-1 + udev rule |
| 2026-04-19 | OOM freeze (RAM 30 GiB 과적) | kubelet system-reserved=8Gi |
| 2026-05-04 | AMD-Vi IOMMU Completion-Wait timeout | iommu=pt |
kr2 전용 K3s 설정
kubelet system-reserved=memory=8Gi,eviction-hard=memory.available<2Gi(2026-04-19 OOM 대응, RAM 30 GiB로 K3s + Incus 공존)- 변경 금지 — 제거 시 OOM 재현 위험
GRUB cmdline
ro usbcore.autosuspend=-1 quiet iommu=pt
usbcore.autosuspend=-1— USB r8152 절전 hang 차단 (2026-04-04)iommu=pt— AMD-Vi Completion-Wait timeout 차단 (2026-05-04)
사전 체크 — reboot/워크로드 재배치 동반 작업 전 필수
K3s 업그레이드, OS apt + reboot, 커널 업그레이드, dist-upgrade, grub 패키지 업그레이드, 호스트 reboot 등 GRUB cmdline 또는 워크로드 부하 패턴이 영향받을 수 있는 작업 직전에 다음 두 줄로 iommu=pt 활성 여부 확인:
ssh kaffa@incus-kr2 'cat /proc/cmdline; grep GRUB_CMDLINE /etc/default/grub'
/proc/cmdline에iommu=pt있어야 현재 부팅에서 활성GRUB_CMDLINE_LINUX_DEFAULT에iommu=pt있어야 다음 reboot에서도 적용- 둘 중 하나라도 빠지면 작업 중단하고 GRUB 복구 후 reboot 사이클 별건 처리
이유: AMD-Vi freeze는 K3s+Incus 워크로드 부하 패턴에서 발생. K3s drain/uncordon으로 pod 재배치 시 freeze 위험 윈도우. dist-upgrade·grub 패키지 prompt 또는 /etc/default/grub 수동 편집으로 iommu=pt가 빠지면 다음 reboot에서 freeze 재발.
디스크
/dev/nvme0n1— root + 데이터, ext4 937 GiB (사용 18%)- SMART 깨끗 (Critical Warning 0, Media Errors 0, Percentage Used 1%)