광고
Proxmox VE에서 Veeam Worker VM 배포 또는 테스트가 실패한다면 기본 local 스토리지의 상태부터 확인해 볼 필요가 있습니다. Worker 디스크를 다른 스토리지에 구성했어도 별도로 필요한 이미지·cloud-init 파일 저장소가 있기 때문입니다.
이 글은 2026년 8월 31일 공개된 Veeam KB4906을 중심으로 정리한 장애 대응 가이드입니다. 아래 조치로 실제 테스트를 완료했다는 의미는 아니며, 운영 환경에 적용하기 전 설정값과 제품 버전을 확인해야 합니다.
1. 어떤 오류가 발생하나요?
Worker VM을 배포하거나 테스트할 때 다음 오류가 표시될 수 있습니다.
Failed to deploy the worker VM: Cannot access a closed Stream.
Worker <VM Name> test failed: Cannot access a closed Stream.기존 Worker가 정상적으로 동작하던 환경도 Veeam 업그레이드 이후 Worker VM을 다시 생성하는 과정에서 오류가 발생할 수 있습니다.
2. 원인: Worker VM 디스크 스토리지와 파일 저장소는 다릅니다
Veeam은 Worker VM을 배포할 때 다음 두 종류의 파일을 Proxmox VE 스토리지에 기록합니다.
Worker 이미지: 파일 수준 스토리지의
template/iso/디렉터리cloud-init 설정: 파일 수준 스토리지의
snippets/디렉터리
기본 설치 환경에서는 이러한 파일을 local 스토리지에 저장합니다. local이 비활성화되었거나 ISO image와 Snippets 콘텐츠 유형이 준비되지 않았다면 Worker VM 배포가 실패할 수 있습니다.
여기서 Worker VM의 디스크가 저장되는 위치는 별도로 설정됩니다. VM 디스크용 스토리지를 다른 곳으로 바꾸더라도 이미지 및 cloud-init 파일 저장소의 요건은 사라지지 않습니다.
Veeam Backup & Replication
├─ Worker 이미지 파일 ──> 파일 스토리지 /template/iso/
├─ cloud-init 설정 ────> 파일 스토리지 /snippets/
└─ Worker VM 디스크 ──> Worker VM 설정에서 선택한 스토리지
그림 1. Proxmox VE의 local 스토리지에 저장된 Worker 이미지 예시 — Veeam KB4906
스토리지 조건도 중요합니다. Worker 파일은 ISO image와 Snippets 콘텐츠 유형을 제공하는 스냅샷 지원 파일 수준(file-level) 스토리지에 배치해야 합니다. KB4906은 Snapshots as Volume Chains(SAVC)를 사용하는 LVM 스토리지를 Worker 파일 저장 용도로 사용할 수 없다고 안내합니다.
3. 먼저 Proxmox VE 스토리지 설정 확인
Proxmox VE 웹 콘솔에서 Datacenter → Storage를 확인합니다. 특히 다음 네 가지를 점검합니다.
기본
local스토리지가 활성화되어 있는지사용하려는 스토리지의 콘텐츠 유형에 ISO image 및 Snippets가 있는지
Worker VM을 배포할 각 Proxmox 노드에서 해당 스토리지를 사용할 수 있는지
해당 스토리지가 파일 수준 및 스냅샷 지원 요건을 충족하는지
CLI에서도 스토리지 상태와 정의를 확인할 수 있습니다.
pvesm status
cat /etc/pve/storage.cfg기본 local 경로를 사용하는 경우 파일 디렉터리도 확인할 수 있습니다.
ls -ld /var/lib/vz/template/iso
ls -ld /var/lib/vz/snippets단순히 디렉터리가 존재한다고 Veeam이 정상 배포할 수 있다는 뜻은 아닙니다. 스토리지 활성화, 콘텐츠 유형, 실제 마운트·접근 가능 여부를 함께 확인해야 합니다.
4. 해결 방법 A: local 스토리지 활성화
기본 local이 실수로 비활성화되었다면 해당 Proxmox VE 노드에서 다시 활성화합니다.
Proxmox VE의 Datacenter → Storage → local을 열어 Enabled 상태와 ISO image / Snippets 콘텐츠 유형을 확인합니다.
광고
설정이 준비되면 실제 백업 Job을 실행하기 전에 기존 Worker VM을 각각 Test합니다. 클러스터에서는 Worker가 배포되는 모든 노드를 대상으로 확인하는 것이 좋습니다.
기본 local을 정책상 사용할 수 없다면 대체 파일 수준 스토리지를 사용하는 다음 방법으로 진행합니다.
5. 해결 방법 B: 대체 파일 수준 스토리지 지정
KB4906의 예시에서는 NFS 스토리지 NFS-truenas를 사용합니다. 아래 서버 주소·Storage ID·경로는 공식 문서의 예시이며 실제 환경의 정보로 교체해야 합니다.
5-1. 스토리지 경로 확인
Proxmox VE의 /etc/pve/storage.cfg를 확인해 path 값과 콘텐츠 유형을 찾습니다.
nfs: NFS-truenas
export /mnt/RAIDZ2-pool/proxmox-nested
path /mnt/pve/NFS-truenas
server 10.9.2.5
content iso,images,snippets이 설정은 설명용 발췌 예시입니다. 기존 storage.cfg 파일을 그대로 덮어쓰거나 해당 값을 무조건 추가해서는 안 됩니다.
예시 경로 기준 확인 명령은 다음과 같습니다.
ls /mnt/pve/NFS-truenas
ls -ld /mnt/pve/NFS-truenas/template/iso
ls -ld /mnt/pve/NFS-truenas/snippets다중 노드 구성인 경우 Worker 배포 대상 모든 노드에서 동일 스토리지에 접근할 수 있어야 합니다.
그림 2. 대체 파일 수준 스토리지 설정 예시 — Veeam KB4906
5-2. Veeam PVE 플러그인 설정 변경
appsettings.json의 VmImages 섹션에서 다음 세 항목을 변경합니다.
설정 | 의미 | 예시 |
|---|---|---|
| Proxmox Storage ID |
|
| 이미지 저장 디렉터리 |
|
| cloud-init 저장 디렉터리 |
|
변경된 VmImages 섹션의 예시는 다음과 같습니다.
"VmImages": {
"ImageFileName": "",
"ImageFilePrefix": "CommonWorker",
"KeepImageOnClusterDeletion": false,
"RemoteCloudInitDir": "/mnt/pve/NFS-truenas/snippets/",
"RemoteImagesPath": "/mnt/pve/NFS-truenas/template/iso/",
"CloudInitStorage": "NFS-truenas"
}위 내용은 전체 JSON 파일이 아닙니다. 다른 설정은 유지하고 필요한 값만 수정해야 합니다.
5-3. Veeam Software Appliance(VSA)의 경우
VBR 13 계열의 Software Appliance에서는 Host Management Console의 설정 Export/Import 절차를 사용합니다.
대상 파일:
/etc/veeam/platform-service-pve/appsettings.jsonVeeam Host Management Console에 로그인합니다.
Logs and Services → Host Configuration에서 해당 설정 파일을 Export합니다.
다운로드한 파일의
VmImages세 값을 수정한 뒤 저장합니다.진행 중인 Proxmox 백업·복구 작업이 없음을 확인하고 예약된 Proxmox Job을 일시적으로 비활성화합니다.
수정한 파일을 Import합니다. Security Officer 승인이 요구되면 승인 절차를 완료합니다.
Services 탭에서
veeam-platform-service-pve.service를 선택해 Restart합니다.예약 작업을 다시 활성화한 다음 Worker VM을 각각 Test합니다.
그림 3. Host Management Console에서 PVE 플러그인 구성 파일 Export — Veeam KB4906
그림 4. Veeam PVE 서비스 재시작 화면 — Veeam KB4906
5-4. Windows 기반 Veeam Backup & Replication의 경우
Windows에서 VBR을 실행한다면 관리자 권한 텍스트 편집기로 아래 파일을 엽니다.
C:\Program Files\Veeam\Plugins\PVE\Service\appsettings.json원본 설정 파일을 백업하고 VmImages의 세 값을 수정합니다. 적용 순서는 다음과 같습니다.
진행 중인 Proxmox 백업·복구 작업이 없는지 확인
예약된 Proxmox Job 일시 비활성화
수정한
appsettings.json저장Windows 서비스 Veeam PVE Service 재시작
예약 작업 재활성화
기존 Worker VM 각각 Test 후 백업 Job 확인
VSA와 Windows VBR은 설정 파일 위치와 서비스 재시작 방법이 다르므로 자신의 설치 유형에 맞는 절차를 선택해야 합니다.
6. 일반 계정 + granular sudo 사용 시 추가 확인
Proxmox VE 호스트를 root가 아닌 제한된 sudo 권한의 계정으로 등록했다면 sudoers 설정도 확인해야 합니다.
기존 sudo 규칙이 기본 /var/lib/vz만 허용한 경우, 파일 저장 위치를 변경해도 새로운 경로에 접근할 권한이 없어 배포가 계속 실패할 수 있습니다.
이때는 Veeam KB4701의 granular sudo 예시를 참고해 대체 스토리지 경로를 반영한 최소 권한을 설정합니다. 문제 해결을 이유로 불필요하게 모든 sudo 명령을 허용하는 것은 피하는 것이 좋습니다.
7. 변경 후에는 무엇을 확인해야 할까요?
- ☐
모든 Worker 배포 대상 노드에서 스토리지 접근 가능
- ☐
ISO image / Snippets 콘텐츠 유형 활성
- ☐
스냅샷 지원 파일 수준 스토리지 조건 충족
- ☐
CloudInitStorage에 실제 Proxmox Storage ID 입력 - ☐
두 원격 경로가 스토리지의 실제 경로와 일치
- ☐
일반 계정 사용 시 sudoers의 경로와 권한 확인
- ☐
서비스 재시작 후 각 Worker VM Test 성공
- ☐
일시 중단한 예약 작업 복원 및 백업 Job 정상 수행 확인
Worker Test가 통과해도 실제 데이터 백업까지 성공한 것은 아니므로, 운영 가능 시간에 후속 백업 Job도 확인하는 것이 좋습니다.
8. 정리
Cannot access a closed Stream 오류가 발생했다면 Worker VM 디스크 설정뿐 아니라 Worker 이미지·cloud-init 파일을 저장하는 파일 수준 스토리지도 함께 확인해야 합니다.
우선 기본 local이 활성화되어 있고 ISO image와 Snippets가 설정되어 있는지 확인합니다. 이를 사용할 수 없다면 적합한 대체 스토리지를 준비하고 Veeam PVE 플러그인의 VmImages 설정을 변경하는 방법이 있습니다.
그리고 작업 전 Job 중지 확인, 구성 파일 보관, 서비스 재시작, Worker VM Test까지 확인하면 운영 환경에서의 실수를 줄일 수 있습니다.
버전 주의: 이 글은 2026년 8월 31일 게시된 KB4906을 기준으로 작성했습니다. 특정 환경에서 직접 테스트를 완료했다고 주장하는 자료는 아니며, 실제 적용 시 제품 버전과 현재 공식 가이드의 지원 요건을 함께 확인해야 합니다.
공식 참고자료
광고





