32
오픈스택 환경에서 공유 파일 시스템 구현하기 마닐라(Manila) 프로젝트 서상원 차장 Systems Engineering Team NetApp Korea © 2016 NetApp, Inc. All rights reserved. 1

[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Embed Size (px)

Citation preview

Page 1: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

오픈스택 환경에서공유 파일 시스템 구현하기마닐라(Manila) 프로젝트

서상원차장Systems Engineering Team

NetApp Korea

© 2016 NetApp, Inc. All rights reserved. 1

Page 2: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

© 2016 NetApp, Inc. All rights reserved2

• 론콘웨이(Ron conway)

• 실리콘 벨리 엔젤투자자

• Faebook, Twitter, Google, PayPal,

TweetDeck, AirBnB 등의 투자

Page 3: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

NetApp의 OpenStack Contribution

© 2016 NetApp, Inc. All rights reserved3

2015.4

Liberty Summit Sponsor

ManilaGraduation

2014.10

Kilo Release Summit Sponsor

Manila Incubation

2013.10

Icehouse Summit Sponsor

Swift onE-Series

2014.4

Juno Summit Sponsor

E/EF-Seriesdrivers in Icehouse

2013.4

Havana Summit Sponsor

Direct Drivers in Grizzly

2012.10

Grizzly Summit Sponsor

Clustered Data ONTAP driver

in Folsom

2012.4

Folsom Summit Sponsor

7-Mode driver in Essex

2011.3

NetAppJoins

Diablo Summit Sponsor

2011.10

EssexSummit Sponsor

Integration Previewed

2016.4

“N” Summit Sponsor

See you in Austin!

2015.10

MitakaSummit Sponsor

Manila 1.0

1st 메이저 스토리지 벤더

Upstream Contributions

Community project leadership

Production Deployments

OpenStack 파운데이션

Charter Gold member

Elected board representation

Page 4: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

NetApp OpenStack portfolio

© 2016 NetApp, Inc. All rights reserved4

Image

Compute

Shared Files

Block Storage

Object StorageShared Files

StorageGRID®E/EF-SeriesData ONTAP® OnCommand®AltaVault™

Glance

Swift

Cinder

Nova

Manila

Compute Block Storage

Object StorageImage

Cinder

Manila

Nova

Glance

Manila

Cinder

Page 5: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

OpenStack Block Storage Drivers in Production

© 2016 NetApp, Inc. All rights reserved5

Ceph

LVM

NetApp

Gluster

NFS

IBM Storwize

SolidFire

EMC

VMware VMDK

* OpenStack Foundation User Survey Results (October 2015 )

상용 스토리지벤더 제품 중에서NetApp 제품을가장 많이 사용

Page 6: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Manila 개요 및 주요 기능 소개

© 2016 NetApp, Inc. All rights reserved. 6

Page 7: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

What Manila ?

© 2016 NetApp, Inc. All rights reserved7

OpenStack Shared File Service Program

OpenStack 환경에서 공유 파일

시스템 서비스 제공

Multi tenancy 환경에서 VM들 위한

Secure Share 서비스 제공

NFS, CIFS, HDFS 프로토콜 지원

다양한 네트워크 토폴로지 지원

Horizon GUI 지원

OpenStack Compute

Manila

VMVM VM VM

Clustered Data ONTAP®

Finance R&D Sales

VM VM VM VM

Page 8: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Why Manila ?

© 2016 NetApp, Inc. All rights reserved8

클라우드 환경에서 파일 공유의요구들 증가

49%

38%

35%

34%

32%

31%

30%

27%

27%

25%

25%

Data backup and archive

Test and development

Disaster recovery

Pimary storage for files

Web servers

High-performance computing

Business intellifence

Temporary projects

Internal production apps

Application bursting

Workload spikes

당신의 회사가 클라우드 인프라를 사용하는 주된 용도는 무엇입니까?

Source: ESG, 2015

Page 9: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Why Manila ?

© 2016 NetApp, Inc. All rights reserved9

클라우드 서비스 업체들 파일 공유 서비스 앞다투어 출시

Page 10: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Manila History

© 2016 NetApp, Inc. All rights reserved 10

Liberty 버전부터 운영 시스템에 적용 가능한 상태

Juno의 인큐베이션 프로젝트로 시작

Liberty 버전부터 운영 서비스 적용 가능

총 Driver 수 : 14

지원 기능(Buleprints) 수 : 51

NetApp이 프로젝트 리딩

Page 11: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Manila Architecture Overview Cinder, Swift와동일하게 AMQP를 통해 프로세스 수행

11 © 2016 NetApp, Inc. All rights reserved

REST

Manila

Processes

Horizon

manila-apimanila-scheduler

manila-shareBack-End

manila-share

Back-End

manila-share

Back-End

Control Path

Manila-api: Request, User Credential

Manila-scheduler: Makes provisioning

Manila-share: Communicates with storage

Control Path Only

Page 12: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Manila 구현옵션Multi Backend 및다양한 Network Plugin 지원

12 © 2016 NetApp, Inc. All rights reserved

Dedicated Single Share Server or New Multi Share Servers

Share Creation with Share Servers

Share Creation without Share Servers

Network Plugins

Standalone Network Plugins

Nova Network Plugins

Neutron Network Plugins

Distribution 패키지

RDO, Ubuntu, SUSE

nova-compute

manila

create

Control Path

Data Path

Manila

mount –t nfs

nova-compute

NFS

Page 13: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Manila Key componentManila는 크게 4가지 component로 구성

13 © 2016 NetApp, Inc. All rights reserved

Share (CIFS or NFS)

사용자 요구 사이즈, 접근 프로토콜, Share 타입

멀티 인스턴스에서 동시 접근 가능

Share access rules (ACL)

어떤 유저가 Share에 접근 가능 Client를 정의

IP 또는 User 단위 권한 부여(Driver 별로 상이)

Share network

Share를 위한 Neutron network & subnet 정의

Security service

Active Directory, LDAP, Kerberos 지원

Multiple security service 지원

Page 14: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Manila API Overview 주로많이 사용되는 API와 해당 Operation

14 © 2016 NetApp, Inc. All rights reserved

Share API

• Create

• Delete

• Edit

• Extend

• List

• Manage

• Show

• Shrink

• Unmanage

Share Access

API

• Allow

• Deny

• List

Snapshot API

• Create

• Delete

• List

• Rename

• Reset State

• Show

Share Type API

• Create

• Delete

• List

Share Type

Extra Specs API

• List extra specs

• Set extra specs

• Unset extra specs

Page 15: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Extra specs 지원Extra Specs을 통해 Storage Service Catalog (SSC) 적용

15 © 2016 NetApp, Inc. All rights reserved

Extra spec 내용

netapp_raid_type raid4, raid_dp

netapp_disk_type FCAL, SAS, SATA, SCSI or SSD

netapp:dedup True / False

netapp:compression True / False

netapp:thin_provisioned True / False

netapp:snapshot_policy 스토리지에서 정의된 특정 snapshot policy를 적용

netapp:language 특정 character set을 요구하는 application에 적용

netapp:max_files FlexVol내의 최대 파일 갯수를 변경

Manila Share Types

* NetApp Driver Extra spec 예시

Page 16: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

주요기능들 - 용량확장 & 축소

16 © 2016 NetApp, Inc. All rights reserved

Extend는 GUI/CLI 모두지원, shrink는 CLI에서만 지원

Page 17: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

주요기능들 - Share Migrations

17 © 2016 NetApp, Inc. All rights reserved

Host 또는 Backend간 데이터 이동가능

특정 host pool에서다른 host pool로

share를마이그레이션가능

서로다른 backend간의마이그레이션도가능

무중단데이터이동지원

사용예 : 특정 backend의유지보수시,

멀티티어스토리지로재배치시

Page 18: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

주요기능들 - Consistency Groups (CGs)

18 © 2016 NetApp, Inc. All rights reserved

멀티 Share내의 데이터 정합성을 보장

어플리케이션의데이터보호를위해서로다른 share들을 Grouping

재해복구를 위한 snapshot에 중점

사용예 : 다른 share에위치한데이터베이스데이터와로그파일

Share snapshot 수행 시 share 내의 data는 정합성을 유지해야 함

지원기능:

create CG with mutliple shares

create snapshot of CG

Page 19: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

주요기능들 - Share Replication

19 © 2016 NetApp, Inc. All rights reserved

AZ간 데이터복제를 통해 AZ간 DR 구성지원

고가용성 솔루션

무중단 운영 지원

Availability Zones 지원

AZ간 Failover 및 Failback 지원

Page 20: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Manila Use Cases

© 2016 NetApp, Inc. All rights reserved. 20

Page 21: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Manila Use Cases#1Standalone Share File Services

21 © 2016 NetApp, Inc. All rights reserved

기존파일공유시스템을대체

Multi tenancy 환경에서 SLA 보장

Self-service API 지원

Devops에서활용가능

Page 22: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Manila Use Cases#2Enterprise Applications

22 © 2016 NetApp, Inc. All rights reserved

기존가상화환경에서 OpenStack으로전환

이기종인프라스트럭처지원

어플리케이션포팅:

Move Workloads to OpenStack

Page 23: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Manila Use Cases#3Sahara Integration

23 © 2016 NetApp, Inc. All rights reserved

Multi Data Processing Framework 지원

Job Template을위한 Binanry를 NFS

Share에저장가능

Data sources 및 Data processing

용도로활용가능

EDP(Elastic Data Processing) Share

생성시 Automount 지원

Page 24: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Sahara Data Processing Model without Manila Kilo 버전까지는 Data Processing시 Local HDFS나 Swift를활용

24 © 2016 NetApp, Inc. All rights reserved

Host

Virtual Cluster

VM1 VM2

Computing Task

HDFS

Computing Task

HDFS

Host

Virtual Cluster

VM1 VM2

Computing Task

HDFS

Host

Virtual Cluster

VM1

Computing Task

Swift*

Host

Hadoop Cluster 환경에서Compute과 data가 동일

인스턴트내에 공존

동일 VM내의 Internal HDFS 다른 VM내의 Internal HDFS Swift

Compute과 data가 분리되어다른 인스턴트에 존재

Swift내의 데이터를 직접스트리밍하여 데이터 유지

Page 25: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Sahara Data Processing Model with Manila Liberty 버전부터는 Data Processing시 Manila 활용가능

25 © 2016 NetApp, Inc. All rights reserved

Manila내에 HDFS Driver를통해External HDFS 지원

Manila를활용한 External HDFS Manila Backend+Local Storage NFS (Mitaka 버전부터 지원예정)

Manila NFS Share를 remote mount 및 Hadoop 인스턴트내의

Local 스토리지사용

NetApp Hadoop Connector를통해 NFS을 Hadoop내에서사용

Host

Virtual Cluster

VM1

Computing Task

Host

Manila Service

HDFS Driver

HDFS

Host

Virtual Cluster

VM1

Computing Task

Host

Manila Service

NFS Driver

(Extensible)

NetApp FS

Local Volume

Host

Virtual Cluster

VM1

Computing Task

NFS

Host

NetApp*

Hadoop NFS

Connector

Manila Service

NFS Driver

Page 26: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Why NetApp for Manila

© 2016 NetApp, Inc. All rights reserved. 26

Page 27: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

NetApp Contribution for Manila Manila 프로젝트 초기부터 커뮤니티를 리딩 중

27 © 2016 NetApp, Inc. All rights reserved

* Source: http://stackalytics.com/?module=manila&metric=loc&release=liberty

Code Contributions Reviews

Page 28: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Manila Support Matrix현존하는 스토리지 벤더 중가장안정적이고 성숙된 Driver를 제공

28 © 2016 NetApp, Inc. All rights reserved

Page 29: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Clustered DataONTAP for OpenStack OpenStack 환경에서 효율적이고 유연한 다양한 기능들 제공

29 © 2016 NetApp, Inc. All rights reserved

Clustered DataONTAP

Service AutomationQuality of Service

Unified Architecture

Storage EfficiencySeamless Scaling

Secure Multi-Tenancy

ContinuousOperations

Data Mobility Data Protection

Page 30: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

NetApp OpenStack 주요고객사례OpenStack환경 국내/외 Number One 스토리지 벤더

30 © 2016 NetApp, Inc. All rights reserved

Page 31: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

Upcoming in MitakaMitaka 버전에는 보다 다양한 기능들 제공 예정

31 © 2016 NetApp, Inc. All rights reserved

자동마운트

롤링업데이트

Manila QoS

용량조회

Share Replication

Hadoop NFS Connector

Page 32: [OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트

© 2016 NetApp, Inc. All rights reserved. 32

Thank you.