하나의 서버에서 여러 개의 가상 머신을 실행하고 싶거나, 개발자 및 테스터들은 다양한 운영체제 및 애플리케이션 환경을 필요에 따라 가상머신에서 구축하여 테스트하고 개발할 수 있습니다. 이로써 환경 간의 충돌을 방지하고 효율적인 개발 및 테스트를 진행할 수 있는데 이 때 가상머신을 주로 사용하게 됩니다.
VMware vSphere/ESXi, Microsoft Hyper-V 그리고 KVM/QEMU 와 같은 서비스들이 존재합니다. Proxmox VE는 가상 머신 및 컨테이너 가상화를 위한 강력한 도구로, 가상 머신 기반의 인프라스트럭처를 효과적으로 관리하고 활용하는 데 유용하며 이외에도 오늘 설명하는 Proxmox VE도 오픈소스 가상화 플랫폼 중 하나로, 무료로 사용할 수 있는 것이 큰 장점인데요.
KVM 및 LXC와 같은 가상화 기술을 지원하는 등 Proxmox VE는 다중 가상화 기술을 통합하여 웹 기반 관리 인터페이스를 제공하므로 비용을 절감하고 유연성을 높일 수 있는 강력한 옵션으로 점차 사용자들이 많아지고 있습니다. Proxmox 알아보기
필자 또한 남는 컴퓨터가 하나 있어 Proxmox VE를 설치해서 테스트 용 서버를 만들어보고 싶어졌는데요. 그래서 오늘은 이 Proxmox VE를 설치하는 기본적인 과정을 안내하니 단계별로 따라서 진행해 보시길 바랍니다.
튜토리얼 환경: proxmox-ve_8.0
Proxmox 설치
앞선 설명으로 Proxmox 설치를 위한 부팅 디스크를 만들고 부팅했다면 설치 유형을 선택하고 안내에 따라 설치를 진행할 수 있습니다.
Proxmox 설치 시작
- 부팅이 완료되면 위와 같은 화면이 보여지게 됩니다. 다음 중 하나를 선택하면되고 본문에서는 그래픽 환경으로 진행합니다.
- Install Proxmox VE(Graphical): 그래픽 사용자 인터페이스(GUI)를 통해 Proxmox VE를 설치하는 방법입니다. 이 방법은 일반적으로 설치 마법사를 사용하여 그래픽 환경에서 시스템 구성을 수행할 수 있는 경우에 사용됩니다. 사용자가 마우스 및 키보드를 사용하여 시스템 구성을 수행할 수 있으며, GUI를 통해 설치 및 설정 프로세스를 시각적으로 수행할 수 있습니다.
- Install Proxmox VE(Console): 텍스트 기반의 콘솔 인터페이스를 사용하여 Proxmox VE를 설치하는 방법입니다. 이 방법은 주로 원격 서버 또는 가상 환경에서 설치할 때 사용됩니다. 사용자가 텍스트 명령어를 사용하여 시스템 구성을 수행하며, 텍스트 콘솔을 통해 설치 및 설정을 수행합니다.
- 위와 같은 쉘에서 작업이 진행됩니다. 이 과정은 Proxmox VE를 설치할 디스크와 네트워크 설정 등의 기본 시스템 설정을 수행하는 것입니다. 네트워크 연결이 올바르지 않은 경우나 문제가 있다면 한참동안 진행되지 않고 추후 지역 정보등을 가져오지 못하게 될수도 있습니다.
Proxmox VE Installer
CLI화면에서 선택한 옵션에 따라 그래픽 환경으로 전환되면서 설치 과정이 단계별로 진행됩니다.
- Proxmox VE 설치 마법사가 시작되면 End User License Agreement (EULA)를 표시하게 되며, 우측 하단의 버튼으로 동의후 진행이 가능합니다. 이는 소프트웨어 또는 서비스의 최종 사용자 라이선스 동의서입니다. 이것은 소프트웨어 제공 업체가 최종 사용자에게 제품 또는 서비스의 사용 권한 및 제한을 설명하는 문서입니다. EULA는 사용자가 소프트웨어 또는 서비스를 설치, 다운로드 또는 사용할 때 동의해야 하는 조건과 규정을 명시합니다.
- Proxmox Virtual Environment (PVE)단계로 이어지게 됩니다. 여기서는 Proxmox VE를 설치할 디스크를 선택합니다. 보통 시스템에 여러 디스크가 연결되어 있을 경우, 설치 대상 디스크를 선택합니다. 버튼을 누르면 위 마킹해둔 패널이 열리고 이곳에서 다음과 같은 설정을 정의할 수 있습니다. 본문에서는 기본값으로 두고 진행합니다.
- Filesystem: Proxmox VE의 기본 파일 시스템은 ext4입니다. ext4 또는 xfs를 선택할 때 LVM (Logical Volume Manager)이 사용됩니다. LVM은 디스크 공간을 관리하고 파티션을 만드는 데 도움을 줍니다. 필요하다면, LVM 공간을 제한하는 추가 옵션을 설정할 수도 있습니다.
- hdsize: Proxmox VE 노드에 할당할 하드 디스크 공간 크기를 설정합니다. 이 옵션을 사용하여 노드에 얼마나 많은 디스크 공간을 할당할지를 결정할 수 있습니다.
- swapsize: 스왑 파티션 크기를 설정합니다. 스왑은 메모리의 일부를 디스크에 일시적으로 저장하는 데 사용되는 공간입니다. 스왑 파티션은 메모리가 부족한 경우 데이터를 스왑 아웃하여 시스템의 안정성을 유지하는 데 도움을 줍니다.
- maxroot: 루트 파일 시스템의 최대 크기를 설정합니다. 이 옵션을 사용하여 루트 파일 시스템의 크기를 제한할 수 있습니다.
- minfree: 시스템에 남겨둘 최소한의 빈 공간 크기를 설정합니다. 이 공간은 시스템 작동 중에 임시 파일 및 로그 파일 등이 저장되는 공간으로 사용됩니다.
- maxvz: 컨테이너(VZ 컨테이너) 파일 시스템의 최대 크기를 설정합니다. 이 옵션을 사용하여 각 컨테이너 파일 시스템의 크기를 제한할 수 있습니다.
참고: Proxmox VE에서 노드는 가상화 및 컨테이너 관리 플랫폼에서 사용되는 중요한 개념으로 물리적인 서버 또는 가상화 호스트를 나타냅니다. Proxmox VE는 하드웨어 리소스를 관리하고 가상 머신 및 컨테이너를 실행하는 역할을 수행하는 서버 노드로 설치됩니다.
- Location and Time Zone selection 단계에서는 Proxmox VE 설치 마법사에서 시간대와 위치 정보를 설정하는 단계입니다. 이 단계에서는 Proxmox VE 노드의 지리적 위치 및 시간대를 정확하게 설정하게 됩니다. 전술한 대로 네트워크가 제대로 연결되어 있다면 자동으로 위치와 시간대를 찾아오게 됩니다. 만약 원하는 값과 다르다면 수정한 뒤 버튼을 클릭합니다.
- Country: Proxmox VE 노드의 위치를 나타내는 국가 또는 지역을 선택합니다. 일반적으로 국가 또는 지역 목록이 제공되며, 노드가 위치한 국가 또는 지역을 선택합니다.
- Time Zone:선택한 국가 또는 지역에 따른 시간대를 설정합니다. 이 시간대 설정은 시스템 시계 및 로깅 시스템과 관련이 있으며 올바른 시간 정보를 유지하는 데 중요합니다.
- Keyboard Layout: 보드의 물리적 레이아웃 및 키에 할당된 문자와 기호를 정의합니다.
- Administration Password and Email Address 단계에서는 Proxmox VE 슈퍼유저(root)의 암호와 이메일 주소를 지정해야 합니다. 이 비밀번호는 Proxmox VE 관리자 웹 인터페이스에 로그인할 때 사용됩니다.
- Password: 최소 12~14자의 암호 길이를 사용하고 소문자와 대문자 알파벳 문자, 숫자 및 기호 포함해야 합니다. 문자 반복, 키보드 패턴, 유명한 단어, 문자 또는 숫자 시퀀스, 사용자 이름과 같은 것들은 피하는 것이 좋습니다.
- Email: 이메일 주소는 시스템 관리자에게 알림을 보내는 데 사용됩니다. 예를 들어, 패키지 업데이트 정보, 주기적인 CRON 작업의 오류 메시지 등이 해당 이메일 주소로 전송됩니다. Email 서버를 따로 구성하지 않는다면 의미는 없지만 기본값으로 할당된 이메일 주소를 그대로 유지하면 단계가 진행되지 않으니 필히 다르게 변경합니다.
- Management Network Configuration 단계에서 다음과 같은 네트워크 관련 항목들을 설정을 진행 후 버튼을 클릭합니다. 필드는 수정하지 않으면 다음 단계로 진행되지 않으니 필히 수정해야 합니다.
- Management Interface: Proxmox VE에서 사용할 관리 네트워크 인터페이스를 선택합니다. 이 인터페이스는 Proxmox VE 웹 관리 인터페이스에 접근하고 시스템을 원격으로 관리하는 데 사용됩니다. 위 이미지를 예로 들면, ens33는 네트워크 인터페이스의 이름 또는 식별자입니다. Linux 시스템에서 네트워크 인터페이스는 일반적으로 ens와 숫자로 표시됩니다. 이 이름은 시스템에 따라 다를 수 있으며, 네트워크 카드에 할당된 이름입니다. 가운데는 MAC주소 이며,
(e1000)
은 네트워크 인터페이스에 사용된 가상 NICNetwork Interface Card의 종류를 나타냅니다.e1000
은 가상 머신에서 널리 사용되는 네트워크 카드 가상화 유형 중 하나입니다 - Hostname(FQDN): Proxmox VE 서버의 호스트 이름과 완전한 도메인 이름(FQDN)을 설정합니다. 호스트 이름은 서버의 고유한 이름이며, FQDN은 호스트 이름에 해당하는 도메인 이름을 포함한 전체 주소입니다.
- IP Address(CIDR): Proxmox VE 서버에 할당할 정적 IP 주소를 입력하고, CIDRClassless Inter-Domain Routing 표기법으로 네트워크 서브넷 마스크를 지정합니다. 예를 들어,
192.168.1.10/24
와 같이 입력할 수 있습니다. - Gateway: 서버가 외부 네트워크와 통신할 수 있게 하는 라우터 또는 게이트웨이의 IP 주소를 입력합니다. 이것은 서버가 외부 인터넷에 접속할 때 사용됩니다.
- DNS Server: Proxmox VE 서버가 DNS 이름 해결을 위해 사용할 DNS 서버의 IP 주소를 입력합니다. DNS 서버는 도메인 이름을 IP 주소로 변환하는 데 사용됩니다. DNS 더 알아보기
- Management Interface: Proxmox VE에서 사용할 관리 네트워크 인터페이스를 선택합니다. 이 인터페이스는 Proxmox VE 웹 관리 인터페이스에 접근하고 시스템을 원격으로 관리하는 데 사용됩니다. 위 이미지를 예로 들면, ens33는 네트워크 인터페이스의 이름 또는 식별자입니다. Linux 시스템에서 네트워크 인터페이스는 일반적으로 ens와 숫자로 표시됩니다. 이 이름은 시스템에 따라 다를 수 있으며, 네트워크 카드에 할당된 이름입니다. 가운데는 MAC주소 이며,
- 앞서 정의한 설정들을 정리해서 보여주니 잘못 된 내용이 없는지 확인 후 이상이 없다면 버튼을 클릭합니다.
- 설치 과정이 진행되니 잠시 기다려줍니다. 그리 오래걸리지는 않습니다.
- 설치가 모두 완료되었습니다. 버튼을 클릭해 시스템을 재시동합니다.
재부팅
시스템이 재부팅되면 위와 같은 화면이 나오는데 그대로 놔두면 바로 단계가 진행됩니다.
위와 같이 관리 페이지 주소와 포트 그리고 로그인 프롬프트가 표시되면 웹 브라우저를 통해서 관리 페이지로 접속할 수 있습니다.
웹 인터페이스 접속
설치가 모두 완료되었으니 이제 브라우저에서 관리 콘솔에 로그인하면 됩니다.
- Proxmox VE 관리 페이지에 접속 시 또는 과 같은 경고 메시지를 받게 됩니다. 이는 기본적으로 Proxmox VE 웹 인터페이스가 자체적으로 SSL/TLS 인증서를 사용하지 않기 때문이니 아래 버튼을 눌러 숨겨진 영역을 열고 링크를 클릭합니다.
참고: 이러한 경고 메시지는 연결이 암호화되지 않았으므로 보안에 취약할 수 있다는 것을 나타냅니다. 그러나 홈 랩 또는 테스트 환경에서 Proxmox VE를 실행하는 경우에는 자체 SSL/TLS 인증서를 사용하지 않아도 무방할 것 입니다.
- 관리 페이지 접속을 위해 앞서 정의한 정보를 입력해서 로그인해야 합니다. 언어를 변경하면 입력한 정보가 초기화 되니 언어를 변경하고 싶다면 우선적으로 선택합니다.
- 사용자 이름:
root
- 패스워드: 설치 중 정의한 암호를 이곳에 입력합니다.
- 영역: 기본 값을 유지합니다. PAMPluggable Authentication Modules 표준 인증을 구성하는 부분으로 사용자 인증을 어떻게 처리할 것인지를 지정하는 것입니다. 다양한 인증 방법 및 설정을 선택할 수 있는 옵션이지만, 일반적으로 기본값으로 사용하면 됩니다.
- 언어: 원하는 언어를 선택할 수 있으며 한국어도 지원됩니다.
- 사용자 이름:
- 이라는 제목의 메시지가 팝업됩니다. Proxmox VE는 기본적으로 오픈 소스로 제공되지만, 기능을 확장하거나 상용 지원을 받기 위해 구독을 필요로 할 수 있는데 이와 관련 된 내용이니 무시하고 버튼을 클릭합니다. 이 팝업이 불편하다면 보이지 않도록 약간의 트릭으로 수정할 수 있습니다.
이제 Proxmox VE 관리 페이지로 정상 접속되었습니다. 화면 구성이 직관적으로 되어있어 처음 접한 경우에도 별다른 어려움없이 조작할 수 있을 듯 합니다.
자체 쉘 사용
Proxmox VE 노드의 명령줄 쉘에 직접 접근하는 방식은 다양한데 Proxmox VE 관리 페이지에서는 쉘(Shell) 메뉴를 제공해 이 메뉴를 사용하면 추가 설치없이 Proxmox VE 시스템에 명령어를 입력하고 실행할 수 있습니다.
- 위 이미지에 마킹해둔 위치에서 자체 쉘을 이용해 해당 머신으로 바로 접속할수 있으며, 이 관리자 콘솔을 통해 Proxmox VE 노드를 관리하고 구성할 수 있습니다.
- 위와 같이 Proxmox VE 관리자 콘솔로 접속할 수 있습니다. Proxmox VE 관리자 콘솔은 노드의 명령어 쉘로 직접 접속할 수 있는 강력한 도구입니다. 명령어를 실행하여 가상 머신 및 컨테이너를 관리하고 시스템 설정을 조정할 수 있습니다. 이를 통해 Proxmox VE 노드를 원격으로 관리할 수 있습니다.
마치며
부팅 디스크를 만든 뒤 Proxmox를 설치해 관리 페이지 및 쉘에 접속하는 방법에 대해 알아보았습니다. 일반적인 운영체제 설치과정과 크게 다르지 않은 방식이기 때문에 처음 설치하더라도 크게 어려움 없이 진행할 수 있을 것 입니다.
Proxmox VE는 오픈 소스 소프트웨어로 무료로 사용할 수 있어 소프트웨어 비용을 절약하고 커뮤니티 지원을 받을 수 있습니다. 그럼에도 Proxmox VE는 가상 머신 스냅샷, 백업 및 복원, 보안 그룹, 네트워크 설정, 스토리지 볼륨 관리 등 다양한 고급 기능을 제공하고 있어 활용도가 높다고 할 수 있는데요. 이렇게, 컴퓨터와 서버의 전체 인프라를 가상환경으로 구축하고 싶은 경우, 앞선 절차로 Proxmox를 설치해서 사용해 보시길 바랍니다.