Community연구 & 데이터 분석github.com

VMware Private AI — GPU 및 모델 서빙 운영

VMware Private AI Foundation with NVIDIA 환경에서 GPU 인벤토리, vGPU/DirectPath 프로필, 사용률, 모델 서빙을 관리하는 커뮤니티 스킬입니다. MCP 및 CLI를 지원하며, VMware/Broadcom/NVIDIA와 공식적으로 제휴되지 않았습니다.

VMware Private AI — GPU 및 모델 서빙 운영란 무엇인가요?

이 스킬은 VMware vSphere/VCF 9.1 환경에서 NVIDIA GPU 및 Private AI Service(PAIS) 인프라를 운영하기 위한 17개의 MCP 도구(16개 읽기, 1개 쓰기)를 제공합니다. GPU 호스트 및 물리적 장치 인벤토리, vGPU 소비자 및 실시간 사용률(GPU %, 메모리 %, 온도), vGPU/DirectPath 프로필 카탈로그 조회 및 검증, VM의 vGPU 프로필 할당(쓰기 전 미리보기 및 이중 확인), PAIS가 서빙하는 모델 및 지식 베이스 목록, 플릿 GPU 상태 요약, LLM GPU/스토리지 용량 산정 및 에어갭 번들 검사 등 다양한 작업을 지원합니다. 쓰기 작업(vgpu_assign)은 안전하게 설계되어 dry-run으로 영향을 미리 확인하고, VM이 켜져 있으면 거부하며, 모든 변경 사항을 감사 로그에 기록합니다. 이 스킬은 오직 vCenter/ESXi 및 PAIS REST API와 통신하며, 비활성 VM 전원 관리(→ vmware-aiops), 읽기 전용 vSphere 인벤토리(→ vmware-monitor), GPU 지원 Tanzu Kubernetes(→ vmware-vks) 등 다른 스킬과 명확히 분리되어 있습니다. CLI 및 MCP 모드로 사용 가능하며, MCP는 에이전트 기반 자동화에 적합합니다.

지원 대상~Claude Code✓Codex CLI~Cursor
npx skills add vmware-skills/VMware-PrivateAI

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

VMware Private AI (Foundation with NVIDIA) — GPU 및 모델 서빙 운영

면책 조항: 커뮤니티에서 유지 관리하는 오픈소스 프로젝트로, VMware, Inc., Broadcom Inc., 또는 NVIDIA Corporation과 제휴, 보증, 후원 관계가 아닙니다. "VMware", "vSphere", "VCF"는 Broadcom의 상표이며, "NVIDIA" 및 "vGPU"는 NVIDIA의 상표입니다. 소스 코드는 MIT 라이선스 하에 공개 감사 가능합니다.

VMware 스킬 제품군의 GPU/AI 인프라 렌즈입니다. GPU 호스트 및 장치 인벤토리, vGPU 소비자, 실시간 GPU 사용률, vGPU/DirectPath 프로필 카탈로그, vGPU 할당, 그리고 Private AI Service(PAIS) 가 서빙하는 모델 및 지식 베이스를 vSphere 9.x / VCF 9.1 Web Services API(pyVmomi)와 PAIS REST API를 통해 다룹니다.

함께 사용하는 스킬: vmware-aiops (AI 워크로드를 실행하는 vCenter VM — 전원/스냅샷/복제), vmware-vks (GPU 지원 Tanzu Kubernetes), vmware-monitor (읽기 전용 vSphere 상태).

상태: v1.0.1 — 내용상 아직 베타입니다. 이 제품군의 15번째 스킬입니다. 0.2.x에서 1.0.1로의 점프는 배포 수정에 의한 것이며, 성숙도를 의미하지 않습니다: 철회된 첫 번째 릴리스가 1.0.0을 사용했고, ClawHub가 latest를 버전 순서로 해석하기 때문에 모든 0.x 릴리스는 보이지 않았습니다. 아래 베타 주의사항은 여전히 유효합니다. 모든 API 경로는 사용 전 공식 Broadcom/NVIDIA 소스에 대해 검증됩니다(tests/eval/spec/privateai_endpoints.py) — 어떤 엔드포인트도 기억에 의존하여 작성되지 않았습니다. GET 응답의 필드 이름과 정확한 PAIS 경로는 방어적으로 작성되었으며 실제 9.x 하드웨어에 대한 검증을 기다리고 있습니다(문제 해결 참조). 이 제품군의 하니스(감사 + 정책 + 오류 교육)에 의해 관리되며, 읽기 대 쓰기 권한은 vCenter 서비스 계정의 RBAC 역할에 위임됩니다.

