Xen guestina operatsioonisüsteem OpenBSD kasutamine

Allikas: Imre kasutab arvutit

Sissejuhatus

2016 aasta kevadel ilmunud OpenBSD v. 5.9 tarkvara saab kasutada Xen platvormil virtuaalse arvutina. Praktiliselt on see olnud ka varem võimalik, kuid emuleeritud/virtuaalsed seadmed töötasid siis üsna ebaefektiivselt, nt plokkseadme IO ja võrguseadme kiirus oli aeglane (mõni MBait/s). Küllap erinevatele kasutajatele tähedab OpenBSD virtualiseerimine erinevaid võimalusi, käesolevas tekstis kirjeldatakse OpenBSD kasutamist üldiselt Xen guestina ning täiendavalt on tehtud aktsent OpenBSD kasutamisele virtuaalse tulemüürina.

OpenBSD Xen domU virtuaalse arvuti paigaldamine

Aadressil http://undeadly.org/cgi?action=article&sid=20160114113445 kirjutatakse, et 2016 jaanuarist (kasutades snapshotte) on toetatud OpenBSD kasutamise Xen HVM tüüpi domU virtuaalse arvutina. Paistab, et selle kasutamiseks tuleb snapshot .iso pealt käivitada nö tavaline Xen domU HVM arvuti, nt sellise seadistusega (antud juhul Debian v. 8 Jessie paketihalduse Xen 4.4.1 Xen keskkonnas, xl toolstack abil)

# cat openbsd.cfg 
builder = "hvm"
name = "openbsd"
memory = "512"
vcpus = 1
vif = [ 'mac=00:16:3e:79:22:22,bridge=xenbr0' ]
disk = [ 'phy:/dev/system/tm_openbsd,hda,w', 'file:/tmp/install59.iso,hdd:cdrom,r']

serial = "pty"
boot="dc"
vnc=1
vnclisten = "192.168.10.66"
vncdisplay = 2

kus

  • xenbr0 - linux brctl või ovs bridge
  • boot - dc on vajalik paigaldamisel ja ütleb et esimene boot valik on nö CD seade
  • vnc = 1
  • vnclisten - millisel ip aadressil vnc server teenindab (valikimisi 127.0.0.1)
  • vncdisplay - millised pordil vnc server teenindab, altest 1 - 5901, 2 - 5902 jne
  • serial - saab kastada com0 seadet, st xl võti -c näitab konsooli
  • installer näitab vic0, rl0 jt võrguseadmeid, aga käivitamisel on seadme nimi xnf0

ning käivitades

# xl create -c openbsd.cfg

ja avades üle vnc virtuaalse arvuti konsooli saab operatsioonisüsteemi ära paigaldada

$ vncviewer 192.168.10.66:5902

kus

  • kui valida console serial port 0, siis saab 'xl create -c openbsd.cfg abil edaspidi tekstikonsoolis sisse logida ja kasutada, pole vnc vajalik

Edaspidisel kasutamisel sobib seadistusfailist kommenteerida välja sellised read

boot="dc"
vnc=1
vnclisten = "192.168.10.66"
vncdisplay = 2

ning eemaldada 'disk' alt .iso faili komponent.

Märkused

Osutub, et füüsilise võrgukaardi edasiandmine töötab samuti (PCI võrguseadme passthrough)

# cat openbsd.cfg 
builder = "hvm"
name = "openbsd"
memory = "512"
vcpus = 1
disk = [ 'phy:/dev/system/tm_openbsd,hda,w' ]
pci = [ '08:05.0' ]

# boot="dc"
vnc=1
..

kus

  • pci ... - dom0 pealt külge ühendatava võrguseadme PCI ID

Töötava süsteemi virtuaalne riistvara paistab selline

# sysctl hw                                                                                                                                
hw.machine=amd64
hw.model=Intel(R) Xeon(R) CPU E5-1603 0 @ 2.80GHz
hw.ncpu=1
hw.byteorder=1234
hw.pagesize=4096
hw.disknames=wd0:2bec112b40ffe2bf,fd0:
hw.diskcount=2
hw.cpuspeed=2800
hw.vendor=Xen
hw.product=HVM domU
hw.version=4.5.1
hw.serialno=19e09328-6399-4157-a991-f75512b65acd
hw.uuid=19e09328-6399-4157-a991-f75512b65acd
hw.physmem=511700992
hw.usermem=511688704
hw.ncpufound=1
hw.allowpowerdown=1

ning väljavõte dmesg teadetest

# dmesg | grep -i xen
bios0: vendor Xen version "4.5.1" date 07/12/2015
bios0: Xen HVM domU
pvbus0 at mainbus0: Xen 4.5
xen0 at pvbus0
xen0: hypercall page at va 0xffffffff81002000 pa 0x1002000
xen0: version 4.5.1
xen0: features 705<PIRQ,PVCLOCK,CBVEC,AUTOPMAP,WPT>
xen0: shared info page at va 0xffff8000000d6000 pa 0x1ef2d000
xen0: registered callback IDT vector 112
xen0: grant table frames allocated 32/32
xen0: xenstore event channel 1
xen0: xenstore ring at va 0xffff80000dff1000 pa 0xfeffc000
xen0: xenstore interrupt established for port 1
"vbd" at xen0: device/vbd/768 not configured
"vkbd" at xen0: device/vkbd/0 not configured
"pci" at xen0: device/pci/0 not configured
xspd0 at pci0 dev 2 function 0 "XenSource Platform Device" rev 0x01

Võrgu kasutamine

Guesti võrguseade töötab hostis näidatud vlan peal

Xen guesti seadistus

vif = [ 'mac=70:31:44:05:18:51,bridge=xenbr0.300', 'mac=70:31:45:05:18:52,bridge=xenbr0.301' ]

Guesti os seadistus

TODO

Guesti võrguseade lisab ise pakettidele vlan silte

Xen guesti seadistus

vif = [ 'mac=70:31:44:05:18:51,bridge=xenbr0' ]

Guesti os seadistus toimub nö tavalisel viisil, saraselt kui oleks füüsilise arvuti kaabel ühendatud vlan siltidega switch porti.

Jõudlus

  • ketta io ca 60 - 80 MByte/s
  • võrguseadme io ca 50 MByte/s
obsd1# nc -l 1234 > /dev/null

obsd2# dd if=/dev/zero bs=1M count=10000 | nc 192.168.10.215 1234 
10000+0 records in
10000+0 records out
10485760000 bytes transferred in 189.840 secs (55234480 bytes/sec)

Kasulikud lisamaterjalid