Virtualization Blog

Discussions and observations on virtualization.

How-to: Installing XenServer at Scale

Once upon a time, in a time far, far away (don’t most good stories start this way?) XenServer was so easy to get installed and running that we promoted it as “Ten Minutes to Xen”.  While this is still often the case for small installations, even ten minutes can be problematic for some, and even more so when hundreds of hosts are involved.  In this article, we’ll expand upon the XenServer Quick Installation Guide and show how you can scale out your XenServer environment quickly using a scripting model, and ensure you have correct monitoring and logging in place by default. 

Assumptions

This article assumes you’ve already installed XenServer on one server and validated that no additional drivers are required.  It also assumes that you’ve configured you server BIOS to be identical across all servers, and that PXE is supported on the NIC used as the management network.  One key item in the preparation is that the servers are set to boot in legacy BIOS mode and not UEFI.

Preparation steps

1.       Download the XenServer installation ISO media: http://xenserver.org/open-source-virtualization-download.html

2.       Extract the entire contents of XenServer installation ISO file to either a HTTP, FTP or NFS location (in this example we’ll be using NFS)

3.       Collect the following information

Hostname: xenserver
Root password: password
Keyboard locale: us
NTP server address: 0.us.pool.ntp.org
DNS server address: dns.local
Time zone:  America/New_York (supported time zones in RHEL)
Location of extracted ISO file: nfsserver:/
TFTP server IP address: pxehost

Configuring TFTP server to supply XenServer installer

1.       In the /tftpboot directory create a new directory called xenserver

2.       Copy the mboot.c32 and pxelinux.0 files from the /boot/pxelinux directory of the XenServer ISO file to the /tftpboot directory

3.       Copy the install.img file from the root directory of the XenServer ISO file to the /tftpboot/xenserver directory

4.       Copy the vmlinuz and zen.gz files from the /boot directory of the XenServer ISO file to the /tftpboot/xenserver directory

5.       In the /tftpboot directory, create a new directory called pxelinux.cfg

The above steps are covered in this script: 

mkdir /mnt/xsinstall
mount [XenServer ISO Extract Location] /mnt/xsinstall
cd ./tftpboot
mkdir xenserver
cp /mnt/xsinstall/boot/pxelinux/mboot.c32 ./
cp /mnt/xsinstall/boot/pxelinux/pxelinux.0 ./
cp /mnt/xsinstall/install.img ./xenserver
cp /mnt/xsinstall/boot/vmlinuz ./xenserver 
cp /mnt/xsinstall/boot/zen.gz./xenserver 

6.       In the /tftpboot/pxelinux.cfg directory create a new configuration file called default

7.       Edit the default file to contain the following information.  Note that this command includes remote logging to a SYSLOG server.

default xenserver-auto
label xenserver-auto
	kernel mboot.c32
	append xenserver/xen.gz dom0_max_vcpus=1-2 dom0_mem=752M,max:752M com1=115200,8n1 console=com1,vga --- xenserver/vmlinuz xencons=hvc console=hvc0 console=tty0 answerfile=http://[pxehost]/answerfile.xml remotelog=[SYSLOG] install --- xenserver/install.img 

8.       Unattended installation of XenServer requires an answer file.  Place the answer file in the root directory of your NFS server.  Please note that there are many more options than are listed here, but this will suffice for most installations.

  
<?xml version="1.0"?> <installation mode="fresh" srtype="lvm"> <bootloader>extlinux</bootloader> <primary-disk gueststorage="yes">sda</primary-disk> <keymap>[keyboardmap]</keymap> <hostname>[hostname]</hostname> <root-password>[password]</root-password> <source type="nfs">[XenServer ISO Extract Location]</source> <admin-interface name="eth0" proto="dhcp"/> <name-server>dns.local</name-server> <timezone>[Time zone]</timezone> <time-config-method>ntp</time-config-method> <ntp-server>[NTP Server Address]</ntp-server> <script stage="filesystem-populated" type="nfs">[XenServer ISO Extract Location]/post-install-script.sh</script> </installation>

Configuring the post installation scripts 

1.       In the root directory of the XenServer ISO extract location, create a file named post-install-script.sh with the following contents.  This script will run after a successful installation, and copies a first boot script for post installation configuration.

 

