Large Scale file storage with MogileFS. Stuart Teasdale Lead System Administrator we7 Ltd



Similar documents
Building Scalable Web Sites: Tidbits from the sites that made it work. Gabe Rudy

HADOOP MOCK TEST HADOOP MOCK TEST I

References. Introduction to Database Systems CSE 444. Motivation. Basic Features. Outline: Database in the Cloud. Outline

Introduction to Database Systems CSE 444

An overview of Drupal infrastructure and plans for future growth. prepared by Kieran Lal and Gerhard Killesreiter for the Drupal Association

Google File System. Web and scalability

Finding a needle in Haystack: Facebook s photo storage IBM Haifa Research Storage Systems

Big Data with Component Based Software

Ultimate Guide to Oracle Storage

Welcome to the unit of Hadoop Fundamentals on Hadoop architecture. I will begin with a terminology review and then cover the major components

f...-. I enterprise Amazon SimpIeDB Developer Guide Scale your application's database on the cloud using Amazon SimpIeDB Prabhakar Chaganti Rich Helms

SCALABLE DATA SERVICES

The OpenStack TM Object Storage system

Overview. Big Data in Apache Hadoop. - HDFS - MapReduce in Hadoop - YARN. Big Data Management and Analytics

POWER ALL GLOBAL FILE SYSTEM (PGFS)

GlusterFS Distributed Replicated Parallel File System

Serving 4 million page requests an hour with Magento Enterprise

Accelerating and Simplifying Apache

Hypertable Architecture Overview

WOS Cloud. ddn.com. Personal Storage for the Enterprise. DDN Solution Brief

always available Cloud

Hadoop & its Usage at Facebook

HDFS Users Guide. Table of contents

Distributed File Systems

CLOUD BASED SERVICE (CBS STORAGE)

A programming model in Cloud: MapReduce

How to Choose your Red Hat Enterprise Linux Filesystem

Open-Xchange Server High availability Daniel Halbe, Holger Achtziger

Portable Scale-Out Benchmarks for MySQL. MySQL User Conference 2008 Robert Hodges CTO Continuent, Inc.

HDFS. Hadoop Distributed File System

Growing in web environment at XING

MySQL and Virtualization Guide

Apache Hadoop FileSystem and its Usage in Facebook

Lecture 5: GFS & HDFS! Claudia Hauff (Web Information Systems)! ti2736b-ewi@tudelft.nl

Object storage in Cloud Computing and Embedded Processing

Survey of Filesystems for Embedded Linux. Presented by Gene Sally CELF

SCALABILITY. Hodicska Gergely. Web Engineering Manager as Ustream. May 7, 2012

Distributed File Systems

An overview of the Drupal infrastructure and plans for future growth

Using MySQL for Big Data Advantage Integrate for Insight Sastry Vedantam

MONGODB - THE NOSQL DATABASE

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Storage Architectures for Big Data in the Cloud

Diagram 1: Islands of storage across a digital broadcast workflow

Hadoop & its Usage at Facebook

Hadoop. Apache Hadoop is an open-source software framework for storage and large scale processing of data-sets on clusters of commodity hardware.

Configuring Apache Derby for Performance and Durability Olav Sandstå

Software Environment. Options. Service guarantee:. 24/7 Hardware Support. 99% uptime

Maintaining Non-Stop Services with Multi Layer Monitoring

Shared Parallel File System

Big Data Storage Options for Hadoop Sam Fineberg, HP Storage

HDFS Under the Hood. Sanjay Radia. Grid Computing, Hadoop Yahoo Inc.

owncloud Architecture Overview

SCF/FEF Evaluation of Nagios and Zabbix Monitoring Systems. Ed Simmonds and Jason Harrington 7/20/2009

Scale out NAS on the outside, Object storage on the inside

The Cloud to the rescue!

HDFS Architecture Guide

The deployment of OHMS TM. in private cloud

Michael Thomas, Dorian Kcira California Institute of Technology. CMS Offline & Computing Week

The Hadoop Framework

Hadoop Distributed File System. T Seminar On Multimedia Eero Kurkela

Hadoop: Embracing future hardware

Cloud Based Application Architectures using Smart Computing

GraySort and MinuteSort at Yahoo on Hadoop 0.23

CERNBox + EOS: Cloud Storage for Science

Layers of Caching: Key to scaling your website. Lance Albertson -- Narayan Newton

Large scale processing using Hadoop. Ján Vaňo

Hadoop Distributed File System. Dhruba Borthakur Apache Hadoop Project Management Committee June 3 rd, 2008

Hadoop IST 734 SS CHUNG

DSS. High performance storage pools for LHC. Data & Storage Services. Łukasz Janyst. on behalf of the CERN IT-DSS group

Large-Scale Web Applications

Take An Internal Look at Hadoop. Hairong Kuang Grid Team, Yahoo! Inc

Red Hat Cluster Suite

Sep 23, OSBCONF 2014 Cloud backup with Bareos

