• No results found

VSM Introduction & Major Features

N/A
N/A
Protected

Academic year: 2021

Share "VSM Introduction & Major Features"

Copied!
24
0
0

Loading.... (view fulltext now)

Full text

(1)

VSM Introduction & Major Features

Wang, Yaguang

Ferber, Dan

March 2015

(2)

Agenda

Overview

Architecture & Key Components

(3)
(4)

VSM Overview

VSM (Virtual Storage Manager) is an open source ceph management tool developed by Intel,

and announced on 2014 Nov’s openstack Paris summit. It is designed to help make the day to

day management of Ceph easier for storage administrators.

Home page:

https://01.org/virtual-storage-manager

Code Repository:

https://github.com/01org/virtual-storage-manager

Issue Tracking:

https://01.org/jira/browse/VSM

Mailing list:

http://vsm-discuss.33411.n7.nabble.com/

(5)

VSM Overview

Web-based UI

Administrator-friendly interface

for management and

monitori

ng

VSM API Interfaces

For automation

Allows Easier Ceph Creation and

Management

Creates Ceph cluster

Manages Ceph

Monitors Ceph

VSM is designed for bundled ceph storage appliance, it creates ceph cluster for management and

monitoring. So far it runs on Centos 6.5 with Ceph firefly and openstack havana icehouse.

(6)

Typical VSM-Managed Cluster

VSM Controller – Dedicated server or server instance

Server Nodes

Are members of VSM-managed Ceph cluster

VSM agent runs on every server in VSM-managed

cluster

Network Configuration

Ceph public subnet – Carries data traffic between

clients and Ceph cluster servers

Administration subnet – Carries administrative

communications between VSM controller and agents

Also administrative comms between Ceph daemons

Ceph cluster subnet – Carries data traffic between

Ceph storage nodes – replication and rebalancing

OpenStack admin (optional)

Optionally connected to VSM via SSH connection

Allows VSM to “tell” OpenStack about Ceph storage

pools

OpenStack

Admin

Ceph cluster - 10GbE or InfiniBand

VSM

Controller

Administration GbE Ceph public - 10GbE

or InfiniBand

Client

Node

RADOS

Server Node

Monitor

OSD OSD OSD

VSM Agent

SSD

Client

Node

RADOS

Client

Node

RADOS

OpenStack-Administered Network

Server Node

Monitor

OSD OSD OSD

VSM Agent

SSD

Server Node

Monitor

OSD OSD OSD

VSM Agent

SSD

Server Node

OSD OSD OSD

VSM Agent

(7)
(8)

VSM Architecture

python-vsmclient

API

conductor

scheduler

storage

RabbitMQ

storage

storage

Web UI

(9)

Key Components: Overview

Python-vsmclient

This is a client for the vsm API, it consists of

a Python API (the vsmclient module),

a command-line script (vsm). Each implements 100% of the vsm API.

Vsm

A major module for ceph management

Vsm-dashboard

web based management interface for VSM.

Vsm-deploy

(10)

Openstack

Key Components: relationships

VSM

vsmclient

Vsm-dashboard

Vsm-deploy

CLI

Vsm

component

SSH

REST

3rdparty

Keystone

Nova

Ceph

REST API

Cinder

REST

SSH

(11)

Key Components: interaction flow

VSM Architecture

VSM UI Portal

(on VSM Controller Node)

VSM Controller Node

VSM Agents

(On Ceph Storage/Monitor Nodes)

External Party

Ceph

(On Ceph Storage/Monitor Nodes)

OpenStack

Nova Controller

U Apache/Django (VSM Dashboard) VSM Web Client Proxy 2.Authenticate via REST

3.Library Call Keystone (Authentication Center. Listen on ports 5000 &35357) VSM API (Expose API. Listen on port 8778) 4.HTTPS REST VSM Conductor (Manage DB Access) 6.RPC Message VSM Scheduler (Schedule and dispatch tasks to Agent, Conductor) 7. RPC Message MySQL DB (Listen on ports 3306) 9. Socket Connection (Via SQLAlchemy+MariaDB Client)

VSM Agent 1 11.(0)HTTPS authenticate & Register via REST

10.RPC Message Rabbit MQ (Listen on port 5672) 8.RPC Message VSM Agent 2 5.(c.)Https Authenticate via REST

Operator Web Browser 1. HTTPS with Username/Password External Client

a. HTTPs authenticate with username/password, get token

b. Https request w/ token

OpenStack

Ceph

SSH Channel

Ceph Command Call

Ceph Command Call

Ceph

VSM Software

3

rd

Party Software

3rdParty Software – Customized

(12)
(13)

Configuration Management

-

Creates and controls Ceph cluster

configuration through pre-defined

manifests

-

Operator-selectable configuration

options are defined and validated by

OEM or System Integrator

Major Features

Capacity Management

-

Grouping storage devices by function

or performance

-

Monitoring capacity for storage group

and pool

Cluster Management

-

Managing monitors or servers

-

Replacing failed disks/servers