#!/bin/sh
touch $1/tmp/post-executed
mkdir $1/mnt/xsinstall
mount [XenServer ISO Extract Location] $1/mnt/xsinstall
cp $1/mnt/xsinstall/first-boot-script.sh $1/var/xen/fbs.sh
chmod 777 $1/var/xen/fbs.sh
ln -s /var/xen/fbs.sh $1/etc/rc3.d/S99zzzzpostinstall

2.       In the root directory of the XenServer ISO extract location, create a file named first-boot-script.sh with whatever steps you need to configure XenServer for your environment.  In the script below, we take care of the following cases:

a.       Assign a unique, human understandable hostname based on the assigned IP address

b.      Configure a dedicated storage network which uses Jumbo frames

c.       Configure centralized logging using SYSLOG

d.      Configure network monitoring using NetFlow

e.      Apply a socket based license

f.        Remove the first script to ensure it doesn’t run on subsequent reboots

 

#!/bin/bash
# Wait before start
sleep 60
 
# Get current hostname which then gets us the host-uuid
HOSTNAME=$(hostname)
HOSTUUID=$(xe host-list name-label=$HOSTNAME --minimal)
 
# Get the management pif UUID which gets us the IP address
MGMTPIFUUID=$(xe pif-list params=uuid management=true host-name-label=$HOSTNAME --minimal)
MGMTIP=$(xe pif-param-list uuid=$MGMTPIFUUID | grep 'IP '| sed -n 's/.*: ([0-9.]*)/1/p')
 
# From the IP address, get the zone and host
ZONE=$(echo "$MGMTIP" | awk -F: '{ split($1,a,"."); printf ("%dn", a[3]); }')
HOST=$(echo "$MGMTIP" | awk -F: '{ split($1,a,"."); printf ("%dn", a[4]); }')
 
# Configure SYSLOG
xe host-param-set uuid=$HOSTUUID logging:syslog_destination=[SYSLOG]
xe host-syslog-reconfigure host-uuid=$HOSTUUID
 
# Assign License to server
xe host-apply-edition edition=per-socket host-uuid=$HOSTUUID license-server-address=[LicenseServer] license-server-port=27000
 
# Setup storage network. For us, that’s on eth1 (aka xenbr1)
STORAGEPIFUUID=$(xe pif-list params=uuid host-name-label=$HOSTNAME device=eth1 --minimal)
xe pif-reconfigure-ip mode=static uuid=$STORAGEPIFUUID ip=192.168.$ZONE.$HOST netmask=255.255.255.0
xe pif-param-set disallow-unplug=true uuid=$STORAGEPIFUUID
xe pif-param-set other-config:management_purpose="Storage" uuid=$STORAGEPIFUUID
NETWORKUUID=$(xe network-list params=uuid bridge=xenbr1 –minimal)
xe network-param-set uuid=$NETWORKUUID MTU=9000
 
# Setup NetFlow monitoring on the 4 network bridges in our hosts
ovs-vsctl -- set Bridge xenbr0 netflow=@nf -- --id=@nf create NetFlow targets=\"192.168.0.34:5566\" active-timeout=30
ovs-vsctl -- set Bridge xenbr1 netflow=@nf -- --id=@nf create NetFlow targets=\"192.168.0.34:5566\" active-timeout=30
ovs-vsctl -- set Bridge xenbr2 netflow=@nf -- --id=@nf create NetFlow targets=\"192.168.0.34:5566\" active-timeout=30
ovs-vsctl -- set Bridge xenbr3 netflow=@nf -- --id=@nf create NetFlow targets=\"192.168.0.34:5566\" active-timeout=30
 
# Rename host in both XenServer and for XenCenter
NEWHOSTNAME=$(echo $HOSTNAME$ZONE-$HOST)
xe host-set-hostname-live host-uuid=$HOSTUUID host-name="$NEWHOSTNAME "
xe host-param-set uuid=$HOSTUUID name-label="$NEWHOSTNAME"
# Disable first boot script for subsequent reboots rm -f /etc/rc3.d/S99zzzzpostinstall # Final Reboot reboot

Configuring the network

There are several considerations we need to account for in our network design. 

1.       The XenServer management networks cannot be tagged within XenServer.  To work around this, the network ports will need to have a default VLAN assigned to them. 

2.       The storage management network is using jumbo frames and will need an MTU of 9000

3.       The TFTP server will need to be on the primary management network

4.       Since we will want to have persistent control over the XenServer hosts and their VMs, we will want to have each XenServer use a static address.  In order to accomplish with DHCP, we’ll need to configure our DHCP service to use static MAC address reservations.  A sample dhcpd.conf is provided below:

