콘텐츠로 이동

부록

용어설명
CASCompare-and-Swap. etcd의 원자적 키 갱신 메커니즘
CBCircuit Breaker. 장애 전파 차단 패턴 (CLOSED/OPEN/HALF_OPEN)
CSIContainer Storage Interface
DPDKData Plane Development Kit. 커널 바이패스 패킷 처리
etcd분산 키-값 저장소. 클러스터 메타데이터 관리
fire-and-forget응답 즉시 반환 후 비동기 실행하는 패턴
GMainLoopGLib 이벤트 루프. PureCVisor의 핵심 실행 모델
GTaskGLib 비동기 태스크. 스레드 풀에서 실행
io_uringLinux 비동기 I/O 인터페이스
JSON-RPCJSON Remote Procedure Call. UDS 통신 프로토콜
keepalivedVRRP 기반 가상 IP 관리 데몬
Lease TTLetcd 키의 생존 시간 (Time-To-Live)
mTLSMutual TLS. 양방향 인증서 인증
NFVNetwork Functions Virtualization
NUMANon-Uniform Memory Access. CPU-메모리 토폴로지
OVNOpen Virtual Network. SDN 제어 평면
OVSOpen vSwitch. 가상 스위치
PBKDF2Password-Based Key Derivation Function 2
RBACRole-Based Access Control
RPORecovery Point Objective. 데이터 손실 허용 시간
SR-IOVSingle Root I/O Virtualization. 하드웨어 NIC 가상화
STONITHShoot The Other Node In The Head. 펜싱 메커니즘
UDSUnix Domain Socket
VIPVirtual IP. keepalived VRRP로 관리
VRRPVirtual Router Redundancy Protocol
WALWrite-Ahead Logging. SQLite 동시성 모드
VXLANVirtual Extensible LAN. 오버레이 터널 프로토콜
zvolZFS Volume. 블록 디바이스 형태의 ZFS 데이터셋
코드상수설명
1PCV_VM_ERR_NOT_FOUND지정한 VM이 존재하지 않음
2PCV_VM_ERR_ALREADY_EXISTS동일 이름의 VM이 이미 존재
3PCV_VM_ERR_BUSYVM이 다른 작업 중 (lock 점유)
4PCV_VM_ERR_INVALID_STATE현재 상태에서 해당 작업 불가
5PCV_VM_ERR_LIBVIRT_FAILEDlibvirt API 호출 실패
6PCV_VM_ERR_XML_FAILEDVM XML 구성/파싱 실패
7PCV_VM_ERR_INTERNAL내부 오류
코드상수설명
1PCV_LXC_ERR_NOT_FOUND컨테이너 미존재
2PCV_LXC_ERR_ALREADY_EXISTS동일 이름 컨테이너 존재
3PCV_LXC_ERR_NOT_RUNNING실행 중 상태 필요
4PCV_LXC_ERR_CMD_FAILED외부 명령 실행 실패
5PCV_LXC_ERR_CONFIG_FAILEDliblxc config 적용 실패
6PCV_LXC_ERR_INTERNAL내부 오류
코드상수설명
1PCV_VALIDATE_ERR_NAMEVM/컨테이너 이름 형식 오류
2PCV_VALIDATE_ERR_SNAP_NAME스냅샷 이름 형식 오류
3PCV_VALIDATE_ERR_PATH경로 형식/순회 오류
4PCV_VALIDATE_ERR_BRIDGE브릿지 이름 형식 오류
5PCV_VALIDATE_ERR_RANGE수치 범위 초과
6PCV_VALIDATE_ERR_IMAGE컨테이너 이미지 형식 오류
7PCV_VALIDATE_ERR_CMDexec 명령어 형식 오류
코드설명
-32700Parse error (JSON 파싱 실패)
-32600Invalid Request (필수 필드 누락)
-32601Method not found (미등록 RPC)
-32602Invalid params (파라미터 검증 실패)
-32000Server error (내부 오류)
-32001Not implemented (placeholder)

-32602PureRpcErrorCode의 canonical invalid-params 값입니다.
예를 들어 인증 REST의 OVN ACL switch 또는 NAT router 필터가 누락되면 이 값을 사용하며, handler나 adapter가 raw 숫자 리터럴로 별도 의미를 만들지 않습니다.

