XenServer에서 게스트 가상 컴퓨터를 만들고 설치하는 방법-5 부
XenServer 시리즈를 계속 진행하면서이 문서에서는 실제 게스트 자체 (가상 머신이라고도 함)를 만드는 방법에 대해 설명합니다.

이 기사에서는 네트워킹, 패치 및 스토리지에 대한 이전 기사가 모두 완료되었다고 가정합니다. 고맙게도 더 이상 새로운 용어에 대해 논의 할 필요가 없으며 게스트 생성을 시작할 수 있습니다!
이 시점에서이 XenServer 호스트에 많은 항목이 구성되었습니다. 이것은 무엇이 구성되었고 어떤 기사가 논의되었는지에 대한 빠른 검토 역할을 할 것입니다.
- XenServer 6.5 was installed to the server
- https://www.tecmint.com/citrix-xenserver-installation-and-network-configuration-in-linux/
- https://www.tecmint.com/install-xenserver-patches-in-linux/
- https://www.tecmint.com/xenserver-network-lacp-bond-vlan-and-bonding-configuration/
- https://www.tecmint.com/xenserver-create-and-add-storage-repository/
XenServer에서 가상 게스트 생성
가이드의이 부분은 ISO 설치 프로그램에 의존하여 새로 생성 된 게스트 머신을 실제로 부팅하고 운영 체제를 설치합니다. ISO 리포지토리 생성에 대한 정보는 네 번째 기사를 검토하십시오.
XenServer는 가상 게스트를 빠르게 프로비저닝하는 데 사용할 수있는 일련의 템플릿과 함께 제공됩니다. 이러한 템플릿은 선택한 운영 체제에 대한 공통 옵션을 제공합니다. 옵션에는 하드 드라이브 공간, CPU 아키텍처 및 다른 옵션 중에서 사용 가능한 램 양과 같은 항목이 포함됩니다.
이러한 옵션은 나중에 수동으로 수정할 수 있지만 지금은 사용법을 설명하는 데 간단한 템플릿이 사용됩니다. 사용 가능한 템플릿 목록을 얻으려면 기존 'xe'
명령에 다른 인수를 전달하여 사용 가능한 템플릿을 반환하도록 시스템에 프롬프트 할 수 있습니다.
# xe template-list
이 명령은 많은 출력을 반환 할 수 있습니다. 출력을 더 쉽게 읽을 수 있도록 다음과 같이 출력을 'less'로 파이프하는 것이 좋습니다.
# xe template-list | less
이렇게하면 필요한 UUID 정보를 찾기 위해 사용 가능한 템플릿을 쉽게 구문 분석 할 수 있습니다. 이 기사는 Debian 8 Jessie와 함께 작업 할 예정이지만 Citrix가 새 템플릿을 출시 할 때까지 이전 Debian 7 Wheezy 템플릿을 사용해야합니다.
Debian 7을 선택해도 실제 운영 체제의 작동에는 영향을주지 않습니다. (아래 스크린 샷은 명령에서 UUID를 사용하여 일부 일반 출력을 잘라 냈습니다).

# xe sr-list name-label=”Tecmint iSCSI Storage”

이 UUID를 사용하여이 게스트를 설정하기위한 모든 초기 정보를 얻었습니다. XenServer의 거의 모든 것과 마찬가지로 새 게스트를 프로비저닝하는 데 또 다른 'xe'명령이 사용됩니다.
# xe vm-install template=”Debian Wheezy 7.0 (64-bit)” new-name-label="TecmintVM" sr-uuid=bea6caa4-ecab-8509-33a4-2cda2599fb75

