Ryu's Tip

버츄어박스 VBoxManage CLI로 VM 생성

Ryusstory 2016. 10. 5. 15:02

 

https://www.virtualbox.org/manual/

 

vboxmanage 사용법이 있기는 하나 너무 방대함.

vboxmanage에 대한 매뉴얼은 https://www.virtualbox.org/manual/ch08.html#idm3980 에 있음.

 

 

리눅스 서버에 설치해서 원격으로 콘솔화면을 접속시키려 할 때...

 

1. port0에는 HDD

2. port1에는 iso 이미지를 넣어서 이미지 설치

3. 콘솔화면의 경우 vrde를 통해 원격접속이 가능하도록 설치

4. 네트워크는 vbox내에 NATNetwork를 이용 및 포트 포워딩

 

 

사전에 virtual box Linux version 설치 후

홈페이지에서 extpack 다운로드 후 설치

vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.6-110634.vbox-extpack

 

natnetwork add --netname ryusnet --network "10.10.10.0/24" --enable --dhcp on

 

VM=centosVM001

VMCTL=centosVM001-ctl

 

VBoxManage createmedium --filename $VM.vdi --size 102400 
VBoxManage createvm --name $VM --ostype "RedHat_64" --register
vboxmanage storagectl $VM --name $VMCTL --add sata --controller IntelAHCI
vboxmanage storageattach $VM --storagectl $VMCTL --port 0 --device 0 --type hdd --medium $VM.vdi
vboxmanage storageattach $VM --storagectl $VMCTL --port 1 --device 0 --type dvddrive --medium ISOs/CentOS-7-x86_64-Minimal-1511.iso
vboxmanage modifyvm $VM --vrde on --vrdeport 5031 --cpuhotplug on --cpus 4 --memory 8192 --vrdemulticon on
vboxmanage modifyvm $VM --nic1 natnetwork --nictype1 82545EM --nat-network1 ryusnet
VBoxManage natnetwork modify --netname midonatnet --port-forward-4 "ssh-nsdb1-31:tcp:[]:10101:[10.10.10.1]:22"
VBoxHeadless --startvm $VM &

 

 

 

 

natnetwork add --netname ryusnet --network "10.10.10.0/24" --enable --dhcp on

# NAT 네트워크 생성

 

VM=centosVM001

VMCTL=centosVM001-ctl

# 변수 선언

 

natnetwork add --netname ryusnet --network "10.10.10.0/24" --enable --dhcp on

# DHCP 기능을 쓰는 NATNETWORK 생성

# NAT 이외 네트워크는 https://www.virtualbox.org/manual/ch06.html#networkingmodes 차후 정리 예정

 

VM=centosVM001

VMCTL=centosVM001-ctl

# 아래에서 동일 내용을 입력하지 않기 위해 변수 설정

 

 

VBoxManage createmedium --filename $VM.vdi --size 102400

# VM이 올라갈 버추어 머신 디스크 공간 생성

 

VBoxManage createvm --name $VM --ostype "RedHat_64" --register

# 앞서 선언한 이름의 VM 생성 CentOS 를 설치하기 때문에 RedHat_64

 

vboxmanage storagectl $VM --name $VMCTL --add sata --controller IntelAHCI

# 생성한 VM과 VM 디스크 연동을 위한 컨트롤러 생성

 

vboxmanage storageattach $VM --storagectl $VMCTL --port 0 --device 0 --type hdd --medium $VM.vdi

# 컨트롤러 포트0에 VM 디스크 연동

 

vboxmanage storageattach $VM --storagectl $VMCTL --port 1 --device 0 --type dvddrive --medium ISOs/CentOS-7-x86_64-Minimal-1511.iso

# 컨트롤러 포트1에 CentOS 설치 이미지 연동

 

vboxmanage modifyvm $VM --vrde on --vrdeport 5011 --cpuhotplug on --cpus 4 --memory 8192 --vrdemulticon on

# 콘솔화면 접속을 위한 VNC와 같은 vrde 포트 설정 (이 부분은 확장팩을 설치해야지만 가능) 및 CPU/Memory 설정

 

vboxmanage modifyvm $VM --nic1 natnetwork --nictype1 82545EM --nat-network1 ryusnet

# NIC1 카드에 앞서 생성한 natnetwork 설정

 

 

VBoxHeadless --startvm $VM &

# VM 시작 끝의 &는 백그라운드 실행

 

 

VBoxManage natnetwork modify --netname midonatnet --port-forward-4 "ssh-nsdb1-31:tcp:[]:10101:[10.10.10.1]:22"

# IP 할당 이후 SSH 접속을 위한 NAT룰 설정