Top Banner
04-13-2015 © Atos Sebastien Buisson Parallel File Systems BDS R&D Data Operations [email protected] Lustre & Kerberos: in theory and in practice
33

Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

Mar 19, 2020

Download

Documents

dariahiddleston
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: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos

Sebastien BuissonParallel File SystemsBDS R&D Data [email protected]

Lustre & Kerberos:in theory and in practice

Page 2: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 2

Lustre & Kerberos

▶ Purpose of Kerberos

▶ Kerberos support in Lustre: from past to present

▶ Kerberos configuration in a nutshell

▶ Let's play with Kerberos on Lustre

Page 3: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 3

Purpose of Kerberos

Page 4: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 4

Purpose of Kerberos

▶ Objectives– control who can be part of a Lustre file system

▶ Currently– whichever node that

• is connected to the Interconnect network• knows the MGS and file system names

– can mount Lustre as a client!– can format a target and mount Lustre as a server!

▶ Kerberos is a possible solution– authentication of nodes and users

Page 5: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 5

Purpose of Kerberos

▶How it works with Lustre: mount

2. Lustre service token

4. Lustre service token

5.

Page 6: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 6

Purpose of Kerberos

▶How it works with Lustre: file access

2. User service token

Page 7: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 7

Purpose of Kerberos

▶ Objectives– protect data transfers between nodes

▶ Currently– Lustre checksums guard against network data corruption

▶ Kerberos is a possible solution– integrity and privacy of bulk data and rpc messages

flavor auth RPC message protection Bulk data protection

krb5n yes no checksum

krb5a yes headers integrity checksum

krb5i yes integrity integrity

krb5p yes privacy privacy

Page 8: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 8

Kerberos support: from past to present

Page 9: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 9

From past to present

▶ Back in 2010– Lustre 2.0 was successfully kerberized on production cluster at Pittsburgh

Supercomputing Center« Kerberized Lustre 2.0 over the WAN », Josephine Palencia, PSC,

LUG 2010▶ But in 2013

– Lustre 2.4 was unable to even start with Kerberos activated« Strong authentication in Lustre & friends », Daniel Kobras, S+C,

LAD 2013▶ Bull/Atos R&D experiments with Lustre 2.5

– '--enable-gss' build broken– instant crash when starting Lustre with Kerberos activated⇒ still a lot of work to do!

Page 10: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 10

From past to present

▶ In current master: GSSAPI/Kerberos related patches– build/new kernel support

• LU-4085, LU-4012, LU-4372: landed– LWP/OSP support at GSSAPI level

• LU-3778: in progress– Bug fixes for GSS/Kerberos

• LU-4113: landed• LU-6020 (multiple patches): landed• LU-6356 (multiple patches): landed and in progress

Page 11: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 11

Kerberos configuration in a nutshell

Page 12: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 12

Configuration in a nutshell

▶Every file system access needs to be authenticated with Kerberos credentials, named principals:

– MGS• lustre_mgs/<mgt network address>.DOMAIN

– MDS• lustre_mds/<mds hostname>.DOMAIN• for each mdt network address:lustre_mds/<mdt network address>.DOMAIN

– OSS• for each ost network address:lustre_oss/<ost network address>.DOMAIN

– Client• lustre_root/<network address>.DOMAIN

– normal users need their own principal

Page 13: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 13

Configuration in a nutshell

Lustre client part

Kernel space Kernel space

Lustre

Client or OSS or MDS OSS or MDS

Lustre server part

Page 14: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 14

Configuration in a nutshell

Lustre client part

lgss_keyringvia request-key

lsvcgssd

User space User space

Kernel space Kernel space

Lustre

cred

entia

ls

Lustre server part

Client or OSS or MDS OSS or MDS

cred

entia

ls

Page 15: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 15

Configuration in a nutshell

Lustre client part

lgss_keyringvia request-key

lsvcgssd

User space User space

Kernel space Kernel space

