피드로 돌아가기
Install NixOS on Jetorbit
Dev.toDev.to
Infrastructure

nixos-anywhere를 통한 VPS의 선언적 인프라 구축 및 Zero-Config Drift 달성

Install NixOS on Jetorbit

Dimas Rangga2026년 6월 29일8intermediate

Context

기존 VPS 환경의 수동 설정 방식에 따른 Config Drift 발생과 서버 상태의 비재현성 문제 해결 필요. Ubuntu 기반 레거시 환경을 유지하며 OS 재설치 없이 대상 서버를 완전한 선언적 상태로 전환하는 아키텍처 설계 요구.

Technical Solution

  • nixos-anywhere를 활용해 Local(macOS)에서 Flake 평가 후 VPS로 배포하는 원격 프로비저닝 구조 설계
  • kexec 메커니즘을 통한 재부팅 없는 커널 교체로 Ubuntu 환경에서 NixOS 인스톨러로 즉시 전환
  • disko 기반의 GPT 파티셔닝을 적용하여 Legacy BIOS 환경에 최적화된 EF02 부트 파티션 구성
  • --build-on-remote 플래그를 통해 VPS의 네트워크 대역폭을 활용한 System Closure 빌드 및 패키지 다운로드 최적화
  • SSH-based Declarative Update 체계를 구축하여 Local 설정 변경분을 원격 서버에 즉시 동기화하는 CI/CD 파이프라인 구현
  • Static IP 설정을 통한 DHCP Fallback 방지로 리부트 후 네트워크 단절 리스크 제거

1. Legacy BIOS 환경의 GRUB 설정 시 efiSupport=false 옵션 필수 확인

2. 원격 배포 전 /sys/firmware/efi 경로 확인을 통한 Boot Mode(UEFI vs BIOS) 식별

3. 네트워크 단절 방지를 위해 대상 서버의 IP, Netmask, Gateway 정보를 사전 수집하여 Static IP 정의

4. 최소 패키지(curl, vim, git) 우선 설치 후 점진적 설정 확장을 통한 배포 리스크 최소화

원문 읽기