obsidian: 정본 문서에서 히스토리/인시던트 분리 완료
15개 정본 문서에서 날짜별 변경이력, 인시던트 기록, 폐기된 구현 상세를 history/ 디렉토리로 분리. 정본은 현재 상태만 기술하는 백서 형태로 정리. 각 정본에 history 위키링크 추가. 분리된 history 파일 12건: - apisix git push 500, k3s postgresql migration, apisix→traefik 전환 - netbis DDoS 공격, gitea 이전/분리, usb 2.5g hang + NFS hard mount - supabase→patroni, apisix etcd 통합/분리, anomaly-detect 재설계 - patroni failover incident, zlambda nixos migration, ops-agents setup Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,13 +5,11 @@ aliases: [sandbox-tokyo, sandbox-tokyo-nixos]
|
||||
tags: [nixos, linode, zlambda, infra]
|
||||
---
|
||||
|
||||
> **이름 변경 안내**: 이 노드는 2026-04-08까지 `sandbox-tokyo`로 불렸으나 OS hostname / Tailscale machine name / git 레포가 모두 `zlambda`로 통일되었습니다. 옛 이름 `sandbox-tokyo`는 Mac ssh config 및 본 문서 alias로만 남아 있습니다.
|
||||
|
||||
## 개요
|
||||
|
||||
Linode Tokyo VM (라벨 `zlambda`, id 47271589)을 2026-04-08 Debian 12 → **NixOS 25.05 (Warbler)** 로 교체. nixos-anywhere로 무관리 원격 설치.
|
||||
Linode Tokyo VM (라벨 `zlambda`, id 47271589). NixOS 25.05 (Warbler), nixos-anywhere로 설치. 옛 이름 `sandbox-tokyo`는 Mac ssh config alias로만 남아 있음.
|
||||
|
||||
이전에 운영하던 [[netbis]] DR APISIX, microsocks, tlsproxy, vault-prod, wg-easy 등은 제거됨. 이후 같은 날 **APISIX + etcd를 NixOS `virtualisation.oci-containers`로 재선언**하여 기동 완료 (`apisix.nix`). 라우트/SSL은 아직 비어 있음.
|
||||
NixOS 전환 이력: [[../history/2026-04-08-zlambda-nixos-migration|history]]
|
||||
|
||||
## 접속
|
||||
|
||||
@@ -138,29 +136,8 @@ nix run github:nix-community/nixos-anywhere -- \
|
||||
root@139.162.71.52
|
||||
```
|
||||
|
||||
## 설치 과정 메모 (2026-04-08)
|
||||
## 후속 작업
|
||||
|
||||
1. **상황**: 누군가 nixos-anywhere를 시도하다가 14시간째 nixos-installer에 멈춰 있었음. 이전 Debian 디스크는 wipe되어 있었고, 원본 데이터는 모두 손실.
|
||||
2. **첫 시도 실패**: installer 환경에서 sda(512MB)/sdb(50GB) 순서가 뒤바뀜 + 1.9GB RAM에 swap 없이 nixos-install 실행 → OOM-lock으로 SSH banner도 응답 안 함.
|
||||
3. **회복**: Linode `POST /linode/instances/{id}/rebuild`로 Debian 12 클린 설치 → 디스크 순서 정상화(sda=50G, sdb=512M).
|
||||
4. **nixos-anywhere 실행**: `--build-on remote --generate-hardware-config`로 자동 진행. 첫 실행에서 disko + grub `mirroredBoots` 중복 오류 → `boot.loader.grub.devices`를 빼고 disko의 자동 설정을 사용하도록 수정 후 재실행 성공.
|
||||
5. **부팅 안 됨**: Linode 프로필 kernel이 `linode/grub2`(Linode emulated GRUB)였는데, NixOS grub.cfg 경로를 인식 못해서 `grub>` 프롬프트에 멈춤. LISH 콘솔로 확인.
|
||||
6. **해결**: Configuration profile kernel을 `linode/direct-disk`로 변경 후 reboot → 정상 부팅.
|
||||
7. **Tailscale**: API key로 ephemeral auth key 발급(`POST /api/v2/tailnet/-/keys`) → `tailscale up --authkey`. 옛 device(`100.79.87.48`)는 offline이라 새 device가 `sandbox-tokyo-1`로 가입됨 → 옛 device 삭제(API DELETE) + rename으로 `sandbox-tokyo` 이름 회수.
|
||||
|
||||
## 후속 변경 (2026-04-08, 같은 날)
|
||||
|
||||
- **Gitea 리포지토리 [[kaffa/nixos-infra]]** (private) 생성 → `kaffa-macmini ~/nixos-infra/`와 `zlambda /root/nixos-infra/` 양쪽에 clone. zlambda는 deploy key (read-only SSH) 사용.
|
||||
- **macbookair ed25519 키**(`SHA256:kdYCep0k22+QxnOq...`)를 `users.users.root.openssh.authorizedKeys.keys`에 영구 등록 → macbookair에서 직접 `ssh root@zlambda` 가능.
|
||||
- **호스트네임 `sandbox-tokyo` → `zlambda`**: NixOS configuration.nix의 `networking.hostName`, `/etc/hostname`, kernel hostname, Tailscale device name(API rename, deviceId `6511000756301111`) 모두 통일. macbookair `~/.ssh/config`에 `Host zlambda sandbox-tokyo` alias 양쪽 유지.
|
||||
- **커널 / sysctl 튜닝**: BBR + fq qdisc, conntrack/inotify/file 한도 증가, swappiness 등. 위 "활성화된 모듈/서비스" 섹션 참조.
|
||||
|
||||
## 알려진 후속 작업
|
||||
|
||||
- [x] Gitea 리포지토리로 푸시 → `kaffa/nixos-infra` (private)
|
||||
- [x] zlambda에 deploy key 설정 (gitea repo deploy key id 1, fingerprint `SHA256:Amz8LUDKHU59qxyMS48hfoP+KxRE/o6CITfkXzkAFNU`)
|
||||
- [x] macbookair ed25519 등록 + 호스트네임 zlambda 통일
|
||||
- [x] 커널/sysctl 튜닝
|
||||
- [ ] [[vault]] SSH CA에 새 호스트키 등록 (vault.md 참조)
|
||||
- [ ] 필요 시 [[netbis]] APISIX/etcd Docker compose 재배포
|
||||
- [ ] 필요 시 [[searxng]]용 tlsproxy/microsocks 재배포
|
||||
|
||||
Reference in New Issue
Block a user