이 스킬이 하는 일

카테고리도구개수읽기/쓰기
GPU 인벤토리호스트 목록/조회, 장치 목록, vGPU 소비자 목록44 R
GPU 사용률vGPU VM별 실시간 사용률 (GPU %, 메모리 %, 온도)11 R
GPU 준비 상태호스트별 vGPU/PAIS 준비 진단 및 차단 사유11 R
프로필 카탈로그vGPU 프로필 목록, DirectPath 프로필 목록22 R
프로필 검증vGPU 프로필 변경 사전 점검 (전원 상태 + 호스트 제공 가능 여부)11 R
vGPU 할당VM의 vGPU 프로필 설정 (VM은 꺼져 있어야 함)11 W
Private AI Service서빙 모델 목록, 모델 카탈로그, 지식 베이스 목록, 데이터 소스 목록44 R
PAIS 모니터링플릿 GPU 요약 (사용률/메모리/온도, 핫/유휴, 최대 부하)11 R
용량 산정 및 에어갭LLM GPU/스토리지 용량 산정 도우미, 로컬 pais.yml 이미지 검사기22 R

17개의 MCP 도구 (16 읽기 / 1 쓰기). 읽기는 엄격히 비파괴적입니다. 유일한 쓰기 작업(vgpu_assign)은 영향 범위를 미리 보여주고, 전원이 켜진 VM을 거부하며, VM을 자체적으로 끄지 않고, CLI에서 이중 확인을 받으며, 감사 로그에 기록됩니다. 쓰기 전에 vgpu_profile_validate로 사전 점검하세요.

빠른 설치

uv tool install vmware-privateai
vmware-privateai version
vmware-privateai gpu host-list        # 첫 번째 읽기 — GPU가 있는 호스트 목록

설정은 ~/.vmware-privateai/config.yaml (대상 + 선택적 pais: 섹션)에 있으며, 비밀번호와 PAIS Bearer 토큰은 ~/.vmware-privateai/.env (chmod 600)에 있습니다. references/setup-guide.md를 참조하세요.

이 스킬을 사용해야 하는 경우

vmware-privateai는 GPU/AI 인프라 계층에 사용합니다: 어떤 호스트와 물리적 장치에 GPU가 있는지, 어떤 VM이 어떤 프로필로 vGPU를 사용하는지, 실시간 GPU 사용률, 할당 가능한 vGPU/DirectPath 프로필 카탈로그, VM의 vGPU 프로필 변경, 그리고 Private AI Service가 서빙하는 모델/지식 베이스 — 컨텍스트가 명시적으로 VMware / vSphere / VCF Private AI / NVIDIA vGPU일 때 사용합니다.

사용하지 말아야 할 경우: 작업이 백업 VM의 라이프사이클(전원 켜기/끄기, 스냅샷, 복제, 마이그레이션, CPU/RAM 재구성 → vmware-aiops)이거나, 읽기 전용 vSphere 인벤토리, 알람, 호스트 상태(→ vmware-monitor)이거나, GPU 지원 Tanzu Kubernetes / Supervisor 네임스페이스(→ vmware-vks)인 경우입니다. vgpu_assign은 의도적으로 VM을 끄지 않습니다 — 이는 vmware-aiops의 역할이며, 이 스킬의 영향 범위를 "하나의 VM, 이미 꺼져 있을 때"로 제한하기 위해 분리되어 있습니다.

관련 스킬 — 스킬 라우팅

