SlideShare a Scribd company logo
Experiences in providing secure multi-tenant
Lustre access to OpenStack
Peter Clapham <pc7@sanger.ac.uk>
Wellcome Trust Sanger Institute
Sanger Science
Scientific Research Programmes
Core Facilities
HPC and Cloud computing are
complementary
Traditional HPC
● Highest possible performance
● A mature and centrally managed
compute platform
● High performance Lustre
filesystems for data intensive
analysis
Flexible Compute
● Full segregation of projects ensures
data security
● Developers no longer tied to a single
stack
● Reproducibility through containers /
images and infrastructure-as-code
But there’s a catch or two...
• Large number of traditional/legacy pipelines
• They require a performant shared POSIX filesystem, while cloud workloads
support object stores
• We do not always have the source code or expertise to migrate
• We need multi-gigabyte per second performance
• The tenant will have root
• and could impersonate any user, but Lustre trusts the client’s identity assertions,
just like NFSv3
• The solution must be simple for the tenant and administrator
Lustre hardware
6+ year old hardware
• 4x Lustre object storage servers
• Dual Intel E5620 @ 2.40GHz
• 256GB RAM
• Dual 10G network
• lustre: 2.9.0.ddnsec2
• https://jira.hpdd.intel.com/browse/LU-9289 (landed in 2.10)
• OSTs from DDN SFA-10k
• 300x SATA, 7200rpm , 1TB spindles
We have seen this system reach 6 GByte/second in production
Experiences in Providing Secure Mult-Tenant Lustre Access to OpenStack
Lustre 2.9 features
• Each tenant’s I/O can be squashed to their own unique UID/GID
• Each tenant is restricted to their own subdirectory of the Lustre filesystem
It might be possible to treat general access outside of OpenStack as a
separate tenant with:
• a UID space reserved for a number of OpenStack tenants
• only a subdirectory exported for standard usage
Public network
tcp32769 Provider Network
Lustre router
Lustre serverstcp0
Tenant network
tcp32770 Provider Network
Logical layout
Tenant network
Lustre server
Per-tenant UID mapping
Allows UIDs from a set of NIDs to be mapped to another set of UIDs
These commands are run on the MGS:
lctl nodemap_add ${TENANT_NAME}
lctl nodemap_modify --name ${TENANT_NAME} --property trusted --value 0
lctl nodemap_modify --name ${TENANT_NAME} --property admin --value 0
lctl nodemap_modify --name ${TENANT_NAME} --property squash_uid --value ${TENANT_UID}
lctl nodemap_modify --name ${TENANT_NAME} --property squash_gid --value ${TENANT_UID}
lctl nodemap_add_idmap --name ${TENANT_NAME} --idtype uid --idmap 1000:${TENANT_UID}
Lustre server:
Per-tenant subtree restriction
Constrains client access to a subdirectory of a filesystem.
mkdir /lustre/secure/${TENANT_NAME}
chown ${TENANT_NAME} /lustre/secure/${TENANT_NAME}
Set the subtree root directory for the tenant:
lctl set_param -P nodemap.${TENANT_NAME}.fileset=/${TENANT_NAME}
Lustre server:
Map nodemap to network
Add the tenant network range to the Lustre nodemap
lctl nodemap_add_range --name ${TENANT_NAME} --range 
[0-255].[0-255].[0-255].[0-255]@tcp${TENANT_UID}
And this command adds a route via a Lustre network router. This is run on all
MDS and OSS (or the route added to
/etc/modprobe.d/lustre.conf)
lnetctl route add --net tcp${TENANT_UID} --gateway ${LUSTRE_ROUTER_IP}@tcp
In the same way a similar command is needed on each client using TCP
Openstack:
Network configuration
neutron net-create LNet-1 --shared --provider:network_type vlan 
--provider:physical_network datacentre --provider:segmentation_id 
${TENANT_PROVIDER_VLAN_ID}
neutron subnet-create --enable-dhcp --dns-nameserver 172.18.255.1 --no-gateway 
--name LNet-subnet-1 --allocation-pool start=172.27.202.17,end=172.27.203.240 
172.27.202.0/23 ${NETWORK_UUID}
openstack role create LNet-1_ok
For each tenant user that needs to create instances attached to this Lustre network:
openstack role add --project ${TENANT_UUID} --user ${USER_UUID} ${ROLE_ID}
Openstack policy
Simplify automation by minimal change to /etc/neutron/policy.json
"get_network": "rule:get_network_local"
/etc/neutron/policy.d/get_networks_local.json then defines the new
rule:
{
"get_network_local": "rule:admin_or_owner or rule:external or
rule:context_is_advsvc or rule:show_providers or ( not
rule:provider_networks and rule:shared )"
}
Openstack policy
/etc/neutron/policy.d/provider.json is used to define networks and their
mapping to roles, and allow access to the provider network.
{
"net_LNet-1": "field:networks:id=d18f2aca-163b-4fc7-a493-237e383c1aa9",
"show_LNet-1": "rule:net_LNet-1 and role:LNet-1_ok",
"net_LNet-2": "field:networks:id=169b54c9-4292-478b-ac72-272725a26263",
"show_LNet-2": "rule:net_LNet-2 and role:LNet-2_ok",
"provider_networks": "rule:net_LNet-1 or rule:net_LNet-2",
"show_providers": "rule:show_LNet-1 or rule:show_LNet-2"
}
Restart Neutron - can be disruptive!
Physical router configuration
• Repurposed Nova compute node
• RedHat 7.3
• Lustre 2.9.0.ddnsec2
• Mellanox ConnectX-4 (2*25GbE)
• Dual Intel E5-2690 v4 @ 2.60GHz
• 512 GB RAM
Connected in a single rack so packets from other racks will have to
transverse the spine. No changes from default settings.
Client virtual machines
• 2 CPU
• 4 GB RAM
• CentOS Linux release 7.3.1611 (Core)
• Lustre: 2.9.0.ddnsec2
• Two NICs
• Tenant network
• Tenant-specific Lustre provider network
Filesets and uid mapping have no effect
Instance size has little effect
Single client read performance
Single client write performance
Multiple VMs, aggregate write
performance, metal LNet routers
Multiple VMs, aggregate read
performance, metal LNet routers
Virtualised Lustre routers
• We could see that bare metal Lustre routers gave acceptable
performance
• We wanted to know if we could virtualise these routers
• Each tenant could have their own set of virtual routers
• Fault isolation
• Ease of provisioning routers
• No additional cost
• Increases east-west traffic, but that’s OK.
Public network
Tenant network
tcp32769 Provider Network
Lustre router
Lustre servers
tcp0
Provider Network
Tenant network
Lustre router
tcp32770 Provider Network
Logical layout
Improved security
As each tenant has its own set of Lustre routers:
• The traffic to a different tenant does not go to a shared router
• A Lustre router could be compromised without directly compromising
another tenant’s data - the filesystem servers will not route data for
@tcp1 to the router @tcp2
• Either a second Lustre router or the Lustre servers would need to be
compromised to intercept or reroute the data
Port security...
The routed Lustre provider network ( tcp32769 etc) required that port
security was disabled on the virtual Lustre router ports.
neutron port-list | grep 172.27.70.36 | awk '{print $2}'
08a1808a-fe4a-463c-b755-397aedd0b36c
neutron port-update --no-security-groups 08a1808a-fe4a-463c-b755-397aedd0b36c
neutron port-update 08a1808a-fe4a-463c-b755-397aedd0b36c 
--port-security-enabled=False
http://kimizhang.com/neutron-ml2-port-security/
We would need to have iptables inside the instance rather than rely on
iptables in the ovs/hypervisor. The tests do not include this.
Virtual Lnet routers:
Sequential performance
Virtual Lnet routers:
Random Performance
Asymmetric routing?
http://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.kernel.rpf.html
Public network
Lustre routers
Lustre servers
tcp0
Tenant network
tcp32770 Provider Network
Hostile system
(e.g. laptop)
tcp0
tcp0
Conclusions
• Follow our activities on http://hpc-news.sanger.ac.uk
• Isolated POSIX islands can be deployed to OpenStack with Lustre 2.9+
• Performance is acceptable
• Lustre routers require little CPU and memory
• Physical routers work and can give good locality for network usage
• Virtual routers work, can scale and give additional security benefits
• Next steps:
• Improve configuration automation
• Understand the neutron port security issue
• Improve network performance (MTU, OpenVSwitch etc).
Acknowledgements
DDN: Sébastien Buisson, Thomas Favre-Bulle, Richard Mansfield, James Coomer
Sanger Informatics Systems Group: Pete Clapham, James Beal, John Constable,
Helen Cousins, Brett Hartley, Dave Holland, Jon Nicholson, Matthew Vernon

