Proxmox VE 1.x

Allikas: Kuutõrvaja
Redaktsioon seisuga 27. mai 2011, kell 13:49 kasutajalt Jj (arutelu | kaastöö) (Sissejuhatus)

See tekst on hetkel veel toores

Sissejuhatus

pilt3
pilt2
pilt1
pilt

Proxmox on firma mis arendab Debianil ja vabavaral baseeruvaid serverilahendusi. Proxmox VE on Debianile loodud KVM ja OpenVZ tehnikale baseeruvate virtuaalserverite haldusplatform ehk alusdistro. Proxmox kuulub GPL litsentsi alla.

Proxmox Logo.jpg

Proxmox VEs sisalduvad võimalused:

  • Virtuaalmasinate võrgu boodi tugi gPXE abil http://www.etherboot.org/wiki/pxechaining
  • Lihtne kuid võimas veebiliides kus saab kõik põhilised seadistamised tehtud
  • Klusterdamise tugi
  • Virtuaalserverite mugav install ja kasutamine üle java konsooli

Install

Installimiseks on kaks võimalust. Esimene (ja soovituslik) on tõmmata ametlik ISO fail ning paigaldada Proxmox selleabil. Juhend ja ISO tõmbamise lingid asuvad aadressil http://pve.proxmox.com/wiki/Installation

Kui mingil põhjusel ametlikult plaadilt installimine ebaõnnestub. Näiteks ei tundnud minul seal leiduv Debian ära võrgukaarte ühe teatud kerneli bugi tõttu. Saab paigaldada käsitsi kõige uuema Debiani 64bitise versiooni, sest 32 bitil kahjuks rakendus ei tööta, ning sinna omakorda Proxmoxi paketi. Selleks esimese sammuna tuleks paigaldada tavaline Debian distro ja järgida edasi juhendit http://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Lenny

Avame /etc/apt/sources.list ja lisame sinna rea

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

Lisame Proxmox VE repository key:

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

Uuendame süsteemi

# aptitude update

Ja paigaldame proxmoxi kerneli

# aptitude install pve-kernel-2.6.32-4-pve

Ning baasi

# aptitude install proxmox-ve-2.6.32 ntp ssh lvm2

Paigaldada võib ka paketi

# aptitude install pve-headers-2.6.32-4-pve

Kui Proxmox teatab "KVM module not loaded. Maybe you need to enable Intel VT / AMD-V support in the BIOS." Siis on tõenäoliselt virtualiseerimise tugi BIOSist keelatud või üldse arvutist puuduv.

Paigaldatud kerneli versioon toetab lisaks ka KSM nimelist tehnoloogiat mälukasutuse vähendamiseks virtuaalmasinatel http://pve.proxmox.com/wiki/KSM

Nimetatud funktsioonist leiab veel juttu kerneli uuenduste loetelu juures http://kernelnewbies.org/Linux_2_6_32#head-d3f32e41df508090810388a57efce73f52660ccb

Miks soovitatakse kasutada 32-bitiseid virtuaalmasinaid mitte 64 bitiseid ? 64 bitine masin sobib vaid sellisel juhtudel kui vajad rohkem mälu kui 4GB. Samas 32bitine virtuaalmasin kasutab teatud situatsioonides vähem mälu. Näiteks standartselt paigaldatud apache2 kasutab 64 bitises opsüsteemis rohkem mälu kui ta teeks seda 32bitises.

Võrgu seadistus

Probleem, meil on serveril üks võrgukaart ning tahame omistada sellele avaliku IP aadressi (192.168.0.60), lisaks aga ka teha üle selle virtuaalsete serveriteni bridge (silla) millekaudu pääsevad võrku ka kõik serveris resideeruvad virtuaalmasinad.

Võrgu ehitust iseloomustab järgmine skeem

Vmb.jpg

Sellejaoks avame faili /etc/network/interfaces

auto vmbr0
iface vmbr0 inet static
        address  192.168.0.1
        netmask  255.255.255.0
        gateway  192.168.0.254
        bridge_ports eth0 
        bridge_stp off
        bridge_fd 0

Ja ongi valmis. Server on ligipääsetav ip aadressilt 192.168.0.1 ning KVM virtuaalmasinate network kaardid võib siduda vmbr0 sillaga. Virtuaalmasinate sees võib tekkinud võrguseadmele omistada koheselt sama võrgu ip aadresse või DHCP teenuse olemasolu korral küsida IP aadresse.

Käsureal näeb jaotust

# brctl show
bridge name     bridge id               STP enabled     interfaces
vmbr0           8000.0026b93dea0b       no              eth1
                                                        vmtab102i0
                                                        vmtab103i0
                                                        vmtab104i0
                                                        vmtab105i0
vmbr1           8000.0026b93dea0a       no              eth0
                                                        vmtab102i1
                                                        vmtab103i1
                                                        vmtab104i1
                                                        vmtab105i1
                                                        vmtab106i1

Tähele tasub panna, et vmbr0 tuleb külge linuxitele esimese võrguseadme, ehk eth0ina, vmbr1 järgnevalt eth1na jne..

Tulemüüri ehitamisel tuleb silmas pidada, et vaja on proxmoxi kasutamiseks hoida lahti järgnevad pordid.

  1. Veebiliidese kasutamiseks: 443
  2. VNC veebikonsoolile: 5900-5999
  3. SSH ligipääsuks: 22

iSCSI kasutamine