사용자가 원하는 것…스킬
GPU / vGPU 소비자 / GPU 사용률 인벤토리 / vGPU 프로필 할당vmware-privateai (현재)
PAIS 서빙 모델 / 지식 베이스 목록vmware-privateai (현재)
백업 vCenter VM 전원 끄기 / 스냅샷 / 복제 / 마이그레이션vmware-aiops
읽기 전용 vSphere 인벤토리 / 알람 / 호스트 상태vmware-monitor
GPU 지원 Tanzu Kubernetes 클러스터 / 네임스페이스vmware-vks
승인 및 롤백이 포함된 다단계 GPU 워크플로우vmware-pilot

일반적인 워크플로우

1. 유휴 GPU를 찾고 VM의 vGPU 프로필을 재할당합니다.

vmware-privateai gpu device-list --vendor NVIDIA     # GPU 찾기; vm_count 0 = 유휴
vmware-privateai gpu consumer-list                   # vGPU를 보유한 VM과 프로필
vmware-privateai vgpu profile-list --host esx-07     # 해당 호스트가 VM에 제공할 수 있는 프로필
vmware-privateai gpu vgpu-assign fin-train-01 grid_a100-4c --dry-run   # 영향 미리보기
# vmware-aiops로 VM 전원 끄기, 그 다음:
vmware-privateai gpu vgpu-assign fin-train-01 grid_a100-4c             # 이중 확인 + 감사

실패 분기: vgpu-assign (확인)이 "VM이 켜져 있습니다 — vGPU 변경은 VM 전원이 꺼져 있어야 합니다" 라고 거부하면, 먼저 vmware-aiops vm_power_off 'fin-train-01'을 실행한 후 다시 시도하세요. "VM의 호스트 / GPU에 사용 가능한 프레임버퍼가 없어 프로필을 제공할 수 없습니다" 라고 실패하면, vmware-privateai gpu host-get <해당 VM의 호스트>를 실행하여 유효한 프로필과 여유 용량을 확인하세요.

2. 전체 환경에서 GPU 사용률을 분석합니다.

vmware-privateai gpu utilization --top 10            # 가장 바쁜 vGPU VM 먼저
vmware-privateai gpu host-list --vendor NVIDIA       # 부하를 담당하는 호스트

실패 분기: metrics unavailable (no host driver?)을 보여주는 VM은 오류가 아닙니다 — NVIDIA 호스트 GPU 드라이버가 해당 VM에 대한 카운터를 노출하지 않는 것입니다 (metrics_available:false). SM별 / 프로세스별 / MIG 슬라이스별 심층 원격 측정은 vSphere를 통해 사용할 수 없습니다; 이를 위해서는 호스트에서 NVIDIA DCGM을 사용하세요.

3. Private AI Service가 무엇을 서빙하는지 확인합니다.

vmware-privateai pais model-list                     # OpenAI 호환 /models
vmware-privateai pais kb-list                         # RAG 지식 베이스

실패 분기: HTTP 404는 일반적으로 버그가 아닌 기본 URL 불일치를 의미합니다 — /api/v1 PAIS 경로 접두사는 배포별이며 확인되지 않았습니다(베타). config.yaml에서 pais.endpoint를 확인하세요. HTTP 401/403은 VMWARE_PRIVATEAI_PAIS_TOKEN의 Bearer 토큰이 만료되었거나 범위가 부족함을 의미합니다 — Identity Provider에서 새 토큰을 받아 다시 내보내고 재시도하세요.

