Inleiding
Mijn doel is Xen te draaien met ZFS(FreeBSD) als Xen Domain 0Waarom kies ik en zou jij ook voor deze hardware/software setup kunnen kiezen? Wat is het nut? Kan je je afvragen.
2 van de voordelen in het kort
*) Geen harddisk space verkwisting (en het is al zo duur nu)
*) optimaal gebruik van je hardware
Nu ik draai een al een tijdje wat diensten "virtueel" bv fileserver/Nas, torrent/Usenet client en natuurlijk desktop. Hoe mooi is het als je 5 tot meer machines allemaal op 1 fysieke bak kan gooien en kan draaien?
met daaraan 4 monitoren, 2 muizen, 2 toetsenborden en 2x geluid.Nu is dit wel mogelijk met Xwindows en veel configuratie. Maar je wilt wellicht windows 7 draaien weinig configureren? Nu ik wel. Daarnaast wil ik ook nog centrale opslag tot zijn volste capaciteit benutten.
Maar dan krijg je nog je hardware afhankelijkheid, 1 machine klinkt leuk maar wat als je moederbord overlijd ?
ZFS is transporteerbaar op andere hardware en tevens kan je ervan booten. ook RaidZ-2 betekend dat ik 2 schijven die "dood" gaan kan overleven. met Xen kan je ook je desktop weer terug krijgen (misschien zonder beeldscherm direct aangesloten maar ook dat is overleefbaar als je remote desktop actief hebt)
Xen + passthrough
Xen is een hypervisor als ESXi (Vsphere),Hyper-V en draait op "bare metal" oftewel direct op de hardware.De techniek(en) die je moederbord/CPU moeten hebben zijn:
- VT-d
- IOMMU
Wat kan je ermee ? Nu een Guest OS direct toegang geven tot de "hardware", let op hiermee word de guest niet meer te verplaatsen naar een andere machine (vmotion/live migration).
Xen Is de enige die VGA Passthrough op dit moment van schrijven ondersteund.
ESXi (Vsphere 5) ondersteund ook PCI(e) passtrhough maar helaas geen VGA
Overige hypervisors zover ik weet nog niet ondersteuning voor PCI(e) Passthrough,
Virtualbox is ermee bezig dit zou ook een overweging zijn
FreeBSD
Waarom wil ik FreeBSD? Tja ik zou voor Solaris kunnen kiezen, maar een linux is geen optie dit heeft Fuse-ZFS wat gewoon nog niet zo volwassen is als de BSD/Solaris variant. Fuse-ZFS is te "traag" en weinig tuning opties. Solaris is trouwens de "uitvinder" van dit FSZFS Dit is een FileSysteem (FS) die heel anders werkt dan RAID, partion manieren( zoals LVM) en andere Filesystems(NTFS/Ext3/Ext4/Fat32 etc) terwijl het eigenlijk een combinatie is van die 3 dingen is.
een aantal +punten en -punten
+ Bij elke disk die je toevoegt kan het de snelheid verhogen
+ Zeer snel (SSD performance kan je benaderen)
+ RaidZ kan afhankelijk van de gekozen setup met 1,2 of 3 willekeurige disks die uitvallen overweg
+ Kost naderend tot geen CPU (tenzij je encryptie inschakeld)
+ Kan SSD caching/loging doen
- Zeer geheugen intensief
- Je diskcontroller(s) sata/ide/scsi zijn erg bepalend voor performance
Wil je meer weten over ZFS zie dan Het grote ZFS topic die je meer uitlegt
De setup
Hardware specificaties
- Mainbord: Intel DX58SO2- CPU I7 980 (6 core) 3.3 ghz
- RAM 24 GB (max 48 GB )
- GPU's (zal ik later op terug komen)
- 6x 1TB WD EADS (ik weet slechte schijven)
update: schijven zijn eruit gehaald en verplaatst naar andere machine
- 2x Intel netwer kaarten (nu nog onboard)
DX58SO2 Het mainboard is erg bewust gekozen, max geheugen is 48GB ram en genoeg PCIe sloten
de bios is trouwens uitzonderlijk "mooi" heel erg compleet en wil je weten welk slot/hardware je hebt is dat goed vanuit de bios te zien. USB flash zonder extra utilities.
software
- Xen hypervisor 4.1- Freebsd 8.2
- Fedora 16
update:helaas vervangen door een ZFSGuru installatie
- Windows 7 (xen guest)
Base OS
Update: FreeBSD is nog niet mogelijk overgeschakeld naar Fedora met ZFS(Guru) NASEen belangrijke note die je wilt voor je Dom0 (host) os, houd de installatie Generiek en "uitgebreid" dit voorkomt hardware issues moment dat je hardware 'faalt" en je het OS transplanteert naar een ander systeem.
BV kernel zaken, zet waar mogelijk alles als modules op(te laden indien nodig) en houd een goeie uitgebreide kernel achter de hand .. (je kan natuurlijk een kernel maken met hardware specifieke zaken als primaire boot optie)
De install
Hypervisor, de hypervisiors Xen,Vshpere 5 geprobeerd. Vsphere mist dus de VGA passthroughXen niet dus we gaan daarmee verder
Dom0 (base OS)
Xen 4.1 (moment van schrijven de laatste) kan helaas niet op FreeBSD geinstalleerd worden, de tarbal bevat een verwijzig naar NetBSD en wat FreeBSD opties maar wil je het zelf doen zie de volgende post.Dus overgestapt (helaas) op een Linux distributie in dit geval Fedora 16.
Het is raadzaam een complete desktop install van fedora te doen. omdat dit jezelf enorm "vergemakkelijkt"
dus ook met Xwindows (gnome/kde desktop)
Geinstalleerd schakel je naar (alt+ctrl+f2) tty2/tty3 en log je in als root. (mag ook sudo)
code:
1
| - yum install xen, virtmanager, python en nog wat andere meuk (update later) |
Wanneer je met "virt manager" aan de slag gaat, is het raadzaam om het als root op te starten.
En ik maakte de fout om QEMU te connecten maar je moet connect naar xen://. Als deze goed geinstalleerd is is dit trouwens een "selectable" optie.
Voor een "virtuele" omgeving is het raadzaam de volgende zaken eerst te doen:
- Private (internal) netwerk, deze heeft geen connectie naar de buitenwereld.
- Storage te defineren (ISCSI connectie bv naar NAS) hierop komen de machines
- Systeem tijd (liefst via NTP protocol) goed te zetten
- Je passthrough appartuur te "mappen", hiermee bedoel ik identificeer elk poortje en elke mogelijk aparaat
wat je aangesloten wilt hebben ook eventuele toekomstige appratuur.
1 Van de dingen waar je over gaat struikelen is de USB poort die je aan je guest gaat toewijzen welke is nu welke? De PCI apparatuur is wel handig dat je weet hoe de notatie is.
Tools
Voor mijn tooling heb ik een aantal dingen gebruikt:- Portable USB CD/DVD-r/w slim drive (goud)
- USB stick(s) (install cd's/test boot image/reddings tools)
- Aditionele software (intel preboot, boos flash etc)
Voor USB stick is er een geweldige handleiding: DIT IS FREEWARE
(voordat ik gezeur met mod krijg, anders bij deze verwijder de link)
http://www.hiren.info/pages/bootcd-on-usb-disk
Om de cd te downloaden
http://www.hirensbootcd.org/download/
Nu dat je de USB stick hebt, download je
- preboot.exe (bij intel te verkrijgen)
- BIOS update tools (voor je mobo's)
- ghost32.exe
Pak ze uit in root van je USB stick, deze helpen je eenvoudig zaken voor elkaar te krijgen.
PS: Voor de dos utility bootutil zet de bootIMG.flp bij de executable
Hirens bied zelf ook nog wat tools o.a partitie editors en andere handige meuk.
[h2]ISCSI boot[/b]
Waarom zou jij ISCSI boot willen gebruiken?
In plaats van 100GB of meer op je HD te verspillen, kan je ook gebruik maken van ZFS/RAID5 gehoste Disks
die "op maat" zijn voor jou wensen. Helaas kan je zonder netwerk niet booten (of wireless kan ook niet)
Let wel erop of je NAS rap genoeg is.
Server
Je moet een "target" server hebben meeste NAS apparaten of "zelfbouw" NAS op een stick hebben deze functionaliteit. (FreeNAS en ZFSguru o.a)
Client
Ik ga bij voorkeur uit van PCIe netwerk kaarten Intel (andere merken???) deze moet je flashen via de bootutil.exe van Intel. Ik heb hiervoer een Intel CT desktop adapter gebruikt
Onboard nics (helaas werkt niet)
Het commando:
code:
1
| bootutil.exe -up=iscsi -all |
Je krijgt een aantal vragen of je zeker de PXE (nutteloos) wilt backup-en (nee) en daarna schrijft tie de PXE image over met ISCSI (je kan zelfde wijze ook EFI boot doen (handig ??? ik weet het niet)
http://Etherboot.org heeft ook een USB/ISO en howto's hoe je dit met andere netwerk kaarten doet.
Helaas heb ik het niet werkend gekregen door "wat in te rammen" maar dit word wel een missie
[ Voor 96% gewijzigd door vso op 21-11-2011 07:37 . Reden: Toevoeging en interpunctie + schrijffouten ]
Tja vanalles