태그 보관물: virtualbox

VirtualBox network settings (Upgrade settings)

Virtualbox NETWORK 설정

하드웨어 가상화의 핵심 아이디어 중 하나는 물리적 컴퓨터도 사용할 수 있는 거의 모든 경우에 가상 컴퓨터를 사용할 수 있다는 것입니다.

Virtual Network Adapters

각각 VirtualBox VM은 8개의 가상 네트워크 어댑터를 사용할 수 있고, VM은 NIC(Network Interface Controller)를 가지고 있는데 GUI에서는 4개의 어댑터를 설정할 수 있지만, cli의 VBoxManage modifyvm 명령어를 통해서 총 8개까지 설정할 수 있습니다.

VBoxManage 로 조정하는 것은 GUI로 봤을 때 vm 을 클릭 하고 setting을 눌러 network를 세팅하는 것을 말합니다.

Virtualbox_Setting

Virtualbox에서 제공하는 Network Adapters 종류

  • AMD PCnet-PCI II (Am79C970A)
  • AMD PCnet-FASt III (Am79C973)
  • Intel PRO/1000 MT Desktop (82540EM)
  • Intel PRO/1000 T Server (82543GC)
  • Intel PRO/1000 MT Server (825456EM)
  • Paravirtualized Network Adapter (virtui-net)

※ 업계 표준 virtIO 네트워킹 드라이버는 VirtualBox에서 지원됩니다. (VirtIO 네트워킹 드라이버는 KVM 프로젝트의 일부이며 오픈소스 입니다.)

Jumbo frames support

VirtualBox는 jumbo frames (Ethernet frames that can carry packets which size is more than 1,500 bytes)에 대한 제한된 지원을 제공합니다.

jumbo frames를 사용해야 할 경우

  • intel virtualized network adapter는 bridged mode를 설정해 사용합니다.
  • AMD-based virtual network adapter는 위 기능을 지원하지 않습니다.
    • 사용할 경우 입력 및 출력 트래픽에 대해 점보 프레임이 자동으로 삭제됩니다. (jumbo frames are disabled by default)

VirtualBox Network Modes

VirtualBox는여러 네트워크 모드를 제공합니다.(VM을 클릭, setting을 수정할 경우 VM의 어댑터가 연결될 네트워크와 VM의 네트워크 어댑터를 선택합니다.)

  • Not attached
  • NAT
  • NAT Network
  • Bridged Adapter
  • Internal Network
  • Host-only Adapter
  • Generic Driver
Not attached
  • VM에는 네트워크 어댑터가 설치 되어 있지만, 물리적으로 이더넷 케이블 뽑아 놓은 상황
NAT
  • 네트워크 어댑터 기본 설정으로 인터넷은 되지만, 외부에서 VM에 접속은 안 됩니다.
  • DHCP을 통해 (10.0.2.15) IP를 고정 할당 받습니다.

    (IP가 Virtualbox 에 built-in으로 고정되어 있습니다.)

  • 각 VM의 기본 게이트웨이는 10.0.2.2 입니다.
  • 네트워크 마스크 255.255.255.0 입니다.

※ 각각의 VM은 독립적인 NAT 디바이스로 구성되어 있습니다.

Virtualbox_NAT

NAT 모드 활성화 cli 명령어
1
VBoxManage modifyvm VM_name --nic1 nat

VM_name : 가상 기기 이름

nic1 : 가상 네트워크 어댑터 갯수

nat : 임의로 설정할 VirtualBox 네트워크 모드의 이름

​ [ none null nat natnetwork bridged intnet hostonly generic ]
  • 사용하지 않음 [none]
  • Not attached [null]
  • NAT [nat]
  • NAT Network [natnetwork]
  • Bridged Adapter [bridged]
  • Internal Network [intnet]
  • Host-only Adapter [hostonly]
  • Generic Driver [generic]
NAT Network

Virtualbox_NAT_Network

여러 VM에서 NAT Network를 사용할 경우 VM들은 NAT 네트워크를 통해서 VM들 끼리 통신이 가능하며, VM은 host 기기의 Physical NIC를 통해 외부 네트워크와 통신이 됩니다.

반면, 외부 네트워크의 모든 시스템과 호스트 시스템이 연결된 물리적 네트워크의 시스템은 NAT Network를 사용하도록 구성된 VM에 액세스 할 수 없습니다. (홈 네트워크에서 인터넷 액세스를 위해 라우터를 구성하는 경우와 비슷합니다.)

VirtualBox에서 NAT Network를 추가 구성할 수 있습니다.

Virtualbox_NAT_Setting

Virtualbox_NAT_Setting2

default NatNetwork 구성 스위치 IP CIDR 구성은 10.0.2.0/24 입니다.

해당 관리 gateway IP는 10.0.2.1 (구성했던 CIDR 형태에서 x.x.x.1 형태로 IP는 default Gateway IP로 할당 됩니다.)

ex) CIDR 192.168.22.0/24

-> Gateway IP는 : 192.168.22.1으로 설정됩니다.