강조 표시된 UUID는 새로 프로비저닝 된 게스트의 UUID입니다. 미래에 일을 더 쉽게 만들 수있는 몇 가지 하우스 키핑 단계가 있습니다. 첫 번째는 새로 생성 된 VDI에 이름 레이블을 제공하는 것이고 두 번째는 템플릿에 의해 프로비저닝 된 기본 하드웨어 사양을 수정하는 것입니다.
VDI의 이름을 지정하는 것이 중요한 이유를 확인하려면 다음‘xe’명령을 사용하여 프로비저닝 될 때 시스템이 VDI에 자동으로 할당하는 항목을 살펴보십시오.
# xe vbd-list vm-name-label=TecmintVM – Used to get the VDI UUID # xe vdi-list vbd-uuids=2eac0d98-485a-7c22-216c-caa920b10ea9 [Used to show naming issue]

사용 가능한 또 다른 옵션은 두 가지 정보를 모두 수집하는 것입니다.
# xe vm-disk-list vm=TecmintVM

노란색 부분이 문제입니다. "많은 사람들에게이 문제는 사소한 문제이지만 하우스 키핑을 위해이 특정 VDI의 목적을 추적하기 위해 더 설명적인 이름이 필요합니다. 이 특정 VDI의 이름을 바꾸려면 위 출력의 UUID가 필요하고 다른 'xe'명령을 만들어야합니다.
# xe vdi-param-set uuid=90611915-fb7e-485b-a0a8-31c84a59b9d8 name-label="TecmintVM Disk 0 VDI" # xe vm-disk-list vm=TecmintVM

설정하기는 사소한 것처럼 보일 수 있지만 경험상 한 XenServer에서 스토리지 리포지토리를 분리하여 다른 XenServer에 연결하려고 할 때 심각한 문제를 방지했습니다. 이 특정 시나리오에서는 모든 게스트 정보의 메타 데이터 백업을 새 XenServer에서 복원 할 수 없었으며 고맙게도 각 게스트에서 VDI의 이름을 지정함으로써 게스트를 VDI로 올바르게 매핑 할 수있었습니다. "이름 라벨.
이 기사의 다음 하우스 키핑 단계는이 특정 게스트에게 더 많은 리소스를 제공하는 것입니다. 프로비저닝 된대로이 게스트는 약 256MiB (메비 바이트)에 해당하는 메모리 만 갖게됩니다. 대부분의 게스트는 이것만으로는 충분하지 않으므로 게스트의 사용 가능한 메모리를 늘리는 방법을 아는 것이 좋습니다. XenServer의 모든 것과 마찬가지로 'xe'명령을 사용하여 수행 할 수 있습니다.
# xe vm-param-list uuid=6eab5bdd-c277-e55d-0363-dcfd186c8e8e | grep -i memory

위의 녹색 상자는이 특정 게스트가 가질 수있는 최대 메모리가 약 256MiB임을 나타냅니다. "테스트 목적으로는 괜찮지 만 어떤 종류의 과도하게 사용하는 시스템의 경우에는 충분하지 않습니다.
게스트가 더 많은 RAM에 액세스 할 수 있도록이 값을 수정하려면 게스트 전원을 끈 상태에서 간단한 'xe'명령을 실행할 수 있습니다. 이 예에서이 시스템에 제공되는 램의 양은 바이트 단위로 표시되지만 램의 2GB에 해당합니다.
# xe vm-memory-limits-set dynamic-max=2147483648 dynamic-min=2147483648 static-max=2147483648 static-min=2147483648 name-label=TecmintVM
이렇게하면 항상이 게스트에 대해 2GiB의 램이 예약됩니다.

이제이 특정 게스트는 운영 체제를 설치할 준비가되었습니다. Storage Repositories에 대한 이전 문서에서 ISO 설치 프로그램 파일을 저장하기 위해이 XenServer에 Samba 공유가 추가되었습니다. 다음‘xe’명령으로 확인할 수 있습니다.
# xe sr-list name-label=Remote\ ISO\ Library\ on:\ //<servername>/ISO

