728x90
반응형
Overview
Proxmox에 대해서 알아본다.
Proxmox란?
Proxmox VE(가상 환경)는 기업 가상화를 위한 포괄적인 오픈 소스 플랫폼이다. 가상 머신용 KVM(커널 기반 가상 머신)과 컨테이너용 LXC(Linux 컨테이너)라는 두 가지 가상화 기술을 단일 관리 인터페이스에 통합한다.
Proxmox VE의 주요 기능
가상화 기술
- KVM : Linux, Windows 등을 포함한 다양한 게스트 운영 체제를 실행하기 위한 전체 가상화 솔루션
- LXC : 격리된 컨테이너에서 Linux 운영 체제 환경을 실행할 수 있는 경량 컨테이너화 플랫폼을 제공
웹 기반 관리 인터페이스
- Proxmox는 사용자가 가상 머신과 컨테이너를 생성, 구성, 관리할 뿐만 아니라 스토리지와 네트워킹도 관리할 수 있는 통합 웹 기반 관리 인터페이스를 제공
고가용성 클러스터
- 플랫폼은 고가용성 클러스터링을 지원하므로 VM과 컨테이너를 가동 중지 시간 없이 호스트 간에 마이그레이션할 수 있다. 또한 자동 장애 조치 기능을 제공하여 높은 수준의 복원력과 안정성을 제공
백업 및 복원
- Proxmox에는 VM 및 컨테이너 백업 및 복원에 대한 기본 지원이 포함되어 있다. 이는 GUI 또는 CLI를 통해 예약 및 관리할 수 있으므로 데이터 무결성과 오류로부터의 빠른 복구가 보장된다.
스토리지 시스템
- 로컬 스토리지(LVM, 디렉터리, ZFS), SAN, iSCSI, 파이버 채널, NFS 등을 갖춘 네트워크 기반 스토리지와 같은 여러 스토리지 시스템을 지원
네트워킹
- 브리지, 본딩, VLAN을 포함한 다양한 네트워킹 구성을 제공한다. Proxmox는 인터페이스에서 복잡한 네트워크 설정을 관리할 수 있다.
통합 방화벽
- 가상 머신과 컨테이너 간 네트워크 트래픽을 세부적으로 제어할 수 있는 유연한 통합 방화벽을 통해 보안을 강화할 수 있다.
2단계 인증(MFA)
- Proxmox는 이중 인증을 지원하여 사용자 로그인 프로세스에 추가 보안 계층을 추가
Proxmox VE 설치
Proxmox VE는 Ceph Cluster와도 연동시킬 수 있다. 따라서 Promox에서 공용으로 사용할 Ceph Storage는 이미 구성되어있다.
[clex@ceph-farm-01 ~]$ sudo ceph -s
cluster:
id: 94b49042-6e27-48a8-b5dd-fe21631a0cd9
health: HEALTH_WARN
12 pool(s) have no replicas configured
mons are allowing insecure global_id reclaim
services:
mon: 3 daemons, quorum ceph-farm-01,ceph-farm-02,ceph-farm-03 (age 20h)
mgr: ceph-farm-02(active, since 24h), standbys: ceph-farm-01, ceph-farm-03
osd: 24 osds: 24 up (since 24h), 24 in (since 24h)
rgw: 3 daemons active (ceph-farm-01.rgw0, ceph-farm-02.rgw0, ceph-farm-03.rgw0)
task status:
data:
pools: 12 pools, 1064 pgs
objects: 660 objects, 1.6 GiB
usage: 26 GiB used, 84 TiB / 84 TiB avail
pgs: 1064 active+clean
sudo ceph df
RAW STORAGE:
CLASS SIZE AVAIL USED RAW USED %RAW USED
hdd 84 TiB 84 TiB 1.9 GiB 26 GiB 0.03
TOTAL 84 TiB 84 TiB 1.9 GiB 26 GiB 0.03
POOLS:
POOL ID PGS STORED OBJECTS USED %USED MAX AVAIL
kube 1 128 0 B 0 0 B 0 80 TiB
images 2 256 0 B 0 0 B 0 80 TiB
volumes 3 256 0 B 0 0 B 0 80 TiB
backups 4 8 0 B 0 0 B 0 80 TiB
vms 5 16 0 B 0 0 B 0 80 TiB
.rgw.root 6 32 3.5 KiB 8 512 KiB 0 80 TiB
default.rgw.control 7 32 0 B 8 0 B 0 80 TiB
default.rgw.buckets.index 8 16 0 B 0 0 B 0 80 TiB
default.rgw.meta 9 32 0 B 0 0 B 0 80 TiB
default.rgw.buckets.data 10 128 0 B 0 0 B 0 80 TiB
default.rgw.log 11 32 0 B 207 0 B 0 80 TiB
proxmox 13 128 1.6 GiB 437 1.6 GiB 0 80 TiB
# cluster 상태 확인
pvesm status
Name Type Status Total Used Available %
ceph-rbd rbd active 85474777145 1660985 85473116160 0.00%
local dir active 98559220 3690584 89819088 3.74%
local-lvm lvmthin active 794079232 0 794079232 0.00%
- kube ~ default.rgw.log 까지 기존에 사용하는 11개 pool 공용 사용
- proxmox pool 생성, proxmox control server pool로 사용
- proxmox ceph-rbd 스토리지 사용
1. Proxmox Version
아래의 Site에서 원하는 Version을 설치하면 된다.
2. Network
2-1. Summary
Mgmt | Tenant | Ceph pub | Ceph Cluster | Provider | |
Bond | bond0.162 | bond0.153 | bond0.154 | bond0.155 | bond0.209 |
Bridge | vmbr0 | vmbr1 | vmbr2 | - | vmbr3 |
CIDR | 192.168.162.0/24 | 192.168.153.0/24 | 192.168.154.0/24 | 192.168.155.0/24 | 192.168.209.0/24 |
Host | Mgmt | Tenant | Provider | Ceph pub | Ceph Cluster |
control-farm-01 | 192.168.162.227 (keeaplived vip 192.168.162.230, cluster HA 용도) |
192.168.153.227 | 192.168.209.227 | 192.168.154.227 | - |
control-farm-02 | 192.168.162.228 | 192.168.153.228 | 192.168.209.228 | 192.168.154.228 | - |
control-farm-03 | 192.168.162.229 | 192.168.153.229 | 192.168.209.229 | 192.168.154.229 | - |
ceph-farm-01 | 192.168.162.201 (keepalived vip 192.168.162.200, rgw HA 용도) |
192.168.154.151 | 192.168.155.151 | ||
ceph-farm-02 | 192.168.162.202 | 192.168.154.152 | 192.168.155.152 | ||
ceph-farm-03 | 192.168.162.203 | 192.168.154.153 | 192.168.155.153 |
Host | OS | Roles |
control-farm-01 | debian 10.9 | proxmox-ve (control server hypervisor), ceph client |
control-farm-02 | debian 10.9 | proxmox-ve (control server hypervisor), ceph client |
control-farm-03 | debian 10.9 | proxmox-ve (control server hypervisor), ceph client |
ceph-farm-01 | CentOS 7.8 (2003) | ceph mon, osd, mgr, rgw |
ceph-farm-02 | CentOS 7.8 (2003) | ceph mon, osd, mgr, rgw |
ceph-farm-03 | CentOS 7.8 (2003) | ceph mon, osd, mgr, rgw |
2-2. Bonding
cat /proc/net/bonding/bond0
...
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: ens1f0np0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 200
Down Delay (ms): 200
Peer Notification Delay (ms): 0
Slave Interface: ens1f0np0
MII Status: up
Speed: 25000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: bc:97:e1:73:1c:60
Slave queue ID: 0
Slave Interface: ens2f0np0
MII Status: up
Speed: 25000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: bc:97:e1:73:6c:10
Slave queue ID: 0
- ens1f0np0(active), ens2f0np0 → bond0
- bonding mode : active-backup
- bandwidth : 25G
2-3. Network Config
cat /proc/net/bonding/bond0
...
auto ens1f0np0
iface ens1f0np0 inet manual
...
auto ens2f0np0
iface ens2f0np0 inet manual
...
auto bond0
iface bond0 inet manual
bond-slaves ens1f0np0 ens2f0np0
bond-miimon 100
bond-mode active-backup
bond-downdelay 200
bond-updelay 200
# mgmt net
auto bond0.162
iface bond0.162 inet manual
# openstack tenant net
auto bond0.153
iface bond0.153 inet manual
# ceph public net
auto bond0.154
iface bond0.154 inet manual
# openstack provider net
auto bond0.209
iface bond0.209 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.162.227/24
gateway 192.168.162.1
bridge-ports bond0.162
bridge-stp off
bridge-fd 0
auto vmbr1
iface vmbr1 inet static
address 192.168.153.227/24
bridge-ports bond0.153
bridge-stp off
bridge-fd 0
auto vmbr2
iface vmbr2 inet static
address 192.168.154.227/24
bridge-ports bond0.154
bridge-stp off
bridge-fd 0
auto vmbr3
iface vmbr3 inet static
address 192.168.209.227/24
bridge-ports bond0.209
bridge-stp off
bridge-fd 0
3. 주요 설치 과정
3-1. promox cluster 구성 (control server farm)
proxmox cluster nodes
- control-farm-01
- control-farm-02
- control-farm-03
cluster 구축 시 주의사항
- corosync cluster enginx 을 사용 (UDP 5404, 5405 Port 통신 필요)
- 날짜, 시간 동기화 필요
- 노드 간 TCP 22, SSH 터널이 사용
- 모든 노드의 버전이 동일
3-1-1 create cluster
pvecm create server-farm
...
Corosync Cluster Engine Authentication key generator.
Gathering 2048 bits for key from /dev/urandom.
Writing corosync key to /etc/corosync/authkey.
Writing corosync config to /etc/pve/corosync.conf
Restart corosync and cluster filesystem
pvecm status
...
Cluster information
-------------------
Name: server-farm
Config Version: 1
Transport: knet
Secure auth: on
Quorum information
------------------
Date: Fri Jul 23 15:09:08 2021
Quorum provider: corosync_votequorum
Nodes: 1
Node ID: 0x00000001
Ring ID: 1.5
Quorate: Yes
Votequorum information
----------------------
Expected votes: 1
Highest expected: 1
Total votes: 1
Quorum: 1
Flags: Quorate
Membership information
----------------------
Nodeid Votes Name
0x00000001 1 192.168.162.227 (local)
3-2-2. join cluster
pvecm add 192.168.162.227
...
Please enter superuser (root) password for '192.168.162.227': *********
Establishing API connection with host '192.168.162.227'
The authenticity of host '192.168.162.227' can't be established.
X509 SHA256 key fingerprint is 26:F3:44:E8:B7:A4:C8:70:A3:BD:AC:03:05:5A:17:5C:F0:61:48:BC:27:59:F9:FB:AD:96:B8:7C:4E:01:03:4A.
Are you sure you want to continue connecting (yes/no)? yes
Login succeeded.
check cluster join API version
No cluster network links passed explicitly, fallback to local node IP '192.168.162.228'
Request addition of this node
Join request OK, finishing setup locally
stopping pve-cluster service
backup old database to '/var/lib/pve-cluster/backup/config-1627020747.sql.gz'
waiting for quorum...OK
(re)generate node files
generate new node certificate
merge authorized SSH keys and known hosts
generated new node certificate, restart pveproxy and pvedaemon services
successfully added node 'control-farm-02' to cluster.
pvecm status
...
Cluster information
-------------------
Name: server-farm
Config Version: 2
Transport: knet
Secure auth: on
Quorum information
------------------
Date: Fri Jul 23 15:12:50 2021
Quorum provider: corosync_votequorum
Nodes: 2
Node ID: 0x00000002
Ring ID: 1.9
Quorate: Yes
Votequorum information
----------------------
Expected votes: 2
Highest expected: 2
Total votes: 2
Quorum: 2
Flags: Quorate
Membership information
----------------------
Nodeid Votes Name
0x00000001 1 192.168.162.227
0x00000002 1 192.168.162.228 (local)
pvecm add 192.168.162.227
...
Membership information
----------------------
Nodeid Votes Name
0x00000001 1 192.168.162.227
0x00000002 1 192.168.162.228
0x00000003 1 192.168.162.229 (local)
3-2. proxmox ceph rbd backend 사용 설정
주의할점은 Ceph 설치시에 Clients로 Proxmox Node들을 넣어서 같이 설치해줘야 한다.
3-2-1. storage.conf 수정
sudo vi /etc/pve/storage.cfg
...
rbd: ceph-rbd
content images
krbd 0
monhost 192.168.154.151 192.168.154.152 192.168.154.153
pool proxmox
username admin
3-2-2. ceph admin key 생성
cp /etc/ceph/ceph.client.admin.keyring /etc/pve/priv/ceph/ceph-rbd.keyring
3-2-3. ceph storage 연동 확인
pvesm status
...
Name Type Status Total Used Available %
ceph-rbd rbd active 85474777145 1660985 85473116160 0.00%
local dir active 98559220 3691608 89818064 3.75%
local-lvm lvmthin active 794079232 0 794079232 0.00%
4. Promxox Web 접속
아래의 IP로 접속이 잘된다면 성공적으로 설치된 것 이다.
- 웹 접속정보 : https://192.168.162.230:8006/
주의할점
중첩 가상화를 실행할 Worker Node는 Enable Nested Virtualization IN KVM In Linux 설정을 해야 한다.
그리고, CPU를 `Processors 32 (4 socket, 8 cores) [host]` 로 변경해준뒤 만들어주면 된다.
Reference
None.
728x90
반응형
'Understand different OS Concepts > Virtualization' 카테고리의 다른 글
Xen Orchestra란? (0) | 2024.05.21 |
---|---|
Enable Nested Virtualization IN KVM In Linux (0) | 2022.09.02 |
libvirt 자주 쓰는 명령어 정리 virsh (0) | 2022.08.12 |
libvirt란? (0) | 2022.08.08 |
KVM와 Qemu (0) | 2022.08.08 |