Engineering a NAS box



Similar documents
Distributed File System Choices: Red Hat Storage, GFS2 & pnfs

Clustered NAS meets GPFS. Andrew Tridgell LTC ALRT Team

USING USER ACCESS CONTROL LISTS (ACLS) TO MANAGE FILE PERMISSIONS WITH A LENOVO NETWORK STORAGE DEVICE

File Services. File Services at a Glance

File System Suite of Benchmarks

How to Choose your Red Hat Enterprise Linux Filesystem

Cisco Small Business NSS2000 Series Network Storage System

Cisco Small Business NSS3000 Series Network Storage System

Introduction to Gluster. Versions 3.0.x

Application Brief: Using Titan for MS SQL

4-Drive-Bay Advanced Gigabit Network RAID Storage System Chassis

Transparent fileservices for Windows, Unix and Mac

Why is it a better NFS server for Enterprise NAS?

Chapter 6, The Operating System Machine Level

Chapter 3 Operating-System Structures

Network Attached Storage 300

Cisco Small Business NSS3000 Series Network Storage System

SAS System for Windows: Integrating with a Network Appliance Filer Mark Hayakawa, Technical Marketing Engineer, Network Appliance, Inc.

Introduction to the Network Data Management Protocol (NDMP)

Windows Server Performance Monitoring

How To Use An Npm On A Network Device

SiliconServer Data Sharing and Security White Paper

Scalable NAS Cluster With Samba And CTDB Source Talk Tage 2010

IBM TotalStorage Network Attached Storage 200 Models 201/226

IBM TotalStorage Network Attached Storage 300G

Ultimate Guide to Oracle Storage

Distributed File Systems

HANTZ + PARTNER. The Upgrade Company! :: NAStorage Server ::

Compatibility and Support Information Nasuni Corporation Natick, MA

IBM TotalStorage Network Attached Storage 300G Models G01 and G26

Virus protection for NAStorage 8200

storage elements and computer systems so that data transfer is secure and robust."

WHITE PAPER: customize. Best Practice for NDMP Backup Veritas NetBackup. Paul Cummings. January Confidence in a connected world.

WHITE PAPER. Dedupe-Centric Storage. Hugo Patterson, Chief Architect, Data Domain. Storage. Deduplication. September 2007

<Insert Picture Here> Managing Storage in Private Clouds with Oracle Cloud File System OOW 2011 presentation

Linux Powered Storage:

Red Hat Storage Server Administration Deep Dive

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters

<Insert Picture Here> Oracle Cloud Storage. Morana Kobal Butković Principal Sales Consultant Oracle Hrvatska

How To Improve Afs.Org For Free On A Pc Or Mac Or Ipad (For Free) For A Long Time (For A Long Term Time) For Free (For Cheap) For Your Computer Or Your Hard Drive) For The Long

Winchester Systems. White Paper

Large Scale Storage. Orlando Richards, Information Services LCFG Users Day, University of Edinburgh 18 th January 2013

Object storage in Cloud Computing and Embedded Processing

Perforce with Network Appliance Storage

4-Bay SATA NAS RAID Server with iscsi

Integrating Lustre with User Security Administration. LAD 15 // Chris Gouge // 2015 Sep

Red Hat Enterprise Linux as a

SerNet. Clustered Samba. Nürnberg April 29, Volker Lendecke SerNet Samba Team. Network Service in a Service Network

ClusStor 918-SA TM NAS & iscsi Appliance 1U Rackmount 240GB - 2TB Network Storage & IP-SAN

How To Back Up A Computer To A Backup On A Hard Drive On A Microsoft Macbook (Or Ipad) With A Backup From A Flash Drive To A Flash Memory (Or A Flash) On A Flash (Or Macbook) On

RED HAT STORAGE SERVER TECHNICAL OVERVIEW

SnapServer NAS GuardianOS 5.2 Compatibility Guide October 2009

A COMPARISON BETWEEN THE SAMBA3 AND LIKEWISE LWIOD FILE SERVERS

SUSE Enterprise Storage Highly Scalable Software Defined Storage. Gábor Nyers Sales

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

StorReduce Technical White Paper Cloud-based Data Deduplication

Network Storage White Paper. Data Sharing Solutions From LaCie

Eloquence Training What s new in Eloquence B.08.00

Software to Simplify and Share SAN Storage Sanbolic s SAN Storage Enhancing Software Portfolio

Cray DVS: Data Virtualization Service

3 Red Hat Enterprise Linux 6 Consolidation

Next Generation Tier 1 Storage

Selling Compellent NAS: File & Block Level in the Same System Chad Thibodeau

Storage Management for the Oracle Database on Red Hat Enterprise Linux 6: Using ASM With or Without ASMLib

Quo vadis Linux File Systems: An operations point of view on EXT4 and BTRFS. Udo Seidel

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle

Product Overview. UNIFIED COMPUTING Managed Hosting - Storage Data Sheet

SMB3 and Beyond: Accessing Samba from Linux. Steve French Principal Systems Engineer Primary Data

Implementing the Hadoop Distributed File System Protocol on OneFS Jeff Hughes EMC Isilon

LucidNAS Quick Start Guide

Integrated Storage Solutions ISS Series

OS6 N2520 N2560 N4520 N4560 FWRN Build OS

The Best of Both Worlds Sharing Mac Files on Windows Servers

