Proxmox VE

A Unix/Linux szerverek üzemeltetése wikiből
A lap korábbi változatát látod, amilyen Enax (vitalap | szerkesztései) 2009. december 11., 13:11-kor történt szerkesztése után volt.

A Proxmox PE egy Debian-ra épülő virtualizációs platform. Nagyon egyszerű és gyors telepítés, könnyen konfigurálhatóság, jól dokumentáltság jellemzi leginkább a Proxmox-ot, csak is ajánlani tudom mindenkinek, aki ilyen téren valami átfogó megoldást keres. Kiemelném a főbb tulajdonságait, csak hogy egyből megértsük mivel is állunk szemben:

  • Konténer alapú OpenVZ virtualizáció - konténerek lényegét, hasznosságát lásd később
  • KVM virtualizáció
  • Bare-Metal ISO telepítő - magyarán pár perc alatt kézhez kapsz egy üres szervert.
  • WEB alapu menedzsment
  • Cluster támogatás
  • Mentés, Visszaállitás, Online Migrálás

Tartalomjegyzék

1 Rendszer követelmények

  • 64bit-es processor
  • 1 Gb memórai (4 Gb ajánlott)
  • 1 NIC (2 ajánlott az értelmes tűzfalazáshoz)

Telepítés előtt érdemes elgondolkodni azon hogy akarunk-e KVM-et használni, mert ha úgy döntünk hogy akár most akár a későbbiekben szükség lehet rá akkor okvetlen olyan processzort válsszunk, ami támogatja az Intel VT/AMD-V-t.

2 Telepítés

  • Hagyományos:

A telepítéshez nem sok mindent fűznék hozzá, már majd nem Win szindróma: next,next,finish... Azonban amire érdemes odafigyelni, az az hogy a Proxmox PE nem támogat software raid-et és úgy néz ki nem is fog. Szóval szerver vásárláskor vagy költünk a hw raid-re vagy marad a HACK, már amennyiben szeretnénk adatainkat biztonságban tudni.

  • Már létező Debiánra:

Szerkesszük meg a sources.list-et:

nano /etc/apt/sources.list

Írjuk bele a következő sort:

deb http://download.proxmox.com/debian lenny pve

Ajuk hozzá a rendszerünkhöz a Proxmox PE repó kulcsot:

wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -

Frissitsük be a rendszerünket:

aptitude update
aptitude upgrade

Telepítsük fel a Proxmox PE kernelt:

apt-get install pve-kernel

Amennyiben azt szeretnénk hogy alapértelmezetten a Proxmox PE kernel indúljon el:

nano /boot/grub/menu.lst

Proxmox PE csomagok telepítése:

apt-get install proxmox-ve ntp

már csatlakozhatunk is a web-es felületre

2.1 Web-es felület

A web-es felület nagyon kényelmes menedzsment felületet biztosit számunkra. Szerver részről tudjuk állitani a system időt,DNS szervert adhatunk meg, szerverünk ip cimét állithatjuk, mentés ütemezést, custeringet állithatunk. Virtuálgép részről pedig elindithatjuk,leállithatjuk,újraindithatjuk őket, valamint migrálhatunk egyik szerverről a másikra, akán online is. Mindössze pár kattintással létre hozhatunk új virtuál gépet. Ja igent sun-java6-plugin-re szükség lesz.

3 Virtuál gép telepítés

  • Konténer alapú Openvz

Linuxos virtuál szerverek üzemeltetéséhez ezt a technológiát ajánlom. Minden egyes virtuál gép egy külön konténerbe kerül, a létre hozáskor megadott adatokat (tárhely, memória, cpu szám, cpu idő) bármikor megváltoztathatjuk. A konténerek igen nagy előnye, hogy file rendszer szinten elérhetők (alapértelmezett esetben a /var/lib/vz/private/vmid alatt). A webes menedzsment felületről pár kattintással létre hozható, ehhez nem fűznék különösebb magyarázatot. Viszont ami kicsit érdekesebb, mi van ha scriptelni szeretnénk a virtuál szerver létrehozást? Nos erre is van lehetőségünk, ime egy példa rá:

#!/bin/bash
#-----------------------------------------------------
#Initial VM variables
#-----------------------------------------------------
vmdescription="debian-test VM"
vmid=444
vmhostname="test"
vmostemplate="debian-5.0-standard_5.0-1_i386.tar.gz"
vmrootpasswd='$1$EgSNc8pS$dc4aP14RZUVeUPjZiD5WM1'
vmdiskspace=8
vmmem=1024
vmswap=2048
vmcpu=1
vmifdev="eth0"
vmbridge="vmbr1"
vmipaddr="10.0.1.2"
vmnetmask="255.255.255.0"
vmgateway="10.0.1.1"
vmnameserver="1.2.3.4"
vmonboot="yes"
vmprivate="/var/lib/vz/private"
vmtimezone="Europe/Budapest"
echo "Creating VM..."
pvectl vzcreate $vmid --disk $vmdiskspace --ostemplate $vmostemplate --rootpasswd $vmrootpasswd 
--hostname    $vmhostname --description $vmdescription --onboot $vmonboot --swap $vmswap 
--mem $vmmem --cpus $vmcpu --netif  "ifname=$vmifdev,bridge=$vmbridge"
echo "Configuring VM..."
echo -e "auto $vmifdev\niface $vmifdev inet static\n	address $vmipaddr\n	
netmask $vmnetmask\n	gateway  $vmgateway" >> $vmprivate/$vmid/etc/network/interfaces
echo "nameserver $vmnameserver" > $vmprivate/$vmid/etc/resolv.conf
echo $timezone > $vmprivate/$vmid/etc/timezone
echo "Starting VM..."
vzctl start $vmid

A virtuál gép hállózatva való kijuttatását két féleképpen oldhatjuk meg:

  • Virtuális Hálózattal (venet)

Előnye: menedzsent felületen összekattingatva már működik is. Hátránya: megjegyezhetettlen, nem átlátható eszköz neveket kapunk.

  • Hídba kapcsolt ethernettel (veth)

Előnye: Átlátható, világos eszköznevek. Hátránya: kézzel kell felkonfigolni a konténer alatti /etc/network/interfaces fileban.

1.png
2.png
  • KVM vagy más néven Telyes Virtualizáció

Lényege, hogy minden virtuál gépnek van saját virtualizált hardware-e.XEN ezt a megoldást alkallmazza előszeretettel. Nem linux alapú os-ek esetén érdemes használni. File rendszer szinten nem tudunk belnyúlni a KVM virtuál gépbe. Létrehozása a Proxmox webes felületről szintén pár kattintás, vagy pedig:

qm create 666 --ide0 8 --ostype other --memory 512 --onboot no --cdrom cdrom --name test1 
--vlan0  rtl8139=F6:B4:59:58:4A:B0 --smp 1 --bootdisk ide0
Formatting '/var/lib/vz/images/666/vm-666-disk.qcow2', fmt=qcow2, size=8388608 kB

4 Tippek és Trükkök

4.1 OpenVz virtuál gépekhez bármikor hozzá tudunk férni Proxmox alól:

vzctl enter vmid

ezzel egyből rootkén lépünk be a virtuál gépre. Elejét lehet venni a root kozárásoknak, illetve tegyük fel hogy megtörték a virtuál gépünket és átirták a root jelszavunkat, semmi gond :)

OpenVz virtuál gépek listázása:

vzlist
CTID      NPROC STATUS  IP_ADDR         HOSTNAME                        
      157         38 running -               test                          
      161         36 running -               test1

sajnos a KVM-es gépek nem látszódnak.

OpenVz vrituál géphez plusz egy hálózati csatoló:

vzctl set 103 --netif_add eth1 --save
Saved parameters for CT 103

OpenVZ virtuális gépben szükséges modulok a tűzfal működéséhez:

Ahhoz, hogy az iptables működhessen a konténerben, engedélyezni kell ezen modulokat egyrészt az /etc/vz/vz.conf-ban és a konténerben is. Az /etc/vz/vz.conf megfelelő sorát így kell kibővíteni:

IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS 
ipt_tcpmss ipt_ttl  ipt_length \
ip_conntrack ip_conntrack_ftp ip_conntrack_irc ipt_LOG ipt_conntrack ipt_helper \
ipt_state iptable_nat ip_nat_ftp ip_nat_irc ipt_TOS  "

A módosítás után újra kell indítani a vz szolgáltatást (/etc/init.d/vz restart). Figyelem, ez leállítja a futó virtuális gépeket!

Az adott konténerben is engedélyezni kell ezen modulok használatát:

vzctl set 103 --iptables ipt_REJECT --iptables ipt_tos --iptables ipt_TOS --iptables ipt_LOG 
--iptables  ip_conntrack --iptables ipt_limit --iptables ipt_multiport --iptables iptable_filter 
--iptables  iptable_mangle --iptables ipt_TCPMSS --iptables ipt_tcpmss --iptables ipt_ttl 
--iptables ipt_length    --iptables ipt_state --iptables iptable_nat --iptables ip_nat_ftp --save
Saved parameters for CT 103

Ez után a konténert is újra kell indítani, hogy érvényt szerezzünk a változtatásoknak.

Személyes eszközök