Proxmox VE

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
a (Virtuál gép telepítés: nyelvészkedés, formázgatás)
a (Konténeralapú virtualizáció: OpenVZ: szétesett egy sor a scriptben)
119. sor: 119. sor:
 
vmtimezone="Europe/Budapest"
 
vmtimezone="Europe/Budapest"
 
echo "Creating VM..."
 
echo "Creating VM..."
pvectl vzcreate $vmid --disk $vmdiskspace --ostemplate $vmostemplate --rootpasswd $vmrootpasswd
+
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"
--hostname $vmhostname --description $vmdescription --onboot $vmonboot --swap $vmswap
 
--mem $vmmem --cpus $vmcpu --netif "ifname=$vmifdev,bridge=$vmbridge"
 
 
echo "Configuring VM..."
 
echo "Configuring VM..."
 
echo -e "auto $vmifdev\niface $vmifdev inet static\n address $vmipaddr\n
 
echo -e "auto $vmifdev\niface $vmifdev inet static\n address $vmipaddr\n

A lap 2009. december 15., 03:25-kori változata

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

2.1 Saját telepítőjével

Nem nagyon van mit hozzáfűzni: next, next, finish.

Ugyanakkor vegyük figyelembe, hogy a Proxmox PE nem támogatja a software RAID-et, és úgy néz ki, nem is fogja. Így aztán vagy vásárolunk hardveres RAID-vezérlőt, vagy manuális gányolással állítjuk be a softraidet, ha fontos a rendelkezésreállás.

2.2 Már létező Debianra

Szerkesszük meg a sources.list-et:

echo deb http://download.proxmox.com/debian lenny pve >>/etc/apt/sources.list

Adjuk hozzá a rendszerünkhöz a Proxmox PE repository kulcsát:

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

Frissítsük a csomaglistát:

apt-get update

Telepítsük a Proxmox PE kernelét:

apt-get install pve-kernel

Ha szükséges, állítsuk be a bootloaderünket, hogy ezt a kernelt töltse be a következő bootkor, majd rebootoljunk.

Telepítsük a Proxmox PE-vel összefüggő további csomagokat:

apt-get install proxmox-ve ntp

... és már csatlakozhatunk is a webes felületre.

3 A webes felület

A webes menedzsment-felületet igen kényelmes. A következő beállításokat teszi lehetővé a hosztgéppel kapcsolatban:

  • rendszeridő;
  • DNS-szerver;
  • IP-címek;
  • mentés ütemezése;
  • custering.

Emellett a virtuális gépeinket:

  • elindíthatjuk;
  • leállíthatjuk;
  • újraindíthatjuk;
  • migrálhatjuk egyik gépről a másikra, akár online is;

Néhány kattintással új virtuális gépet is létrehozhatunk.

sun-java6-plugin-re szükség lesz.
800px-Screen-startpage-with-cluster.png

4 Virtuális gép telepítése

Kétféle virtualizációs megoldás közül választhatunk, és ezeket szabadon keverhetjük: OpenVZ ill. KVM.

4.1 Konténeralapú virtualizáció: OpenVZ

Linuxot futtató virtuális szerverek üzemeltetéséhez ezt a technológiát ajánlom. Minden egyes virtuális gép egy külön konténerbe kerül; a létrehozáskor megadott adatokat (tárhely, memória, cpu-k száma, cpu-idő korlátozása) bármikor megváltoztathatjuk. A konténerek igen nagy előnye, hogy fájlrendszerszinten elérhetők (alapértelmezett esetben a /var/lib/vz/private/vmid alatt).

Egy új virtuális gép a webes menedzsment-felületről pár kattintással létrehozható; ehhez nem fűznék különösebb magyarázatot.

1.png
2.png

Ha scriptből szeretnénk virtuális gépet létrehozni, az sem lehetetlen; lássunk egy példát.

#!/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ális gép hálózatra való kijuttatását kétféleképpen oldhatjuk meg:

  1. Virtuális Hálózattal (venet)
    • Előnye: menedzsent-felületen összekattingatva már működik is.
    • Hátránya: megjegyezhetetlen, nem átlátható eszközneveket kapunk.
  2. Hídba kapcsolt ethernettel (veth)
    • Előnye: Átlátható, világos eszköznevek.
    • Hátránya: kézzel kell konfigolni a konténer alatti /etc/network/interfaces fájlban (vagy ennek disztribúciófüggő helyi megfelelőjében).

4.2 Paravirtualizáció: KVM

Ez a megoldás a Xenre hasonlít; a virtuális gépek saját virtualizált hardware-en futnak, és a hosztgép kernele a hipervizor. Akkor érdemes használni, ha Linuxtól eltérő operációs rendszert virtualizálunk, vagy ha fontos, hogy a virtuális gépben egy konkrét, a hosztgépétől eltérő kernelverzió fusson.

A megoldás nagy hátránya, hogy a hosztgépről nem tudunk automatikusan közvetlenül hozzáférni a virtuális gép fájlrendszeréhez.

KVM-es virtuális gépet szintén létrehozhatunk a webes felületről, de parancssoros eszközzel is:

# 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

5 Tippek és Trükkök

5.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 kizárásoknak, illetve tegyük fel hogy megtörték a virtuál gépünket és átirták a root jelszavunkat, semmi gond :)

5.2 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.

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

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

5.4 OpenVz virtuál gép vzctl powa

vzctl exec vmid apt-get -y upgrade

Látható, hogy szinte bármilyen műveletet elvégezhetünk anélkül hogy be kellene lépnünk a VM-re.

5.5 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.

5.6 Lassú az adatmozgatás a virtuális gépen (OpenVz/KVM)

Érdemes a következővel próbálkozni:

echo “deadline” > /sys/block/sda/queue/scheduler

5.7 Proxmox software raid & LVM

A Proxmox alapértelmezetten LVM-re telepíti a root filesystem-et is, amivel nincs is különösebb gond, viszont ha úgy döntünk hogy heggesztünk alá egy software raid-et akkor az a tapasztaladom hogy jelentősen lassúl a rendszer. Szóval érdemes a rootfs-t lvm nélküli software raid-re átrakni, az adatpartició meg LVM-esre, már ha szeretnénk online migrálni. Ehhez itt találhatunk egy kis útmutatót. Miútán befejeztük, ne feledjük el a Proxmox-os kernel initrd-jébe beletenni az mdadm támogatást és újra forditani, mert különben nem fogja felépiteni a md device-okat.

Személyes eszközök