사용 모드

  • CLI — 대화형 인벤토리 / 분석, 스크립팅, 소규모 또는 로컬 모델(낮은 컨텍스트 비용)에 적합.
  • MCP — 구조화된 JSON을 사용한 에이전트 기반 작업; vmware-privateai mcp 실행 (설치된 콘솔 스크립트이므로 uvx 네트워크 재해석 불필요 — 엔터프라이즈 TLS 프록시에서 작동, 踩坑 #25).

MCP 도구 (17개 — 16 읽기, 1 쓰기)

카테고리도구읽기/쓰기
GPU 인벤토리gpu_host_list, gpu_host_get, gpu_device_list, gpu_consumer_list읽기
GPU 사용률gpu_utilization읽기
GPU 준비 상태gpu_host_readiness읽기
프로필 카탈로그vgpu_profile_list, directpath_profile_list읽기
프로필 검증vgpu_profile_validate읽기
Private AI Servicepais_model_list, pais_model_catalog, pais_knowledge_base_list, pais_data_source_list읽기
PAIS 모니터링pais_monitoring_summary읽기
용량 산정 및 에어갭pais_sizing_advise, pais_bundle_verify읽기
vGPU 할당vgpu_assign쓰기

추론된 PAIS 경로: pais_model_catalog와 pais_data_source_list는 실제 OpenAPI에 대해 확인되지 않은 PAIS 제어 평면 경로에 접근합니다(踩坑 #36) — 404는 버그가 아닌 기본 URL 교육 메시지를 반환합니다. pais_sizing_advise와 pais_bundle_verify는 연결이 필요 없습니다 (순수 계산 / 로컬 파일 파싱). gpu_host_readiness는 vSphere API가 노출하는 것을 보고하며, 할 수 없는 부분(NVIDIA 드라이버 / MFT VIB / MIG는 호스트에서 nvidia-smi 필요)에 대해 그렇게 말합니다.

목록 반환 형식: 모든 *_list 도구는 {items, returned, limit, offset, total, truncated, hint}를 반환합니다 — items에서 행을 읽고 truncated를 확인한 후에 목록이 완전하다고 결론 내리세요; truncated:false와 함께 빈 items는 확인했지만 없음을 의미하며, 실패가 아닙니다. 목록은 limit=50에서 페이지를 매깁니다; 전체 환경을 페이지로 매기기보다는 도구의 name/vendor/host/profile/vm 인자로 필터링하세요.

쓰기 안전성 (규범적): confirm=false(기본값)인 vgpu_assign은 미리보기만 수행합니다 — 현재 프로필, 대상 프로필, 전원 상태, 전원 꺼짐 필요성 — 행동하지 않습니다. confirm=true는 적용하지만, 전원이 켜진 VM은 교육 오류와 함께 거부합니다. VM을 자체적으로 절대 끄지 않으며, 실제 ReconfigVM 작업 결과를 기다리고(조기 "ok" 없음), 모든 적용된 변경 사항을 ~/.vmware/audit.db에 감사 기록합니다.

CLI 빠른 참조

vmware-privateai gpu host-list [--name N] [--vendor V]       # GPU가 있는 호스트
vmware-privateai gpu host-get <host>                          # GPU별 전체 상세 정보
vmware-privateai gpu device-list [--host H] [--vendor V]     # 물리적 GPU (vm_count 0 = 유휴)
vmware-privateai gpu consumer-list [--profile P] [--vm V]    # vGPU + 프로필을 가진 VM
vmware-privateai gpu utilization [--vm V] [--top N]          # 실시간 GPU %, 메모리 %, 온도
vmware-privateai gpu vgpu-assign <vm> <profile> [--dry-run]  # 쓰기 — VM이 꺼져 있어야 함; 이중 확인
vmware-privateai gpu readiness [--host H]                   # 호스트별 vGPU/PAIS 준비 진단
vmware-privateai vgpu profile-list [--host H] [--model M]    # vGPU 프로필 카탈로그
vmware-privateai vgpu directpath-list [--vendor V]           # DirectPath 프로필 (vSphere 9.0+)
vmware-privateai vgpu validate <vm> <profile>               # vGPU 프로필 변경 사전 점검 (읽기 전용)
vmware-privateai pais model-list [--name N]                  # PAIS 서빙 모델
vmware-privateai pais model-catalog [--name N]               # PAIS 배포 가능/승인된 모델 카탈로그
vmware-privateai pais kb-list [--name N]                     # PAIS 지식 베이스
vmware-privateai pais data-source-list [--name N]            # PAIS RAG 데이터 소스
vmware-privateai pais monitoring-summary [--top N]           # 플릿 GPU 요약 (사용률/메모리/온도, 핫/유휴)
vmware-privateai pais sizing --model llama-70b               # LLM GPU/스토리지 용량 산정 (연결 불필요)
vmware-privateai pais bundle-verify <pais.yml>              # 로컬 에어갭 이미지 검사기 (네트워크 불필요)

전체 목록: references/cli-reference.md. 도구별 응답 토큰 추정치: references/capabilities.md.

문제 해결

  • Password not found for target '<t>'. Set environment variable VMWARE_PRIVATEAI_<T>_PASSWORD — 해당 줄을 ~/.vmware-privateai/.env에 추가하고 chmod 600으로 설정하거나, (시크릿 매니저에서) 내보내세요. <T>는 대상 이름을 대문자로 바꾸고 -→_로 치환한 것입니다.
  • TLS verification failed for target '<t>' — 자체 서명된 랩의 경우 config.yaml에서 해당 대상에 대해 verify_ssl: false로 설정하세요; 그렇지 않으면 이 호스트에 vCenter CA를 설치하세요.
  • gpu host-list가 GPU가 있다고 알고 있는 클러스터에서 아무것도 반환하지 않는 경우 — shared / direct / sharedDirect 그래픽스 유형만 컴퓨팅 GPU로 간주됩니다 (일반 호스트 프레임버퍼는 제외됨). 실제 9.x 하드웨어에서 예상치 못한 유형의 GPU가 나타나면, 이는 베타 알려진 제한 사항입니다 — gpu host-get의 원시 출력과 함께 이슈를 제출하여 프로젝션이 확장될 수 있도록 하세요.
  • gpu utilization이 metrics unavailable과 함께 VM을 표시하는 경우 — NVIDIA 호스트 GPU 드라이버가 해당 VM에 대한 카운터를 노출하지 않는 것입니다 (오류 아님). 참고로 gpu.* 성능 카운터는 일부 빌드에서 호스트 수준으로 보고될 수 있습니다 — 실제 하드웨어에서 엔티티 유형을 확인하세요 (베타 주의사항).
  • directpath-list가 "needs vCenter 9.0+" 오류를 내는 경우 — DirectPathProfileManager는 vSphere 9.0의 새로운 기능입니다; 8.x에서는 대신 vgpu profile-list를 사용하세요 (오류가 빈 목록 대신 해당 경로로 안내합니다).
  • PAIS 404 / JSON이 아닌 응답 — /api/v1 접두사는 배포별이며 확인되지 않았습니다; pais.endpoint를 확인하세요 (프록시 또는 로그인 페이지가 JSON이 아닌 것을 반환함). PAIS 401/403 → VMWARE_PRIVATEAI_PAIS_TOKEN의 Bearer 토큰을 새로고침하세요.

감사 및 안전

  1. 소스 코드 — https://github.com/vmware-skills/VMware-PrivateAI (MIT).
  2. 설정 파일 내용 — config.yaml은 대상 호스트/사용자 이름/포트 및 pais.endpoint만 보유합니다; 비밀번호와 PAIS Bearer 토큰은 ~/.vmware-privateai/.env (0600, 저장 시 b64:로 난독화 — 난독화, 암호화 아님)에 있습니다.
  3. 웹훅 데이터 범위 — 없음. 이 스킬은 구성된 vCenter/ESXi 대상 및 PAIS 엔드포인트 외부로 어떠한 발신 호출도 하지 않습니다.
  4. TLS 검증 — 기본적으로 켜져 있음; verify_ssl: false는 대상별(및 pais.verify_ssl)이며 자체 서명된 랩에서만 사용합니다.
  5. 프롬프트 인젝션 보호 — vSphere 및 PAIS에서 제공하는 모든 텍스트(장치/벤더/VM/프로필 이름, PAIS 모델 ID, 지식 베이스 설명)는 vmware_policy.sanitize()를 통과합니다 (≤500자 잘림 + C0/C1 제어 문자 제거); KB 설명이 가장 가치 있는 인젝션 표면입니다.
  6. 최소 권한 — 읽기 대 쓰기 권한은 vCenter 역할의 역할입니다: 읽기 전용 서비스 계정은 vCenter에서 vgpu_assign의 ReconfigVM을 우회 불가능하게 거부합니다. 모든 쓰기는 ~/.vmware/audit.db에 기록됩니다. references/setup-guide.md를 참조하세요.

라이선스

MIT

관련 스킬