크로스리전 Mac Mini M4 클러스터에서 GlusterFS로 POSIX 아티팩트를 공유하면 self-heal과 야간 rsync가 같은 APFS를 두드려 «망은 여유인데 빌드만 멈춤»이 납니다. 본문은 복제 볼륨·brick·rsync 백오프·flock 빌드 락·1TB/2TB 디스크 수위를 의사결정 표로 묶고, 다섯 단계 런북·장애 FAQ까지 담습니다. 🔗 홈 · MinIO 매트릭스 · JuiceFS 매트릭스 · OpenClaw 카나리
① brick 드리프트
AZ마다 APFS 경로가 다르면 quorum·heal이 끝나지 않습니다.
AZ마다 APFS 경로가 다르면 quorum·heal이 끝나지 않습니다.
② rsync 무제한
아티팩트 폭주가 한 brick만 채우고 self-heal과 겹칩니다.
아티팩트 폭주가 한 brick만 채우고 self-heal과 겹칩니다.
③ 빌드 락 부재
Lane이 같은 승격 경로에 쓰면 split-brain 위험이 커집니다.
Lane이 같은 승격 경로에 쓰면 split-brain 위험이 커집니다.
① 복제 볼륨과 brick 계획 (GlusterFS)
유효 용량·heal 창·M4 열 예산으로 볼륨형을 고르세요. brick마다 /bricks/vol1/brickN 전용 서브볼륨, 시스템 루트와 분리. WAN 팀은 Replica 3 arbiter(데이터 2 + 메타 1)가 대역을 아낍니다.
| 볼륨형 | Bricks/AZ | 유효 용량 | heal | 검수 |
|---|---|---|---|---|
| Replica 2 | 2×1 | 약 50% | 짧음 | 소규모 시범 |
| Replica 3 | 3×1 | 약 33% | 중간 | 표준 CI |
| Replica 3 arbiter | 2 데이터+1 중재 | 약 50% | 중간 | WAN 절약 |
| Dispersed 4+2 | 6 bricks/풀 | 약 66% | 김 | 대형 아카이브 |
② 아티팩트 rsync 백오프·파라미터 매트릭스
bwlimit(KiB/s)는 SSH p95·gluster volume heal info 큐와 함께만 상향하세요.
rsync -az --partial --delete-delay --bwlimit=48000 \ --timeout=300 --info=stats2 \ ./DerivedArtifacts/ mac-eu-02:/mnt/gluster-ci/promote/
| 프로필 | bwlimit KiB/s | 동시 | 백오프 | SSH p95 |
|---|---|---|---|---|
| 주간(1TB) | 38000–45000 | 1 | APFS>72% | <150ms |
| 야간(2TB) | 52000–70000 | 2 | heal<200 | <180ms |
| 비상 | 80000 | 3 | 변경승인+황선 | 당직 승인 |
③ 빌드 락(flock)과 Lane 격리
LOCK=/var/tmp/gluster-promote-${LANE_ID}.lock
flock -n "$LOCK" ionice -c2 -n4 rsync -az --delete-delay \
--bwlimit="${BWLIMIT}" "${SRC}/" "${GLUSTER_MOUNT}/stable/"
- Lane:
stable/·canary/분리—OpenClaw는 canary만 읽습니다. - Heal 게이트: heal 큐 초과 시 Promotion 차단.
- 감사: 락·PID·rsync 종료코드를 Lane별 JSONL.
④ 1TB/2TB 확장·디스크 수위 검수
| 디스크 | 황선 | 검수 |
|---|---|---|
| 1TB | 사용≤85%, 여유≥100GB | rsync≤2·brick heal 120GB |
| 2TB | 사용≤82%, 여유≥150GB | 3번째 brick·inode 75% 주간 |
gluster volume add-brick 전 Lane drain·rsync 일시정지. S3·캐시는 JuiceFS·MinIO 매트릭스로 분리하세요.
다섯 단계 롤아웃 (최소 재현)
- 베이스라인:
gluster volume status·heal 큐를 CI 전에 기록. - 볼륨: 매트릭스로 Replica·brick 대칭 프로비저닝.
- 마운트:
direct-io-mode disable로 소파일 벤치. - rsync·락: bwlimit 프로필·flock·JSONL 감사.
- 검수: APFS 이중 임계·Flagger 카나리 digest 병합.
⑤ 장애 전환 FAQ
- brick 1대 다운? Replica 3은 읽기 제한 가능, 2대면 Promotion 동결·부 AZ 마운트.
- rsync+heal로 디스크 포화? bwlimit↓·delete-delay 중지·황선 복귀 후 재개.
- MinIO/JuiceFS 병행? Gluster=POSIX 빌드 트리, 객체·캐시는 자매 매트릭스—이중 주쓰기 금지.
- 카나리 중 rsync? stable 대비 bwlimit 40%, 미검증 digest는 canary 금지.
인용 3줄: heal 병렬 ≤4(2TB)/2(1TB) · rsync+heal ≤ NIC 70% · failover 전 OpenClaw digest 방송.
운영 가이드. Gluster·macOS FUSE 버전은 설치본으로 검증하세요.