패키지용도
gcc-14C23 컴파일러, 검증 기준 노드 확인값 14.3
make빌드 시스템
libglib2.0-devGLib/GIO/GObject
libsoup-3.0-devHTTP 서버 (REST API)
libjson-glib-devJSON 파싱
libvirt-devVM 관리
libvirt-glib-1.0-devlibvirt GObject 바인딩
liblxc-devLXC 컨테이너
libsqlite3-devSQLite (상태 DB, 감사 로그)
libssl-devOpenSSL crypto/JWT 서명
libcap-devLinux capabilities
libseccomp-devSeccomp 시스템 콜 필터
libreadline-devCLI REPL
liburing-devio_uring fast path
libbpf-deveBPF loader와 BTF 경로
libxml2-devlibvirt-gconfig pkg-config 전이 의존
protobuf-c-compiler / libprotobuf-c-devprotobuf-c 코드 생성과 링크
패키지용도
libvirt-daemon-systemlibvirtd
qemu-system-x86 / ovmfQEMU/KVM 하이퍼바이저와 UEFI firmware
libguestfs-tools일반 VM 복제 Guest reset 도구 묶음
zfsutils-linuxZFS 파일시스템
lxc / lxc-utilsLXC 컨테이너 런타임
openvswitch-switchOVS 가상 스위치
ovn-central / ovn-host선택형 Local OVN control plane과 host controller
(패키지 없음 — 커널 LIO)iSCSI 타겟. D4 전환으로 tgt 의존 제거. /etc/modules-load.d/purecvisor-lio.conf 로 모듈만 확보한다 — deb 가 conffile 로 설치한다(D4-F6 해소). deb 를 쓰지 않는 배포에서만 운영자가 직접 만든다
open-iscsiiSCSI 이니시에이터
dnsmasqDHCP/DNS
nftables방화벽
포트프로토콜용도
443TCP/HTTPSpurecvisorsd 기본 REST API + Web UI + WebSocket
8080TCP/HTTP127.0.0.1 복구 listener 또는 선택형 NGINX upstream, 외부 공개 금지
80TCP/HTTP선택형 NGINX HTTP→HTTPS redirect를 사용할 때만 외부 수신
4789UDP선택형 VXLAN overlay를 구성한 경우
9090TCPPrometheus (외부 컨테이너)
3000TCPGrafana (외부 컨테이너)
경로용도
/etc/purecvisor/daemon.conf설정 파일
/etc/purecvisor/plugins.d/*.so플러그인 디렉터리
/var/run/purecvisor/daemon.sockUDS 소켓
/var/run/purecvisor/dnsmasq-<br>.meta브릿지 메타데이터
/var/lib/purecvisor/vm_state.dbVM 상태 DB (SQLite WAL)
/var/lib/purecvisor/pcv_audit.db감사 로그 DB
/var/lib/purecvisor/lxc/LXC 컨테이너 루트
/var/lib/libvirt/images/qcow2 디스크 이미지
/var/log/purecvisor/audit.log감사 텍스트 로그
/etc/logrotate.d/purecvisorlogrotate 설정

다음은 2026-09-16 공개 구현 e028ef2의 추적 파일과 Makefile, make check-rbac를 대조한 스냅샷입니다.
시험 결과는 소스 회차별로 22.8절과 각 운영 인계에서 구분합니다.

항목2026-09-16 기준
C 표준-std=gnu23
에디션·버전Single Edge · 2.0.0
RPC 등록/정책RPC 307건, 정책 매핑 252건, 조회성 VIEWER 기본 73건 (make check-rbac)
C/H 소스src/ 아래 C 157개, 헤더 144개, 총 190,653행 (공백 포함)
Web UIui/modules/*.js 30개, 추적 UI 파일 64개
테스트 파일tests/ C 112개, tests/integration/ 111개, tests/ui/*.test.mjs 59개
공개 문서 사이트21개 운영 가이드 장 + DB 아키텍처, 8개 분류·22개 문서
구현 검증 기록e028ef2make test·release·check-all 통과, 지정 Arch/Btrfs 실제 API 결과는 22.8절 참조
계약 게이트make check-all 직접 의존성 40개. check-lxc-storagecheck-public-comments 아래 포함
운영 인증 경계지정 시험 통과와 전체 감사·지원 환경 인증은 별도이며 22.8절 참조

파일 수는 git ls-files의 경로·확장자로, C/H 행 수는 해당 추적 파일의 전체 행으로 집계합니다.
등록 테스트·실행 통과·파일 수는 서로 다른 값입니다.
과거 2026-08-31·2026-09-15 시험 수치는 각 날짜의 기록이며 이번 문서 변경에서 전체 시험을 재실행했다는 뜻은 아닙니다.