<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://t2bwiki.iihe.ac.be/index.php?action=history&amp;feed=atom&amp;title=MigrationToOpenNebula</id>
	<title>MigrationToOpenNebula - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://t2bwiki.iihe.ac.be/index.php?action=history&amp;feed=atom&amp;title=MigrationToOpenNebula"/>
	<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=MigrationToOpenNebula&amp;action=history"/>
	<updated>2026-04-20T11:10:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=MigrationToOpenNebula&amp;diff=476&amp;oldid=prev</id>
		<title>Stephane GERARD: /* VMs with several NICs */</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=MigrationToOpenNebula&amp;diff=476&amp;oldid=prev"/>
		<updated>2015-10-26T19:35:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;VMs with several NICs&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:35, 26 October 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l99&quot;&gt;Line 99:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 99:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I tried to install with Quattor a VM having two network interfaces (eth0 -&amp;gt; public network, eth1 -&amp;gt; private network). The machine was expected to PXE-boot from the second NIC, but that&amp;#039;s not what happened : it first tried to boot from the first NIC, and then it stopped, instead of going on further with the second NIC. The problem was coming from the default behavior of the iPXE rom. In the past, in the KVM farm, the vHosts were using gPXE, whose behavior was correct in case of several NICs. With CentOS 7, gPXE has been replaced by iPXE, a fork of the gPXE project. Solutions :&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I tried to install with Quattor a VM having two network interfaces (eth0 -&amp;gt; public network, eth1 -&amp;gt; private network). The machine was expected to PXE-boot from the second NIC, but that&amp;#039;s not what happened : it first tried to boot from the first NIC, and then it stopped, instead of going on further with the second NIC. The problem was coming from the default behavior of the iPXE rom. In the past, in the KVM farm, the vHosts were using gPXE, whose behavior was correct in case of several NICs. With CentOS 7, gPXE has been replaced by iPXE, a fork of the gPXE project. Solutions :&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#You can alter the behavior of a iPXE rom with an embedded menu, as it is explained [http://www.rehmert.com/2013/12/create-ipxe-boot-media-for-multiple-pxe-sourcesnetworks/ here]. On this [http://ipxe.org/embed page], it is explained how to create iPXE menus. (I&amp;#039;ve also found this [https://rom-o-matic.eu/ page], but I don&amp;#039;t know if it can be used to create roms compatible with KVM.)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#You can alter the behavior of a iPXE rom with an embedded menu, as it is explained [http://www.rehmert.com/2013/12/create-ipxe-boot-media-for-multiple-pxe-sourcesnetworks/ here]. On this [http://ipxe.org/embed page], it is explained how to create iPXE menus. (I&amp;#039;ve also found this [https://rom-o-matic.eu/ page], but I don&amp;#039;t know if it can be used to create roms compatible with KVM.)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2. &lt;/del&gt;You can get back to gPXE :&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#&lt;/ins&gt;You can get back to gPXE :&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[root@dom06 ~]# scp -r /usr/share/gpxe dom02.wn.iihe.ac.be:/usr/share/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[root@dom06 ~]# scp -r /usr/share/gpxe dom02.wn.iihe.ac.be:/usr/share/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l110&quot;&gt;Line 110:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 110:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[root@dom02 qemu-kvm]# ln -s ../gpxe/virtio-net.rom pxe-virtio.rom&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[root@dom02 qemu-kvm]# ln -s ../gpxe/virtio-net.rom pxe-virtio.rom&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;If you want to restore iPXE :&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you want to restore iPXE :&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;pxe-e1000.rom -&amp;gt; ../ipxe/8086100e.rom&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;pxe-e1000.rom -&amp;gt; ../ipxe/8086100e.rom&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Stephane GERARD</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=MigrationToOpenNebula&amp;diff=178&amp;oldid=prev</id>
		<title>Maintenance script: Created page with &quot; == Some information about the project itself == Start of the project end of February 2015. HA ZFS fileserver &quot;volta&quot; recently put in service. It is dedicated to storage and ...&quot;</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=MigrationToOpenNebula&amp;diff=178&amp;oldid=prev"/>
		<updated>2015-08-26T12:28:48Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; == Some information about the project itself == Start of the project end of February 2015. HA ZFS fileserver &amp;quot;volta&amp;quot; recently put in service. It is dedicated to storage and ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== Some information about the project itself ==&lt;br /&gt;
