AI 자동화 2026년 5월 13일

2026-05-13 헤드리스 렌탈 Mac mini에서 OpenClaw: launchd·MCP·야간 에이전트 전에 SSH로 끝내는 최초 부팅 체크리스트

ProxyMac 엔지니어링 팀 2026년 5월 13일 약 16분 읽기

ProxyMac에서 Apple Silicon Mac mini를 빌리고 노드가 홍콩·일본·한국·싱가포르·미국에 있는 팀은 Finder나 화면 공유 없이 SSH만으로 OpenClawlaunchd에 올리고 싶어합니다. 가장 비싼 생략은최초 사전 점검입니다. MCP 타임아웃을 네트워크 탓으로 돌리면서디스크 압박을 놓치거나, “API 키 없음”을 제품 결함으로 보지만 실제로는비로그인 셸이 변수를 물려받지 못한 경우가 많습니다. 이 글은 (1) 대상과 완료 정의, (2) 설치 전 반드시 수집할 세 가지 정량 신호, (3) 다섯 열사전 점검 매트릭스, (4) Confluence에 붙일 수 있는7단계 SSH 런북, (5) 증상→조치 표를 제공하고 설치·배포, MCP 환경과 launchd, 게이트웨이 토큰 JSON, launchctl 복구로 연결합니다. macOS 대화상자를 손으로 눌러야 할 때는 VNC. 사양은 요금. 경로는 도움말.

대상과 「완료」의 정의

mini를 OpenClaw 상시 게이트웨이로 쓰고 MCP 도구와 JSONL 관측 가능성을 실는플랫폼 엔지니어자동화 오너를 위한 글입니다. 「완료」란 콜드 재부팅90초 안에 SSH로 다시 들어가고, LaunchAgent가 사람이 ssh 세션을 다시 걸지 않아도 올라가며, 구조화 로그가 모델·도구 헬스 체크 통과를 보여 주는 상태입니다. 재부팅마다 동료가 export 해야 한다면 미완료—그건 병렬 에이전트 피크에서 터질 환경 부채입니다.

  • 수치 목표: JSONL·모델 캐시를 싣는 APFS 볼륨은 최소 25% 여유를 유지. 계획된 유지보수 창에서만 잠시 15% 미만 허용.
  • 지연 현실: 운영 노트북에서 해당 리전까지 RTT를 기록. 컨트롤 플레인 API가 다른 대륙에 있으면 MCP 타임아웃에 120–220 ms급 왕복을 마음에 둡니다.
  • 동시성 예산: 피크에 4개 동시 MCP 핸드셰이크로 파일 디스크립터를 추정한 뒤 “네트워크는 문제없다”고 말합니다.

설치 스크립트를 돌리기 전에 반드시 얻을 세 가지 신호

먼저 df -hdiskutil apfs listSnapshots /를 스냅샷—OpenClaw의 append 로그와 마이그레이션 도구가 남긴 APFS 스냅샷은 서로 밟기 쉽습니다. 그다음 sysctl hw.optional.arm64uname -m을 출력해 arm64 Apple Silicon인지 확인(Rosetta와 Node 바이너리 혼용 방지). 셋째로 ssh host 'command -v openclaw'ssh -t host zsh -lic 'command -v openclaw'를 대조합니다. 다르면 MCP 환경 글이 설명하는 것과 같은 유형의 launchd 문제로 빙빙 돕니다. 세 출력을 티켓에 붙이면 다음 당번은 구두가 아니라 사실을 물려받습니다.

티켓에 적을 숫자 예: 여유 공간 비율, JSONL 디렉터리 inode 수, 콜드 부팅에서 launchctl kickstart 한 바퀴의 벽시계 시간(M4에서 게이트웨이 골격은 12초 미만이 목표).

사전 점검 매트릭스: 산출물·소유자·검증·롤백·생략 시 폭발 반경

산출물 소유자 계정 검증 롤백 생략 시 영향
작업 디렉터리 LaunchAgent와 동일 UID ls -le ACL 감사 아카이브 후 install -d -o로 재생성 도구 설치 시 조용한 반쓰기
JSONL 경로 _openclaw 같은 역할 사용자 쿼터·로테이션 정책 백업 후 잘라내고 로테이션 강화 새벽 쓰기 피크에 볼륨 전체 가득 참
plist ProgramArguments root가 아닌 LaunchAgent 도메인 plutil -lint와 git diff launchctl bootout 후 plist 복원 시작 루프가 CPU 할당량 소모
모델 공급자 비밀 키체인 또는 mode 600 파일 참조 타임아웃 있는 비대화형 프로브 키 로테이션·캐시 삭제 공유 랩에서 테넌트 간 유출
MCP 서비스 목록 고정 SHA 체크섬 + openclaw doctor 일부 이전 SHA로 checkout 도구 schema 드리프트로 에이전트 중단

