VMware ESXi 를 설치하고 가상화 이미지를 한개 만든다.

그리고 거기에 운영체제를 설치한다. (여기까지는 쉽고 간단하므로 생략한다.)

이후에 원본 가상화 이미지를 여러 개로 복제(clone)하는 방법을 적는다.


1. VMware EXSi 의 ssh 접속 활성화

vSphere Client 에서는 Host 를 선택하고 Configuration > Software - Security Profile > Services - Properties... 를 클릭한다.

거기서 SSH 를 선택하고 Options... 에서 Start 해준다. 덤으로 Start and stop with host 를 선택해주면 좋다.

추가로 EXSi Shell 를 선택하고 Options... 에서 Start 해준다. 마찬가지로 Start and stop with host 를 선택해주면 좋다.


2. EXSi 서버에 ssh 를 통해서 접속

해당 서버로 ssh 를 통해서 접속한다. (내부 IP 로 접속할 경우에 Configuration > Hardware - Networking 에서 보면 VMkernel Port 장치에 vmk0 IP 주소가 보인다. 해당 IP 가 EXSi 네트워크 IP 이다.)

cd /vmfs/volumes/datastore1
ls

현재 설치한 가상화 이미지 디렉토리가 보인다.


3. 가상화 이미지 복제

여기에 ubuntu1 이라는 가상화 이미지가 있다고 가정하고

새로운 ubuntu2 라는 가상화 이미지를 만든다고 하자.

새로운 디렉토리부터 만들자.

mkdir ubuntu2

가상화 이미지를 복제하자.

vmkfstools -i /vmfs/volumes/datastore1/ubuntu1/ubuntu1.vmdk /vmfs/volumes/datastore1/ubuntu2/ubuntu2.vmdk -d thin -a buslogic

-d thin 옵션은 기본 옵션이다.

-a buslogic 옵션은 아답터 타입을 지정한다. (buslogic, lsilogic, ide, lsisas, pvscsi)


4. vmx 파일을 복사

가상화 이미지의 환경설정 파일인 vmx 파일도 복사하자.

cp /vmfs/volumes/datastore1/ubuntu1/ubuntu1.vmx /vmfs/volumes/datastore1/ubuntu2/ubuntu2.vmx


5. vmx 파일을 편집

기존의 vmx 파일에는 ubuntu1 가상화 이미지 파일에 맞춰져서 설정되어 있다.

이것을 수정하자.

vi /vmfs/volumes/datastore1/ubuntu2/ubuntu2.vmx

다음과 같은 항목들을 ubuntu1 에서 ubuntu2 로 수정한다.

nvram = "ubuntu2.nvram"
displayName = "ubuntu2"
extendedConfigFile = "ubuntu2.vmxf"
scsi0:0.fileName = "ubuntu2.vmdk"

간편하게 바꿀려면 vi 명령어에서 다음과 같이 입력한다.

:%s/ubuntu1/ubuntu2/g


6. EXSi inventory 에 복제한 이미지를 추가

다음과 같이 vim-cmd 로 복제한 이미지를 추가하자.

vim-cmd solo/registervm /vmfs/volumes/datastore1/ubuntu2/ubuntu2.vmx

vSphere Client 에서 Host 를 선택한 다음에

[Rescan for Datastores...] 를 클릭하면 새로 추가한 ubuntu2 가 보인다.


다음과 같은 추가적인 명령어로 ssh 상에서 다양한 것들을 제어할 수 있다.

vim-cmd vmsvc/getallvms
vim-cmd vmsvc/power.on VMID#

첫번째 명령어는 모든 가상 머신을 열람하는 것이다.

두번째 명령어는 VMID# 번호에 해당되는 가상 머신에 전원을 켠다.


참고:


Posted by 집시F