-> DHCP Server : 192.168.22.3 으로 설정됩니다.

※ NAT Network에서 사용되는 네트워크 게이트웨이 IP 주소는 변경할 수 없으며 DHCP 서버에서 발급한 IP 주소 범위는 변경할 수 없습니다. (마찬가지로 DHCP 서버 IP 주소는 기본적으로 x.x.x.3 형태로 할당 됩니다.)

위에서 설정했던 설정을 cli로 설정할 경우
1
$ VBoxManage natnetwork add --netname natnet1 --network "192.168.22.0/24" --enable

natnet1 : NAT 네트워크 이름

192.168.22.0/24 : NAT 네트워크에 설정할 CIDR

VM 어댑터에 NAT Network를 붙이도록 설정할 경우
1
$ VBoxManage modifyvm VM_name --nic1 natnetwork

VM_name : 설정을 세팅할 VM

nic1 : 첫번째 VM 네트워크 어댑터

natnetwork : 사용할 Virtualbox network mode

※ VM 에 위의 세팅을 적용할 경우 VM을 restart 시켜줘야 할 수 있습니다.

  • 윈도우 6.0.12 r133076 GUI 로 수정 테스트 했을 때는 VM restart 없이 적용 되었습니다.

Port Forwarding

  • VM > Settings > Network : VM에서 사용할 NIC 어댑터와 연결할 네트워크에 대한 설정
  • File > Preferences > Network : NAT network를 설정, 추가 할 수 있는 설정
Bridged Adapter

VM의 가상 네트워크 어댑터를 VirtualBox 호스트 컴퓨터의 물리적 네트워크 어댑터가 연결된 물리적 네트워크에 연결하는 데 사용됩니다. VM 가상 네트워크 어댑터는 네트워크 연결에 호스트 네트워크 인터페이스를 사용합니다. 간단히 말해 네트워크 패킷은 추가 라우팅 없이 가상 네트워크 어댑터와 직접 주고 받습니다.

로컬 물리 네트워크에 접속하기 위해 주로 사용하며, VM에서 host, host와 연결된 네트워크, 외부 네트워크에 접속이 가능합니다. 이때 호스트에서 여러개의 물리 어댑터를 사용할 경우 사용할 어댑터를 설정해 주어야 합니다.

Virtualbox_BridgedAdapter

Bridged Adapter를 사용할 경우 VM 가상 네트워크 어댑터의 IP 주소는 호스트 컴퓨터의 물리적 네트워크 어댑터 IP 주소와 동일한 네트워크에 속할 수 있습니다. 이때 물리적 네트워크에 DHCP 서버가 있는 경우 VM의 가상 네트워크 어댑터는 Bridged mode에서 자동으로 IP주소를 얻습니다.

※ 게스트 OS의 네트워크 인터페이스 설정에서 자동으로 IP 주소 받기가 설정 된 경우에 가능


예를 들면

물리적 네트워크 주소 : 10.10.10.0/24

물리적 네트워크에 있는 기본 게이트웨이의 IP 주소 : 10.10.10.1

물리적 네트워크에 있는 DHCP 서버의 IP 주소 : 10.10.10.1

호스트 컴퓨터 IP 구성 : 10.10.10.72

넷 마스크 : 255.255.255.0

기본게이트웨이 : 10.10.10.1

게스트 컴퓨터의 IP 구성 : 10.10.10.91

넷 마스크 : 255.255.255.0

기본 게이트웨이 : 10.10.10.1

※ 따라서 bridge mode에서 작동하는 가상 네트워크 어댑터의 기본 게이트웨이는 호스트 컴퓨터와 동일합니다.


Virtualbox_BridgedNetworking

경우에 따라 물리적 네트워크에 여러 게이트웨이가 있는 경우가 있습니다. 하나의 게이트웨이를 통해 필요한 네트워크에 연결하기 위해 호스트 머신을 사용하고 두 번째 게이트웨이를 통해 다른 네트워크에 연결하기 위해 게스트 머신을 사용할 수 있습니다.

VM에서 라우팅 테이블을 편집하고 두 게이트웨이를 사용해 적절한 네트워크에 연결하기 위한 경로를 추가할 수도 있습니다.

Promiscuous mode (무작위 모드)

이 모드는 네트워크 어댑터가 지정되는 어댑터 주소에 관계없이 수신된 모든 트래픽을 전달할 수 있습니다. 일반 모드에서 네트워크 어댑터는 특정 네트워크 어댑터의 MAC 주소를 헤더의 대상 주소로 포함하는 프레임만 수신합니다.

이 모드는 물리적 네트워크 어댑터가 여러 MAC 주소를 가질수 있도록 할 수 있으며 모든 트래픽이 호스트 시스템의 물리적 네트워크 어댑터를 통과하고 호스트 어댑터에 표시되는 자체 MAC 주소가 있는 VM의 가상 네트워크 어댑터에 도달 할 수 있도록 합니다. IP가 설정되지 않은 VM 가상 네트워크 어댑터에도 도달됩니다.

