mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-30 19:02:27 +00:00 
			
		
		
		
	Merge pull request #1979 from gurevichmark/RHEV_docs
Add RHEV KVM documentation
This commit is contained in:
		| @@ -0,0 +1,58 @@ | ||||
|  | ||||
|    At the time of this writing there is no ISO image availabe for RHEV. Individual RPM packages need to be downloaded. | ||||
|  | ||||
|    * Download *Management-Agent-Power-7* and *Power_Tools-7* RPMs from RedHat to the xCAT management node. Steps below assume all RPMs were downloaded to ``/install/post/otherpkgs/rhels7.3/ppc64le/RHEV4/4.0-GA`` | ||||
|  | ||||
|    * Create a yum repository for the downloaded RPMs :: | ||||
|  | ||||
|       createrepo /install/post/otherpkgs/rhels7.3/ppc64le/RHEV4/4.0-GA | ||||
|  | ||||
|    * Create new osimage definition based on an existing RHEL7 osimage definition :: | ||||
|  | ||||
|       mkdef -t osimage -o rhels7.3-ppc64le-RHEV4-install-compute \ | ||||
|          --template rhels7.3-ppc64le-install-compute | ||||
|  | ||||
|    * Modify ``otherpkgdir`` attribute to point to the package directory with downloaded RPMs :: | ||||
|  | ||||
|       chdef -t osimage rhels7.3-ppc64le-RHEV4-install-compute \ | ||||
|          otherpkgdir=/install/post/otherpkgs/rhels7.3/ppc64le/RHEV4/4.0-GA | ||||
|  | ||||
|    * Create a new package list file ``/install/custom/rhels7.3/ppc64le/rhelv4.pkglist`` to include necessary packages provided from the OS. ::  | ||||
|  | ||||
|       #INCLUDE:/opt/xcat/share/xcat/install/rh/compute.rhels7.pkglist# | ||||
|       bridge-utils | ||||
|  | ||||
|    * Modify ``pkglist`` attribute to point to the package list file from the step above :: | ||||
|  | ||||
|       chdef -t osimage rhels7.3-snap3-ppc64le-RHEV4-install-compute \ | ||||
|          pkglist=/install/custom/rhels7.3/ppc64le/rhelv4.pkglist | ||||
|  | ||||
|    * Create a new package list file ``/install/custom/rhels7.3/ppc64le/rhev4.otherpkgs.pkglist`` to list required packages :: | ||||
|  | ||||
|       libvirt  | ||||
|       qemu-kvm-rhev  | ||||
|       qemu-kvm-tools-rhev  | ||||
|       virt-manager-common  | ||||
|       virt-install | ||||
|  | ||||
|    * Modify ``otherpkglist`` attribute to point to the package list file from the step above :: | ||||
|  | ||||
|       chdef -t osimage rhels7.3-snap3-ppc64le-RHEV4-install-compute \ | ||||
|          otherpkglist=/install/custom/rhels7.3/ppc64le/rhev4.otherpkgs.pkglist | ||||
|  | ||||
|    * The RHEV osimage should look similar to: :: | ||||
|  | ||||
|       Object name: rhels7.3-ppc64le-RHEV4-install-compute | ||||
|           imagetype=linux | ||||
|           osarch=ppc64le | ||||
|           osdistroname=rhels7.3-ppc64le | ||||
|           osname=Linux | ||||
|           osvers=rhels7.3 | ||||
|           otherpkgdir=/install/post/otherpkgs/rhels7.3/ppc64le/RHEV4/4.0-GA | ||||
|           otherpkglist=/install/custom/rhels7.3/ppc64le/rhev4.otherpkgs.pkglist | ||||
|           pkgdir=/install/rhels7.3/ppc64le | ||||
|           pkglist=/install/custom/rhels7.3/ppc64le/rhelv4.pkglist | ||||
|           profile=compute | ||||
|           provmethod=install | ||||
|           template=/opt/xcat/share/xcat/install/rh/compute.rhels7.tmpl | ||||
|  | ||||
| @@ -0,0 +1,85 @@ | ||||
| Install and Configure Hypervisor | ||||
| ================================ | ||||
|  | ||||
| Provision Hypervisor | ||||
| -------------------- | ||||
|  | ||||
| * **[PowerKVM]** | ||||
|  | ||||
|    .. include:: pKVMHypervisor.rst | ||||
|  | ||||
| * **[RHEV]** | ||||
|  | ||||
|    .. include:: RHEVHypervisor.rst | ||||
|  | ||||
| #. Customize the hypervisor node definition to create network bridge | ||||
|  | ||||
|    xCAT ships a postscript **xHRM** to create a network bridge on kvm host during installation/netbooting. Specify the **xHRM** with appropriate parameters in  **postscripts** attibute. For example: | ||||
|  | ||||
|    * To create a bridge named 'br0' against the installation network device specified by **installnic**: :: | ||||
|  | ||||
|         chdef kvmhost1 -p postscripts="xHRM bridgeprereq br0" | ||||
|  | ||||
|    * To create a bridge with default name 'default' against the installation network device specified by **installnic**: :: | ||||
|  | ||||
|         chdef kvmhost1 -p postscripts="xHRM bridgeprereq" | ||||
|  | ||||
|    * To create a bridge named 'br0' against the network device 'eth0': :: | ||||
|  | ||||
|         chdef kvmhost1 -p postscripts="xHRM bridgeprereq eth0:br0" | ||||
|  | ||||
|    **Note**: The network bridge name you use should not be the virtual bridges (vbrX) created by libvirt installation  [1]_.  | ||||
|  | ||||
|  | ||||
| #. Customize the hypervisor node definition to mount the shared kvm storage directory on management node **(optional)** | ||||
|  | ||||
|    If the shared kvm storage directory on the management node has been exported, it can be mounted on PowerKVM hypervisor for virtual machines hosting.  | ||||
|  | ||||
|    An easy way to do this is to create another postscript named "mountvms" which creates a directory **/install/vms** on hypervisor and then mounts **/install/vms** from the management node, the content of "mountvms" can be: :: | ||||
|  | ||||
|      logger -t xcat "Install: setting vms mount in fstab" | ||||
|      mkdir -p /install/vms | ||||
|      echo "$MASTER:/install/vms /install/vms nfs \ | ||||
|            rsize=8192,wsize=8192,timeo=14,intr,nfsvers=2 1 2" >> /etc/fstab | ||||
|  | ||||
|  | ||||
|    Then set the file permission and specify the script in **postscripts** attribute of hypervisor node definition: :: | ||||
|  | ||||
|      chmod 755 /install/postscripts/mountvms | ||||
|      chdef kvmhost1 -p postscripts=mountvms | ||||
|  | ||||
| #. Provision the hypervisor node with the osimage :: | ||||
|  | ||||
|     nodeset kvmhost1 osimage=<osimage_name> | ||||
|     rpower kvmhost1 boot | ||||
|  | ||||
|  | ||||
| Create network bridge on hypervisor  | ||||
| ------------------------------------ | ||||
|  | ||||
| To launch VMs, a network bridge must be created on the KVM hypervisor.  | ||||
|  | ||||
| If the hypervisor is provisioned successfully according to the steps described above, a network bridge will be created and attached to a physical interface. This can be checked by running ``brctl show`` on the hypervisor to show the network bridge information, please make sure a network bridge has been created and configured according to the parameters passed to postscript "xHRM" :: | ||||
|  | ||||
|    # brctl show | ||||
|    bridge name     bridge id               STP enabled     interfaces | ||||
|    br0             8000.000000000000       no              eth0 | ||||
|  | ||||
|  | ||||
| If the network bridge is not created or configured successfully, run "xHRM" with **updatenode** on managememt node to create it manually::: | ||||
|  | ||||
|    updatenode kvmhost1  -P "xHRM bridgeprereq eth0:br0" | ||||
|  | ||||
| Start libvirtd service | ||||
| ---------------------- | ||||
|  | ||||
| Verify **libvirtd** service is running: :: | ||||
|  | ||||
|    systemctl status libvirtd | ||||
|  | ||||
| If service is not running, it can be started with: :: | ||||
|  | ||||
|    systemctl start libvirtd | ||||
|  | ||||
| .. [1] Every standard libvirt installation provides NAT based connectivity to virtual machines out of the box using the "virtual bridge" interfaces (virbr0, virbr1, etc)  Those will be created by default. | ||||
|  | ||||
| @@ -26,12 +26,12 @@ The xCAT based KVM solution offers users the ability to: | ||||
| *  install copy on write instances of virtual machines | ||||
| *  clone virtual machines | ||||
|  | ||||
| This section introduces the steps of management node preparation, KVM hypervisor setup and virtual machine management, and presents some typical problems and solutions on xCAT kvm support. | ||||
| This section introduces the steps of management node preparation, hypervisor setup and virtual machine management, and presents some typical problems and solutions on xCAT kvm support. | ||||
|  | ||||
| .. toctree:: | ||||
|    :maxdepth: 2 | ||||
|  | ||||
|    kvmMN.rst | ||||
|    powerKVM.rst | ||||
|    hypervisorKVM.rst | ||||
|    manage_vms.rst | ||||
|    FAQ.rst | ||||
|   | ||||
| @@ -0,0 +1,20 @@ | ||||
|  | ||||
|    Obtain a PowerKVM ISO and create PowerKVM osimages with it: ::  | ||||
|  | ||||
|      copycds ibm-powerkvm-3.1.0.0-39.0-ppc64le-gold-201511041419.iso | ||||
|      | ||||
|    The following PowerKVM osimage will be created :: | ||||
|       | ||||
|      # lsdef -t osimage -o pkvm3.1-ppc64le-install-compute | ||||
|      Object name: pkvm3.1-ppc64le-install-compute | ||||
|          imagetype=linux | ||||
|          osarch=ppc64le | ||||
|          osdistroname=pkvm3.1-ppc64le | ||||
|          osname=Linux | ||||
|          osvers=pkvm3.1 | ||||
|          otherpkgdir=/install/post/otherpkgs/pkvm3.1/ppc64le | ||||
|          pkgdir=/install/pkvm3.1/ppc64le | ||||
|          profile=compute | ||||
|          provmethod=install | ||||
|          template=/opt/xcat/share/xcat/install/pkvm/compute.pkvm3.ppc64le.tmpl | ||||
|  | ||||
| @@ -1,92 +0,0 @@ | ||||
| Setup PowerKVM Hypervisor | ||||
| ========================= | ||||
|  | ||||
|  | ||||
| Provision Hypervisor with PowerKVM | ||||
| ---------------------------------- | ||||
|  | ||||
|  | ||||
| Please follow the :ref:`Diskful Installation <diskful_installation>` to provision kvm hypervisor with PowerKVM, several customization steps should be taken into consideration. | ||||
|  | ||||
| To demonstrate the brief steps on hypervisor provision, take **ibm-powerkvm-3.1.0.0-39.0-ppc64le-gold-201511041419.iso** for example here: | ||||
|   | ||||
| #. Obtain a PowerKVM iso and create PowerKVM osimages with it: ::  | ||||
|  | ||||
|      copycds ibm-powerkvm-3.1.0.0-39.0-ppc64le-gold-201511041419.iso | ||||
|      | ||||
|    The following PowerKVM osimage will be created on success :: | ||||
|       | ||||
|      # lsdef -t osimage -o pkvm3.1-ppc64le-install-compute | ||||
|      Object name: pkvm3.1-ppc64le-install-compute | ||||
|          imagetype=linux | ||||
|          osarch=ppc64le | ||||
|          osdistroname=pkvm3.1-ppc64le | ||||
|          osname=Linux | ||||
|          osvers=pkvm3.1 | ||||
|          otherpkgdir=/install/post/otherpkgs/pkvm3.1/ppc64le | ||||
|          pkgdir=/install/pkvm3.1/ppc64le | ||||
|          profile=compute | ||||
|          provmethod=install | ||||
|          template=/opt/xcat/share/xcat/install/pkvm/compute.pkvm3.ppc64le.tmpl | ||||
|  | ||||
| #. Customize the hypervisor node definition to create network bridge | ||||
|  | ||||
|    xCAT ships a postscript **xHRM** to create a network bridge on kvm host during installation/netbooting. Please specify the **xHRM** with appropriate parameters in  **postscripts** attibute. Here is some examples on this: | ||||
|  | ||||
|    To create a bridge with default name 'default' against the installation network device which was specified by **installnic** attribute :: | ||||
|  | ||||
|      chdef kvmhost1 -p postscripts="xHRM bridgeprereq" | ||||
|  | ||||
|    To create a bridge named 'br0' against the installation network device which was specified by **installnic** attribute(recommended) :: | ||||
|  | ||||
|      chdef kvmhost1 -p postscripts="xHRM bridgeprereq br0" | ||||
|  | ||||
|    To create a bridge named 'br0' against the network device 'eth0' :: | ||||
|  | ||||
|      chdef kvmhost1 -p postscripts="xHRM bridgeprereq eth0:br0" | ||||
|  | ||||
|    **Note**: The network bridge name you use should not be the virtual bridges created by libvirt installation  [1]_.  | ||||
|  | ||||
|  | ||||
| #. Customize the hypervisor node definition to mount the shared kvm storage directory on management node **(optional)** | ||||
|  | ||||
|    If the shared kvm storage directory on the management node has been exported, it can be mounted on PowerKVM hypervisor for virtual machines hosting.  | ||||
|  | ||||
|    An easy way to do this is to create another postscript named "mountvms" which creates a directory **/install/vms** on hypervisor and then mounts **/install/vms** from the management node, the content of "mountvms" can be: :: | ||||
|  | ||||
|      logger -t xcat "Install: setting vms mount in fstab" | ||||
|      mkdir -p /install/vms | ||||
|      echo "$MASTER:/install/vms /install/vms nfs \ | ||||
|            rsize=8192,wsize=8192,timeo=14,intr,nfsvers=2 1 2" >> /etc/fstab | ||||
|  | ||||
|  | ||||
|    Then set the file permission and specify the script in **postscripts** attribute of hypervisor node definition: :: | ||||
|  | ||||
|      chmod 755 /install/postscripts/mountvms | ||||
|      chdef kvmhost1 -p postscripts=mountvms | ||||
|  | ||||
| #. Provision the hypervisor node with the PowerKVM osimage :: | ||||
|  | ||||
|     nodeset kvmhost1 osimage=pkvm3.1-ppc64le-install-compute | ||||
|     rpower kvmhost1 boot | ||||
|  | ||||
|  | ||||
| Create network bridge on hypervisor  | ||||
| ------------------------------------ | ||||
|  | ||||
| To launch VMs, a network bridge must be created on the PowerKVM hypervisors.  | ||||
|  | ||||
| If the hypervisor is provisioned successfully according to the steps described above, a network bridge will be created and attached to a physical interface. This can be checked by running ``brctl show`` on the hypervisor to show the network bridge information, please make sure a network bridge has been created and configured according to the parameters passed to postscript "xHRM" :: | ||||
|  | ||||
|    # brctl show | ||||
|    bridge name     bridge id               STP enabled     interfaces | ||||
|    br0             8000.000000000000       no              eth0 | ||||
|  | ||||
|  | ||||
| If the network bridge is not created or configured successfully, please run "xHRM" with **updatenode** on managememt node to create it manually::: | ||||
|  | ||||
|    updatenode kvmhost1  -P "xHRM bridgeprereq eth0:br0" | ||||
|   | ||||
|  | ||||
| .. [1] Every standard libvirt installation provides NAT based connectivity to virtual machines out of the box using the "virtual bridge" interfaces (virbr0, virbr1, etc)  Those will be created by default. | ||||
|  | ||||
		Reference in New Issue
	
	Block a user