authoritative;
dns-update-style interim;
default-lease-time 28800;
max-lease-time 28800;
 
        option routers                  10.10.2.1;
        option broadcast-address        10.10.2.255;
        option subnet-mask              255.255.255.0;
        option domain-name-servers      10.10.2.2, 10.10.2.3;
        option domain-name              "xspool.local";
 
        subnet 10.10.2.0 netmask 255.255.255.0 {
             pool {
                range 10.10.2.50 10.10.2.250;
 
# one host entry following our naming convention
                host xenserver2-50 {
                  hardware ethernet 00:11:22:33:44:55;
                  fixed-address 10.10.2.50;
                }
                host xenserver2-51 {
                  hardware ethernet 00:11:22:33:44:56;
                  fixed-address 10.10.2.51;
                }
                host xenserver2-52 {
                  hardware ethernet 00:11:22:33:44:57;
                  fixed-address 10.10.2.52;
                }
# prevent unknown hosts from polluting the pool
                deny unknown-clients;
             }

Booting the servers to perform the install

Since our objective is to perform a scale installation using scripting, we also need to script the PXE boot of our servers, and ensure the PXE boot is a first boot only (i.e. we’re not continuously reinstalling on each reboot).  Thankfully remote access cards provide this capability, and I'm currently compiling a set of scripts to cover as many vendors as I can. 

Tying it all together

In this article you've seen how easy it is to deploy a large number of XenServer hosts consistently.  That's not the end of things, and over the coming weeks I'll be posting guides covering many more scale operations with XenServer.

 

XenServer Driver Disks
XenServer: code highlights from 2013

Related Posts

 

Comments 18

roshan on Thursday, 23 January 2014 06:20

Great article, I am researching how to setup Diskless XenServer booting..

Is it possible to expand this article to include diskless Xenserver booting from NFS and how to include different types of images for different hardware if required.

Does running Xenserver from a USB or SD or NFS affect the performance. how my IO is conducted after the Xenserver has booted up.

0
Great article, I am researching how to setup Diskless XenServer booting.. Is it possible to expand this article to include diskless Xenserver booting from NFS and how to include different types of images for different hardware if required. Does running Xenserver from a USB or SD or NFS affect the performance. how my IO is conducted after the Xenserver has booted up.
Tim Mackey on Thursday, 23 January 2014 14:44

Roshan,

I'll add that to the list of blogs I'm working on publishing. One of the key areas I'd need to investigate is the log activity when running from USB. In theory using SYSLOG as I recommend should minimize performance issues. Would Boot from SAN be an option for you?

-tim

0
Roshan, I'll add that to the list of blogs I'm working on publishing. One of the key areas I'd need to investigate is the log activity when running from USB. In theory using SYSLOG as I recommend should minimize performance issues. Would Boot from SAN be an option for you? -tim
roshan on Thursday, 23 January 2014 22:07

Hi Tim

That would be fantastic..

I am researching this atm, technical this is possible with linux.

Just need to cater for different hardware and insure high availability for XenServer "streaming" kinda like PVS. maybe you can even use PVS??

This will allow to rapidly scale-out and provide a form of availability in the event of a Hardware failure, you could have a few standby hot-spare servers...

If the hardware fails, it would be easy to plug-in another box to replace and instantly stream XenServer on it. Reduce the requirement for enterprise level hardware and use commodity components. (Am i giving up my secrets!)

Lots of benefits, especially if you have block storage. But I want to use 10GB / Jumbo frames onto NFS.. Low cost solution. I don't think atm there is a need for block for this..

This is easy to achieve with block level storage here is a example using IBM XIV - http://virtualizationandstorage.wordpress.com/2014/01/21/howto-install-vmware-esxi-4-via-boot-from-san-onto-a-ibm-xiv-storage-system/


Great article and thank you again..

0
Hi Tim That would be fantastic.. I am researching this atm, technical this is possible with linux. Just need to cater for different hardware and insure high availability for XenServer "streaming" kinda like PVS. maybe you can even use PVS?? This will allow to rapidly scale-out and provide a form of availability in the event of a Hardware failure, you could have a few standby hot-spare servers... If the hardware fails, it would be easy to plug-in another box to replace and instantly stream XenServer on it. Reduce the requirement for enterprise level hardware and use commodity components. (Am i giving up my secrets!) Lots of benefits, especially if you have block storage. But I want to use 10GB / Jumbo frames onto NFS.. Low cost solution. I don't think atm there is a need for block for this.. This is easy to achieve with block level storage here is a example using IBM XIV - http://virtualizationandstorage.wordpress.com/2014/01/21/howto-install-vmware-esxi-4-via-boot-from-san-onto-a-ibm-xiv-storage-system/ Great article and thank you again..
jason on Friday, 31 January 2014 09:05

nice article, one comment, in first-boot-script.sh
ovs-vsctl set Bridge should be ovs-vsctl -- set Bridge

0
nice article, one comment, in first-boot-script.sh ovs-vsctl set Bridge should be ovs-vsctl -- set Bridge
Tim Mackey on Monday, 10 February 2014 16:22

Jason,

Thanks for checking my post! The ovs-vsctl set Bridge and ovs-vsctl -- set Bridge both work, but I followed your suggestion and updated the script to be more compliant. Also noted the targets syntax was incorrect and fixed that.

0
Jason, Thanks for checking my post! The ovs-vsctl set Bridge and ovs-vsctl -- set Bridge both work, but I followed your suggestion and updated the script to be more compliant. Also noted the targets syntax was incorrect and fixed that.
jason on Sunday, 16 February 2014 21:55

If I may another suggestion, is to send a message to the system logger at each step. It makes it easier to keep track of things.

also just noticed that lines 5 and 6 of the post-install-script.sh reference a fbs.sh, shouldn't that be first-boot-script.sh?

This post is actually really informative. I just wish that you had posted this 6mo earlier when I was making my mine.... ;)