무작위 모드 종류는 3개로 나뉘는데

  • Deny : VM의 가상 네트워크 어댑터로 보내지 않은 트래픽은 VM에서 숨겨집니다. (default)
  • Allow VMs : 다른 VM 과 주고 받는 트래픽을 제외하고 모든 트래픽은 VM 네트워크 어댑터에서 숨겨집니다.
  • Allow All : 제한이 없으며, VM 네트워크 어댑터는 모든 수신 및 발신 트래픽을 볼 수 있습니다.

Internal Network

내부 네트워크 모드에서 작동하도록 구성된 가상 머신은 격리된 가상 네트워크에 연결됩니다. 이 네트워크에 연결된 VM은 서로 통신할 수 있지만 VirtualBox 호스트 컴퓨터나 물리적 네트워크 또는 외부 네트워크의 다른 호스트와는 통신 할 수 없습니다. 내부 네트워크에 연결된 VM은 호스트 또는 다른 장치에서 액세스 할 수 없습니다. 주로 네트워크 모델링에 사용합니다.

예를 들어 각각 내부 네트워크에 연결된 가상 네트워크 어댑터(어댑터1)가 있는 세개의 VM을 만들 수 있습니다. 이러한 네트워크 어댑터의 IP 주소는 Virtualbox 내부 네트워크에 사용되는 서브넷에서 정의됩니다.(서브넷을 수동으로 정의해야 합니다.)

VM1 – (어댑터2) NAT mode 추가 설정 하여 라우터로 구성 (라우터 역할을 하기 위해 VM에 리눅스를 설치하고 iptables를 설치하는 것이 좋지만, 간단한 라우팅을 사용하기 위해서 내장된 기능을 사용한다.)

VM2, VM3 – 어댑터의 내부 네트워크 어댑터의 IP 주소가 있으면 외부 네트워크에 액세스 할 수있는 유일한 Virtual network에 접속되어 VM1은 네트워크 설정에서 게이트웨이로서 설정합니다.

구성으로 표현하자면

VM1

IP : 192.168.23.1 (내부 네트워크 모드), 10.0.2.15 (NAT 모드), 게이트웨이 10.0.2.2 (내장 VirtualBox NAT 장치 IP 주소)

VM2

IP : 192.168.23.2 (내부 네트워크 모드), 게이트웨이 192.168.23.1

VM2

IP : 192.168.23.3 (내부 네트워크 모드), 게이트웨이 192.168.23.1

VirtualBox 내부 네트워크 서브넷 192.168.23.0/24

Virtualbox_InternalNetwork

※ 실제 네트워크 인프라에서 방화벽 규칙을 구현하기 전에 IPTABLES에서 방화벽 규칙을 테스트하기 위해 이러한 인프라를 배포 할 수도 있지만 외부네트워크에서 연결할 때 VM1의 두 번째 가상 네트워크 어댑터가 NAT 모드가 아닌 Bridge 모드를 사용하는 것이 좋습니다.

Host-only Adapter

호스트와 guest 간의 통신을 위해 사용됩니다. VM은 Host-only로 연결된 VM과 host에 통신이 가능합니다.

Virtualbox_Hostonly

Host-only network를 사용하기 위해서는 호스트에서 해당 네트워크 어댑터를 생성해 주어야 합니다. File > Host Network Manager.

Virtualbox_hostnetwork

위의 경우 Host-only network의 기본 네트워크 주소는 192.168.56.0/24 이고 호스트 컴퓨터에 있는 가상 네트워크 어댑터의 IP 주소는 192.168.56.1 입니다. 이러한 IP 주소는 수동으로 IP를 편집할 수 있습니다.

추가적으로 DHCP 서버 설정을 활성화/비활성화 할 수 있습니다. DHCP 서버 탭에서는 DHCP의 IP주소, 넷 마스크 및 DHCP 클라이언트에 대해 발급할 IP 주소 범위를 설정할 수 있습니다.

Virtualbox_hostnetworkmanager

※ Host-only mode에서는 외부의 장치에서 호스트 전용 네트워크에 연결할 수 없기 때문에 VM의 가상 네트워크 어댑터에는 IP 구성에 게이트웨이가 없습니다.

Generic Driver

이 모드를 사용하면 일반 네트워크 인터페이스를 공유할 수 있습니다. 사용자는 확장 팩에 배포하거나 VirtualBox에 포함할 적절한 드라이버를 선택할 수 있습니다.

  • UDP Tunnel : 다른 호스트에서 실행되는 가상머신은 기존 네트워크 인프라를 사용하여 투명하게 통신할 수 있습니다.
  • VDE Networking : 가상 머신은 Linux 또는 FreeBSD 호스트의 가상 Distributed Switch에 연결할 수 있습니다. 표준 Virtualbox 패키지에는 이 기능이 포함되어 있지 않으므로 VDE 네트워킹을 사용하려면 Virtualbox 소스에서 컴파일해서 만들어진 프로그램을 사용해야 합니다.