을이 구성이 발생하는 환경에 적합한 Samba 서버의 이름으로 바꾸십시오. XenServer에서 ISO 스토리지 저장소를 확인하는 것으로 확인되면 ISO 파일을 부팅하기 위해 게스트에 가상 CD-ROM을 추가해야합니다. 이 가이드에서는 Debian Net Installer ISO가 ISO 스토리지 저장소에 있다고 가정합니다.
# xe cd-list | grep debian

# xe vm-cd-add vm=TecmintVM cd-name=debian-8-netinst.iso device=3 # xe vbd-list vm-name-label=TecmintVM userdevice=3

위의 명령은 먼저 Debian ISO의 이름을 나열합니다. 다음 명령은 가상 CD-ROM 장치를 TecmintVM 게스트에 추가하고 장치 ID 3을 할당합니다.
세 번째 명령은 새로 추가 된 CD-ROM의 UUID를 확인하여 데비안 ISO 부팅을위한 장치 설정을 계속하는 데 사용됩니다.
다음 단계는 CD-ROM을 부팅 가능하게 만들고 게스트에게 CD-ROM에서 운영 체제를 설치하도록 지시하는 것입니다.
# xe vbd-param-set uuid=3836851f-928e-599f-dc3b-3d8d8879dd18 bootable=true # xe vm-param-set uuid=6eab5bdd-c277-e55d-0363-dcfd186c8e8e other-config:install-repository=cdrom
위의 첫 번째 명령은 위의 스크린 샷에서 녹색으로 강조 표시된 UUID를 사용하여 CD-ROM을 부팅 가능하도록 설정합니다. 두 번째 명령은 게스트가 운영 체제를 설치하는 방법으로 CD-ROM을 사용하도록 지시합니다. Tecmint 게스트의 UUID는 위의 스크린 샷에서 노란색으로 강조 표시되어 있습니다.

게스트 설정의 마지막 단계는 가상 네트워크 인터페이스 (VIF)를 연결하는 것입니다. 데비안 네트워크 설치 프로그램이 사용되고 있고 데비안 리포지토리에서 패키지를 가져와야하기 때문에이 설치 방법에 특히 중요합니다.
XenServer 네트워킹 기사를 살펴보면이 게스트에 대해 특수 VLAN이 이미 생성되었으며 VLAN 10이었습니다.‘xe’를 사용하여 필요한 네트워크 인터페이스를 생성하고이 게스트에 할당 할 수 있습니다.
# xe network-list name-description="Tecmint test VLAN 10" # xe vif-create vm-uuid=6eab5bdd-c277-e55d-0363-dcfd186c8e8e network-uuid=cfe987f0-b37c-dbd7-39be-36e7bfd94cef device=0
첫 번째 명령은이 게스트에 대해 생성 된 네트워크의 UUID를 가져 오는 데 사용됩니다. 다음 명령은 게스트 용 네트워크 어댑터를 만들고 네트워크 어댑터를 적절한 네트워크에 연결하는 데 사용됩니다.

축하합니다! 이 시점에서 가상 머신을 부팅하고 설치할 준비가되었습니다! 게스트를 시작하려면 다음‘xe’명령을 실행하십시오.
# xe vm-start name-label=TecmintVM
터미널에서 오류가 발생하지 않으면 게스트가 성공적으로 시작된 것입니다. 게스트의 적절한 시작은 다음‘xe’명령으로 확인할 수 있습니다.
# xe vm-list name-label=TecmintVM

