Iriton's log

06. 가상머신의 생성 및 운영 + VMware에 Proxmox 실습하기 본문

Cloud/Study

06. 가상머신의 생성 및 운영 + VMware에 Proxmox 실습하기

Iriton 2024. 5. 14. 21:53

해당 글은 노트북+공공 WIFI를 사용하는 입장으로써 어댑터에 브릿지 설정을 하지 않고 Proxmox 서버를 구축하는 방법을 찾기 위해 기나긴 삽질하다가 찾은 (그나마) 최적의 방법인 것이지 정답이 아니란 것을 참고하길 바랍니다.

(데스크탑과 랜선을 사용한다면 그냥 브릿지 설정을 하고 하시길...)

1. ISO 다운로드

DataCenter의 pve - local(pve) - ISO images - Download from URL

여기서 URL은 https://releases.ubuntu.com/focal/ubuntu-20.04.6-live-server-amd64.iso 을 사용하여 Ubuntu 20.04를 다운로드 했다.

 

이외 버전을 가져오고 싶다면 우분투 홈페이지에서 서버 설치 image url을 우클릭해서 링크 주소 복사하면 된다.

 

Query URL 버튼을 누르면 File name이 입력된다.

이때 로딩이 되다가 Error 메세지로 name server가 어쩌고 500... 443 문구가 뜨면 DNS 서버 연결 오류이기 때문에 DNS server 설정을 다시 해야 한다.

노드의 shell에 접속하여 /etc/resolv.conf 에서 네임서버를 수정할 수 있으니 이를 8.8.8.8이나 168.126.63.1 등으로 알맞게 변경해 주면 잘 작동할 것이다. 그래도 안 된다면 DNS 서버는 괜찮은데 Proxmox 설치할 때 IP와 게이트웨이 설정의 문제일 수도 있으니, 네트워크 설정을 다시 확인해 보자. (외부망과 통신할 수 있는 네트워크 설계를 하였는지 검토해야 한다.)

 

TASK OK가 뜨면 x를 눌러도 된다.

2. 네트워크 어댑터 추가 및 설정

이건 나중에 해도 되는 건데 vm 생성하고 나서 네트워크 변경하면 번거로우니까 미리 해보자.

현재까지 그대로 따라왔다면 NAT 라우터만 존재하여 사설망이 구축된 상태이다.

 

현재 네트워크 구성

외부 네트워크에 액세스하는 가장 간단한 방법인 NAT를 이용하여 3. proxmox 설치에서 해본 apt update, upgrade 등은 가능하였다. 그리고 포트포워딩을 통해 Host OS에서 Guest OS인 10.0.2.15:8006에 접속하여 웹 인터페이스 접근까지 할 수 있다.

 

하지만 NAT 라우터만으로는 Guest에서 Host로 접근하거나 나중에 Guest OS가 추가될 시 Guest끼리 통신을 할 수 없게 된다.

이번 실습은 가상머신을 생성하여 Host OS인 윈도우에서 ssh로 접속하는 것과 Guest에서 생성한 apache2 서버를 Host에서 접속할 수 있게 하기 위해 호스트 전용 어댑터를 추가할 것이다.

즉, Guest->Host 통신을 위하여 해당 어댑터를 추가하는 것이다.

그럼 Guest에서 여는 apache2 서버에 Host가 접근할 수 있게 된다.

 

네트워크 어댑터 추가하려면 가상머신을 종료해야 한다.

종료 후 설정 - 네트워크로 들어간다.

 

 네트워크 어댑터 사용하기 체크박스를 눌러서 어댑터2를 활성화 시킨 후 위와 같이 설정해 준다.

 

추가로, virtualbox의 파일 - 도구 - Network Manager에 들어가서 가상머신에 할당된 어댑터의 주소가 뭔지 확인한다.

이 주소는 Host OS와 가상머신을 연결해주는 인터페이스 주소이다.

즉, vm ip를 192.168.56.n 으로 설정을 하면 해당 인터페이스를 통해 Host OS와 통신이 가능해지는 것이다.

