Cloud storage com ceph

Post on 21-Jan-2017

229 views 1 download

Transcript of Cloud storage com ceph

Cloud storage com Ceph

● Italo Santos

● @ Locaweb desde 2007

● Sysadmin @ CT-Storage

# whoami

IBM 350• 13 de Setembro, 1956

• 152cm de comprimento 172cm de altura 74cm de largura

• 50 discos de 60cm 1.2k RPM

• 3.75MB de espaço

• Alugado $3200 /mês

Era uma vez…

1880's

Era uma vez…

1880's

1950's

Era uma vez…

1880's

1950's

Era uma vez…

1956

IBM 350

1880's

1950's 1963

Era uma vez…

1956

IBM 350

1880's

1950's 1963

1971

Era uma vez…

1956

IBM 350

1880's

1950's 1963

1971

1982

Era uma vez…

1956

IBM 350

1880's

1950's 1963

1971

1982

1994

Era uma vez…

1956

IBM 350

1880's

1950's 1963

1971

1982

1994

2000's

Era uma vez…

1956

IBM 350

Cloud Storage

Cloud Storage

Cloud Storage

Cloud Storage

Cloud Storage

“Modelo de Serviço onde os dados são armazenados e gerenciados remotamente

através de rede e acessados via API.”

Cloud Storage

API

Datacenter #2Datacenter #1

Pools

PUT / GET https://cloud.storage.com/bucket/file.txt

Cloud Storage

API

Datacenter #2Datacenter #1

Pools

PUT / GET https://cloud.storage.com/bucket/file.txt

Cloud Storage

Ceph• Software Defined Storage

• Multi-Protocolo

• Escalável

• Auto Gerenciável

• Sem ponto único de falha

Arquitetura

RADOS

A reliable, autonomous, distributed object store comprised of self-healing, self-managing, intelligent storage nodes

LIBRADOS

A library allowing apps to directly access RADOS, with support for C, C++, Java, Python, Ruby, and PHP

APP

RADOSGW

A bucket-based REST gateway, compatible with S3 and Swift

APP

RBD

A reliable and fully-distributed block device, with a Linux kernel client and a QEMU/KVM driver

HOST/VM

CEPH FS

A POSIX-compliant distributed file system, with a Linux kernel client and support for FUSE

CLIENT

Arquitetura

RADOS

A reliable, autonomous, distributed object store comprised of self-healing, self-managing, intelligent storage nodes

LIBRADOS

A library allowing apps to directly access RADOS, with support for C, C++, Java, Python, Ruby, and PHP

APP

RADOSGW

A bucket-based REST gateway, compatible with S3 and Swift

APP

RBD

A reliable and fully-distributed block device, with a Linux kernel client and a QEMU/KVM driver

HOST/VM

CEPH FS

A POSIX-compliant distributed file system, with a Linux kernel client and support for FUSE

CLIENT

Arquitetura

RADOS

A reliable, autonomous, distributed object store comprised of self-healing, self-managing, intelligent storage nodes

LIBRADOS

A library allowing apps to directly access RADOS, with support for C, C++, Java, Python, Ruby, and PHP

APP

RADOSGW

A bucket-based REST gateway, compatible with S3 and Swift

APP

RBD

A reliable and fully-distributed block device, with a Linux kernel client and a QEMU/KVM driver

HOST/VM

CEPH FS

A POSIX-compliant distributed file system, with a Linux kernel client and support for FUSE

CLIENT

Arquitetura

RADOS

A reliable, autonomous, distributed object store comprised of self-healing, self-managing, intelligent storage nodes

LIBRADOS

A library allowing apps to directly access RADOS, with support for C, C++, Java, Python, Ruby, and PHP

APP

RADOSGW

A bucket-based REST gateway, compatible with S3 and Swift

APP

RBD

A reliable and fully-distributed block device, with a Linux kernel client and a QEMU/KVM driver

HOST/VM

CEPH FS

A POSIX-compliant distributed file system, with a Linux kernel client and support for FUSE

CLIENT

Arquitetura

RADOS

A reliable, autonomous, distributed object store comprised of self-healing, self-managing, intelligent storage nodes

LIBRADOS

A library allowing apps to directly access RADOS, with support for C, C++, Java, Python, Ruby, and PHP

APP

RADOSGW

A bucket-based REST gateway, compatible with S3 and Swift

APP

RBD

A reliable and fully-distributed block device, with a Linux kernel client and a QEMU/KVM driver

HOST/VM

CEPH FS

A POSIX-compliant distributed file system, with a Linux kernel client and support for FUSE

CLIENT

Arquitetura

RADOS

A reliable, autonomous, distributed object store comprised of self-healing, self-managing, intelligent storage nodes

LIBRADOS

A library allowing apps to directly access RADOS, with support for C, C++, Java, Python, Ruby, and PHP

APP

RADOSGW

A bucket-based REST gateway, compatible with S3 and Swift

APP

RBD

A reliable and fully-distributed block device, with a Linux kernel client and a QEMU/KVM driver

HOST/VM

CEPH FS

A POSIX-compliant distributed file system, with a Linux kernel client and support for FUSE

CLIENT

Componentes

OSDs

M

Monitors MDS

Componentes

OSDs

M

Monitors MDS

Componentes

OSDs

M

Monitors MDS

Componentes

OSDs

M

Monitors MDS

RADOS

A reliable, autonomous, distributed object store comprised of self-healing, self-managing, intelligent storage nodes

LIBRADOS

A library allowing apps to directly access RADOS, with support for C, C++, Java, Python, Ruby, and PHP

RBD

A reliable and fully-distributed block device, with a Linux kernel client and a QEMU/KVM driver

CEPH FS

A POSIX-compliant distributed file system, with a Linux kernel client and support for FUSE

APP HOST/VM CLIENT

Object Storage Gateway

RADOSGW

A bucket-based REST gateway, compatible with S3 and Swift

APP

RadosGW• Interface Object Storage REST

• Amazon S3

• OpenStack Swift

• FastCGI ou Embedded

• Utiliza cluster Ceph

Arquitetura

LIBRADOS

RADOSGW

APP

socket (Autenticação Ceph key)

REST (S3 / Swift)

Funcionalidades• Autenticação

• Buckets (ou containers)

• Gerenciamento de quotas

• Relatórios de utilização

• Replicação (zona e/ou região)

• Regras por usuário

• API de administração

Autenticação

Buckets

Usuário

Global

Quotas - usuário

Quotas - bucket

Relatórios• Usuário

• Bucket

• Período

• Tipo de operação

• Buckets

• Sumário

Replicação

• Disponibilidade / Failover

• Proteção / Backup

• Multi-Site / Zona

• Multi-Região

Multi-Site / ZonaAPP

LIBRADOS

RADOSGW

Master Zone

APP

LIBRADOS

RADOSGW

Failover Zone

Read OnlyRead / Write

Data Sync

Master Region

Multi-RegiãoAPP

LIBRADOS

RADOSGW

Master Zone

APP

LIBRADOS

RADOSGW

Master Zone

Read / Write

Metadata Sync

Read / Write

Master Region Secundary Region

Regras

API de Administração

• Começa em “/admin"

• Autenticação via S3

• Permissões pré-definidas

• Suporte a JSON e XML

API de Administração

API de Administração

CompatibilidadeAmazon S3 Ceph

BucketsBucket Lifecycle

PolicyBucket Website

ACLsLocation

NotificationVersioning

Request PaymentMultipart Uploads

Replication

Website

Website

https://www.flickr.com/photos/maayc/6786074583/

Obrigado!Italo Santos @ CT-Storage