More Related Content

PDF
Enabling a Secure Multi-Tenant Environment for HPC
PPTX
Secure lustre on openstack
PDF
Openstack Networking Internals - first part
PDF
Open stack advanced_part
PDF
Docker and Fargate
PDF
OpenStack networking
PDF
OpenStack networking (Neutron)
PDF
Open daylight and Openstack
Enabling a Secure Multi-Tenant Environment for HPC
Secure lustre on openstack
Openstack Networking Internals - first part
Open stack advanced_part
Docker and Fargate
OpenStack networking
OpenStack networking (Neutron)
Open daylight and Openstack

What's hot (20)

PDF
Neutron: br-ex is now deprecated! what is modern way?
PDF
Jose Selvi - Side-Channels Uncovered [rootedvlc2018]
PPTX
Neutron behind the scenes
PDF
Introduction to Software Defined Networking and OpenStack Neutron
PPTX
Grehack2013-RuoAndo-Unraveling large scale geographical distribution of vulne...
PDF
Mininet introduction
PPTX
OpenStack Networking and Automation
PDF
L3HA-VRRP-20141201
PPTX
Open stack Architecture and Use Cases
PPTX
OpenStack Neutron behind the Scenes
PDF
OpenStack Neutron Havana Overview - Oct 2013
PDF
Kubernetes networking - basics
PPTX
Mininet demo
PDF
OpenStack Neutron Tutorial
PDF
OpenStack Networking
PDF
Open stack networking_101_update_2014
PDF
OpenStack networking-sfc flow 분석
PDF
OpenStack DVR_What is DVR?
PPTX
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
PDF
Whats new in neutron for open stack havana
Neutron: br-ex is now deprecated! what is modern way?
Jose Selvi - Side-Channels Uncovered [rootedvlc2018]
Neutron behind the scenes
Introduction to Software Defined Networking and OpenStack Neutron
Grehack2013-RuoAndo-Unraveling large scale geographical distribution of vulne...
Mininet introduction
OpenStack Networking and Automation
L3HA-VRRP-20141201
Open stack Architecture and Use Cases
OpenStack Neutron behind the Scenes
OpenStack Neutron Havana Overview - Oct 2013
Kubernetes networking - basics
Mininet demo
OpenStack Neutron Tutorial
OpenStack Networking
Open stack networking_101_update_2014
OpenStack networking-sfc flow 분석
OpenStack DVR_What is DVR?
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
Whats new in neutron for open stack havana
Ad