네트워크 모드에 따른 접속 가능 확인

Virtualbox_connectionbymode

Port Forwarding

포트포워딩은 트래픽을 다른 IP 주소 혹은 포트로 리디렉션하는 것 외에도 적절한 IP 주소 및 포트로 주소가 지정된 트래픽을 가로채는 프로세스입니다.

컴퓨터 및 기타 라우터 장치에서 특수 응용프로그램을 사용하여 포트 전달을 구성할 수 있습니다.

포트 포워딩의 가장 일반적인 사용 사례 중 하나는 외부 네트워크에서 NAT 뒤에 숨겨진 특정 네트워크 서비스에 대한 액세스를 제공하는 것입니다. 포트포워딩 규칙을 구성한 후 클라이언트는 라우터 (호스트)의 외부 IP 주소 및 지정된 포트에 연결하여 외부에서 적절한 서비스에 액세스 할 수 있습니다.

패킷은 먼저 라우터의 응용 프로그램에서 가로채고 응용 프로그램은 해당 헤더 (IP 패킷 헤더, TCP 또는 UDP 세그먼트의 헤더)의 대상 IP 주소와 포트 번호를 읽습니다.

헤더의 대상 IP 주소 및 포트 번호 조합이 포트 포워딩 규칙과 일치하는 경우 라우팅 애플리케이션은 헤더 정보 (IP 정보 및 포트 번호)를 다시 쓰고 다른 네트워크 패킷 / 세그먼트로 보냅니다.

포트 포워딩 적용 예시 (SSH 액세스)

호스트 IP : 10.10.10.72 (물리적 NIC)

VM IP : 10.0.2.15 (NAT mode)

사용자 이름 : user1

NAT로 구성된 VM 어댑터에서 Port Forwarding 규칙 설정

VM 클릭 » Settings » Network » Adapter1

Virtualbox_portforwarding

SSH 서버는 기본적으로 22 TCP 포트를 수신합니다.

포트 8022로 들어오는 연결을 VM 22번 포트로 전달 할 수 있는 규칙을 만들면 다음과 같습니다.

Virtualbox_portforwardingrules

※ Host는 host, Guest는 guest

Virtualbox 호스트의 실제 네트워크 어댑터의 실제 IP 주소가 될 유사한 포트 전달 규칙을 만드는 경우 물리적 네트워크의 다른 호스트는 포트 8022에서 Virtualbox 호스트 시스템에 연결하여 SSH를 통해 VM에 액세스 할 수 있습니다.

이 예에서는 Virtualbox 호스트에 있는 물리적 NIC IP 주소는 10.10.10.72 입니다.

Virtualbox_portforwardingrules2

이렇게 되면 Virtualbox 호스트 또는 LAN에 연결된 다른 호스트에서 SSH 클라이언트를 열고 포트 8022에서 Virtualbox 호스트 IP에 연결합니다.

포트 포워딩 적용 예시 (HTTP 액세스)

VM에 웹 서버를 배포하고 외부에서 웹 사이트에 대한 액세스를 제공하려는 경우 다른 포트 전달 규칙을 추가 할 수 있습니다.

Virtualbox 호스트 머신과 물리적 LAN (Local Area Network)에 연결된 다른 머신에서 VM에 배포된 웹 사이트에 액세스하기 위해 해당 포트 전달 규칙을 구성하는 방법을 예로 들면 다음과 같습니다.

먼저 웹 사이트가 정상 접속 되는지 확인한 후에 진행합니다. 웹은 TCP 8080 를 사용합니다.

VM settings > Network > select adapter > Port Forwarding

Virtualbox_portforwardingrules3

RDP, FTP 및 기타 프로토콜을 통해 VM에 액세스하기 위한 규칙을 정의할수도 있습니다.

결론

Virtualbox는 유연하고 다양한 네트워크 설정을 제공하는 강력한 가상화 솔루션입니다.

각 VM은 최대 8개의 가상 네트워크 어댑터를 사용할 수 있으며(단, GUI에서는 4개까지만 설정 가능) 각 네트워크 어댑터는 실제 Intel 및 AMD 네트워크 인터페이스 컨트롤러 (NIC)의 적절한 모델로 에뮬레이션 될 수 있습니다.

VirtualBox에 VMware ESXi 설치 방법

중요:  IntelCPU를 소유하고 있는 경우VirtualBox에서실행되는 VM ESXi 호스트에서 새 VM 시스템을 시작할 수 없다는점에 유의하십시오. 

이것은 VirtualBox가 Intel CPU에 대한 중첩 가상화를 지원하지 않기 때문에 발생합니다. 

(VM 머신을 시작하려고 하면 “이 호스트는 Intel VT-x를 지원하지 않습니다.”라는 오류가 표시됩니다.) 따라서 Intel CPU를 소유하고 있다면VMware 플레이어에 ESXi설치하는것이 좋습니다.

VirtualBox에 ESXi vSphere Hypervisor를 설치하기 위한 하드웨어 요구 사항:

CPU: 호스트 시스템에는 최소 2개의 CPU 코어가 있어야 하고 CPU는 하드웨어 가상화 기능(Intel VT-x 또는 AMD RVI)을 지원해야 합니다. 시스템이 가상화를 지원하는지 확인하려면 CPUID CPU-Z 유틸리티를사용하십시오. *

* 참고:
1. 가상화 지원을 활성화하려면 BIOS 설정으로 이동 하여 Intel-VD(Intel VT-x) 또는 AMD VT 기술/기능을 활성화 합니다 .

RAM: ESXi에는 최소 2GB의 물리적 RAM이 필요합니다. VirtualBox에 ESXi를 설치하려면 최소 4GB(4096MB)의 RAM을 할당해야 합니다.

VirtualBox에 ESXi vSphere Hypervisor 6.7을 설치하기 위한 소프트웨어 요구 사항.

1. 이동 링크 및 작성 VM웨어 계정을 (당신이 이미 하나를 가지고 있지 않은 경우).
2. VMware vSphere Hypervisor(ESXi ISO) 이미지(VMware 도구 포함) 이미지를 다운로드 합니다 .

3. 평가판 라이센스(60일)를 무료(만료되지 않음)로 변환하려면 평가판 기간이 끝날 때 필요하므로 VMware vSphere Hypervisor 6 라이센스 키를 기록해 둡니다 . (기사의 끝을 참조하십시오).

4. VirtualBox에 ESXi VSphere Hypervisor를 설치하려면 여기 에서 Windows 호스트용 Virtualbox의 최신 릴리스를 다운로드하여 설치해야 합니다 .

영상

VirtualBox 호스트에 VMware vSphere Hypervisor(ESXi 서버)를 설치하는 방법.

1단계. ESXI용 가상 머신 생성 및 구성 *

1.   Oracle VM Virtual Box Manager를 시작하고 새로 만들기 를 클릭 합니다 .

vmware esxi 설치 virtualbox

2. 가상 머신의 이름(예: “eSXI vSphere”)을 지정하고 다음을 선택합니다.

유형: 리눅스

버전: Linux 2.6/3.x/4.x(64비트)

메모리 크기: 4096MB

하드 디스크: 지금 가상 디스크 만들기

3. 완료되면 만들기를 클릭 합니다.

VirtualBox에 VMware ESXi 6.7을 설치하는 방법.

4. 다음 화면에서 원하는 디스크 크기(예: 30GB)를 지정하고 ‘하드 디스크 파일 유형’: VDI(VirtualBox 디스크 이미지) 및 ‘실제 하드 디스크에 저장’: 동적 할당 의 기본 옵션을 그대로 두고 클릭합니다. 생성 .

VirtualBox에 ESXi 설치

5. 이제 새 가상 머신을 강조 표시하고 설정 을 클릭 합니다 .

영상

6a. 왼쪽에서 시스템 을 선택 하고 마더보드 탭에서 다음을 선택합니다.

  • 칩셋: ICH9
  • 포인팅 장치: PS/2 마우스

영상

6b. 그런 다음 프로세서 탭을 선택 하고…

  • 2개의   CPU를 할당합니다 .
  • PAE/NX 활성화 확인

영상

7. 그런 다음 스토리지를 선택 하고 광학 드라이브 추가  기호 를 클릭합니다 .

영상

8. 디스크 선택 을 선택한 다음 다운로드한 ‘vSphere Hypervisor(ESXi ISO)’ 파일을 선택합니다.

영상

9a. 마지막으로 네트워크 를 선택하고 호스트 전용 어댑터 를 선택한 다음 확인 을 클릭 합니다.

영상

9b. 마법사 기반 생성 프로세스 후에 가상화 기술을 실행할 수 있도록 생성된 VM을 수정해야 합니다.

이는 CLI(PowerShell/CMD)를 통해서만 가능합니다.

cd 'C:\Program Files\Oracle\VirtualBox\'
.\VBoxManage.exe modifyvm "VMwareESXi" --nested-hw-virt on

 

10. 시작 버튼을 클릭하고 아래로 진행하여 가상 머신에 ESXi vSphere Hypervisor를 설치합니다.

영상

2단계. VIRTUALBOX VM 머신에 VMWARE ESXI VSPHERE HYPERVISOR 6.7을 설치합니다.

* 참고: 물리적 시스템에 ESXi vSphere Hypervisor를 설치하는 경우 ESXi vSphere Hypervisor 설치 CD 미디어에서 시스템을 부팅하십시오.

1. 첫 화면에서 Enter 를 눌러 설치를 시작합니다.

VirtualBox 호스트에 ESXi vSphere Hypervisor를 설치하는 방법

2. VMware ESXI 설치 프로그램이 시작되어야 합니다…

영상

3. 시작 화면에서 Enter 키 를 누릅니다 .

영상

4. F11 키 를 눌러 사용권 계약에 동의합니다.

영상

5. 스토리지 옵션에서 Enter 키를 누릅니다 .

영상