0
If I may another suggestion, is to send a message to the system logger at each step. It makes it easier to keep track of things. also just noticed that lines 5 and 6 of the post-install-script.sh reference a fbs.sh, shouldn't that be first-boot-script.sh? This post is actually really informative. I just wish that you had posted this 6mo earlier when I was making my mine.... ;)
Cody on Sunday, 16 February 2014 21:48

The DHCP option should be ddns-update-style I believe. :)

0
The DHCP option should be ddns-update-style I believe. :)
Paul Angus on Monday, 24 February 2014 15:21

in your default tftp file I'd add:

answerfile_device=eth0

(assuming it is eth0) to the append line. Otherwise, if you have more than a couple of interfaces, you'll be waiting around a long time for the them to time out at the start of the installation.

0
in your default tftp file I'd add: answerfile_device=eth0 (assuming it is eth0) to the append line. Otherwise, if you have more than a couple of interfaces, you'll be waiting around a long time for the them to time out at the start of the installation.
Guest - Diane on Monday, 17 March 2014 18:29

Is it possible to do this with hotfixes as well? My goal is mass production of Xenservers with updated hotfixes already installed to save time.

0
Is it possible to do this with hotfixes as well? My goal is mass production of Xenservers with updated hotfixes already installed to save time.
Tim Mackey on Monday, 17 March 2014 20:47
Diane, Thanks for reminding me about posting on that: http://xenserver.org/component/easyblog/entry/patching-xenserver-at-scale.html?Itemid=179
Guest - Diane on Wednesday, 19 March 2014 15:40

"One key item in the preparation is that the servers are set to boot in legacy BIOS mode and not UEFI."

Why legacy BIOS mode? Did you run into issues with UEFI?

0
"One key item in the preparation is that the servers are set to boot in legacy BIOS mode and not UEFI." Why legacy BIOS mode? Did you run into issues with UEFI?
Guest - Geoff Crompton on Tuesday, 06 May 2014 23:39

Diane, yes it is possible to install hotfixes in the S99zzzzpostinstall script, this is precisely what I do already. I also install the Dell OMSA tools, a salt minion, and a driver disk.

0
Diane, yes it is possible to install hotfixes in the S99zzzzpostinstall script, this is precisely what I do already. I also install the Dell OMSA tools, a salt minion, and a driver disk.
Matthew Baltera on Friday, 29 August 2014 13:13

I'd like to prompt questions like IP, Netmask, gateway, etc. for each server during the post installation script. Is it possible to have an interactive script?

0
I'd like to prompt questions like IP, Netmask, gateway, etc. for each server during the post installation script. Is it possible to have an interactive script?
Tim Mackey on Friday, 29 August 2014 13:32

@Matthew,

If you're wanting this to be quasi-interactive, then the better solution would be to put those values in the answer file and then edit the 'default' file to provide menu options for your specific requirements. Then during boot the user selects the correct installation type from the menu and everything else stays the same. Details on the answer file format can be found here: http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/installation.html#pxe_boot_install-pxe_answerfile