Managing MySQL Scale Through Consolidation

Implementing the SUSE Linux Enterprise High Availability Extension on System z

out of this world guide to: POWERFUL DEDICATED SERVERS

UNISOL SysAdmin. SysAdmin helps systems administrators manage their UNIX systems and networks more effectively.

Rails Application Deployment. July Philly on Rails

Detailed Outline of Hadoop. Brian Bockelman

PADS GPFS Filesystem: Crash Root Cause Analysis. Computation Institute

<Insert Picture Here> Big Data

Bigdata High Availability (HA) Architecture

MySQL Reference Architectures for Massively Scalable Web Infrastructure

Cloud Computing. Adam Barker

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

Distributed Storage Systems

owncloud Enterprise Edition on IBM Infrastructure

Last time. Today. IaaS Providers. Amazon Web Services, overview

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

How To Monitor Mysql With Zabbix

Hitachi Content Platform as a Continuous Integration Build Artifact Storage System

Transcription:

Large Scale file storage with MogileFS Stuart Teasdale Lead System Administrator we7 Ltd

About We7 A web based streaming music service 6.5 million tracks 192kbps and 320kbps mp3s Sending over a gigabit a second of streams at peak

Our requirements Store all those mp3s Be able to grab any stream quickly Losing files not acceptable Files being offline not acceptible

First Solution Big NFS Server RAID5 Another one in a different datacentre rsync between the two

Problems with NFS/RAID Does anyone trust RAID5 any more? Increasing Capacity is tough NFS fragility All eggs in one software and hardware basket

Options Big old Sun Fire machine with 48 1TB disks Extension of the previous solution Shift the scaling limit Disk failure handling SANs and NASs Price and power consumption Spread it across lots of disks and machines Adds complexity Allows us to get more from our hardware

Distributed Filesystems Two main types: Full POSIX filesystems ocfs2, gfs Need full clustering, lock managers, etc Application filesystems Throw out all that POSIX hassle Make your application do the hard work Examples: HadoopFS, the other GFS, MogileFS

MogileFS Application level No single points of failure Automatic file replication Better than RAID Flat namespace Shared-nothing No RAID required Local filesystem agnostic

Logical Layout

Storage Nodes WebDAV server Built in perlbal, or use lighttpd, nginx, etc Storage Node statistics Hardware needs: Lots of disks Decent net cards Hotswap disk controller useful Leaves plenty of CPU and memory for other tasks

Trackers Manages all client communications Parent passes requests to 'query workers' Workers do: Replication Deletion Query Reaper Monitor Parent can load balancer to multiple workers Hardware needs are modest

Database Used as metadata store Mysql most mature Postgres and sqllite also available Do HA however you prefer Database size is proportionate to number of files stored, but not huge Hardware needs in line with typical database app

Domains, Classes and Files Domains Top level division for the store File keys unique within a Domain Classes Defines groups of files that share replication policies Files Each file in a domain must belong to one class The object we actually store

Replication Policies Simple: How many copies (mindevcount) Complex: Where to put them? Hooks to add custom policies

Zones and Networks Example of a more complex replication policy Network module makes MogileFS network aware Zones module defines different networks as different zones zone_hex = 10.0.2.0/24,zone_sov = 10.0.1.0/24 Replication policy defines where files are stored HostsPerNetwork(sov=2,hex=2)

Coping with Failure Device States Alive, Read-Only, Drain, Down, Dead Host States Alive, Down, Dead Dead devices and the Reaper

Drain and Rebalance Pre 2.40 Drain removes files from device Basic rebalancing Post 2.40 Complex rebalance policies Drain no longer removes files

Checks and Monitoring Internal 'fsck' walks all the files and check: File exists where we expect it to Replication policy is fulfilled We7 does extra integrity checks on a per server basis Monitoring plugins exist for munin and nagios

Using MogileFS Command Line Mogadm Manipulate Domains and Classes Add modify and remove hosts and devices Control cluster settings Control the fsck worker Mogstats Show device usage and status Show queue and worker states List files and their replication counts

Using MogileFS Command Line Mogtool Add, remove query and manipulate files Deprecated in favour of more unixlike set of tools mogdelete Delete keys from a MogileFS installation mogfetch Fetch data from a MogileFS installation mogfiledebug Dump gobs of information about a FID mogfileinfo Fetch key metadata from a MogileFS installation moglistfids Iterate fid/key data from a MogileFS installation moglistkeys Lists keys out of a MogileFS domain mogupload Upload data to a MogileFS installation

Language Bindings Implemented in Perl, so good Perl client library support Java bindings used by we7 Client libraries available for Ruby, PHP and Python

Scaling Up Adding storage nodes Add more trackers Read only queries and database slaves Application side caching, e.g. in memcached

More Information http://www.danga.com/mogilefs/ http://code.google.com/p/mogilefs/wiki/ http://groups.google.com/group/mogile

Questions?