이제 큰 질문입니다. "설치 프로그램에 액세스하는 방법은 무엇입니까? 이것은 유효한 질문입니다. Citrix의 승인 된 방법은 XenCenter를 사용하는 것입니다. 여기서 문제는 XenCenter가 Linux에서 실행되지 않는다는 것입니다! 따라서 사용자가 실행중인 게스트의 콘솔에 액세스하기 위해 특별한 Windows 스테이션을 만들 필요가 없도록 해결 방법이 있습니다.
이 프로세스에는 Linux 컴퓨터에서 XenServer 호스트로 SSH 터널을 만든 다음 해당 터널을 통해 VNC 연결을 포트 포워딩하는 작업이 포함됩니다. 매우 영리하고 훌륭하게 작동하지만이 방법은 사용자가 SSH를 통해 XenServer에 액세스 할 수 있다고 가정합니다.
첫 번째 단계는 XenServer에서 게스트의 도메인 번호를 확인하는 것입니다. 이것은 여러 다른 명령을 사용하여 수행됩니다.
# xe vm-list params=dom-id name-label=TecmintVM # xenstore-read /local/domain/1/console/vnc-port
이 명령의 순서는 중요합니다! 첫 번째 명령은 두 번째 명령에 필요한 번호를 반환합니다.

두 명령의 출력이 중요합니다. 첫 번째 출력은 게스트가 실행중인 도메인 ID를 나타냅니다. "이 경우 1
입니다. "다음 명령은 게스트 콘솔 세션의 VNC 포트를 확인하기 위해 해당 번호가 필요합니다. 이 명령의 출력은이 특정 게스트에서 비디오에 연결하는 데 사용할 수있는 VNC 포트를 제공합니다.
위의 정보를 얻었 으면 이제 Linux 스테이션으로 전환하고 XenServer에 연결하여이 게스트의 콘솔 세션을 볼 차례입니다. 이를 위해 SSH 터널이 생성되고 포트 포워딩이 SSH 터널을 통해 로컬 VNC 연결을 지시하도록 설정됩니다. 이 연결은 Linux Mint 17.2 워크 스테이션에서 이루어 지지만 다른 배포판에서도 비슷해야합니다.
첫 번째 단계는 OpenSSH 클라이언트와 xtightnvcviewer가 Linux 호스트에 설치되어 있는지 확인하는 것입니다. Linux Mint에서는 다음 명령으로 수행 할 수 있습니다.
$ sudo apt-get install openssh-client xtightvncviewer
이 명령은 필요한 유틸리티를 설치합니다. 다음 단계는 XenServer 호스트에 대한 SSH 터널을 만들고 VNC 포트에 대한 포트 전달을 설정하여 이전에 XenServer 호스트 (5902)에서 결정합니다.
# ssh -L <any_port>:localhost:<VM_Port_Above> [email protected]<server> -N # ssh -L 5902:localhost:5902 [email protected]<servername> -N
‘-L’옵션은 ssh에게 포트 포워드를 지시합니다. "첫 번째 포트는 Linux Mint 시스템에서 사용되지 않는 1024 이상의 포트 일 수 있습니다. "‘localhost : 5902’는 트래픽이 원격 로컬 호스트 포트 5902 (이 경우 TecmintVM의 XenServer VNC 포트)로 전달되어야 함을 나타냅니다.
‘[email protected]
$ sudo lsof -i | grep 5902

여기에서 터널이 설정되고 연결을 수신합니다. 이제 XenServer에서 게스트에 대한 VNC 연결을 열 차례입니다. 설치된 유틸리티는‘xvncviewer’이고 트래픽을 XenServer로 전달하는 ssh 연결은‘localhost : 5902’에서 수신 대기하므로 적절한 명령을 작성할 수 있습니다.
$ xvncviewer localhost:5902

짜잔! "설치 프로세스가 시작되기를 기다리는 데비안 네트워크 설치 프로그램을 실행하는 TecmintVM 콘솔 세션이 있습니다. 이 시점에서 설치는 다른 데비안 설치와 마찬가지로 진행됩니다.
지금까지 XenServer의 모든 작업은 CLI (명령 줄 인터페이스)를 통해 수행되었습니다. 많은 Linux 사용자가 CLI를 사용하지만 XenServer 호스트 및 풀 관리 프로세스를 단순화하는 유틸리티가 있습니다. 이 시리즈의 다음 기사에서는 CLI가 아닌 그래픽 시스템을 사용하려는 사용자를위한 이러한 도구 설치에 대해 설명합니다.