0
@Matthew, If you're wanting this to be quasi-interactive, then the better solution would be to put those values in the answer file and then edit the 'default' file to provide menu options for your specific requirements. Then during boot the user selects the correct installation type from the menu and everything else stays the same. Details on the answer file format can be found here: http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/installation.html#pxe_boot_install-pxe_answerfile
Matthew Baltera on Friday, 29 August 2014 13:57

Great article btw. It's going to save me a ton of time.

So my question is specifically around the admin interface, IP address, and hostname. The answerfile will let me define the admin interface ip but thats just for one server during installation time. What happens when I have 50 to build times three data centers where the admin IP will be in a different subnet in each case.

My overall goal is to have a scripted deployment that allows for a local on-site tech to answer a few questions based on the configuration sheet we provide them. Hit enter and let the rest of the script do its thing along with patches.

I guess using DHCP and relying on DNS would be one solution, but that's not an option in my environment.

Here is what i've been trying in the post install script.

## Get the management interfaces UUID
MGMTPIFUUID=$(xe pif-list params=uuid management=true host-name-label=$HOSTNAME --minimal)
echo "Management PIF UUID $MGMTPIFUUID"
# Ask questions
echo -n "Please enter a management IP address. Do not use the num pad to enter IP address.Followed by [Enter]"
read IPADDR
echo -n "Please enter subnet mask. Followed by [Enter]"
read MASK
echo -n "Please enter gateway address. Followed by [Enter]"
read GW
echo -n "Please enter Primary DNS server address. Followed by [Enter]"
read DNS1
echo -n "Please enter Secondary DNS server address. Followed by [Enter]"
read DNS2
echo -n "Please enter HostName. Follow by [Enter]"
read HOSTNAME
# Reconfigure management interface address
echo about to run this command. xe pif-reconfigure-ip ip=$IPADDR netmask=$MASK gateway=$GW DNS=$DNS1 DNS=$DNS2 mode=static uuid=$MGMTPIFUUID
xe pif-reconfigure-ip IP=$IPADDR netmask=$MASK gateway=$GW DNS=$DNS1 mode=static uuid=$MGMTPIFUUID

0
Great article btw. It's going to save me a ton of time. So my question is specifically around the admin interface, IP address, and hostname. The answerfile will let me define the admin interface ip but thats just for one server during installation time. What happens when I have 50 to build times three data centers where the admin IP will be in a different subnet in each case. My overall goal is to have a scripted deployment that allows for a local on-site tech to answer a few questions based on the configuration sheet we provide them. Hit enter and let the rest of the script do its thing along with patches. I guess using DHCP and relying on DNS would be one solution, but that's not an option in my environment. Here is what i've been trying in the post install script. ## Get the management interfaces UUID MGMTPIFUUID=$(xe pif-list params=uuid management=true host-name-label=$HOSTNAME --minimal) echo "Management PIF UUID $MGMTPIFUUID" # Ask questions echo -n "Please enter a management IP address. Do not use the num pad to enter IP address.Followed by [Enter]" read IPADDR echo -n "Please enter subnet mask. Followed by [Enter]" read MASK echo -n "Please enter gateway address. Followed by [Enter]" read GW echo -n "Please enter Primary DNS server address. Followed by [Enter]" read DNS1 echo -n "Please enter Secondary DNS server address. Followed by [Enter]" read DNS2 echo -n "Please enter HostName. Follow by [Enter]" read HOSTNAME # Reconfigure management interface address echo about to run this command. xe pif-reconfigure-ip ip=$IPADDR netmask=$MASK gateway=$GW DNS=$DNS1 DNS=$DNS2 mode=static uuid=$MGMTPIFUUID xe pif-reconfigure-ip IP=$IPADDR netmask=$MASK gateway=$GW DNS=$DNS1 mode=static uuid=$MGMTPIFUUID
hussain sharif on Thursday, 29 January 2015 09:16

thank you alot Mr Tim Mackey

i want to install from usb, i tried as xenserver 6.2 instruction but it doesn't work

0
thank you alot Mr Tim Mackey i want to install from usb, i tried as xenserver 6.2 instruction but it doesn't work
Robert on Tuesday, 20 October 2015 23:44

It seems like things are missing from this line:

MGMTIP=$(xe pif-param-list uuid=$MGMTPIFUUID | grep 'IP '| sed -n 's/.*: ([0-9.]*)/1/p')

