Top Banner
SMB in the Cloud David Disseldorp Samba Team / SUSE [email protected]
32

SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

Apr 18, 2018

Download

Documents

vanliem
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

SMB in the Cloud

David DisseldorpSamba Team / SUSE

[email protected]

Page 2: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

2

Agenda

• Cloud storage‒ Common types

‒ Interfaces

‒ Applications

• Cloud file servers‒ Microsoft Azure File Service

‒ Demonstration

‒ Amazon Elastic File System

‒ OpenStack Manila

Page 3: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

3

Cloud StorageCommon types

• Objects‒ Blob with data and metadata

‒ Flat hierarchy

• Virtual block device‒ Blob attached to a Virtual Machine (VM)

‒ VM accesses blob data via an overlaid filesystem

Page 4: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

4

Cloud StorageInterfaces

• REST‒ Internet accessible world-wide

‒ HTTP(S) operations

‒ Cloud provider specific library and API

‒ Limited

• Block device‒ Accessible from connected VM

‒ Offers the flexibility of any normal block device

Page 5: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

5

Traditional ApplicationsBehaviour

• No cloud awareness‒ Made for POSIX or Windows filesystems

• Run against local or remote data-set‒ Remote data on file server

• Output consumed by user or subsequent application‒ Transfer of data-set

Page 6: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

6

Traditional ApplicationsCloud Porting Challenges

• Object interface not an option‒ Doesn't come close to resembling a filesystem

‒ Vendor lock-in

• Block interface not optimal‒ Only accessible from connected VM

‒ Multiple data silos

‒ Poor storage utilisation

‒ Performance and reliability tied to VM

Page 7: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

7

Cloud File Server

• Improved accessibility‒ No silos

‒ SMB and NFS clients are abundant

• Better resource utilisation

• Integrated management‒ Alongside existing VM / storage provisioning workflow

• Centralised configuration of distributed applications

Page 8: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

Microsoft Azure File Service

Page 9: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

9

Azure File ServiceOverview

SMB 2.1

HTTP REST

Azure FileService

Page 10: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

10

Azure File ServiceManagement

• Shares provisioned via REST API‒ Create Share and Delete Share operations

‒ Powershell command line utility

‒ Elasto cloud storage client

• Assigned to account and geographic region‒ Only accessible from VMs hosted in the same region

Page 11: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

11

Azure File ServiceFile Server

• SMB 2.1 is the only supported dialect‒ Restricted to Windows 7 / Server 2008 R2+ Clients

‒ Linux 3.5.0+ cifs.ko with CONFIG_CIFS_SMB2

• REST file and directory access‒ Public internet gateway

‒ Cross protocol locking for concurrent access

‒ SMB2 Create FILE_SHARE_WRITE dictates whether REST Put Range is accepted

‒ Case insensitive

Page 12: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

12

Azure File ServiceSMB Server

• Restricted feature set, no support for:‒ Security descriptors (ACLs)

‒ Alternate data streams

‒ Sparse files

‒ Server-side copy

‒ Named pipes (no srvsvc)

• NTLMv2 authentication only‒ Account and storage access key credentials

‒ No integration with Azure Active Directory (Kerberos)

Page 13: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

13

Azure File ServiceSecurity

Page 14: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

14

Azure File ServicePerformance

• 1000 (8k) IOPS per-share‒ Twice that of virtual block device

• 60 MB/s per-share

• Cross-protocol leasing‒ SMB clients can take read / write / handle leases

‒ No need to flush IO to server

‒ REST IO to leased file results in client lease break

Page 15: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

15

Azure File ServicePricing

• Premium charged‒ $0.08 per GB

‒ More expensive than object ($0.024) and block ($0.05)

• Object storage commoditised‒ Competition with Amazon S3 and Google

Page 16: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

16

Demonstration

Elasto Client

HTTP(S)

Elasto library

REST client

SMB 2.1

Azure File Service\\smbfs\share

Linux clientcifsko

Windows client

Page 17: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

Amazon Elastic File System

Page 18: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

18

Amazon Elastic File SystemOverview

NFSv4EFS Service

Page 19: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

19

Amazon Elastic File SystemOverview

• NFSv4 file server only

• SSD based‒ $0.30 / GB

• File system assigned to region‒ Accessible from EC2 instances within region

• Management and provisioning of file shares‒ Network, instance and user level access restrictions

Page 20: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

OpenStack Manila

Page 21: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

21

OpenStack ManilaOverview

SMB / NFS / ...

ManilaService

File Server

Page 22: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

22

OpenStack ManilaOverview

• File server project for OpenStack

• Management and provisioning of file shares‒ Independent of underlying file server and data-path

‒ Back end file server specific drivers

‒ NetApp, EMC and IBM

‒ GlusterFS

‒ Generic open source file server

Page 23: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

23

OpenStack ManilaManagement

• REST management API‒ Share creation and deletion

‒ Share snapshots

‒ Used by Horizon dashboard and command line utility

‒ Authenticated via OpenStack Keystone

• File shares assigned to private network‒ IP based access restrictions

Page 24: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

24

OpenStack ManilaGeneric File Server Driver

• Linux file server VM‒ Deployed and booted on first share creation

‒ Connected to private tenant network

‒ Samba SMB server and kernel NFS server

• Shares backed by Cinder volumes‒ Ceph RADOS block device

‒ Share snapshot creation and deletion supported

Page 25: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

25

OpenStack ManilaGeneric File Server Driver

Page 26: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol
Page 27: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

27

Future

• Samba as file server service‒ OpenStack Manila

‒ High availability

‒ Use CephFS as backing storage for Samba shares

‒ Offered by other public cloud storage providers?

• Samba as cloud storage gateway‒ See Jeremy's slides

‒ SMB to REST protocol mapping

‒ Elasto cloud library

Page 28: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

28

Future

• Automated share mounts from client VM

• Integration with authentication and identity services

Page 29: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

29

Conclusion

• Cloud file sharing services in infancy‒ Azure File Service and Amazon EFS are both in preview

• Potential to improve portability‒ Easily migrate traditional applications into the cloud

• Improved manageability and resource utilisation‒ Integrated work-flow

Page 30: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

Thank you.

30

Questions?

Page 31: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

31

References

• http://blogs.msdn.com/b/windowsazurestorage/archive/2014/05/12/introducing-microsoft-azure-file-service.aspx

• https://www.openstack.org/summit/openstack-summit-atlanta-2014/session-videos/presentation/manila-an-openstack-file-share-service

• https://wiki.openstack.org/wiki/Neutron/APIv2-specification

• https://github.com/stackforge/manila

• http://aws.amazon.com/blogs/aws/amazon-s3-bigger-and-busier-than-ever/

• http://aws.amazon.com/efs/details/

Page 32: SMB in the Cloud - sambaXP | sambaXP 2018€¢Cloud storage ‒ Common types ‒ Interfaces ‒ Applications •Cloud file servers ‒ Microsoft Azure File Service ... ‒ Cross protocol

Corporate HeadquartersMaxfeldstrasse 590409 NurembergGermany

+49 911 740 53 0 (Worldwide)www.suse.com

Join us on:www.opensuse.org

32