Storage Lecture Notes
Storage Lecture Notes
Storage Devices
• Broadband is a reality
• Everyone expects near-unlimited storage online – Youtube, Flickr, Facebook et al are storing
your life online*
• (.. And yea … let’s not forget your personal bit-torrent collection)
* it would take 1400 TB to store your entire life in video. 5700 TB if you want to know what was
happening around you. Another 73 TB for the audio files of everything you heard (MP3 quality).
That’s about 6000 TB for a copy of your life
Agenda:
• Hard disks
• RAID
• DAS
• SAN
• NAS
• It is a computer bus interface for connecting host bus adapter (connect the host to other
n/w & storage devices) to mass storage devices such as hard drives and optical drives.
• Advantage
• It is a computer bus used to move data to and from computer storage devices such as
• It is a set of standards for physically connecting and transforming data between computers
and peripheral devices.
FC (Fiber Channel):
primarily – supercomputer
Capacity
Life Expectancy
3
SATA SAS FC
Hard drive Typically - 250 GB, 500 Typically – 73 GB, 146 GB, Typically – 73 GB, 146 GB,
capacities GB, 750 GB, 1TB 300 GB, 400 GB 300 GB, 400 GB
SATA SAS FC
• For high IOPs, database applications, low-storage requirements – you have a choice between
FC and SAS
• Future SAS standards promise to be faster than FC (though it is likely they may remain neck
to neck)
• For high-storage requirements (video server, file servers, photo storage, archivals, mail
servers, backup servers) SATA is the way to go
• One may combine SAS and SATA to reduce average cost and achieve your goals – especially
since the backplanes are cross-compatible
• Readup the spec sheet of the hard drives you plan on using for determining specifics
• Useful for creating efficient in-between caches or storing small to mid-sized high
performance databases
5
Advantages Disadvantages
• Extremely low latency (25x to • Slower random write speeds incase of Flash
200x better) based storage
• No noise
RAID Primer
Introduction to RAID:
• This uses a pool of disks to save data. Rather than spend billions building special high-
capacity disks, greater capacity is achieved by simply putting PC disks into RAIDs.
RAID 0:
6
• Because the data is being written to multiple disks the controller can work in parallel on both
read and write, improving performance
RAID 1:
• This is mirroring. The same data is written to two disks. If either disk fails a complete copy of
the data is available at the other disk
• Uses 2X the storage space, can get better performance because the OS can pick the disk with
the least seek or rotational latency
RAID-5:
7
• RAID5 uses “parity” or redundant information. If a block fails, enough parity information is
available to recover the data
• A disk failure requires a rebuild as the parity information is used to re-create the data lost
RAID-10:
• RAID-10 is striping plus mirroring, so you get good performance plus a fully mirrored data, at
the expense of 2X disk
Storage:
• SCSI RAID arrays are expensive, the disks are expensive, and the disks have low capacity, but
the RAID arrays have good performance
• ATA raid arrays have excellent price (1/3-1/2 that of SCSI drives) and capacity, somewhat
lower performance
• Promise Vtrak 15110: $4K plus 15 400GB SATA disks at $300 = 6 TB for $8,500
Diagram
Minimum 2 2 3 4
Disks
Random Write Very Good (slightly worse Fair (Parity Poor (Dual Parity
Performance Good than single drive) overhead) Overhead)
Data backed up
elsewhere
RAID 10 RAID 50
10
Diagram
Description Mirroring then Striping Striping with Parity then Striping without parity
Array (Size of Drive) * (Number of (Size of Drive) * (No. of Drives In Each RAID 5
Capacity Drives ) / 2 Set - 1) * (No of RAID 5 Sets)
RAID 10 RAID 50
Fault Tolerance Multiple drive failure as Multiple drive failure as long as 2 drives from
long as 2 drives from same same RAID 5 set do not fail
RAID 1 set do not fail
RAID 10 RAID 50
• RAID 10 is faster and better than RAID 0+1 for the same cost
• RAID 60 is similar to RAID 50 except that the striped sets with parity contain dual parity
• Ideally RAID 10 and RAID 50 will be the only nested RAID levels you will use
RAID Considerations:
ideal stripe sizes depend on your application, typical data read in a read, sequential
vs random reads etc
• Maintain sufficient Spares in a large array (typically 1 per 10-15 disks is sufficient)
RAID Considerations:
Especially nested RAID levels or parity based RAID – consume more CPU cycles and
increase rebuild time if implemented in software
• Ensure the controller has battery backup to retain its cache in case of power failure
• For internal RAID Controller cards use faster PCI buses (PCI-x)
Storage Technologies :
• Direct Attached Storage (DAS)-is a traditional mass storage, that does not use any network.
This is still a most popular approach. This term was created lately, together with NAS and
SAN.
• Network Attached Storage (NAS)-is mass storage attached to a computer which another
computer can access at file level over a local area network, a private wide area network, or
in the case of online file storage, over the Internet.
• Storage Area Network (SAN)-is a specialized network, that provides other computers with
storage capacity. The crucial difference between NAS and SAN is the former presents and
manages file systems to client computers, whilst the latter provides access at block-
addressing (raw) level, leaving it to attaching systems to manage data or file systems within
the provided capacity. SAN is commonly associated with Fibre Channel networks
Passive Disk Enclosure based Direct Attached Storage (PDE based DAS):
(or what I’d like to call Passive Disk Enclosure or PDE) Eg Dell Powervault MD1000
• Passive Disk Enclosure to RAID Controller connectivity can be SAS, FC, SCSI (possibly different
from the backplane)
• PDE may have multiple paths to system with possibility of multiplexing for increased speed
• Maximum storage size = maximum number of PDEs that can be daisy chained x size of drives
• Performance Considerations
Drives
RAID configuration
PDE Interconnect
14
PCI bus
Active Disk Enclosure based Direct Attached Storage (ADE based DAS)
• ADE Difference -> RAID Card is not in the host machine but in the enclosure
• Host machine has a SAS/FC Host Bus Adaptor (HBA) depending on ADE to Host connectivity
support
• Eg of ADE – Dell MD 3000, Infortrend eonstor devices, Nexsan Satabeast and Sataboy etc
• RAID Controllers can be used as Active-Active (incase of multiple RAID Groups) – otherwise
as Active Passive
15
• ADEs are wrongly but commonly referred as SAN (SAN device would still be alright)
Logical Volumes:
• At the Operating System a Logical Group can be created out of multiple RAID Groups
• In Linux this is done using LVM (logical volume manager for the Linux kernel; it manages disk
drives and similar mass-storage devices, in particular large ones )
• Switch and HBA can be SAS / FC depending on interconnect type supported by ADE
• Care must be taken to mount each Logical Volume onto a single client (unless you are
running a Clustered File System)
• This can be achieved by host masking supported by ADE and/or the Switch
• Without careful host masking and mounting data corruption can take place
• Complex SAN configs include multiple hosts and multiple ADEs connected to active-active
switches with multiplexed connections
• While this looks complex – just think of it as removing hard disks from the machine and
hosting them outside in separate enclosures
17
• Performance Considerations
• Switch config
• Ensure that switch / HBA / interconnect does not become the bottleneck and full
hdd throughput can be utilized
Throughput Calculations:
Storage Technologies:
Unlimited capacity
with multiple discs
Portable
Data archiving
Widely-supported I/O Limited capacity on
Compact disc, interfaces one disc(though much Data distribution
recordable greater than diskette)
Can be formatted for Data migration
( CD-R ) or rewritable
( CD-RW ) and DVD different data formats Slow to moderate Localized file sharing
read/write speed
Long life Offsite storage
High data density
Immune to corruption
once data is written
(CD-R and DVD only)
Limited capacity
Simple to use Local data transfer of
Limited read/write
Portable speed small files
Diskettes, 1.44 MB
Can be formatted for Not supported by Storage of small files
different data formats many newer or programs
computers
Limited capacity
High read/write speed
Local backup
Hard drive, external Awkward for data
Can be moved among
transfer among Local archiving
computers
multiple computers
Personal
Simplicity
computing
Portability Proprietary media
Removable Local data
storage Unlimited capacity with multiple Limited read/write transfer of small
(ZIP disks, JAZ disks speed files
disks, etc.)
Convenient for use with single High cost per megabyte Local backup
computer
Local archiving
it is the part of an operating system which is responsible for interacting directly with hardware and
does this by using your device drivers. think of the kernel as a manager managing and using the
processes between the other parts of the operating system and the hardware. it executes tasks to be
done and handles errors and access to your computer.
some other functions includes managing directly with your computer memory, allocating resources,
"communicating" directly with the cpu and other devices such as your printer and flash drives etc
and many more.
it is also responsible for "booting" up your computer, that is after your bios is processed and passes
control of computer to your bootloader and from there your kernel given the control and initiates
the rest.
the kernel is like the motherboard in your pc which holds and manage everything together.
Swap files
Local data
No mechanical transfer
parts Internet service
Solid-state storage
(USB devices, flash High read/write Limited storage capacity providers
memory, smart cards, speed High cost per I/O operation Video processing
etc.)
Small form Relational
factor databases
High-speed data
acquisition
Disk-to-disk (D2D)
High speed
Not as quickly accessible as backup
Disk library High storage capacity DAS; intended for "write
Data archiving
once, read rarely" data
High data availability
Near line storage
Incremental
Redundancy backups
Disk-to-disk-to- Storage
High read/write speed
tape Complexity virtualization
( D2D2T ) Unlimited capacity with
multiple tapes Offsite storage
Data archiving
Large databases
Used to transmit data
Bandwidth-
between devices at
intensive
gigabit speeds
Fibre Channel applications
(See Storage Frequently used in High cost
Storage area
area network storage area networks Management complexity networks (SANs)
below) (SANs)
Offsite storage
Flexible in terms of
distance Mission-critical
applications
Data archiving
Limited-budget
Low cost per megabyte businesses
Inconvenient for quick
Portability Offsite storage
Magnetic tape recovery of individual files
Unlimited capacity with or groups of files
multiple tapes
Consolidation of
resources
High speed
Users may develop false
High storage capacity sense of security Swap files
Redundant array of High data availability Recovery from failure is Internet service
independent disks
High reliability difficult in some systems providers
(RAID)