iSCSI kasutamiseks tuleb installida pakett open-iscsi

# apt-get install open-iscsi

Ja seejärel tuleb teenused taaskäivitada

# /etc/init.d/pvedaemon restart
# /etc/init.d/apache2 restart

Iscsi targeteid saab edaspidi külge haakida juba otse veebiliidesest.

Kui iSCSI server mingil põhjusel enam ei suhtle siis veebiliidese kaudu iscsi kettaid lahti haakida pole võimalik. Sellisel juhul tuleb logida käsureale ja kustutada need manuaalselt failist /etc/pve/storage.cfg

Proxmox cluster

NB! clustrisse pandavatel masinatel peab olema õige kelaaeg. Lisaks peavad virtuaalmasinate kettad olema haagitud kõikide nodede külge. Kettad saab sünkroniseerida klustri nodede vahel glusterfs või drdb abil või haakida need iscsi abil ühest suurest storageserverist.

   _____   master
  |     |  192.168.1.1
  |_____|  
     |
     |
    -|---------|----------|----....---|--
               |          |           |
             __|__      __|__       __|__
            |     |    |     |     |     |
            |_____|    |_____|     |_____|
        
            node1       node2       node3
          192.168.1.2  192.168.1.3  192.168.1.4

Nodede ja masteri haldus käib pceca utiliidi abil

USAGE: pveca -l             # näitab clustri hetkeseisu
       pveca -c             # tekita uus cluster ja muuda localhost master nodeks
       pveca -s [-h IP]     # sünkroniseeri cluster vastu master nodet (või ip aadressi)
       pveca -d ID          # kustuta node
       pveca -a [-h IP]     # lisa uus node clustrisse
       pveca -m             # sunni kohalikku node hakkama master nodeks

Master node loomine masinal 192.168.1.1

# pveca -c

Lisame slave noded clustrisse, ehk käivitame kõigil kolmel slavel järgneva käsu

# pveca -a -h 192.168.1.1

Vaatame kas cluster hakkas tööle.

# pveca -l
CID----IPADDRESS----ROLE-STATE--------UPTIME---LOAD----MEM---ROOT---DATA
 1 : 192.168.1.1    M     A           01:43   0.54    20%     1%     4%
 2 : 192.168.1.2    N     A           05:02   0.04    26%     5%    29%
 3 : 192.168.1.3    N     A           00:13   1.41    22%     3%    15%
 4 : 192.168.1.4    N     A           00:05   0.54    17%     3%     3%

Probleemide korral tuleb vahel kustutada fail /etc/pve/cluster.cfg ja node uuesti liita clustriga.

Proxmox DRBD cluster

DRDB peamiseks miinuseks, et drdb clustrisse saab seadistada vaid kaks serverit mis toimivad mirrorina.

Soovitatav on, et kettal või partitsioonil, kus virtuaalmasinad resideeruvad oleks eelnevalt seadistatud LVM

Virtuaalserverite arhiveerimine ja taastamine

Proxmoxi veebiliidesest on võimalik seda seadistada virtuaalserveritest nii automaatselt snapshotte kui täisvarukoopiaid tegema. Varundatud masinate taastamine toimbu käsureal vzrestore (OpenVZ) või qmrestore (KVM) käskudega.

Põjalikuma juhendi leiab taas ametlikust wikist http://pve.proxmox.com/wiki/Backup_-_Restore_-_Live_Migration

Veebiliides

Pöördudes http://192.168.0.1 aadressile peaks avanema veebiaken kus saab virtuaalseid masinaid luua ja hallata. Veebiliidese administraatori kasutajaks on "root" ja parooliks sama mis süsteemsel root kasutajal.

Kui virtuaalmasinas (KVM) kasutatav operatsioonisüsteem seda toetab siis tasub kasutada võimalikult palju virtio seamdmeid (võrk, ketas), nendepoolt tekitatud väiksema overheadi tõttu sest siis pole vaja virtuaalserveril emuleerida mingit konkreetset rauda.

Guesti seadistusfaili kasutamine

TODO

floppy ketta kasutamine

# cat /etc/qemu-server/109.conf
...
args: -fda /root/109.floppy

kus fail /root/109.floppy on tekitatud

# dd if=/dev/zero of=/root/109.floppy bs=1024 count=1440

Viited

http://pve.proxmox.com/wiki/Main_Page Proxmoxi wiki

http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines Erinevate virtualiseerimise lahenduste wikipedia võrdlustabel

Kaks linki virtuaalmasinate juures mälu kokkuhoiust

http://avikivity.blogspot.com/2008/04/memory-overcommit-with-kvm.html

http://www.linux-kvm.com/content/memory-ballooning-feature-coming-soon-kvm

Virtuaalmasinate haldamiseks on hea asi libvirt. Võimalik on kasutada juba mõnda selle otsa ehitatud liidest või teha ise endale sobiv liides. Libvirt suhtleb virtualiseerimiskihiga ja kasutaja ei pea väga muretsema, kas all on KVM, Xen või midagi muud. http://libvirt.org/

http://kuutorvaja.eenet.ee/wiki/KVM_kasutamine_Debian_Lenniga KVM kasutamine Debian Lennyga

http://kuutorvaja.eenet.ee/wiki/KVM_kasutamine_Ubuntu_10.04_operatsioonisüsteemiga KVM kasutamine Ubuntu 10.04 operatsioonisüsteemiga