DHCP 서버는 동적으로 IP 주는 건데 필요없으니까 비활성화를 했다.

 

(이 부분에서 많이 헤맸다... VMware로 네트워크 설정을 많이 해봐서 VMware의 인터페이스에 맞춰서 네트워크 설정을 하니까 당연히 작동이 안 됐었다. VMware와 Virtualbox의 인터페이스 주소는 따로 존재한다는 점을 깨닫게 됐다. 어떻게 보면 당연한 건데 이걸 눈치 못 채서 시간을 많이 빼앗겼다.)

 

리부팅 된 웹 인터페이스에 접속하여 pve노드의 network 설정에 들어가면 enp0s8이 추가된 걸 볼 수 있다.

여기서 vmbr은 인터넷에 연결되어 있는 컨테이너를 위한 브릿지이다.

새로운 네트워크 디바이스가 생성되었으니 ip주소를 할당하여 연결 시켜주자.(브릿지 생성)

 

Create - Linux Bridge를 선택한다.

IPv4는 가상머신 인터페이스 주소를 참고하여 192.168.56.n으로 설정하였다.

Bridge ports는 새로 생성한 네트워크 어댑터 이름을 기재한다.

 

이렇게 해도 Host <-> Guest 핑이 안 날라갈 거다.

하나 더 해야 되는 게 있다.

외부로 패킷을 전송할 수 있게 IP포워딩을 해줘야 한다.

/etc/network/interfaces 문서를 수정하면 된다.

 

왼: 수정 전 / 오: 수정 후

post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '192.168.56.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.56.0/24' -o vmbr0 -j MASQUERADE

추가할 내용은 위와 같다. 자신의 가상머신 네트워크 인터페이스 주소에 따라 싱글쿼츠 안의 내용이 달라질 수 있다는 점 참고해야 한다.

 

systemctl restart networking 으로 재시동 한 후 Guest <-> Host 서로 핑을 날려보자.

서로 통신이 가능한 상태가 되었다.

이렇게 하면 localhost:8006이 아닌 {지정된 아이피주소}:8006으로도 웹 인터페이스 접근이 된다.

guest OS 끼리도 구분을 할 수 있게 되는 것이다.

3. Create VM

Network 브릿지는 아까 HostOs와 연결한 브릿지 vmbr1을 사용했다.

그 외에 유의할 점은 딱히 없어서 기본값으로 지정.

아까 다운로드 받은 ISO 파일을 가져와서 Ubuntu VM을 생성한다.

 

Start 버튼으로 구동이 되며 Console로 가상머신 접속이 가능하다.

 

더보기

📍 Error

TASK ERROR: KVM virtualisation configured, but not available. Either disable in VM configuration or enable in BIOS.

해결법: Options - KVM hardware virtualization - NO(enable x)

 

4. Ubuntu 설치

설치 인터페이스가 뜰 때까지 기다린다.

Network connection 전까지는 영어로 다 설정한다.

DHCP를 활성화 했으면 자동으로 아이피가 할당될 텐데 DHCP를 비활성화해서 직접 IP를 기재할 것이다.

화살표키와 엔터키로 조작한 후

Edit Ipv4 - manual로 변경

 

가상머신 NIC에 맞춰서 192.168.56.x 를 주소로 할당해 주고 게이트웨이는 가상머신 인터페이스 주소로 맞췄다.

네임서버는 꼭 기재하지 않아도 된다는 사람도 있는데 어차피 나중에 변경 가능하니까 8.8.8.8로 설정해두자.

Save 누르면 Applying changes가 뜨다가 연결되면 Done 버튼이 활성화 된다.

Done 버튼이 활성화 되지 않으면 네트워크 연결이 안 되는 거니까 검토를 해봐야 한다.

 

그 이후로는 계속 기본값으로 설정해준다.

이름이랑 서버 이름 닉네임 비밀번호도 각자 지정하고

ssh 서버를 설치한다고 선택하고 설치를 기다리자.

 

다운로드 다 하고 리부팅하면 위와 같은 메세지가 뜨면서 부팅이 안 된다.

