{"id":311,"date":"2018-02-16T18:31:32","date_gmt":"2018-02-16T17:31:32","guid":{"rendered":"\/wordpress\/?p=311"},"modified":"2018-03-11T16:39:12","modified_gmt":"2018-03-11T15:39:12","slug":"deploying-ovirt-in-self-hosted-mode","status":"publish","type":"post","link":"\/wordpress\/linux\/deploying-ovirt-in-self-hosted-mode\/","title":{"rendered":"Deploying oVirt in self-hosted mode"},"content":{"rendered":"<p>Deploying the virtualisation platform <a href=\"https:\/\/www.ovirt.org\/\">oVirt<\/a> can be quite cumbersome. These are my installation notes on how to set it up in self-hosted mode where the engine-server runs as a guest in a VM instead of running on the host itself &#8211; much like the vCenter server of VMWare.<\/p>\n<h2>Pre-install tasks<\/h2>\n<p>As my network-setup consists of tagged vlans I set up the network manually beforehand. The oVirt installation will require a pingable gateway and DNS, unless setting up entries in \/etc\/hosts. So while additional configuration will be made in oVirt itself once it&#8217;s set up, the initial configuration in my case had to be manually set up.<\/p>\n<h3>ifcfg-enp3s0<\/h3>\n<pre><code>TYPE=Ethernet\r\nBOOTPROTO=none\r\nNAME=enp3s0\r\nDEVICE=enp3s0\r\nONBOOT=yes<\/code><\/pre>\n<h3>ifcfg-enp3s0.100<\/h3>\n<pre><code>DEVICE=enp3s0.100\r\nVLAN=yes\r\nBRIDGE=br0.100\r\nONBOOT=yes<\/code><\/pre>\n<h3>ifcfg-br0.100<\/h3>\n<pre><code>DEVICE=br0.100\r\nTYPE=Bridge\r\nBOOTPROTO=none\r\nONBOOT=yes\r\nIPADDR=192.168.0.29\r\nNETMASK=255.255.255.0\r\nGATEWAY=192.168.0.248\r\nDNS1=192.168.0.136\r\nDNS2=192.168.0.146\r\nSEARCH=\"home.strahlert.net s2.strahlert.net\"\r\nDEFROUTE=yes\r\nUSERCTL=no<\/code><\/pre>\n<p>This is how you&#8217;d normally set up bridged tagged VLAN interfaces in RHEL. The bridge carries the IP-address.<\/p>\n<p>However, oVirt wants to create an &#8220;ovirtmgmt&#8221; interface which would conflict with my br0.100 interface. I disabled the br0.100 and transferred all IP information to the VLAN interface enp3s0.100 instead. Thus making room for oVirt to create its &#8220;ovirtmgmt&#8221; interface and let it set an IP-address on that.<\/p>\n<h2>Shared storage<\/h2>\n<p>oVirt requires a shared storage. That storage can be run on the host itself. I opted for an NFS share. The export filesystem must be chowned vdsm:kvm (uid 36\/gid 36).<\/p>\n<h3>\/etc\/exports<\/h3>\n<pre><code>\/kvm\/iso        *(rw,anonuid=36,anongid=36,all_squash)\r\n\/kvm\/vm         *(rw,anonuid=36,anongid=36,all_squash)\r\n\/kvm\/export     *(rw,anonuid=36,anongid=36,all_squash)<\/code><\/pre>\n<p>Make sure the exported filesystems can indeed be mounted. When running firewalld, add the following services: nfs, rpcbind and mountd.<\/p>\n<h2>Deploy<\/h2>\n<p>The installation script nowadays uses Ansible to configure itself. I could not get this to fully work in either of versions 4.2.0 nor 4.2.1. It turns out the undocumented switch <code>--noansible<\/code> let the install script behave in the old unsupported fashion, but that atleast worked.<\/p>\n<pre><code>yum install http:\/\/resources.ovirt.org\/pub\/yum-repo\/ovirt-release42.rpm\r\nyum install ovirt-hosted-engine-setup ovirt-engine-appliance\r\nhosted-engine --deploy --noansible<\/code><\/pre>\n<p>After a while the engine-server is deployed and can be managed by pointing a webbrowser to it. The initial task is to import the storage domain of the shared storage (ie the NFS-server) and activate it. After a short while the data center will be up and running.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Deploying the virtualisation platform oVirt can be quite cumbersome. These are my installation notes on how to set it up in self-hosted mode where the engine-server runs as a guest in a VM instead of running on the host itself &#8211; much like the vCenter server of VMWare. Pre-install tasks As my network-setup consists of <span class=\"ellipsis\">&hellip;<\/span> <span class=\"more-link-wrap\"><a href=\"\/wordpress\/linux\/deploying-ovirt-in-self-hosted-mode\/\" class=\"more-link\"><span>Read More &rarr;<\/span><\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[52,20],"tags":[48,50,30,34,51,49,33,28],"_links":{"self":[{"href":"https:\/\/wp.strahlert.net\/wordpress\/wp-json\/wp\/v2\/posts\/311"}],"collection":[{"href":"https:\/\/wp.strahlert.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.strahlert.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.strahlert.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.strahlert.net\/wordpress\/wp-json\/wp\/v2\/comments?post=311"}],"version-history":[{"count":9,"href":"https:\/\/wp.strahlert.net\/wordpress\/wp-json\/wp\/v2\/posts\/311\/revisions"}],"predecessor-version":[{"id":339,"href":"https:\/\/wp.strahlert.net\/wordpress\/wp-json\/wp\/v2\/posts\/311\/revisions\/339"}],"wp:attachment":[{"href":"https:\/\/wp.strahlert.net\/wordpress\/wp-json\/wp\/v2\/media?parent=311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.strahlert.net\/wordpress\/wp-json\/wp\/v2\/categories?post=311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.strahlert.net\/wordpress\/wp-json\/wp\/v2\/tags?post=311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}