Lustre

checksumintegrityprivacy

Lustre server part

checksumintegrityprivacy

Client or OSS or MDS OSS or MDS

cred

entia

ls

cred

entia

ls

Page 16: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 16

Configuration in a nutshell

▶ Supported Kerberos flavors

▶ Flavors can be refined at various levels:– lctl conf_param <fs>.srpc.flavor.default = krb5i– lctl conf_param <fs>.srpc.flavor.o2ib0 = null– lctl conf_param <fs>.srpc.flavor.default.client2ost = krb5p

▶ MGS particular case:– 'mgssec=flavor' mount option for targets and clients

flavor auth RPC message protection Bulk data protection

krb5n yes no checksum

krb5a yes headers integrity checksum

krb5i yes integrity integrity

krb5p yes privacy privacy

Page 17: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 17

Let's play with Kerberos for Lustre

Page 18: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 18

Let's play

▶R&D testbed– software:

• RHEL 6• Kerberos MIT v5• Lustre 2.7.0 + patches

– hardware: 1 node per Lustre role, to 'ease' Kerberos setup• 1 MGS• 1 MDS• 1 OSS• 1 client

– 12 cores– 24 GB RAM

• Interconnect: Infiniband QDR

ramdisk storage

Page 19: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 19

Let's play

▶ With patches in progress in LU-3778, LU-6020, LU-6356– all flavors are functional

• krb5n, krb5a, krb5i, krb5p– on every communication channel

• cli2mdt, cli2ost, mdt2mdt, mdt2ost– for all parties:

• MGS, MDS, OSS, Client

▶ Let's have a look at impact of Kerberos over performance

Page 20: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 20

Impact over data performance

Page 21: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 21

Impact over data performance

Page 22: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 22

Impact over data performance

Page 23: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 23

Impact over data performance

Page 24: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 24

Impact over data performance

Page 25: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 25

Impact over metadata performance

Page 26: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 26

Impact over metadata performance

Page 27: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 27

Impact over metadata performance

Page 28: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 28

Impact over metadata performance

Page 29: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 29

Impact over metadata performance

Page 30: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 30

Conclusion

▶ Kerberos support in Lustre is back!

▶ Performance impact– with authentication: very modest– with integrity/privacy: no pain, no gain...

▶ Remaining work:– land patches– document:

• update OpenSFS wiki

Page 31: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

Atos, the Atos logo, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Canopy the Open Cloud Company, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are registered trademarks of Atos. © 2015 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos.

04-13-2015

ThanksFor more information please contact:[email protected]

Page 32: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 32

Data performance tests summary

write krb5n krb5a krb5i krb5p

des3 similar similar - 50 % - 95 %

aes128 similar similar - 50 % - 75 %

aes256 similar similar - 50 % - 75 %

read krb5n krb5a krb5i krb5p

des3 similar similar - 60 % - 95 %

aes128 similar similar - 60 % - 80 %

aes256 similar similar - 60 % - 80 %

Page 33: Lustre & Kerberos - OpenSFScdn.opensfs.org/wp-content/uploads/2015/04/Lustre-and...Objectives – control who can be part of a Lustre file system Currently – whichever node that

04-13-2015 © Atos 33

Metadata performance tests summarycreate krb5n krb5a krb5i krb5p

des3 - 5 % - 20 % - 25 % - 60 %

aes128 - 5 % - 20 % - 25 % - 40 %

aes256 - 5 % - 20 % - 25 % - 40 %

stat krb5n krb5a krb5i krb5p

des3 - 10 % - 20 % - 25 % - 60 %

aes128 - 10 % - 20 % - 25 % - 40 %

aes256 - 10 % - 20 % - 25 % - 40 %

remove krb5n krb5a krb5i krb5p

des3 - 5 % - 20 % - 25 % - 60 %

aes128 - 5 % - 20 % - 25 % - 40 %

aes256 - 5 % - 20 % - 25 % - 40 %