6. 원하는 키보드 레이아웃을 선택하거나 기본값(미국)을 그대로 두고 Enter 키를 누릅니다 .

영상

7. 이제 원하는 비밀번호*를 두 번 입력 하고 Enter 키를 누릅니다 .

* 참고: 비밀번호는 최소 7자 이상이어야 하며 일반 및 대문자, 기호 및 숫자의 조합이어야 합니다.

영상

8. 마지막으로 F11 키 를 눌러 설치를 중단합니다. *

* VirtualBox 설치 참고 사항: ESXi 설치 시점에서 Intel 프로세서를 소유하고 있는 경우 화면에 다음 경고 메시지가 표시됩니다. “하드웨어 가상화 경고: 하드웨어 가상화는 이 CPU의 기능이 아니거나 BIOS에서 활성화되지 않았습니다.” 이 메시지를 무시하고 Enter 키를 눌러 계속하십시오. (이 기사의 시작 부분에서 말했듯이 VirtualBox는 Intel 프로세서에 대한 중첩 가상화를 지원하지 않기 때문에 이 메시지가 나타납니다.)

영상

9. 설치가 완료되면 설치 미디어를 제거하고 Enter 키 를 눌러 시스템을 재부팅합니다. *

영상

* 참고: VirtualBox에서 ESXi 설치 미디어(.ISO 파일)를 제거하려면 

  A.재부팅 후 VM 창을 닫고컴퓨터의 전원을 끕니다 .

영상

B. 그런 다음 VM 머신 스토리지 설정을 열고 ISO 파일을 제거한 다음 확인을 클릭 합니다.
C. 마지막으로 시작 버튼을 클릭하여 VMware ESXi 머신을 시작합니다.

영상

10. VMware ESXi 서버가 시작되면 DHCP에서 할당된 IP 주소를 “가져옵니다”. 아래 지침에 따라 ESXi 서버에 이 IP 주소를 사용하거나 새 고정 IP 주소를 설정할 수 있습니다.

영상

11. ESXi에서 IP 주소를 변경하려면 위 화면에서 F2 를 누른다 .
12. 루트 암호를 입력하고 Enter 키를 누릅니다.
13. 화살표 키를 사용하여 관리 네트워크 구성으로 이동 하고 Enter 키 를 누릅니다 .

image_thumb[1]_thumb[2]

14. IPv4 구성으로 이동 하고 Enter 키를 누릅니다 .

 image_thumb[3]_thumb[3]

(15) 로 이동 한 세트 정적 IPv4 주소 및 네트워크 구성 및 히트 공간 을 선택할 수 있습니다.
16. 고정 IP 주소, 서브넷 마스크 및 게이트웨이를 입력 하고 Enter 키를 누릅니다 .

image_thumb[5]_thumb[3]

17. 그런 다음 선택 DNS 구성 및 히트 입력합니다 .

image_thumb[7]_thumb[3]

18. 이동 정보는 다음의 제품에 다음 DNS 서버 주소 및 호스트 이름을 사용 하고 공격 공간 을 선택할 수 있습니다.
19. 유형 DNS 서버 주소 및 선택적으로 다른 호스트 이름을 지정합니다. 완료되면 Enter 키를 누릅니다 .

image_thumb[9]_thumb[1]

20. ESC 를 눌러 종료한 다음 Y 를 눌러 변경 사항을 적용하고 관리 네트워크를 다시 시작합니다.

image_thumb[11]_thumb[1]

(21) 이어서 프레스 ESC 로그 아웃 한 후 프레스 F12 및 종료 ESXi 서버.
22. VirtualBox Manager에서 새 가상 머신을 강조 표시하고 설정 을 클릭 합니다 .

영상

(23) 에서 네트워크 : 옵션에 첨부를 선택 브리지 어댑터를 클릭하고 OK

영상

24. VM ESXi 머신을 시작합니다.
25. ESXi 서버가 시작되면 웹 브라우저(호스트 컴퓨터에서)를 열고 ESXi 서버의 IP 주소로 이동하여 VMWare ESXi vShere 서버 관리를 시작합니다.

영상

추가 도움말: VMware ESXi Hypervisor 평가 라이센스를 무료로 변환하려면.

* 참고: 60일 동안(평가 기간 종료 시까지) ESXi의 모든 기능을 탐색하고 테스트할 수 있습니다. 따라서 평가 기간이 종료되기 전에 평가 라이센스를 무료로 변환하지 마십시오.

1. 관리 -> 라이선스로 이동 한 다음 라이선스 할당 을 클릭 합니다 .

image_thumb17_thumb[2]

2. vSphere Hypervisor 6 라이센스 키를 복사하여 붙여넣은 다음 라이센스 확인 을 클릭합니다.

image_thumb15_thumb

3. 마지막으로 라이선스 할당을 클릭 합니다.

image_thumb16_thumb[1]

4. 이제 ‘만료 날짜’ 상태가 “Never”인 화면이 표시되어야 합니다.

image_thumb18_thumb[2]