Hardware 에서 CD/DVD Drive를 삭제하고 다시 실행하자.

 

 

vmbr 잘 선택하고 그에 맞는 ip 지정한 가상머신 만들었다면 ssh 연결도 되어야 한다.

 

파워쉘이나 cmd를 통해 ssh {지정한 닉네임}@{지정한 IPv4} 로 접속하면 된다.

 

근데 이렇게 하면 외부망 LAN과 연결되지 않아서 apt update 등의 명령어가 먹히지 않는다.

 

 

5. 해결법 - VMware pro 사용하기

VMware pro에서 Virtual Network Manager에서 NAT 어댑터 설정하고 VMware pro 위에 proxmox 서버 올리면 위의 모든 문제가 해결 된다. virtual box는 무료라 그런지 NAT NIC를 제공하지 않는 건가...? 아무튼 노트북과 wifi로 실습할 거면 VMware pro를 쓰자. 

대신 브릿지를 사용하지 않기에 실제로 웹 서버에 올릴 때엔 문제가 생길 수 있으니 단지 테스트용 실습. 정도로만 해야 할 것이다.

 

 

아래는 VMware에서 설치 및 설정부터 테스트까지 하는 과정이다.

 

 

이 뒤로는 virtualbox에서 하던 거랑 똑같은데 IP 지정에서 좀 유의하면 된다.

NAT로 host PC와 연결할 거니까 IP 서브넷을 맞춰야 한다.

그냥 WIFI나 이더넷의 서브넷 주소에 맞추는 게 아니라 VMware 상에서 설정된 인터페이스에 맞춰야 한다.

 

vmware의 네트워크 관리는 virtual network editor로 관리한다.

윈도우 검색창에 검색하면 나올 것이다.

여기서 NAT 또는 Host-only 등 각 어댑터를 관리할 수 있다.

여기서 설정한 서브넷 주소에 맞춰 IP 주소를 고르면 된다.

난 자동 설정되어 있는 대로 하고 DNS 서버 주소만 8.8.8.8으로 맞췄다. 근데 어차피 이건 상관 없다.

 

virtualbox와 달리 포트포워딩 안 해도 해당 주소로 바로 접속이 될 거다.

가상머신과 컨테이너도 NAT 어댑터의 서브넷 주소에 맞춰서 주소 지정해 주면 된다.

192.168.0.1/24에 맞는 주소라면 뭐든 가능하다.

그럼 웬만한 실습은 정상적으로 할 수 있게 된다.

(기본 네트워크 설정은 해야 된다. -> /etc/apt/source.list.d/ceph.list 와 pve-enterprise.list 주석 처리, No subscription 추 등등)

 

확인

Host <-> Guest 간의 통신이 가능한 걸 확인할 수 있다.

192.168.0.1/24 외에 호스트 PC의 wifi 또는 ethernet에 할당받은 IPv4주소로도 핑이 보내진다.

 

이정도면 실습 가능한 정도까진 완성!

 

+) 교수님이 말하시기를 Virtualbox와 노트북+와이파이의 문제가 아니고, 내가 잘못 생각한 거라고 하시는데 해결 방법을 알려주신 건 아니라서 우선 VMware로 해결을 해 보았다. 최종적으로 서버를 올리는 것을 목표로 두고 네트워크를 설정하는 바람에 데탑을 쓰지 않고 고정서버를 둘 방법이 없을까 하며 삽질을 시도했다. 결과적으로는 데탑을 쓸 거 같긴 한데 그래도 네트워크 공부를 많이 했으니 이만하면 됐고 나중엔 클라우드 실습을 해보자.

'Cloud > Study' 카테고리의 다른 글

05. 가상머신과 컨테이너의 이해  (0) 2024.05.06
04. Proxmox VE 기초  (0) 2024.05.06
03. Proxmox VE의 설치  (0) 2024.05.06
02. 가상화 환경의 이해  (0) 2024.05.06
01. 클라우드 컴퓨팅 개요  (0) 2024.05.06
Comments