OpenNebula - Key Aspects in CentOS

Post on 22-Nov-2014

940 views 0 download

description

Talk held by Jaime Melis at the CentOS Dojo in Cologne, August 4th (http://wiki.centos.org/Events/Dojo/Cologne2014) In this talk we talk about OpenNebula from the perspsective of the CentOS, explaining tips and considerations for power users.

transcript

OpenNebula

Key Aspects of OpenNebula in CentOS Jaime Melis

Project Engineer

© OpenNebula Project. Creative Commons Attribution-NonCommercial-ShareAlike License

CentOS Dojo Cologne, Germany– August 4th 2014

2/16 OpenNebula - Latest Innovations in Private Cloud Computing!

Upcoming Release Features OpenNebula 4.8

●  OpenNebula 4.8 will be release this week! ●  New Virtual Network Model ●  New Address Range Concept ●  Identify federated zone in the logs (syslog) ●  Raw Device mapping datastore ●  Clone Image to another datastore ●  More Hybrid Clouds: Azure, SoftLayer (and EC2) ●  OneFlow and OneGate got shinier! ●  User Inputs ●  New VDCAdmin View

3/16 OpenNebula - Latest Innovations in Private Cloud Computing!

CentOS 7 Awesome!!

●  Newer Ruby! Newer Apache! Newer Kernel! Newer… Everything (it looks so shiny!)

●  Small footprint!

●  Already everywhere!

●  We really like modern and stable software

●  Amazing community for users and devs

4/16 OpenNebula - Latest Innovations in Private Cloud Computing!

Firewalld

CentOS 7 But …

NetworkManager

Systemd

●  New Challenges ●  Learn or Die! ●  Long nights coding…

5/16 OpenNebula - Latest Innovations in Private Cloud Computing!

OpenNebula in CentOS 7 Ruby

●  Ruby 1.9… better performance!! (we had this a lot in the code if RUBY_VERSION < 1.9 )

●  Missing gems from EPEL. We still need to run install_gems (any package maintainers in the room??) ●  sinatra ●  rack ●  thin ●  uuidtools ●  sequel ●  aws-sdk, softlayer, azure, treetop, parse-cron

6/16 OpenNebula - Latest Innovations in Private Cloud Computing!

OpenNebula in CentOS 7 Init Scripts

●  systemd-sysv… we owe you! (old system V scripts are compatible)

●  Full migration to systemd in the next release

●  Seriously, any package maintainers around?

7/16 OpenNebula - Latest Innovations in Private Cloud Computing!

OpenNebula in CentOS 7 Contextualization – Cloud Init

●  Cloud Init will be supported in this release ●  Patched DataSourceOpenNebula.py in the CentOS package (the

predictable network interfaces have been a predictable pain!) ●  Migrate from ifconfig to ip ●  Image requirements

●  Avahi unconfigures network ●  Acpid to shut down the VM ●  Sudoers: Defaults !requiretty

●  Actions ●  Network Contextualization ●  SSH Public Key ●  User Data ●  Hostname

●  One Image to rule the all! (AWS, OpenStack, OpenNebula, etc…)

8/16 OpenNebula - Latest Innovations in Private Cloud Computing!

OpenNebula in CentOS 7 Contextualization – Native Packages

●  Packages created by the OpenNebula Project (with fpm no srpm, sorry! – easy to fix though)

●  Actions ●  Network ●  DNS ●  SSH Public Key ●  SELinux ●  Mount Swap ●  Hostname ●  Execute Scripts

●  Easily extensible. Drop a script and you’re good to go.

9/16 OpenNebula - Latest Innovations in Private Cloud Computing!

OpenNebula in CentOS 7 KVM

●  Openebula-node-kvm works like a charm! ●  KVM version 1.5.3 (CentOS 6 had 0.12!) ●  Libvirt version 1.1.1 (CentOS 6 0.10) ●  … YES! It’s worth upgrading to CentOS 7!

NETWORK TOOLS

●  Replace vconfig with ip … type vlan … ●  Replace ifconfig with ip …

SELinux

●  oneadmin home is /var/lib/ne (no SSH allowed)

10/16 OpenNebula - Latest Innovations in Private Cloud Computing!

OpenNebula Storage GlusterFS

Libgfapi is supported (of course fuse is also supported) OpenNebula runs as `oneadmin`:

/etc/glusterfs/glusterd.vol ->

option rpc-auth-allow-insecure on

$ gluster volume set <volume> server.allow-insecure on

$ gluster volume set <volume> storage.owner-uid <oneadmin uid>

$ gluster volume set <volume> storage.owner-gid <oneadmin gid>

11/16 OpenNebula - Latest Innovations in Private Cloud Computing!

OpenNebula Storage GlusterFS /var/lib/glusterd/groups/virt -> quick-read=off

read-ahead=off

io-cache=off

stat-prefetch=on

eager-lock=enable

remote-dio=enable

quorum-type=auto

server.allow-insecure=on

server-quorum-type=server

$ gluster volume set <volume> group virt

$ mkdir -p /var/lib/one/datastores/0

$ mount -t gluster server:/volume /var/lib/one/datastores/0

$ chown oneadmin:oneadmin /var/lib/one/datastores/0

$ ln -s /var/lib/one/datastores/0 /var/lib/one/datastores/1

12/16 OpenNebula - Latest Innovations in Private Cloud Computing!

OpenNebula Storage GlusterFS

NAME = "glusterfs"

DS_MAD = fs

TM_MAD = shared

# the following line *must* be preset

DISK_TYPE = GLUSTER

GLUSTER_HOST = gluster_server:24007

GLUSTER_VOLUME = one_vol

CLONE_TARGET="SYSTEM"

LN_TARGET="NONE"