그게 다야!

Docker Toolbox 설치, 메모리 확장, 디스크 확장, timezone변경

Docker Toolbox 기본 설치 과정에서 Docker VM의

– 기본 설정 메모리 크기 확장

– 디스크 확장, 공유 폴더 추가 병행

– Timezone변경

정도로 진행한다.

 

** update :: 교차점 생성, MACHINE_STORAGE_PATH 설정은 

   Kitematic 사용하지 않을 경우에만 하자.

   docker vm ssh접속으로 동작에는 문제 없지만 (= vmware에 linux설치후 그 위에 동작하는 docker)

   host(windowns)에서 docker-machine 명령등에 직접 연결이 안된다.

   ex) 에러 메시지 종류

   Could not determine IP from docker-machine.

   command exit status 255
Error checking TLS connection: Host is not running

   등…

   windows의 OpenSSH와 docker-toolbox의 인증서 위치나 권한 뭐 그런 것들 때문같은데,

   괜히 시간 낭비하지 말자. 그냥 pc검증 환경일 뿐이니…

 

1. 설치 디렉토리 생성 & 링크 (optonal)

– D드라이브에 Docker 디렉토리 생성 (D:\Docker) <– 본인이 희망하는.

– 혹시 모를 일을 대비해서 /Users/MY_NAME/.docker를 D:\Docker로 교차점 생성

C:\Users\MY_NAME> mklink /J .docker "D:\Docker"
.docker <<===>> D:\Docker에 대한 교차점을 만들었습니다.

2. 환경변수 설정 (& 재시작) (optional)

  – Docker 저장소 위치 변경

 

3. Docker Toolbox 다운로드 & 설치

– 다운로드 : https://download.docker.com/win/stable/DockerToolbox.exe

– 설치 진행 : 진행 과정 중 기본 체크 박스 상태 그대로 진행, 설치 완료 후 재시작 불필요
https://docs.docker.com/toolbox/toolbox_install_windows/

 

– 3개의 바로가기 아이콘 생성됨

1) Oracle VM VirtualBox : “C:\Program Files\Oracle\VirtualBox\VirtualBox.exe” deafult VM이 생성되어 있는 상태

2) Kitematic (Alpha) : “C:\Program Files\Docker Toolbox\kitematic\Kitematic.exe”

3) Docker Quickstart Terminal : “C:\Program Files\Git\bin\bash.exe” –login -i “C:\Program Files\Docker Toolbox\start.sh”

 

4. Docker VM 실행 & 상태 확인

– Docker Quickstart Terminal 바로가기 실행

 

 

– IP 확인 (기본 설정대로 라면 NAT구성으로 192.168.99.100) : 위 그림 IP정보 참고

 

5. Oracle VM VirtualBox : Docker VM이미지 메모리 확장, 공유 폴더 추가

 5-0. VM중지 = ‘Docker Quickstart Terminal’에서 아래 명령 실행

$ docker-machine stop

 5-1. Oracle VM VirtualBox실행 & default 우측 클릭 > 닫기 전원 끄기

 5-2. default > 설정 : 기본메모리를 1024MB에서 4096MB로 변경 (컨테이너의 Out-Of-Memory를 덜 보려면…)

 

 

5-3. 공유폴더 추가

– D:\Docker\data 디렉토리 생성

– 이 폴더를 공유 폴더로 추가 & 자동마운트 설정

 

 

 5-4. 디스크 추가

– 저장소 > 새 디스크 만들기 > VMDK 선택 > 동적 할당 > data_disk이름 & 100GB 설정 > 만들기
(경로 : D:\Docker\machines\default\default\data_disk.vmdk)

 

 

– ‘Docker Quickstart Terminal’ 에서 docker-machine start

– Docker쉘 접속 후

1) fdisk /dev/sdb : 파티셔닝

2) mkfs.ext4 /dev/sdb1 : ext4 포맷

3) mount 해보기

docker@default:~$ sudo -i
root@default:~# fdisk -l <----------- 
  ....
  Disk /dev/sdb: 100 GiB, 107374182400 bytes, 209715200 sectors <-----------
  Units: sectors of 1 * 512 = 512 bytes
  Sector size (logical/physical): 512 bytes / 512 bytes
  I/O size (minimum/optimal): 512 bytes / 512 bytes


root@default:~# fdisk /dev/sdb <---------
  ...
  Command (m for help): m <--------
  Command (m for help): g <-------- Linux FileSystem
  Command (m for help): n <-------- 파티션 생성
  Partition type
     p   primary (0 primary, 0 extended, 4 free)
     e   extended (container for logical partitions)
  Select (default p): p <-----------
  Partition number (1-4, default 1): 
  First sector (2048-209715199, default 2048): 
  Last sector, +sectors or +size{K,M,G,T,P} (2048-209715199, default 209715199): 

  Created a new partition 1 of type 'Linux filesystem' and of size 100 GiB.

  Command (m for help): p
  Disk /dev/sdb: 100 GiB, 107374182400 bytes, 209715200 sectors
  Units: sectors of 1 * 512 = 512 bytes
  Sector size (logical/physical): 512 bytes / 512 bytes
  I/O size (minimum/optimal): 512 bytes / 512 bytes
  Disklabel type: gpt
  Disk identifier: 54EDF7CB-5770-47D4-9DF6-0F4CE1F48054

  Device     Start       End   Sectors  Size Type
  /dev/sdb1   2048 209715166 209713119  100G Linux filesystem

  Command (m for help): w <--------------
  The partition table has been altered.
  Calling ioctl() to re-read partition table.
  Syncing disks.