-

Managing storage pools (replicated,

erasure-coded

or

cache tiering)

Cluster Monitoring

-

Cluster Health and OSD/PG and

Monitors status on dashboard

-

Capacity utilization for Storage Groups

and Pools

Cooperation

-

REST API

& CLI

-

Pools for OpenStack

Openness

-

Apache V2 license.

-

Written in python

-

Bundle (CentOS 6.5,

Ceph Firefly 80.x,

Openstack

Havana/Icehouse)

VSM

(14)

What it does…

Web-based UI

Administrator-friendly interface for management and

monitoring

Configuration management

Storage Groups aggregate similar drives

Zones aggregate drives within failure domains

Capacity Management

Pools segregate allocation by application

Capacity utilization by storage group and pool

Cluster Management

Manage capacity growth

Manage Server & disk maintenance

Cluster Monitoring

Capacity and performance

OSD, PG, and monitor state

VSM APIs

Management framework = Consistent configuration

Operator-friendly interface for management & monitoring

Cluster Server

(OSDs/Monitor/MDS))

VSM Agent

(on each Ceph node)

VSM

Controller

(Controller Node

Server)

Client Server

OpenStack

Nova Controller

Server(s)

API

Data Center Firewall

Internet

Data Center

SSH

HTTP

Socket

Operator

(15)

What it is…

VSM Controller Software

Runs on dedicated server (or server instance)

Connects to Ceph cluster through VSM agent

Connects to OpenStack Nova controller (optional)

via SSH

Never touches clients or client data

VSM Agent Software

Runs on every server in the Ceph cluster

Relays server configuration & status information

to VSM controller

(16)

Managing Servers and Disks

Servers can host more than one type

of drive, drives with similar

performance characteristics are

identified by

Storage Class

.

Drives with the same

Storage Class

are grouped together in

Storage

Groups

Storage Groups

are paired with

specific

Storage Classes.

VSM monitors Storage Group capacity

utilization, warns at threshold.

Storage Classes

and

Storage Groups

are defined in the cluster manifest file

Drives are identified by

Storage Class

in the server manifest file

7200_RPM_HDD

10K_RPM_HDD

15K_RPM_HDD

“Capacity” =

7200_RPM_HDD

“Performance” = 10K_RPM_HDD “High Performance” = 15K_RPM_HDD

Capacity

Performance

High Performance

Storage

class

Storage

group

(17)

Managing Failure Domains

Servers can be grouped into failure

domains. In VSM, failure domains are

indented by

zones

.

Zones are placed under each

Storage

Group

Drives in each

zone

are placed in their

respective

storage group

In the example at right, six servers are

placed in three different zones. VSM

creates three zones under each storage

group, and places the drives in their

respective storage groups and zones.

Zones are defined in the cluster manifest

file

Zone membership is defined in the

server manifest file

17

7200_RPM_HDD (Capacity) 10K_RPM_HDD (Perfromance)

Performance

Zone 1

Zone 2

Zone 2

Zone 1

Zone 2

Zone 3

Capacity

Zone 1

Zone 2

Zone 2

One Zone with server-level

replication

(18)

VSM Controller: Cluster Manifest

VSM Controller runs on dedicated server or server instance

VSM controller uses the cluster manifest file to define the cluster meta information,

like storage classes, storage groups, zones, subnet, and also cluster settings, like

capacity threshold for warning, ec and cache tier settings.

Meta information

The cluster manifest defines the storage classes, storage groups and zones to be used

in the ceph cluster, also it defines the subnets for management, public or cluster.

Cluster Setting

The cluster manifest provides a few settings to help tune cluster behaviors, like

capacity thresholds, heartbeat intervals.

(19)

[storage_class] 7200_rpm_sata 10krpm_sas ssd ssd_cached_7200rpm_sata ssd_cached_10krpm_sas [storage_group]

#format: [storage group name] ["user friendly storage group name"] [storage class]

high_performance "High_Performance_SSD" ssd

capacity "Economy_Disk" 7200_rpm_sata performance "High_Performance_Disk" 10krpm_sas

value_performance "High_Performance_Disk_with_ssd_cached_Acceleration" ssd_cached_10krpm_sas value_capacity "Capacity_Disk_with_ssd_cached_Acceleration" ssd_cached_7200rpm_sata [cluster] cluster_a [file_system] xfs [management_addr] 192.168.123.0/24 [ceph_public_addr] 192.168.124.0/24 [ceph_cluster_addr] 192.168.125.0/24 [zone] Zone0 zone1

VSM Controller: Cluster Manifest File

Storage classes defined

Storage groups

Cluster name

Data disk file system

Network configuration

Cluster Manifest File

Resides on the VSM controller server.

Tells VSM how to organize storage devices,

how the network is configured, and other

management details

zone

[settings] storage_group_near_full_threshold 65 storage_group_full_threshold 85 ceph_near_full_threshold 75 ceph_full_threshold 90 pg_count_factor 100 heartbeat_interval 6 osd_heartbeat_interval 7 osd_heartbeat_grace 21 [ec_profiles]

