Sie sind auf Seite 1von 13

AutoScale without NetScaler

Tuna - @ngtuna11
Agenda
AutoScale with NetScaler
Glossary
Top-level operation
AutoScale without NetScaler
Xapi RRDs
Demo
AutoScale with NetScaler
Glossary
Counter

Condition

AutoScale Policy

AutoScale VM Profile

AutoScale VM Group

Timing parameters:
Duration Quiet time

Interval Destroy vm grace


period
Source:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/
Autoscaling
NetScaler entity contains
3 components:
A Load Balancing virtual
server
A Service Group
Monitors
Steps:

1. CS uses NetScaler API to


push AutoScale
configuration
2. NetScaler calls CS API
requests to deploy min
number of VMs
3. CS provisions min number of
VMs on hypervisor
4. NetScaler discovers the
newly created VM's IP
addresses, binds them into
service group and
loadbalances traffic to VMs
5. NetScaler monitors service
group by collecting SNMP
metrics from the VMs
6. NetScaler triggers scale-up
Source: or scale-down events based-
http://support.citrix.com/proddocs/topic/ns-system-10-1-map/ns-a on pre-defined policies at
step 1.
utoscale-how-autoscale-works-
AutoScale without
NetScaler
What is it ?

a native solution

reproduce NetScaler
AutoScale engine operation
Reproduce

Load Balancing Virtual Server Virtual Routers HAProxy

NetScaler / SNMP Monitor XenServer API RRDs

Service Group Apache CloudStack code

Configuration Parameters
Xapi RRDs
Round Robin Databases
Consist of Round Robin Archieves (RRAs) in a fixed size database
Store performance metrics on a per host and a per VM basis
Can be queried over HTTP or the RRD2CSV tool
XenCenter uses this data to produce system performance graphs
Data granularity
Every 5s for the duration of 10min
Every min for the pass 2h
Every hour for the pass week
Every day for the pass year
Consolidation Functions
AVERAGE
MIN
MAX

Source:
http://wiki.xen.org/wiki/XAPI_RRDs
http://support.citrix.com/servlet/KbServlet/download/34969-102-704897/
reference.pdf
http://www.xenserver.org/partners/developing-products-for-xenserver/18-sdk-d
evelopment/96-xs-dev-
rrds.html
Steps:

1. Users submit AutoScale


configuration using
CloudStack API
2. CS provisions min number of
VMs on hypervisor
3. CS provisions min number of
VMs on hypervisor
4. CloudStack binds the new
VM into service group and
loadbalances traffic to VMs
using HAProxy on
VirtualRouter
5. CloudStack monitors service
group by collecting metrics
from the VMs via Xapi RRDs
6. CloudStack triggers scale-up
or scale-down events based-
on pre-defined policies at
step 1.
Getting RRDs over HTTP
Downloading the whole RRD
Downloading a Host RRD

wget http://<server>/host_rrd?session_id=OpaqueRef:<SESSION
HANDLE>

Downloading a VM RRD
wget http://<server>/vm_rrd?session_id=OpaqueRef:<SESSION
HANDLE>&uuid=<VM UUID>
Getting RRDs over HTTP
Getting update from the RRD
Downloading RRD update for a Host
wget http://<server>/rrd_updates?session_id=OpaqueRef:<SESSION
HANDLE>&start=10258122541&host=true

Downloading RRD update for all VMs


wget http://<server>/rrd_updates?session_id=OpaqueRef:<SESSION
HANDLE>&start=10258122541

Downloading RRD update specifying CF


wget http://<server>/rrd_updates?session_id=OpaqueRef:<SESSION
HANDLE>&start=10258122541&cf=AVERAGE
Demo

Insert Presentation Title Here

Das könnte Ihnen auch gefallen