root@default:~# fdisk -l <--------------
  ...
  Device     Start       End   Sectors  Size Type
  /dev/sdb1   2048 209715166 209713119  100G Linux filesystem  <--------------

root@default:~# mkfs.ext4 /dev/sdb1 <--------------
  ...
  Writing superblocks and filesystem accounting information: done   

root@default:~# mkdir -p /mnt/sdb1
root@default:~# mount /dev/sdb1 /mnt/sdb1 <----------- 
root@default:~# df -h
  Filesystem                Size      Used Available Use% Mounted on
  tmpfs                     3.5G    229.6M      3.2G   6% /
  tmpfs                     1.9G         0      1.9G   0% /dev/shm
  /dev/sda1                17.8G     46.5M     16.9G   0% /mnt/sda1
  cgroup                    1.9G         0      1.9G   0% /sys/fs/cgroup
  /c/Users                476.2G    189.5G    286.7G  40% /c/Users
  /data                     3.6T      1.4T      2.2T  39% /data
  /dev/sda1                17.8G     46.5M     16.9G   0% /mnt/sda1/var/lib/docker
  /dev/sdb1                97.9G     59.6M     92.9G   0% /mnt/sdb1 <----------

 

– 자동 마운트 설정 : 아래 경로에 bootlocal.sh 파일 생성(실행 권한부여) 후 mount명령 추가

(이 방법외에 다른 방법 찾기 귀찮아서, 혹시 아는 분은 댓글로…)

root@default:~# cd /var/lib/boot2docker
root@default:/var/lib/boot2docker# vi bootlocal.sh 
  #!/bin/sh
  mount /dev/sdb1 /mnt/sdb1
  :wq (저장)
root@default:/var/lib/boot2docker# chmod u+x bootlocal.sh

– ‘Docker Quickstart Terminal’ 에서 docker-machine restart

– docker vm에 쉘 접속 후 확인 : 메모리 크기 등

 

 

6. Timezone변경

– 현재 시간 확인 : PC의 현재 시간과 동일하면 끝, 아래와 같이 아니라면

docker@default:~$ date
Mon Jun 17 21:50:01 UTC 2019  <— 엉뚱한 시간이 나온다. (9시간 전?)

– 다음과 같이 진행 후 docker-machine restart

docker@default:~$ sudo -i
root@default:~# cd /var/lib/boot2docker

root@default:/var/lib/boot2docker# tce-fetch.sh tzdata.tcz
root@default:/var/lib/boot2docker# mkdir ext
root@default:/var/lib/boot2docker# mount tzdata.tcz ext -t squashfs -o loop,ro,bs=4096
root@default:/var/lib/boot2docker# cp ext/usr/local/share/zoneinfo/Asia/Seoul ./Asia-Seoul.tz

root@default:/var/lib/boot2docker# umount ext
root@default:/var/lib/boot2docker# rm -rf ext tzdata.tcz

root@default:/var/lib/boot2docker# vi bootlocal.sh
    #!/bin/sh
    mount /dev/sdb1 /mnt/sdb1
    cp /var/lib/boot2docker/Asia-Seoul.tz /etc/localtime
    :wq (저장)
root@default:/var/lib/boot2docker# chmod u+x bootlocal.sh

((((( 재시작 후 접속 )))))

docker@default:~$ date
Tue Jun 18 07:04:21 KST 2019 <-- PC시간과 동일

(참고 : https://github.com/boot2docker/boot2docker/issues/476)

 

 

[기타]

– container 이미지 저장 위치 :

$ docker info
  Containers: 3
  ...
  Docker Root Dir: /mnt/sda1/var/lib/docker <------------
  ...
  Product License: Community Engine

$ sudo i
# cd /mnt/sda1/var/lib/docker
# find . -name mysql | cut -f 1,2,3 -d "/" | uniq | xargs du -h -d 0
  40.0K   ./overlay2/331e15e384ea042923fbc7d933359fa89718cc38215d0056ab47bfbba2e445f2
  431.8M  ./overlay2/b7f24200745390db507cca92e2d6b32778d77a71f58d8d776dd04be46912b405
  313.6M  ./overlay2/00a4a9d710111c024838b47c3d1a1ce1457f2cd345e33748e21bac3c92364792

대충 /mnt/sd1/var/lib/docker/overlay쯤인가보네

참고 : https://stackoverflow.com/questions/19234831/where-are-docker-images-stored-on-the-host-machine