Upgrade to Pro — share decks privately, control downloads, hide ads and more …

oVirt introduction and overview

oVirt introduction and overview

oVirt presentation from the CentOS Dojo Antwerp 2013

Vincent Van der Kussen

April 11, 2013
Tweet

More Decks by Vincent Van der Kussen

Other Decks in Technology

Transcript

  1. DOJO Why this talk? Why this talk? • Initial oVirt

    relaeses based on Fedora Initial oVirt relaeses based on Fedora • Now being build for .el6 by oVirt project Now being build for .el6 by oVirt project • Goal : Testing CentOS builds Goal : Testing CentOS builds You can help!
  2. DOJO CentOS repo CentOS repo [ovirt_test] name=CentOS-$releasever - oVirt-Test baseurl=http://dev.centos.org/centos/6/ovirt/x86_64/

    gpgcheck=1 Priority=1 enabled=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY- CentOS-Testing-6
  3. DOJO What is oVirt What is oVirt (10.000 feet view)

    (10.000 feet view) * Can be part of a cloud setup • NACP - Not Another Cloud Platform* NACP - Not Another Cloud Platform* • Virtualization management platform. Virtualization management platform. • KVM KVM • Key components : Key components : – oVirt Engine oVirt Engine (management) (management) – oVirt Node oVirt Node (hypervisor) (hypervisor)
  4. DOJO Some features Some features • Live migration Live migration

    • Load balancing Load balancing • Hot Plug Hot Plug disks and NICs disks and NICs • ISCSI, FC, NFS, Gluster ISCSI, FC, NFS, Gluster • Snapshots Snapshots • WebUI, API, shell WebUI, API, shell • VLANs, Bonds VLANs, Bonds • Quota Quota – Limit users or groups to a certain amount of resources Limit users or groups to a certain amount of resources
  5. DOJO ovirt-engine ovirt-engine • Java app running on JBoss Java

    app running on JBoss • Provides Provides – Web based interface Web based interface – API API • Authentication / Authorization Authentication / Authorization – Currently only FreeIPA / AD / IBM Currently only FreeIPA / AD / IBM – 1 local admin account 1 local admin account • Stores VM info in DB Stores VM info in DB
  6. DOJO Installing: Creating JBoss Profile... [ DONE ] Creating CA...

    [ DONE ] Setting Database Security... [ DONE ] Creating Database... [ DONE ] Updating the Default Data Center Storage Type... [ DONE ] Editing JBoss Configuration... [ DONE ] Editing oVirt Engine Configuration... [ DONE ] Configuring the Default ISO Domain... [ DONE ] Starting JBoss Service... [ DONE ] Configuring Firewall (iptables)... [ DONE ] **** Installation completed successfully *****
  7. DOJO oVirt Node oVirt Node • Hypervisor host Hypervisor host

    • 2 ways to install 2 ways to install – ISO ISO (jeos) (jeos) • PXE PXE • USB USB • Needs approval in ovirt-engine Needs approval in ovirt-engine – Existing/new CentOS install Existing/new CentOS install • Install triggered from the ovirt-engine Install triggered from the ovirt-engine
  8. DOJO Terminologie Terminologie • DATACENTER(S) DATACENTER(S) • That contains That

    contains CLUSTER(S) CLUSTER(S) • That contains That contains HOSTS,NETWORKS HOSTS,NETWORKS • That contains That contains VMs VMs
  9. DOJO Datacenter Datacenter • Does not mean a physical DC

    :-) Does not mean a physical DC :-) • Logical container of resources. Logical container of resources. – Hosts, networks, storage, .... Hosts, networks, storage, .... • Can have max. 200 hosts (=physical) Can have max. 200 hosts (=physical) • SPM (Storage Pool Manager) SPM (Storage Pool Manager) – Runs on Runs on one host one host in the datacenter in the datacenter
  10. DOJO Cluster Cluster • Logical group of hosts. Logical group

    of hosts. • Enable Gluster / Virt service Enable Gluster / Virt service • Cluster policy Cluster policy – Power saving Power saving – Even distribution Even distribution • Resilience policy Resilience policy – Set whether VMs can migrate in the cluster. Set whether VMs can migrate in the cluster.
  11. DOJO Hosts Hosts • They run VMs. Yeay! They run

    VMs. Yeay! • SPM priority SPM priority • Connect to storage Connect to storage • Runs the VDSM daemon Runs the VDSM daemon • .... that's it .... that's it
  12. DOJO VDSM VDSM • V Virtual irtual D Desktop and

    esktop and S Server erver M Manager anager • Runs on the hypervisor node Runs on the hypervisor node • Tracks memory and network resources Tracks memory and network resources • Manages vm creation, log collection, shared Manages vm creation, log collection, shared storage, .. storage, .. • Communicates with Communicates with – Libvirt for VM lifecycle Libvirt for VM lifecycle – oVirt-agent (runs on VM) oVirt-agent (runs on VM)
  13. DOJO VDSM Hooks VDSM Hooks • Use new Libvirt/KVM Use

    new Libvirt/KVM feature. feature. • Can be initiated at Can be initiated at the Vms lifecycle the Vms lifecycle
  14. DOJO Storage Storage • File based File based – NFS

    NFS – POSIX POSIX – Gluster Gluster • QCOW2 and RAW QCOW2 and RAW • Block based Block based – FC FC – iSCSI iSCSI • LUN LUN • Direct LUN Direct LUN
  15. DOJO Storage Pool Manager Storage Pool Manager • One One

    SPM in each Datacenter SPM in each Datacenter • Can write storage domain metadata Can write storage domain metadata – Other hosts read from here Other hosts read from here • SPM role is selected by the ovirt-engine SPM role is selected by the ovirt-engine
  16. DOJO Storage Domains Storage Domains • ISO domain ISO domain

    – NFS share NFS share – Holds the ISOs of a Datacenter Holds the ISOs of a Datacenter • EXPORT domain EXPORT domain – NFS NFS – Export / Import VMs Export / Import VMs • DATA domain DATA domain – Holds the VM disks Holds the VM disks
  17. DOJO Storage Domains Storage Domains (block based!) (block based!) •

    Storage Domain = Volume Group Storage Domain = Volume Group [root@node-05 ~]# vgs VG #PV #LV #SN Attr VSize VFree 9d1a1691-9d36-49b7-bc8a-aac13175689a 1 15 0 wz--n- 1.82t 1.72t vg_node05 1 3 0 wz--n- 465.27g 0 [root@node-05 ~]#
  18. DOJO [oVirt shell (connected)]# list storagedomains id : 9d1a1691-9d36-49b7-bc8a-aac13175689a name

    : DATA1 id : 88ead5c8-6747-4378-8529-4638524cef09 name : ISO [oVirt shell (connected)]# VG maps to the Storage Domain's Id
  19. DOJO [oVirt shell (connected)]# list disks --vm-identifier centos_srv02 id :

    a0807542-d2e4-41d4-8873-4afe52285992 name : centos_srv01_Disk1 [oVirt shell (connected)]# So disks are LVs then? Could it be? Let's find out....
  20. DOJO [oVirt shell (connected)]# show disk --id a0807542-d2e4-41d4-8873- 4afe52285992 id

    : a0807542-d2e4-41d4-8873-4afe52285992 name : centos_srv01_Disk1 actual_size : 1073741824 alias : centos_srv01_Disk1 bootable : True format : cow image_id : e070da65-5ff1-4248-bee5-42e6dbeaa627 interface : virtio propagate_errors : False provisioned_size : 21474836480 quota-id : 00000000-0000-0000-0000-000000000000 shareable : False size : 21474836480 sparse : True status-state : ok storage_domains-storage_domain-id: 9d1a1691-9d36-49b7-bc8a-aac13175689a wipe_after_delete : False [oVirt shell (connected)]# Volume Group
  21. DOJO [root@node-05 ~]# lvs LV VG Attr LSize Pool Origin

    Data% Move Log Cpy%Sync Convert 0cda4fd9-5cc6-43ae-b5fe-4900e9184cc5 9d1a1691-9d36-49b7-bc8a-aac13175689a -wi-ao--- 1.00g 2393c936-4e77-41e1-aa16-8a2fd122eca9 9d1a1691-9d36-49b7-bc8a-aac13175689a -wi-ao--- 2.00g 4239e2b1-60cf-4f5c-a362-aefe12519810 9d1a1691-9d36-49b7-bc8a-aac13175689a -wi-ao--- 20.00g 709f5ab6-9b96-461e-b3c9-b078c7fcc898 9d1a1691-9d36-49b7-bc8a-aac13175689a -wi-a---- 20.00g b5aa7025-cb68-4a87-9fcb-2536ca6fb93b 9d1a1691-9d36-49b7-bc8a-aac13175689a -wi-ao--- 5.00g b85450b0-f068-4938-a827-55fe8c1339e6 9d1a1691-9d36-49b7-bc8a-aac13175689a -wi-ao--- 20.00g e070da65-5ff1-4248-bee5-42e6dbeaa627 9d1a1691-9d36-49b7-bc8a-aac13175689a -wi-a---- 1.00g f3797b3c-c9d7-4e6b-a20f-bbcabecd59df 9d1a1691-9d36-49b7-bc8a-aac13175689a -wi------ 10.00g fd45936b-5bfa-4d39-b0c7-0f2558c33260 9d1a1691-9d36-49b7-bc8a-aac13175689a -wi-ao--- 20.00g
  22. DOJO Storage Allocation Storage Allocation • Preallocated Preallocated – Better

    performance Better performance – Typically for machines with high IO Typically for machines with high IO • Sparsely allocated Sparsely allocated – Test machines, desktops Test machines, desktops – Grows with 1GB chunks Grows with 1GB chunks
  23. DOJO Storage features Storage features • Live Snapshots Live Snapshots

    • Live storage migration Live storage migration • Clone from snapshots Clone from snapshots
  24. DOJO Networks Networks • Logical networks Logical networks – ovirtmgm

    ovirtmgm is defined by default is defined by default – Group network traffic. Ex : storage network, vlan Group network traffic. Ex : storage network, vlan – Defined at the Defined at the datacenter level datacenter level – Can be made required at the cluster level Can be made required at the cluster level – It's actually a Bridge It's actually a Bridge
  25. DOJO Networks Networks [root@node-05 ~]# brctl show bridge name bridge

    id STP enabled interfaces ;vdsmdummy; 8000.000000000000 no deathstar 8000.002590374880 no eth0.2 dojo_net 8000.002590374880 no eth0.1 ovirtmgmt 8000.002590374881 no eth1
  26. DOJO Networks Networks • vNICS are connected to the logical

    network = vNICS are connected to the logical network = bridge bridge
  27. DOJO Networks Networks Combinations Combinations • NICS + BRIDGE NICS

    + BRIDGE • BONDS + BRIDGE BONDS + BRIDGE • NIC + VLANs + Multiple Bridges NIC + VLANs + Multiple Bridges • BOND + VLANs + Multiple Bridges BOND + VLANs + Multiple Bridges
  28. DOJO • Web interface Web interface – Administrator Administrator –

    User portal User portal • CLI CLI • SDK SDK – Python Python – Java Java
  29. DOJO ovirt-shell ovirt-shell • Manage oVirt from the CLI Manage

    oVirt from the CLI • Has tab completion Has tab completion • Wrapper for REST API Wrapper for REST API • Same functionality than the web interface Same functionality than the web interface
  30. DOJO # yum install ovirt-engine-cli On Fedora / CentOS Or

    from PyPi pip-python install ovirt-shell
  31. DOJO [oVirt shell (connected)]# ping success: oVirt manager could be

    reached OK. [oVirt shell (connected)]# Test Connection
  32. DOJO [oVirt shell (connected)]# list vms |grep name name :

    centos_srv01 name : centos_srv02 name : centos-srv03 name : clone_from_snap name : serverfromcli name : testfrom-cli [oVirt shell (connected)]# Pipe output
  33. DOJO list vms --query status=down Run queries Start / stop

    a VM action vm centos_srv02 start action vm centos_srv02 stop
  34. DOJO add host --address node-10.test.btr.local --root_password centosdojo --cluster-name ninja_team --name

    node- 10.test.btr.local Add a hypervisor host add vm --name serverfromcli --cluster-name ninja_team --memory 1073741824 --cpu-topology-cores 2 --cpu- topology-sockets 1 --template-name Blank --type server Add a VM
  35. DOJO add disk --size 10737418240 --format raw --interface virtio --storage_domains-storage_domain

    "storage_domain.name=DATA1" --sparse fal Add a disk to a storage domain list vms --kwargs placement_policy affinity=user_migratable Show a lists of VMs that are user migrateable
  36. DOJO • Bindings Bindings – Python Python – Java Java

    – Ruby (rbovirt) Ruby (rbovirt) • Integrate with your infrastructure. Integrate with your infrastructure. • Used scripts Used scripts – https://github.com/vincentvdk/ovirt-scripts https://github.com/vincentvdk/ovirt-scripts
  37. DOJO Extendable Extendable • Foreman integration Foreman integration • Monitoring

    Monitoring • Offloading thin provisioning to the SAN box Offloading thin provisioning to the SAN box (NetApp) (NetApp) • Aeolusproject Aeolusproject • Quantum Quantum
  38. DOJO Future ? Future ? • Openstack integration Openstack integration

    – https://blueprints.launchpad.net/nova/+spec/rhev- https://blueprints.launchpad.net/nova/+spec/rhev- m-ovirt-clusters-as-compute-resources m-ovirt-clusters-as-compute-resources The proposal is to have a nova compute proxy connects to a RHEV-M/oVirt through oVirt Rest APIs and expose configured clusters as a compute hosts.
  39. DOJO Not so great stuff (imho) Not so great stuff

    (imho) • VM poweroff to remove snapshot VM poweroff to remove snapshot • Storage can be weird Storage can be weird • Engine Engine (out of the box) (out of the box) = SPOF = SPOF • No ldap (other than FreeIPA/RHDS / No ldap (other than FreeIPA/RHDS / • No local users other than admin@internal No local users other than admin@internal
  40. DOJO More information More information • CentOS wiki CentOS wiki

    – http://wiki.centos.org/HowTos/oVirt?highlight=%28ovirt%29 http://wiki.centos.org/HowTos/oVirt?highlight=%28ovirt%29 • oVirt website oVirt website – http://www.ovirt.org http://www.ovirt.org • #ovirt on OFC #ovirt on OFC • Jason Brooks' blog Jason Brooks' blog – http://blog.jebpages.com/ http://blog.jebpages.com/ • Scripts using rest api Scripts using rest api – https://github.com/dougsland/ovirt-restapi-scripts https://github.com/dougsland/ovirt-restapi-scripts