Start of the project end of February 2015. HA ZFS fileserver &amp;quot;volta&amp;quot; recently put in service. It is dedicated to storage and sharing of VM disk images.&lt;br /&gt;
&lt;br /&gt;
== Some facts about the situation of the hypervisors before the migration ==&lt;br /&gt;
Heterogeneous farm of KVM vHosts :&lt;br /&gt;
- different OS&amp;#039;s and KVM versions;&lt;br /&gt;
- different hardware (disk capacities, number of NICs...);&lt;br /&gt;
- vHosts are not connected to the same networks.&lt;br /&gt;
The migration will be an opportunity to reinstall the vHosts with the same OS, and to change the resources (CPU and RAM) allocated to the VMs (most of the time, we were too generous when giving resources to the VMs).&lt;br /&gt;
&lt;br /&gt;
== Installation procedure ==&lt;br /&gt;
&lt;br /&gt;
=== Preparation of the NFS fileserver ===&lt;br /&gt;
*The pool &amp;quot;tank&amp;quot; is NFS shared with no-root-squash and rw for the vHosts&lt;br /&gt;
*Inside the pool &amp;quot;tank&amp;quot;, several shared directories were created :&lt;br /&gt;
**one : to share the cloud config between the front-end and the nodes&lt;br /&gt;
**disk_images : to store the disk images of VMs&lt;br /&gt;
&lt;br /&gt;
=== Reinstallation of all the vHosts ===&lt;br /&gt;
Goal is to install CentOS 7.0 on all vHosts.&lt;br /&gt;
&lt;br /&gt;
Problem met on some Dell machines (like dom08) during the partitioning step due to Grub2 in MBR mode : https://bugzilla.redhat.com/show_bug.cgi?id=986431. Problem is due to the fact that &amp;quot;Dell diagnostic&amp;quot; partition is starting at sector 36, and so there is not enough space between the MBR and the start of the first partition for Grub2 to put its core.img file. The solution is simply to remove the two Dell partitions.&lt;br /&gt;
&lt;br /&gt;
=== Network and firewall ===&lt;br /&gt;
We don&amp;#039;t disable iptables, but we add a rule to allow input traffic from other servers in the private range :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-A INPUT -p tcp -m iprange --src-range 192.168.10.1-192.168.10.253 -j ACCEPT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The front-end also needs these two rules :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-A INPUT -m state --state NEW -m tcp -p tcp  --dport 9869 -j ACCEPT&lt;br /&gt;
-A INPUT -m state --state NEW -m tcp -p tcp  --dport 29876 -j ACCEPT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When configuring the bridges on the hosts, to keep some uniformity, we adopted the following naming rules :&lt;br /&gt;
*br0 -&amp;gt; public range (193.58.172.0/25)&lt;br /&gt;
*br1 -&amp;gt; private range (192.168.0.0/16)&lt;br /&gt;
*br3 -&amp;gt; old public range (193.190.247.0/24)&lt;br /&gt;
Not having the same bridge names for each network would be a problem when moving VMs from one host to another !&lt;br /&gt;
&lt;br /&gt;
=== Installation of OpenNebula ===&lt;br /&gt;
*OpenNebula 4.8&lt;br /&gt;
*Documentation followed : [http://docs.opennebula.org/4.8/design_and_installation/index.html here]&lt;br /&gt;
*Front-end on dom02&lt;br /&gt;
&lt;br /&gt;
=== Installation of the front-end ===&lt;br /&gt;
*Firewall rules...&lt;br /&gt;
*Sharing the cloud config /var/lib/one -&amp;gt; we moved everything on the NFS server &amp;quot;volta&amp;quot; for sharing between the front-end and the nodes&lt;br /&gt;
*Datastore also on NFS server &amp;quot;volta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting the moving ===&lt;br /&gt;
Each time a new vHost is added to the cloud, it is test with the creation of a VM on it. And then, we try to move &amp;quot;live&amp;quot; to other vHosts. If this moving test fails, check the following things :&lt;br /&gt;
*Make sure SElinux is really disabled with command &amp;quot;getenforce&amp;quot; -&amp;gt; you need to reboot the machine after having set &amp;quot;disabled&amp;quot; in /etc/sysconfig/selinux.&lt;br /&gt;
*Check the firewall rules on each vHost : on each node, you should add a rule to accept traffic from other nodes.&lt;br /&gt;
*Libvirtd daemon need a reboot after installation of OpenNebula on otherwise you might get permission problems.&lt;br /&gt;
&lt;br /&gt;
== Configuration of OpenNebula ==&lt;br /&gt;
=== Infrastructure - Hosts ===&lt;br /&gt;
I&amp;#039;ve added an attribute &amp;quot;PUBLIC_NETWORK_AVAILABLE&amp;quot; whose value can be &amp;quot;old&amp;quot; or &amp;quot;new&amp;quot;. This way, when creating VM templates, you can add this expression in the &amp;quot;Scheduling&amp;quot; section :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUBLIC_NETWORK_AVAILABLE = \&amp;quot;new\&amp;quot;&lt;br /&gt;
or&lt;br /&gt;
PUBLIC_NETWORK_AVAILABLE = \&amp;quot;old\&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
so that VMs get instantiated in a suitable vHost.&lt;br /&gt;
=== Infrastructure - Virtual Networks ===&lt;br /&gt;
Three different virtual networks were created : &amp;quot;OldPublic_T2B&amp;quot;, &amp;quot;Public_T2B&amp;quot; and &amp;quot;Private_T2B&amp;quot;. In the &amp;quot;Addresses&amp;quot; section of each network, I&amp;#039;ve added the addresses already in use in the KVM farm, together with the corresponding MAC addresses. This way, when importing existing VMs in the T2B cloud, you just have to specify the IP in the machine template, and then it gets leased when the template is instantiated.&lt;br /&gt;
&lt;br /&gt;
== Procedure to migrate a VM to the T2B cloud ==&lt;br /&gt;
#Shut down the machine.&lt;br /&gt;
2. Copy its image to volta:/tank/disk_images (have a look at /etc/fstab on dom02 to see how it is mounted).&lt;br /&gt;
3. In Sunstone, import the image : create a new one, provide the path of the original image, and DON&amp;#039;T FORGET TO SELECT THE &amp;quot;Persistent&amp;quot; CHECKBOX ! In the advanced options, set &amp;quot;Device prefix&amp;quot; to &amp;quot;vd&amp;quot; so that the virtio driver is used, and set &amp;quot;Driver&amp;quot; to &amp;quot;raw&amp;quot;.&lt;br /&gt;
4. In Sunstone, create the machine template... (Storage : select the VM image you&amp;#039;ve created in the previous step, and to the following : &amp;quot;Device prefix&amp;quot; -&amp;gt; &amp;quot;vd&amp;quot;, &amp;quot;Driver&amp;quot; -&amp;gt; &amp;quot;raw&amp;quot;, &amp;quot;Cache&amp;quot; -&amp;gt; &amp;quot;none&amp;quot;;....)&lt;br /&gt;
&lt;br /&gt;
== Status of the migration ==&lt;br /&gt;
=== 18th of March 2015 ===&lt;br /&gt;
vHosts in the OpenNebula cloud :&lt;br /&gt;
*dom02 and dom11 : connected to new public network&lt;br /&gt;
*dom07, dom08, dom09 : connected to the old public network&lt;br /&gt;
vHosts that are still to migrate :&lt;br /&gt;
*dom04 : connected to 3 networks (old public, new public, and private), and actually, at least one vm on it is using the 3 (egon)&lt;br /&gt;
*dom05 : connected to old public and private networks; the vm qrepo_begrid is using a volume group begrid_qrepo_data that is on /dev/sdb1&lt;br /&gt;
*dom06 : connected to 3 networks like dom04; it is only hosting cdns02 (private DNS ns10); this machine is also used as a MySQL server for accounting statistics&lt;br /&gt;
*dom10 : connected to new public and private networks&lt;br /&gt;
&lt;br /&gt;
=== 25th of March 2015 ===&lt;br /&gt;
We have upgraded the whole cloud (front-end and nodes) to OpenNebula 4.12 following this [http://docs.opennebula.org/4.12/release_notes/release_notes/upgrade_48.html procedure].&lt;br /&gt;
We faced only one problem after the migration : Sunstone web interface was not reachable. The reason for this was that /etc/one/sunstone-server.conf was replaced during the upgrade, and so the server configuration went back to :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:host: 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
instead of :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:host: 0.0.0.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problems I&amp;#039;ve met ==&lt;br /&gt;
=== VMs with several NICs ===&lt;br /&gt;
I tried to install with Quattor a VM having two network interfaces (eth0 -&amp;gt; public network, eth1 -&amp;gt; private network). The machine was expected to PXE-boot from the second NIC, but that&amp;#039;s not what happened : it first tried to boot from the first NIC, and then it stopped, instead of going on further with the second NIC. The problem was coming from the default behavior of the iPXE rom. In the past, in the KVM farm, the vHosts were using gPXE, whose behavior was correct in case of several NICs. With CentOS 7, gPXE has been replaced by iPXE, a fork of the gPXE project. Solutions :&lt;br /&gt;
#You can alter the behavior of a iPXE rom with an embedded menu, as it is explained [http://www.rehmert.com/2013/12/create-ipxe-boot-media-for-multiple-pxe-sourcesnetworks/ here]. On this [http://ipxe.org/embed page], it is explained how to create iPXE menus. (I&amp;#039;ve also found this [https://rom-o-matic.eu/ page], but I don&amp;#039;t know if it can be used to create roms compatible with KVM.)&lt;br /&gt;
2. You can get back to gPXE :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@dom06 ~]# scp -r /usr/share/gpxe dom02.wn.iihe.ac.be:/usr/share/&lt;br /&gt;
[root@dom02 ~]# cd /usr/share/qemu-kvm/&lt;br /&gt;
[root@dom02 qemu-kvm]# rm pxe-*&lt;br /&gt;
[root@dom02 qemu-kvm]# ln -s ../gpxe/e1000-0x100e.rom pxe-e1000.rom&lt;br /&gt;
[root@dom02 qemu-kvm]# ln -s ../gpxe/ne.rom pxe-ne2k_pci.rom&lt;br /&gt;
[root@dom02 qemu-kvm]# ln -s ../gpxe/pcnet32.rom pxe-pcnet.rom&lt;br /&gt;
[root@dom02 qemu-kvm]# ln -s ../gpxe/rtl8139.rom pxe-rtl8139.rom&lt;br /&gt;
[root@dom02 qemu-kvm]# ln -s ../gpxe/virtio-net.rom pxe-virtio.rom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 If you want to restore iPXE :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pxe-e1000.rom -&amp;gt; ../ipxe/8086100e.rom&lt;br /&gt;
pxe-ne2k_pci.rom -&amp;gt; ../ipxe/10ec8029.rom&lt;br /&gt;
pxe-pcnet.rom -&amp;gt; ../ipxe/10222000.rom&lt;br /&gt;
pxe-rtl8139.rom -&amp;gt; ../ipxe/10ec8139.rom&lt;br /&gt;
pxe-virtio.rom -&amp;gt; ../ipxe/1af41000.rom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TracNotice|{{PAGENAME}}}}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>