Similar to Experiences in Providing Secure Mult-Tenant Lustre Access to OpenStack (20)

PDF
Minimal OpenStack LinuxCon NA 2015
PPTX
Hands-on Lab: Test Drive Your OpenStack Network
PPTX
Cloud computing and OpenStack
PPTX
Openstack meetup: Bootstrapping OpenStack to Corporate IT
PDF
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
PPTX
OpenStack Quantum
PPTX
Couch to OpenStack: Neutron (Quantum) - August 13, 2013 Featuring Sean Winn
PPTX
Nuage meetup - Flexible and agile Software Defined Networking (SDN)
PDF
RedHat OpenStack Platform Overview
PDF
OpenStack Summit Paris - Neutron & Nuage Networks in Private Cloud Environments
TXT
Havana版 RDO-QuickStart-2 Answer File(answer2.txt)
TXT
Havana版 RDO-QuickStart-1 Answer File(answer1.txt)
PPTX
NTT SIC marketplace slide deck at Tokyo Summit
PDF
Open nebula froscon
TXT
Havana版 RDO-QuickStart-3 Answer File(RDO-QuickStart-3.txt)
PDF
OpenStack: Security Beyond Firewalls
PDF
Openstack: security beyond firewalls
PDF
Loadays 2013 OpenNebula Fundamentals
PDF
OpenStack Tokyo Meeup - Gluster Storage Day
PPT
Openstack presentation
Minimal OpenStack LinuxCon NA 2015
Hands-on Lab: Test Drive Your OpenStack Network
Cloud computing and OpenStack
Openstack meetup: Bootstrapping OpenStack to Corporate IT
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
OpenStack Quantum
Couch to OpenStack: Neutron (Quantum) - August 13, 2013 Featuring Sean Winn
Nuage meetup - Flexible and agile Software Defined Networking (SDN)
RedHat OpenStack Platform Overview
OpenStack Summit Paris - Neutron & Nuage Networks in Private Cloud Environments
Havana版 RDO-QuickStart-2 Answer File(answer2.txt)
Havana版 RDO-QuickStart-1 Answer File(answer1.txt)
NTT SIC marketplace slide deck at Tokyo Summit
Open nebula froscon
Havana版 RDO-QuickStart-3 Answer File(RDO-QuickStart-3.txt)
OpenStack: Security Beyond Firewalls
Openstack: security beyond firewalls
Loadays 2013 OpenNebula Fundamentals
OpenStack Tokyo Meeup - Gluster Storage Day
Openstack presentation
Ad