7단계 SSH 런북(Confluence에 그대로 붙여넣기)

  1. 스토리지 기선: 여유가 25% 미만이면 설치 거부. 먼저 정리하거나 SKU 상향—요금 참고.
  2. 시간 맞춤: NTP 건강 확인. date -u와 리전 의도(HK / JP / KR / SG / US)를 설정 옆에 메모해 크로스 리전 로그 상관을 쉽게.
  3. OpenClaw 설치·업그레이드: 설치 가이드를 따르되 PATH 스냅샷 통과 후에만.
  4. plist에 PATH 고정: Homebrew /opt/homebrew/bin과 필요한 런타임 매니저 경로 포함—암묵적 상속 금지.
  5. 이중 스모크: 먼저 SSH 포그라운드에서 게이트웨이, 같은 인자로 launchctl kickstart. JSONL 시작 토큰 행 대조.
  6. 진단 연결: 로깅 가이드로 JSONL 켜고 로테이션 검증. 48시간 안에 파일이 무한 성장하지 않게.
  7. 인수인계: 재부팅 담당·알림 심각도 명시, 복구 글 링크, 티켓에 plist 해시 첨부.
금지: 공유 점프 호스트에 프로덕션 시크릿을 셸 기록에 붙이기. 일회용 env 파일 chmod 600, plist 검증 직후 안전 삭제.

증상 → 가능 원인 → 1순위 조치(여전히 SSH만)

증상 가능 원인 1순위 조치
MCP 도구 종료 코드 127 launchd에서 PATH 잘림 plist에 절대 경로 또는 얇은 래퍼
배포 후 게이트웨이 유휴 CPU 95% 타이트 루프나 로그 쓰기 블로킹 JSONL 볼륨 지연 확인·로깅 가이드로 로테이션
재부팅 후에만 인증 오류 토큰이 shell profile에만 있음 plist EnvironmentVariables 또는 키체인—토큰 글 참고
핸드셰이크가 약 40초 멈춤 DNS·속도 제한이 패킷 손실처럼 보임 병렬도 낮추고 mini에서 명시적 해석 테스트

SSH에서 VNC로 에스컬레이션할 때(낮은 빈도 유지)

프로파일·권한 수정·plist로 처리되는 TCC는 SSH에 남깁니다. VNC는 「화면 녹화」를 눌러야 할 때, GPU UI 자동화를 봐야 할 때, 디자이너가 JSONL을 읽지 못해 화면 협업이 필요할 때. 세션은 짧게: 색 깊이 낮추고 큰 scp는 잠시 멈추고, 크로스 리전 지연 조정과 함께 마우스 이벤트를 살립니다. HK / JP / KR / SG / US에 깐 OpenClaw 클러스터는 세대당 VNC 한 번이면 되는 경우가 많고 매주는 아닙니다.

FAQ

Homebrew가 필수인가요? 아니요. 다만 문서가 암묵적으로 가정하면 매트릭스에 PATH 가정을 명시하지 않으면 같은 사고를 반복합니다.

항상 개인 관리자 계정으로 해도 되나요? 데모는 가능. 프로덕션은 역할 계정·제한 sudo·명확한 로그 소유자.

기업 HTTP 프록시는? SSH가 ProxyCommand를 쓰면 MCP 이그레스도 그럴 수 있습니다—먼저 기업 네트워크 글을 맞춘 뒤 OpenClaw를 탓하지 마세요.

ProxyMac Mac mini가 헤드리스 OpenClaw에 맞는 이유

렌탈 Mac mini M4네이티브 macOS와 예측 가능한 싱글 테넌트 CPU를 묶어, OpenClaw가 애플 스택 도구만 오케스트레이션하고 운영은 리눅스 노트북으로 이어가는 형태에 맞습니다. 게이트웨이를 HK / JP / KR / SG / US에 두면 API 리전에 컨트롤 플레인을 가깝게 두고 다섯 거점 랙을 직접 세울 필요가 없습니다. 체크리스트를 통과한 뒤에는 CI와 같은 금속 경제 모델을 이어가며—요금을 비교하고, 도움말 센터에서 비상 SSH를 연습하고, VNC는 주머니에, 크리티컬 패스에서는 빼십시오.

증거 체인으로 헤드리스 OpenClaw 운영

체크리스트 · launchd · HK / JP / KR / SG / US