#format: [profile-name] [path-to-plugin] [plugin-name] [pg_num value] [json format key/value]

#the key/value strings should not have

spacesdefault_profile /usr/lib64/ceph/erasure-code jerasure 3 {"k":2,"m":1,"technique":"reed_sol_van"}#profile_name2 /usr/lib64/ceph/erasure-code jerasure 6 {"k":4,"m":2,"technique":"reed_sol_van"} [cache_tier_defaults] ct_hit_set_count 1 ct_hit_set_period_s 3600 ct_target_max_mem_mb 1000000 ct_target_dirty_ratio 0.4 ct_target_full_ratio 0.8 ct_target_max_objects 1000000 ct_target_min_flush_age_m 10 ct_target_min_evict_age_m 20

settings

Ec pool profiles

Cache tier default

parameters

(20)

VSM Agent: Server Manifest

VSM Agent runs on every server managed by VSM

VSM Agent uses the server manifest file to identify and authenticate with the VSM

controller, and describe server configuration

Discovery and authentication

To be added to a cluster, the server manifest file must contain the IP address of the VSM

controller, and a valid authentication key

The authentication key is generated by vsm controller in advance, to be applied into

server manifest before launching agent daemon.

Server Configuration

VSM relies on the server manifest to identify and classify data devices and associated

journals. VSM does not have knowledge of how storage devices have been partitioned.

Devices and partitions are specified “by path” to ensure that paths remain constant in the

event of a device removal or failure.

(21)

VSM Agent: Server Manifest

[vsm_controller_ip] #10.239.82.168 [role] storage monitor [auth_key] token-tenant [7200_rpm_sata]

#format [sata_device] [journal_device] %osd-by-path-1% %journal-by-path-1% %osd-by-path-2% %journal-by-path-2% %osd-by-path-3% %journal-by-path-3% %osd-by-path-4% %journal-by-path-4% [10krpm_sas]

#format [sas_device] [journal_device] %osd-by-path-5% %journal-by-path-5% %osd-by-path-6% %journal-by-path-6% %osd-by-path-7% %journal-by-path-7% %osd-by-path-7% %journal-by-path-7% [ssd]

#format [ssd_device] [journal_device] [ssd_cached_7200rpm_sata]

#format [intel_cache_device] [journal_device] [ssd_cached_10krpm_sas]

#format [intel_cache_device] [journal_device]

Address of VSM Controller

Include “storage” if server will host OSD daemons

Include “monitor” if server will host monitor daemons

Authentication key provided by authentication key tool on

VSM controller node.

Storage Class 7200_rpm_sata: Specifies path to four 7200 RPM

drives and their associated journal drives/partitions

Storage Class 10krpm_sas: Specifies path to four 10K RPM drives

and their associated journal drives/partitions

No drives associated with these Storage Class

Server Manifest File

Resides on each server that VSM manages.

Defines how storage is configured on each server

Identifies other roles (Ceph daemons) that should

be run on the server

(22)

Getting Started

Create

Cluster

Monitoring

Cluster Health

OSD Status

Monitor

Status

PG Status

Managing

Servers

Add & Remove

Servers

Add & Remove

Monitors

Stop & Start

Servers

Dashboard

Overview

Managing

Capacity

Creating

Storage Pools

Managing

Storage

Devices

Restart OSDs

Remove OSDs

Restore OSDs

Manage

Servers

Manage

Devices

Manage

Pools

MDS Status

RBD Status

Working with

OpenStack

OpenStack

Access

Managing

Pools

Managing VSM

Manage VSM

Users

Manage VSM

Configuration

Log In

Navigation

Storage

Group Status

Dashboard

Overview

VSM Operation Map

(23)
(24)

References

Related documents

percentage point differential for mode-adjusted VMT (i.e., MVMT) was -90.3—a product of a mean 66.8 percent decline for members and a 23.5 percent increase for non-members over

The frequency response of a sample, 1 encoded on the lines of the probe comb, can be thus measured using a signal with a RF bandwidth: BW = BW opt / C , where BW opt is

Measuring sales contribution Footprint Measures ACV Annual Contract Value MRR Monthly Recurring Revenue In-year Revenue Measures RR Recognized Revenue OTC One-time charges

Storage Aggregate Storage Aggregate Storage Aggregate Tag: Tier Value: Gold Tag: Tier Value: Silver Tag: Tier Value: Bronze ESXi Cluster ESXi Cluster ESXi Cluster Tag: Available

• Create Cluster Shared Volumes (CSVs) on storage – Active/active cluster file system. • Create File Server for Application Data role on cluster (the SOFS)

Based on the concept of one large single roll at an aspect ratio of about unity, it was expected that the distinct shear layer at the surface of the horizontal plates vanishes and

Woman Hi, Kevin, how’s it going?. Kevin

This project will provide the means for parents and providers to check on the status of applications for subsidized childcare directly, reduce the waiting time to process