I'm not sure if the web just ate some escaping or if there is something I'm missing, but in order to make this work I needed to do this:

xe pif-param-list uuid=$MGMTPIFUUID | grep 'IP ' | sed -n 's/.*: \([0-9\.]*\)/\1/p'

It might be better to use cut or awk for this. sed is the best for being a single command, but isn't a win in terms of readability. Especially with needing to escape things to make bash happy.

cut -f2 -d: (split on colons but that leaves a space so you would want to further process it)

Or, since you use bash you could use it's builtin search and replace:

MGMTIP=$(xe pif-param-list uuid=$MGMTPIFUUID | grep 'IP ')
MGMTIP=${MGMTIP/*: /}

Or just drop what you don't care about with sed. This removes a few idioms ( -n, /p, and the backreference):

MGMTIP=$(xe pif-param-list uuid=$MGMTPIFUUID | grep 'IP '| sed 's/.*: //')

The HOST and ZONE are also overly complicated. I think they were written before you were stripping the first part on MGMTIP:

ZONE=$(echo "$MGMTIP" | awk -F. '{print $3"n"}')
HOST=$(echo "$MGMTIP" | awk -F: '{print $4"n"}')

Something that probably only applies to me but might be useful for others. If you run this script after you have changed the hostname in xencenter (but not changed it locally) then $HOSTUUID isn't right and causes the rest of the script to fail.

I can't find a way to do this programmatically. If you make the assumption there is only one server in the host-list you can drop the name-label, but that doesn't work for clustered hosts. I've decided the only safe thing to do is to make sure the host is renamed properly and not run the script if hostname != name-label.

0
It seems like things are missing from this line: MGMTIP=$(xe pif-param-list uuid=$MGMTPIFUUID | grep 'IP '| sed -n 's/.*: ([0-9.]*)/1/p') I'm not sure if the web just ate some escaping or if there is something I'm missing, but in order to make this work I needed to do this: xe pif-param-list uuid=$MGMTPIFUUID | grep 'IP ' | sed -n 's/.*: \([0-9\.]*\)/\1/p' It might be better to use cut or awk for this. sed is the best for being a single command, but isn't a win in terms of readability. Especially with needing to escape things to make bash happy. cut -f2 -d: (split on colons but that leaves a space so you would want to further process it) Or, since you use bash you could use it's builtin search and replace: MGMTIP=$(xe pif-param-list uuid=$MGMTPIFUUID | grep 'IP ') MGMTIP=${MGMTIP/*: /} Or just drop what you don't care about with sed. This removes a few idioms ( -n, /p, and the backreference): MGMTIP=$(xe pif-param-list uuid=$MGMTPIFUUID | grep 'IP '| sed 's/.*: //') The HOST and ZONE are also overly complicated. I think they were written before you were stripping the first part on MGMTIP: ZONE=$(echo "$MGMTIP" | awk -F. '{print $3"n"}') HOST=$(echo "$MGMTIP" | awk -F: '{print $4"n"}') Something that probably only applies to me but might be useful for others. If you run this script after you have changed the hostname in xencenter (but not changed it locally) then $HOSTUUID isn't right and causes the rest of the script to fail. I can't find a way to do this programmatically. If you make the assumption there is only one server in the host-list you can drop the name-label, but that doesn't work for clustered hosts. I've decided the only safe thing to do is to make sure the host is renamed properly and not run the script if hostname != name-label.
Jessica Parker on Sunday, 13 March 2016 20:16

So i got through the whole tutorial for getting xen server on a virtualized environment before we distribute it to production, but we're having a small issue. We're using an open source netflow analyzer to collect netflow data, but the configuration doesn't seem to working? I also found this list of netflow analyzers that seem to be free ( http://www.pcwdld.com/best-free-netflow-analyzers-and-collectors-for-windows ), but not sure if any of these are supported? Can anyone chime in on this.

0
So i got through the whole tutorial for getting xen server on a virtualized environment before we distribute it to production, but we're having a small issue. We're using an open source netflow analyzer to collect netflow data, but the configuration doesn't seem to working? I also found this list of netflow analyzers that seem to be free ( http://www.pcwdld.com/best-free-netflow-analyzers-and-collectors-for-windows ), but not sure if any of these are supported? Can anyone chime in on this.

About XenServer

XenServer is the leading open source virtualization platform, powered by the Xen Project hypervisor and the XAPI toolstack. It is used in the world's largest clouds and enterprises.
 
Commercial support for XenServer is available from Citrix.