More from inside-BigData.com (20)

PDF
Major Market Shifts in IT
PDF
Preparing to program Aurora at Exascale - Early experiences and future direct...
PPTX
Transforming Private 5G Networks
PDF
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
PDF
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
PDF
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
PDF
HPC Impact: EDA Telemetry Neural Networks
PDF
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
PDF
Machine Learning for Weather Forecasts
PPTX
HPC AI Advisory Council Update
PDF
Fugaku Supercomputer joins fight against COVID-19
PDF
Energy Efficient Computing using Dynamic Tuning
PDF
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
PDF
State of ARM-based HPC
PDF
Versal Premium ACAP for Network and Cloud Acceleration
PDF
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
PDF
Scaling TCO in a Post Moore's Era
PDF
CUDA-Python and RAPIDS for blazing fast scientific computing
PDF
Introducing HPC with a Raspberry Pi Cluster
PDF
Overview of HPC Interconnects
Major Market Shifts in IT
Preparing to program Aurora at Exascale - Early experiences and future direct...
Transforming Private 5G Networks
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
HPC Impact: EDA Telemetry Neural Networks
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Machine Learning for Weather Forecasts
HPC AI Advisory Council Update
Fugaku Supercomputer joins fight against COVID-19
Energy Efficient Computing using Dynamic Tuning
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
State of ARM-based HPC
Versal Premium ACAP for Network and Cloud Acceleration
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
Scaling TCO in a Post Moore's Era
CUDA-Python and RAPIDS for blazing fast scientific computing
Introducing HPC with a Raspberry Pi Cluster
Overview of HPC Interconnects

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Spectroscopy.pptx food analysis technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Cloud computing and distributed systems.
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Approach and Philosophy of On baking technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
cuic standard and advanced reporting.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation_ Review paper, used for researhc scholars
NewMind AI Weekly Chronicles - August'25 Week I
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Big Data Technologies - Introduction.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Machine learning based COVID-19 study performance prediction
Spectroscopy.pptx food analysis technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Understanding_Digital_Forensics_Presentation.pptx
Cloud computing and distributed systems.
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Approach and Philosophy of On baking technology
Chapter 3 Spatial Domain Image Processing.pdf
Unlocking AI with Model Context Protocol (MCP)
Spectral efficient network and resource selection model in 5G networks
cuic standard and advanced reporting.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf

Experiences in Providing Secure Mult-Tenant Lustre Access to OpenStack

  • 1. Experiences in providing secure multi-tenant Lustre access to OpenStack Peter Clapham <pc7@sanger.ac.uk> Wellcome Trust Sanger Institute
  • 2. Sanger Science Scientific Research Programmes Core Facilities
  • 3. HPC and Cloud computing are complementary Traditional HPC ● Highest possible performance ● A mature and centrally managed compute platform ● High performance Lustre filesystems for data intensive analysis Flexible Compute ● Full segregation of projects ensures data security ● Developers no longer tied to a single stack ● Reproducibility through containers / images and infrastructure-as-code
  • 4. But there’s a catch or two... • Large number of traditional/legacy pipelines • They require a performant shared POSIX filesystem, while cloud workloads support object stores • We do not always have the source code or expertise to migrate • We need multi-gigabyte per second performance • The tenant will have root • and could impersonate any user, but Lustre trusts the client’s identity assertions, just like NFSv3 • The solution must be simple for the tenant and administrator
  • 5. Lustre hardware 6+ year old hardware • 4x Lustre object storage servers • Dual Intel E5620 @ 2.40GHz • 256GB RAM • Dual 10G network • lustre: 2.9.0.ddnsec2 • https://jira.hpdd.intel.com/browse/LU-9289 (landed in 2.10) • OSTs from DDN SFA-10k • 300x SATA, 7200rpm , 1TB spindles We have seen this system reach 6 GByte/second in production
  • 7. Lustre 2.9 features • Each tenant’s I/O can be squashed to their own unique UID/GID • Each tenant is restricted to their own subdirectory of the Lustre filesystem It might be possible to treat general access outside of OpenStack as a separate tenant with: • a UID space reserved for a number of OpenStack tenants • only a subdirectory exported for standard usage
  • 8. Public network tcp32769 Provider Network Lustre router Lustre serverstcp0 Tenant network tcp32770 Provider Network Logical layout Tenant network
  • 9. Lustre server Per-tenant UID mapping Allows UIDs from a set of NIDs to be mapped to another set of UIDs These commands are run on the MGS: lctl nodemap_add ${TENANT_NAME} lctl nodemap_modify --name ${TENANT_NAME} --property trusted --value 0 lctl nodemap_modify --name ${TENANT_NAME} --property admin --value 0 lctl nodemap_modify --name ${TENANT_NAME} --property squash_uid --value ${TENANT_UID} lctl nodemap_modify --name ${TENANT_NAME} --property squash_gid --value ${TENANT_UID} lctl nodemap_add_idmap --name ${TENANT_NAME} --idtype uid --idmap 1000:${TENANT_UID}
  • 10. Lustre server: Per-tenant subtree restriction Constrains client access to a subdirectory of a filesystem. mkdir /lustre/secure/${TENANT_NAME} chown ${TENANT_NAME} /lustre/secure/${TENANT_NAME} Set the subtree root directory for the tenant: lctl set_param -P nodemap.${TENANT_NAME}.fileset=/${TENANT_NAME}
  • 11. Lustre server: Map nodemap to network Add the tenant network range to the Lustre nodemap lctl nodemap_add_range --name ${TENANT_NAME} --range [0-255].[0-255].[0-255].[0-255]@tcp${TENANT_UID} And this command adds a route via a Lustre network router. This is run on all MDS and OSS (or the route added to /etc/modprobe.d/lustre.conf) lnetctl route add --net tcp${TENANT_UID} --gateway ${LUSTRE_ROUTER_IP}@tcp In the same way a similar command is needed on each client using TCP
  • 12. Openstack: Network configuration neutron net-create LNet-1 --shared --provider:network_type vlan --provider:physical_network datacentre --provider:segmentation_id ${TENANT_PROVIDER_VLAN_ID} neutron subnet-create --enable-dhcp --dns-nameserver 172.18.255.1 --no-gateway --name LNet-subnet-1 --allocation-pool start=172.27.202.17,end=172.27.203.240 172.27.202.0/23 ${NETWORK_UUID} openstack role create LNet-1_ok For each tenant user that needs to create instances attached to this Lustre network: openstack role add --project ${TENANT_UUID} --user ${USER_UUID} ${ROLE_ID}
  • 13. Openstack policy Simplify automation by minimal change to /etc/neutron/policy.json "get_network": "rule:get_network_local" /etc/neutron/policy.d/get_networks_local.json then defines the new rule: { "get_network_local": "rule:admin_or_owner or rule:external or rule:context_is_advsvc or rule:show_providers or ( not rule:provider_networks and rule:shared )" }
  • 14. Openstack policy /etc/neutron/policy.d/provider.json is used to define networks and their mapping to roles, and allow access to the provider network. { "net_LNet-1": "field:networks:id=d18f2aca-163b-4fc7-a493-237e383c1aa9", "show_LNet-1": "rule:net_LNet-1 and role:LNet-1_ok", "net_LNet-2": "field:networks:id=169b54c9-4292-478b-ac72-272725a26263", "show_LNet-2": "rule:net_LNet-2 and role:LNet-2_ok", "provider_networks": "rule:net_LNet-1 or rule:net_LNet-2", "show_providers": "rule:show_LNet-1 or rule:show_LNet-2" } Restart Neutron - can be disruptive!
  • 15. Physical router configuration • Repurposed Nova compute node • RedHat 7.3 • Lustre 2.9.0.ddnsec2 • Mellanox ConnectX-4 (2*25GbE) • Dual Intel E5-2690 v4 @ 2.60GHz • 512 GB RAM Connected in a single rack so packets from other racks will have to transverse the spine. No changes from default settings.
  • 16. Client virtual machines • 2 CPU • 4 GB RAM • CentOS Linux release 7.3.1611 (Core) • Lustre: 2.9.0.ddnsec2 • Two NICs • Tenant network • Tenant-specific Lustre provider network
  • 17. Filesets and uid mapping have no effect Instance size has little effect Single client read performance
  • 18. Single client write performance
  • 19. Multiple VMs, aggregate write performance, metal LNet routers
  • 20. Multiple VMs, aggregate read performance, metal LNet routers
  • 21. Virtualised Lustre routers • We could see that bare metal Lustre routers gave acceptable performance • We wanted to know if we could virtualise these routers • Each tenant could have their own set of virtual routers • Fault isolation • Ease of provisioning routers • No additional cost • Increases east-west traffic, but that’s OK.
  • 22. Public network Tenant network tcp32769 Provider Network Lustre router Lustre servers tcp0 Provider Network Tenant network Lustre router tcp32770 Provider Network Logical layout
  • 23. Improved security As each tenant has its own set of Lustre routers: • The traffic to a different tenant does not go to a shared router • A Lustre router could be compromised without directly compromising another tenant’s data - the filesystem servers will not route data for @tcp1 to the router @tcp2 • Either a second Lustre router or the Lustre servers would need to be compromised to intercept or reroute the data
  • 24. Port security... The routed Lustre provider network ( tcp32769 etc) required that port security was disabled on the virtual Lustre router ports. neutron port-list | grep 172.27.70.36 | awk '{print $2}' 08a1808a-fe4a-463c-b755-397aedd0b36c neutron port-update --no-security-groups 08a1808a-fe4a-463c-b755-397aedd0b36c neutron port-update 08a1808a-fe4a-463c-b755-397aedd0b36c --port-security-enabled=False http://kimizhang.com/neutron-ml2-port-security/ We would need to have iptables inside the instance rather than rely on iptables in the ovs/hypervisor. The tests do not include this.
  • 27. Asymmetric routing? http://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.kernel.rpf.html Public network Lustre routers Lustre servers tcp0 Tenant network tcp32770 Provider Network Hostile system (e.g. laptop) tcp0 tcp0
  • 28. Conclusions • Follow our activities on http://hpc-news.sanger.ac.uk • Isolated POSIX islands can be deployed to OpenStack with Lustre 2.9+ • Performance is acceptable • Lustre routers require little CPU and memory • Physical routers work and can give good locality for network usage • Virtual routers work, can scale and give additional security benefits • Next steps: • Improve configuration automation • Understand the neutron port security issue • Improve network performance (MTU, OpenVSwitch etc).
  • 29. Acknowledgements DDN: Sébastien Buisson, Thomas Favre-Bulle, Richard Mansfield, James Coomer Sanger Informatics Systems Group: Pete Clapham, James Beal, John Constable, Helen Cousins, Brett Hartley, Dave Holland, Jon Nicholson, Matthew Vernon