참고: 이것은 제한적인 릴리스를 위해서만 사용할 수 있는 초기 사용(EA) 기능입니다. 자세한 정보를 원하시면 Cato Networks 담당자에게 문의하시거나 ea@catonetworks.com으로 이메일을 보내십시오.
개요
이 문서는 Proxmox 가상 환경(Proxmox VE)으로 관리되는 호스트에 KVM vSocket을 배포하는 방법을 설명합니다. Proxmox VE는 QEMU/KVM을 사용하므로, vSocket 배포 모델은 표준 Linux KVM(libvirt/QEMU) 호스트와 동일합니다: vSocket은 QCOW2 이미지로 배포되며 cloud-init으로 부트스트랩됩니다. 차이점은 관리 계층입니다 — virt-install이나 virsh 대신 Proxmox 웹 UI에서 VM을 생성하고 관리합니다.
일반적인 KVM vSocket 요구 사항, cloud-init user-data 설정, Cato 관리 애플리케이션(CMA)에서 사이트 생성 흐름에 대한 자세한 내용은 KVM vSocket 사이트 구성를 참조하십시오.
Proxmox VE에 KVM vSocket을 배포하는 주요 단계는 다음과 같습니다:
- CMA에서 vSocket 사이트를 생성하고 시리얼 번호(S/N)를 복사합니다.
- QCOW2 이미지를 다운로드하고 cloud-init seed ISO를 생성합니다.
- QCOW2 이미지와 seed ISO를 Proxmox 스토리지에 업로드합니다.
- UEFI 펌웨어와 virtio 장치를 사용하여 Proxmox 웹 UI에서 VM을 생성합니다.
- VM에 시리얼 포트와 추가 네트워크 인터페이스를 추가합니다.
- VM을 시작하고 vSocket이 CMA에 연결되는지 확인합니다.
Proxmox VE에서 KVM vSocket을 프로비저닝 준비하기
KVM vSocket을 생성하여 Cato Cloud에 연결하기 위해 준비해야 할 전제 조건은 다음과 같습니다:
- KVM(하드웨어 가상화)이 활성화되고 게스트용 UEFI(OVMF) 지원이 있는 Proxmox VE 호스트.
- Proxmox 호스트 CPU가 하스웰급 아키텍처 또는 그 이상입니다.
- Cato Networks 리포지토리에서 다운로드한 KVM vSocket용 QCOW2 이미지.
- 사이트의 시리얼 번호로 미리 생성된 cloud-init seed ISO (자세한 내용은 cloud-init Seed ISO 생성 참조).
- seed ISO를 생성하기 위한 도구(예:
mkisofs또는genisoimage). - vSocket의 WAN1 인터페이스에 대한 인터넷 연결 및 공용 DNS 서비스.
- WAN, LAN 및 선택적 관리 인터페이스를 관련 네트워크에 연결하는 Proxmox 다리(예:
vmbr0). - vSocket에 최대 4개의 네트워크 인터페이스(NIC)만 연결하십시오. 4개 이상의 NIC를 연결하면 vSocket에 문제가 발생할 수 있습니다.
참고: 하드웨어 NIC 패스 스루(PCI 패스 스루) 및 SR-IOV는 지원되지 않습니다.
추천 VM 설정
| 설정 | 권장 값 |
|---|---|
| 기계 유형 | q35 |
| BIOS / 펌웨어 | OVMF (UEFI), EFI 디스크 없음 |
| CPU 유형 | 호스트(하스웰급 아키텍처 또는 최신 호스트 CPU) |
| vCPU | 2개 이상 |
| 메모리 | 4096 MB 이상 |
| 기본 디스크 | 가져온 QCOW2 이미지, VirtIO 블록 버스 (8 GB 얇은 지원 저장소) |
| Cloud-init 미디어 | 시드 ISO, CD-ROM 드라이브로 부착된 상태 |
| NIC 모델 | VirtIO (준가상화) |
| NIC 수량 | 2개에서 4개의 인터페이스 |
Proxmox VE에서 KVM vSocket 배포 모범 사례
- 하드웨어 호환성 문제를 피하고 모든 필수 하드웨어 설정이 올바르게 적용되도록 Cato QCOW2 이미지에서 직접 vSocket을 배포합니다.
- 원본 QCOW2 이미지의 변형되지 않은 복사본을 유지하고 각 vSocket VM에 대해 깨끗한 복사본을 가져옵니다. cloud-init seed ISO는 첫 번째 부팅 시에만 작동합니다. 구성이 올바르게 적용되지 않았을 경우, 부분적으로 초기화된 VM을 수정하기보다 깨끗한 이미지에서 VM을 다시 생성하는 것이 일반적으로 더 빠릅니다.
- 첫 번째 부팅 전에 VM의 Proxmox 스냅샷을 찍어 부트스트랩 구성이 올바르지 않은 경우 초기 상태로 되돌릴 수 있도록 합니다.
- 각 vSocket VM(HA 쌍의 각 구성원 포함)에 대해 관련 사이트의 시리얼 번호가 포함된 고유한 seed ISO를 생성하십시오.
- 네트워크와 디스크 장치 모두에서 virtio를 사용하십시오 — NIC 에뮬레이션이 필요하지 않습니다.
- VM이 완전히 구성될 때까지 VM을 시작하지 마십시오. cloud-init seed ISO는 첫 번째 부팅 시에만 읽힙니다.
KVM vSocket 사이트 생성
CMA에서 vSocket KVM 연결 유형으로 새 사이트를 생성하고 사이트 설정 > 소켓에서 시리얼 번호(S/N)를 복사합니다. 이 시리얼 번호(대시 포함)를 cloud-init user-data 파일에 입력해야 합니다.
전체 절차는 KVM vSocket 사이트 구성에서 참조하십시오.
Proxmox VE에서 vSocket VM 배포
1단계 – Proxmox 네트워크 준비
Proxmox 호스트가 vSocket에 연결하는 각 인터페이스에 대한 Linux 브리지가 있는지 확인하십시오:
- WAN1 – 인터넷 연결 및 공용 DNS 서비스에 대한 액세스가 있는 브리지(예:
vmbr0). 필수 인터페이스입니다. - LAN1 – vSocket 뒤의 LAN 세그먼트를 위한 브리지. 필수 인터페이스입니다.
- MGMT (선택 사항) – vSocket에 대한 관리 액세스를 위한 브리지.
- WAN2 (선택 사항) – 두 번째 WAN 링크를 위한 브리지.
네트워크 장치에서 VLAN 태그를 사용하여 동일한 브리지를 공유하는 LAN 세그먼트를 분리할 수 있습니다.
HA 배포의 경우, 두 vSocket의 LAN 인터페이스는 동일한 브로드캐스트 도메인(동일한 브리지 및 VLAN)에 있어야 합니다.
2단계 – cloud-init Seed ISO 생성
KVM vSocket은 NoCloud 시드 ISO를 사용하여 cloud-init으로 부트스트랩됩니다. 하나의 파일이 있는 디렉토리를 생성합니다:
TMPDIR=$(mktemp -d)
touch $TMPDIR/user-data
사이트 구성으로 user-data를 채웁니다. 파일은 간단한 TOML (key = value) 형식을 사용하며, 주석을 지원합니다. 시리얼 번호는 필수이며, 인터페이스별 네트워크 설정은 선택 사항입니다(인터페이스는 기본적으로 DHCP입니다).
# 필수: CMA 사이트에서 시리얼 번호 (사이트 설정 > 소켓)
serial = "XXXX-XXXX-XXXX-XXXX"
# 인터페이스별 네트워크 설정은 선택 사항입니다.
# 각 인터페이스에 대해 [[network]] 블록을 반복합니다; 이름은 고유해야 하며
# 실제 인터페이스(WAN1, WAN2, LAN1, ...)와 일치해야 합니다.
[[network]]
name = "WAN1" # 필수
addressing_type = "Static" # "Static" 또는 "DHCP"
address = "192.168.50.201" # Static일 경우 필수
netmask = "255.255.255.0" # Static일 경우 필수
default_gw = "192.168.50.1" # Static일 경우 필수
primary_dns = "192.168.50.1" # Static일 경우 필수
secondary_dns = "8.8.4.4" # 선택 사항
# DHCP가 기본값이므로 이 블록은 선택사항/중복됩니다.
[[network]]
name = "WAN2"
addressing_type = "DHCP"
cidata라는 라벨로 시드 ISO에 파일을 압축합니다:
pushd $TMPDIR
mkisofs -output seed.iso -volid cidata -joliet -rock user-data
popd
ISO의 이름을 이를 사용하는 vSocket VM을 식별할 수 있도록 지정합니다(예: seed-<site-name>.iso). VM을 생성할 때 올바른 ISO를 선택할 수 있습니다.
3단계 – 파일을 Proxmox 스토리지에 업로드
- 시드 ISO를 VM을 호스팅하는 노드의 ISO 이미지 저장소에 업로드합니다(예: ISO 이미지 섹션의 로컬 저장소).
- vSocket QCOW2 이미지를 같은 노드의 스토리지 가져오기(Import) 섹션에 업로드합니다. 스토리지는 가져오기 콘텐츠 유형이 활성화되어 있어야 합니다.
각 vSocket VM을 위해 QCOW2 이미지의 깨끗한 복사본을 사용하십시오.
스크린샷 자리표시자 – Proxmox 스토리지에 시드 ISO 업로드.
스크린샷 자리표시자 – QCOW2 이미지 업로드 또는 가져오기.
4단계 – VM 생성
Proxmox 웹 UI에서 VM 생성을 클릭하고 마법사의 탭을 다음과 같이 구성합니다.
vSocket VM 생성하기:
-
일반 탭에서 노드를 선택하고, VM ID 및 vSocket VM의 이름을 입력합니다. HA에 추가 체크박스를 해제 상태로 유지하십시오 (자세한 내용은 고가용성(HA) 배포 참조).
-
OS 탭에서:
- CD/DVD 디스크 이미지 파일(iso) 사용을 선택합니다.
- 스토리지 및 ISO 이미지에서 이 vSocket을 위해 생성한 시드 ISO를 선택합니다.
- 게스트 OS는 기본값을 유지합니다 (유형: Linux, 버전: 6.x - 2.6 Kernel).
스크린샷 자리표시자 – OS 탭에서 cloud-init 시드 ISO를 선택합니다.
-
시스템 탭에서:
- BIOS로 **OVMF (UEFI)**를 선택합니다.
- EFI 디스크 추가 체크박스를 선택 취소합니다. vSocket 이미지는 EFI 디스크가 필요하지 않습니다.
- 머신으로 q35를 선택합니다.
- 기본 SCSI 컨트롤러 (VirtIO SCSI single)를 유지합니다.
스크린샷 자리표시자 – UEFI 펌웨어 선택 및 EFI 디스크 추가 선택 취소.
-
디스크 탭에서:
- 기본 디스크 (virtio0)를 삭제합니다.
- 가져오기를 클릭한 후 이미지 선택에서 vSocket QCOW2 이미지를 선택합니다.
- 버스/장치에서는 VirtIO 블록을 선택하고 디스크의 대상 저장소를 선택합니다.
스크린샷 자리표시자 – 기본 디스크 제거.
스크린샷 자리표시자 – VM 디스크로 QCOW2 이미지 가져오기.
-
CPU 탭에서는 적어도 2개의 코어를 구성하고 유형으로 호스트를 선택합니다.
스크린샷 자리표시자 – CPU 코어 및 호스트 CPU 유형.
-
메모리 탭에서 적어도 4096 MB를 입력합니다.
-
네트워크 탭에서 첫 번째 네트워크 장치 (net0)를 구성합니다. 이 인터페이스는 vSocket의 WAN1 인터페이스입니다:
- 브리지에서는 인터넷 연결이 있는 브리지를 선택합니다.
- 모델에서는 **VirtIO (준가상화)**를 선택합니다.
- 선택 사항으로, 방화벽 체크박스를 선택 취소하십시오.
-
확인 탭에서 생성 후 시작이 선택되지 않도록 하고 완료를 클릭합니다.
중요! VM이 완전히 구성될 때까지 시작하지 마십시오. cloud-init 시드 ISO는 첫 번째 부팅 시에만 읽힙니다.
5단계 – 시리얼 포트 및 나머지 인터페이스 추가
VM 생성 후, VM의 하드웨어 섹션에서 나머지 하드웨어를 추가합니다.
VM 하드웨어 구성을 완료하려면:
- 추가 > 시리얼 포트를 클릭하고 시리얼 포트 0 (
serial0)을 추가합니다. 시리얼 포트는 vSocket에 대한 콘솔 액세스에 사용됩니다. - 추가 > 네트워크 장치를 클릭하고 LAN1 인터페이스를 추가합니다:
- 브리지에서는 LAN 브리지를 선택합니다.
- 모델에서는 **VirtIO (준가상화)**를 선택합니다.
- 선택 사항으로, 동일한 브리지를 사용하는 LAN 세그먼트를 분리하기 위해 VLAN 태그를 입력하십시오.
- 이전 단계는 총 4개의 추가 인터페이스(관리 또는 WAN2) 각각에 대해 반복합니다.
네트워크 장치는 순서에 따라 vSocket 인터페이스에 매핑됩니다: net0은 WAN1, net1은 LAN1이며, 이후 장치는 선택적 인터페이스입니다.
스크린샷 자리표시자 – 시리얼 포트 추가.
스크린샷 자리표시자 – 추가 네트워크 장치 추가.
스크린샷 자리표시자 – vSocket VM 하드웨어 목록 완료.
6단계 – (추천) 스냅샷 찍기
첫 번째 부팅 전에 스냅샷 섹션의 VM에서 스냅샷 찍기를 클릭하고 초기 상태의 스냅샷(예: pristine)을 생성합니다. 첫 번째 부팅 구성이 올바르지 않은 경우, VM을 다시 생성하는 대신 이 스냅샷으로 롤백할 수 있습니다.
스크린샷 자리표시자 – 초기 VM 상태의 스냅샷 찍기.
7단계 – VM 시작
VM을 시작합니다. 첫 번째 부팅 시, vSocket은 시드 ISO에서 구성을 읽고 Cato Cloud에 등록을 시작합니다.
vSocket을 CMA에 연결
CMA는 자동으로 vSocket을 감지하고 (cloud-init의 user-data에서) 시리얼 번호를 사용하여 사이트에 연결합니다. 등록하려면 WAN1 인터페이스에 인터넷 연결 및 공용 DNS에 대한 액세스가 있어야 Cato Cloud 및 CMA에 도달할 수 있습니다.
- WAN1이 DHCP를 통해 동적 IP 주소를 받으면 vSocket이 자동으로 Cato Cloud 등록을 시작합니다.
- DHCP가 사용 불가능한 경우,
cloud-init의user-data에서 WAN1에 대해 정적 IP 주소를 구성하십시오(2단계를 참조하십시오). - 기본적으로 WAN2 인터페이스는 비활성화되어 있으며, vSocket은 등록을 위해 WAN1만을 사용합니다.
부팅 절차와 등록을 따라가려면 Proxmox 웹 UI의 VM에 있는 콘솔 섹션을 사용하십시오. vSocket은 시리얼 콘솔로 부팅 출력을 보내므로 이 출력을 보려면 하드웨어 > 디스플레이 > 그래픽 카드를 시리얼 터미널 0으로 설정하십시오.
높은 가용성(HA) 배포
HA는 물리적 HA 쌍과 같이 작동하며, 두 KVM vSocket 사이에서 VRRP를 사용합니다. 이 기능은 다른 노드에서 VM을 재시작하고 vSocket HA에는 사용되지 않는 Proxmox 클러스터 HA 기능( HA에 추가 옵션)과는 별개입니다.
- 각각 그 자체의 QCOW2 이미지와 시드 ISO(주 또는 보조 소켓의 시리얼 번호 포함)를 가지고 있는 두 개의 vSocket VM을 배포하십시오.
- 두 VM의 LAN 인터페이스는 동일한 브로드캐스트 도메인(동일한 브리지와 VLAN 태그)에 있어야 하며, VRRP가 작동할 수 있습니다. VM이 다른 Proxmox 노드에 있는 경우, LAN 브리지는 동일한 Layer 2 세그먼트에 연결되어야 합니다.
- CMA에서 사이트에 보조 소켓을 추가합니다. 두 구성원이 HA 쌍을 형성하고 상태/건강 정보를 교환하며 제품 HA 설계에 따라 장애를 넘어섭니다.
- HA 건강과 상태는 CMA에서 확인할 수 있습니다.
추가 vSocket VM 배포
같은 Proxmox 호스트나 클러스터에서 하나 이상의 vSocket VM을 실행하려면:
- 각 VM을 위한 QCOW2 이미지의 깨끗한 복사본을 가져옵니다.
- 관련 사이트의 시리얼 번호로 새로운 시드 ISO를 생성합니다.
- 고유한 VM 이름과 VM ID를 사용합니다.
- 격리가 필요한 경우 별도의 LAN 브리지 또는 VLAN 태그를 사용하십시오.
vSocket VM 구성 변경
새로운 구성이 지원되는 값을 사용할 경우 일부 VM 설정을 변경할 수 있습니다. 변경 사항이 적용되도록 vSocket VM을 재시작합니다.
다음 VM 설정을 변경할 수 있습니다:
- CPU 사용량
- 메모리
- 네트워크 인터페이스 추가 또는 제거 등 네트워킹
문제 해결
VM이 부팅되지만 vSocket이 등록되지 않습니다
- 시드 ISO가 CD-ROM으로 부착되어 있는지 확인하세요.
- ISO에 'user-data' 파일이 포함되어 있는지 확인하세요.
- CMA 사이트의 시리얼 번호와 일치하는 'serial' 값인 것을 확인하세요.
- WAN1이 인터넷에 접속할 수 있고, 공개 DNS 서비스에 액세스할 수 있는지 확인하세요.
- 첫 번째 네트워크 장치 (net0)가 지정된 WAN 브리지에 연결되어 있는지 확인하세요.
cloud-init 구성의 변경 사항은 무시됩니다.
vSocket 부트스트랩은 첫 번째 부팅 시에만 실행됩니다. VM이 초기화된 후 'user-data'를 변경하면, 기존의 부트 디스크에 변경 사항이 적용되지 않습니다. 초기 상태의 스냅샷으로 되돌리거나, QCOW2 이미지의 깨끗한 복사본과 새로운 시드 ISO로 VM을 재생성하세요.
콘솔 출력이 없습니다
- VM에 시리얼 포트 (serial0)가 추가되었는지 확인하세요.
- 웹 UI 콘솔에서 시리얼 출력을 확인하려면, 하드웨어 > 디스플레이 > 그래픽 카드를 시리얼 터미널 0으로 설정하세요.
네트워크가 기대대로 작동하지 않습니다
- 각 네트워크 장치가 연결된 브리지를 확인하세요.
- VM 구성에서 네트워크 장치의 순서를 확인하세요 (net0는 WAN1, net1은 LAN1입니다).
- 'user-data' 파일의 '네트워크' 섹션이 DHCP 또는 정적 설정을 의도대로 사용하는지 확인하세요.