SnapServer NAS GuardianOS 6.5 Compatibility Guide May 2011

THE EMC ISILON STORY. Big Data In The Enterprise. Copyright 2012 EMC Corporation. All rights reserved.

Cross-platform file sharing between Unix and Windows

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

Home storage and backup options. Chris Moates Head of Lettuce

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective

Novell Storage ServicesTM File System Administration Guide for Linux

File Systems Management Guide

This section discusses the protocols available for volumes on Nasuni Filers.

XtreemStore A SCALABLE STORAGE MANAGEMENT SOFTWARE WITHOUT LIMITS YOUR DATA. YOUR CONTROL

Migrating from NFSv3 to NFSv4. Migrating from NFSv3 to NFSv4. March of STORAGE NETWORKING INDUSTRY ASSOCIATION

Database Hardware Selection Guidelines

Samba in the Enterprise : Samba 3.0 and beyond

Four Reasons To Start Working With NFSv4.1 Now

Chapter 11: File System Implementation. Operating System Concepts with Java 8 th Edition

SOFTNIX LOGGER Centralized Logs Management

HP StorageWorks Enterprise File Services Clustered Gateway. Technical Product Review. Sprawl Makes Inexpensive Servers Expensive

Open Source, Scale-out clustered NAS using nfs-ganesha and GlusterFS

WHITEPAPER. Network-Attached Storage in the Public Cloud. Introduction. Red Hat Storage for Amazon Web Services

An Affordable Commodity Network Attached Storage Solution for Biological Research Environments.

Best Practices for Data Sharing in a Grid Distributed SAS Environment. Updated July 2010

VERITAS Backup Exec 9.0 for Windows Servers

Using Samba with a Commercial Clustered File System

Using HP StoreOnce D2D systems for Microsoft SQL Server backups

Network Attached Storage. Jinfeng Yang Oct/19/2015

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Transcription:

Engineering a NAS box One common use for Linux these days is as a Network Attached Storage server. In this talk I will discuss some of the challenges facing NAS server design and how these can be met within the Linux operating system design.

A multi-protocol file server A NAS box is a multi-protocol file server. Typically the hardware contains some hot-swap disks, one or two gigabit cards and one or two CPUs. The box might include the following protocols: CIFS/SMB NFS Appletalk HTTP possibly NCP and NDMP The box may provide shared network storage for up to several hundred users.

Semantic Conversion One of the major challenges facing NAS boxes is the problem of Semantic Conversion. Each of the protocols that the box supports has a quite different set of semantics, and these semantics are in turn quite different from the native semantics of the local operating system (often Linux). This means that for correct operation the server must map the expected protocol semantics onto the semantics of the local OS, and this mapping must be fast.

Semantic Conversion - part 2 The main semantic conversion problems are: locking ACLs case insensitivity short/long names delete/rename There are two broad approaches to each of these - either map the required sematics onto the local OS semantics or add parallel semantics into the local OS.

Byte range locking A good example of semantic conversion problems is byte range locking. POSIX byte range locking (in Linux) and CIFS byte range locking are completely different: POSIX locks are not stackable, CIFS are POSIX locks haved a fixed lock context signed/unsigned lock offsets POSIX locks are advisory, CIFS mandatory Think of this sequence of locks lock(1,10) lock(5,8) unlock(1,10) Is byte 6 now locked?

Byte range locking - part 2 To map from CIFS locking to POSIX locking Samba implements a locking database in user space. That database stores locking records set by CIFS clients. The Samba code then maps the CIFS locks to a best approximation set of POSIX locks so that other protocols can see the locks set by CIFS clients. This is not ideal! It is slow and full of race conditions. Can you see why implementing mandatory locks in user space leads to race conditions? It would be better to add CIFS byte range locking to the kernel.

Case Insensitivity Applications running on CIFS clients expect filesystems to be case insensitive, whereas Unix systems are case sensitive. How do you provide case insensitive semantics on a case sensitive operating system? Lets walk through the worst case - proving that a file doesn t exist. How do you prove that the file /home/test/data/test.dat doesn t exist? First you need to search /, then you need to search /home then /home/test and so on. This is very expensive.

Case Insensitivity - part 2 The alternative is to add case insensitive support directly into the kernel. To do this on Linux you need to modify two main kernel subsystems, the low-level filesystem and the dcache. In the simplest case we need to: change the filesystem to use strcasecmp() when looking up names in directories change the dcache hash function to be case insensitive change the dcache comparison functions to use strcasecmp() Things soon get a bit more complex.

Case Insensitivity - part 3 The XFS filesystem is a common choice for a NAS box. The on-disk directory format in XFS is a hash system, this also means that we need to change the on-disk format when we change to a case insensitive hash. For backwards compatibility and seamless conversion we need to mark each directory in XFS as being either case insensitive or case sensitive. The directory hash function is then chosen based on this flag. Other major problems include: case insensitive in what character set? per-process case insensitivity

More semantic conversion The other major points of semantic mismatch are File ACLs (access control lists) short/long names delete/rename semantics With each of these we have the choice of semantic mapping or parallel access. Usually parallel access is preferable, but it is often much more complex to implement.

Performance tuning Good performance is quite critical to a NAS box. Here is a performance comparison using the NBENCH netbench simulator.

Other issues This talk has only scratched the surface of the issues facing NAS development. Other major issues include: hot-swap disk support scalable filesystem snapshots international character set support system management tools backup systems