STORAGE ARCHITECTURE/
GETTING STARTED:
SAN SCHOOL 101
Marc Farley
President of Building Storage, Inc
Author, Building Storage Networks, Inc.
Agenda
Lesson 1: Basics of SANs
Lesson 2: The I/O path
Lesson 3: Storage subsystems
Lesson 4: RAID, volume management
and virtualization
Lesson 5: SAN network technology
Lesson 6: File systems
Basics of storage networking
Lesson #1
Router
Concentrator
Bridge
Dish
Network Switch/hub
Computer
System
HBA or
NIC
VPN
Connecting
Networking or bus technology
Cables + connectors
System adapters + network device drivers
Network devices such as hubs, switches, routers
Virtual networking
Flow control
Network security
Connecting
Tape
Drives
Disk
Drives
RAID
Subsystem
Volume
Manager
Software
Mirroring
Software
(wiring, network transmission frame)
Storage Command and Transfer Protocol
Storage
Device
Drivers
Host
Software
Storage
Protocol
Storage
Devices
Storing
Device (target) command and control
 Drives, subsystems, device emulation
Block storage address space
manipulation (partition management)
 Mirroring
 RAID
 Striping
 Virtualization
 Concatentation
Storing
User/Application View
C:directoryfile
User/Application View
Database
Object
(Storage)
Logical Block Mapping
Filing
Namespace presents data to end users and
applications as files and directories (folders)
Manages use of storage address spaces
Metadata for identifying data
 file name
 owner
 dates
Filing
Connecting, storing and filing as a
complete storage system
Computer System
HBA or
NIC
Network Switch/hub
Disk Drive
Wiring Storing
Filing
Storing function in
an HBA driver
Cable Cable
Connecting
NAS and SAN analysis
NAS is filing over a network
SAN is storing over a network
NAS and SAN are independent technologies
They can be implemented independently
They can co-exist in the same environment
They can both operate and provide services to the same
users/applications
Protocol analysis for NAS and SAN
Storing
Wiring
Filing
NAS
SAN
Network
Filing
Connecting
Storing
Storing
Wiring
Filing
NAS‘Head’
Server
System
NAS
Client
Wiring
SAN
Storage
NAS Server
+
SAN Initiator
“NAS Head”
SAN
Target
Connecting
Storing
Connecting
Filing
Integrated SAN/NAS environment
Storing
Wiring
Filing
NAS‘Head’
Server
System
NAS
Client
SAN
Storage
SAN
Target
Storing
Connecting
Filing
NAS Head
Common wiring with NAS and SAN
The I/O path
Lesson #2
Host hardware path components
Processor Memory
Bus
System
I/O Bus
Storage
Adapter
(HBA)
Memory
Host software path components
Application
Operating
System
Filing
System
Volume
Manager
Device
Driver
Multi-
Pathing
Cache
Manager
Network hardware path components
Cabling
Fiber optic
Copper
Switches, hubs, routers, bridges, gatways
Port buffers, processors
Backplane, bus, crossbar, mesh, memory
Routing
Fabric
Services
Virtual
Networking
Access and
Security
Flow
Control
Network software path components
Network
Ports
Access and
Security
Internal Bus
or Network
Cache Resource
Manager
Subsystem path components
Disk drives Tape drives Solid state devices
Tape Media
Device and media path components
The end to end I/O path picture
Disk
drives
Tape
drives
Network Systems
Access
and
Security
Internal Bus
or Network
Cache
Cabling Routing
Fabric
Services
Virtual
Networking
Access and
Security
Processor
Memory
Bus
System
I/O Bus
Storage
Adapter
(HBA)
Memory
App Operating
System
Filing
System
Volume
Manager
Device
Driver
Multi-
Pathing
Cache
Manager
Subsystem
Network Poirt Resource
Manager
Flow
Control
Storage subsystems
Lesson #3
Storage
Resources
Generic storage subsystem model
Network
Ports
Cache Memory
Controller (logic+processors)
Access control
Resource manager
Internal Bus
or Network Power
Redundancy for high availability
Multiple hot swappable power supplies
Hot swappable cooling fans
Data redundancy via RAID
Multi-path support
 Network ports to storage resources
Physical and virtual storage
Physical
storage
device
Physical
storage
device
Physical
storage
device
Physical
storage
device
Subsystem Controller
Resource Manager
(RAID, mirroring,
etc.)
Exported
storage
Exported
storage
Exported
storage
Exported
storage
Exported
storage
Exported
storage
Exported
storage
Exported
storage
Hot
Spare
Device
 SCSI communications are independent of connectivity
 SCSI initiators (HBAs) generate I/O activity
 They communicate with targets
• Targets have communications addresses
• Targets can have many storage resources
• Each resource is a single SCSI logical unit (LU) with a universal
unique ID (UUID) - sometimes referred to as a serial number
• An LU can be represented by multiple logical unit numbers (LUNs)
• Provisioning associates LUNs with LUs & subsystem ports
 A storage resource is not a LUN, it’s an LU
SCSI communications architectures
determine SAN operations
Provisioning storage
Physical
storage
devices
Physical
storage
devices
Physical
storage
devices
SCSI LU
UUID B
SCSI LU
UUID A
SCSI LU
UUID C
SCSI LU
UUID D
Port S4
Port S3
Port S2
Port S1
LUN 0
LUN 1
LUN 1
LUN 2
LUN 2
LUN 3
LUN 3
LUN 0
Controller functions
Path 1
MP SW
Multipathing
SCSI LU
UUID A
Path 2
LUN X
LUN X
Exported
Volume
Exported
Volume
Exported
Volume
Exported
Volume
Controller Cache Manager
Read Caches
1. Recently Used
2. Read Ahead
Write Caches
1. Write Through (to disk)
2. Write Back (from cache)
Caching
Tape Subsystem Controller
Tape Slots Robot
Tape subsystems
Tape
Drive
Tape
Drive
Tape
Drive
Tape
Drive
Exported
Storage
Resource
Management station
browser-based
network mgmt software
Ethernet/TCP/IP
Out-of-band management port
Storage Subsystem
In-band
management
Now
with
SMIS
Subsystem management
Duplication
Parity
Difference
2n
n+1
-1
d(x) = f(x) – f(x-1) f(x-1)
Data redundancy
I/O Path
Mirroring
Operator
I/O PathA
A
I/O PathB
B
Terminate I/O & regenerate new I/Os
Error recovery/notification
Host-based Within a subsystem
Duplication redundancy with mirroring
Host
Uni-directional
(writes only)
A B
A
A
A
Duplication redundancy with remote copy
Subsystem Snapshot
Host
A B
A
A
A C
Point-in-time snapshot
Lesson #4
RAID, volume management
and virtualization
Duplication
Parity
Difference
2n
n+1
-1
d(x) = f(x) – f(x-1) f(x-1)
RAID = parity redundancy
Late 1980s R&D project at UC Berkeley
 David Patterson
 Garth Gibson
(independent)
Redundant array of inexpensive disks
• Striping without redundancy was not defined (RAID 0)
Original goals were to reduce the cost and
increase the capacity of large disk storage
History of RAID
●
Capacity scaling
●
Combine multiple address spaces as a single virtual
address
●
Performance through parallelism
●
Spread I/Os over multiple disk spindles
●
Reliability/availability with redundancy
●
Disk mirroring (striping to 2 disks)
●
Parity RAID (striping to more than 2 disks)
Benefits of RAID
RAID
Controller
(resource
manager)
Storage
extent 1
Exported
RAID
disk
volume
(1 address)
Storage
extent 2
Storage
extent 3
Storage
extent 4
Storage
extent 5
Storage
extent 6
Storage
extent 7
Storage
extent 8
Storage
extent 9
Storage
extent10
Storage
extent11
Storage
extent12
Combined extents
1 - 12
Capacity scaling
RAID controller (microsecond performance)
Disk
drive
Disk
drive
Disk
drive
Disk
drive
Disk
drive
Disk
drive
Disk drives (Millisecond performance)
from rotational latency and seek time
1
2 3 4 5 6
Performance
RAID arrays use XOR for calculating parity
Operand 1 Operand 2 XOR Result
False False False
False True True
True False True
True True False
 XOR is the inverse of itself
 Apply XOR in the table above from right to left
 Apply XOR to any two columns to get the third
Parity redundancy
Reduced mode operations
 When a member is
missing, data that is
accessed must be
reconstructed with xor
 An array that is
reconstructing data is said
to be operating in reduced
mode
 System performance
during reduced mode
operations can be
significantly reduced
XOR {M1
&M2
&M3
&P}
RAID Parity Rebuild
 The process of recreating data on a replacement member
is called a parity rebuild
 Parity rebuilds are often scheduled for non-production
hours because performance disruptions can be so severe
XOR {M1
&M2
&M3
&P}
Parity rebuild
Hybrid RAID: 0+1
Disk
drive
Disk
drive
Disk
drive
Disk
drive
1 2 3 4 5
Disk
drive
Disk
drive
Disk
drive
Disk
drive
Disk
drive
Disk
drive
Mirrored pairs of striped members
RAID 0+1, 10
RAID Controller
Volume management and virtualization
Storing level functions
Provide RAID-like functionality in host systems
and SAN network systems
Aggregation of storage resources for:
 scalability
 availability
 cost / efficiency
 manageability
RAID & partition
management
Device driver layer
between the kernel
and storage I/O
drivers
OS kernel File system
Volume Manager
HBA drivers
HBAs
Volume Manager
Volume management
SAN disk
resources
Volume
manager
Virtual
Storage
Server system
HBA drivers
SAN HBA
SCSI Bus
SCSI HBA
SCSI disk resource
SAN Switch
SAN cable
Volume managers can use all
available connections and
resources and can span multiple
SANs as well as SCSI and SAN
resources
RAID and partition management in SAN systems
Two architectures:
• In-band virtualization (synchronous)
• Out-of-band virtualization (asynchronous)
SAN storage virtualization
Disk
subsystems
SAN
virtualization
system
Exported virtual storage
I/O Path
System(s),
switch or
router
In-band virtualization
Distributed volume
management
Virtualization agents
are managed from a
central system in the
SAN
Virtualization
agents
Disk
subsystems
Virtualization
management
system
Out-of-band virtualization
Lesson #5
SAN networks
• The first major SAN networking technology
• Very low latency
• High reliability
• Fiber optic cables
• Copper cables
• Extended distance
• 1, 2 or 4 Gb transmission speeds
• Strongly typed
Fibre channel
A Fibre Channel fabric presents a consistent interface
and set of services across all switches in a network
Host and subsystems all 'see' the same resources
SAN
Target
Storage
Subsystem
SAN
Target
Storage
Subsystem
SAN
Target
Storage
Subsystem
Fibre channel
●
FC ports are defined by their network role
●
N-ports: end node ports connecting to fabrics
●
L-ports: end node ports connecting to loops
●
NL-ports: end node ports connecting to fabrics or loops
●
F-ports: switch ports connecting to N ports
●
FL-ports: switch ports connecting to N ports or NL ports in
a loop
●
E-ports: switch ports connecting to other switch ports
●
G ports: generic switch ports that can be F, FL or E ports
Fibre channel port definitions
Ethernet / TCP / IP SAN technologies
Leveraging the install base of
Ethernet and TCP/IP networks
iSCSI – native SAN over IP
FC/IP – FC SAN extensions over IP
Native storage I/O over TCP/IP
 New industry standard
 Locally over Gigabit Ethernet
 Remotely over ATM, SONET, 10Gb Ethernet
iSCSI
TCP
IP
MAC
PHY
iSCSI
Storage NICs (HBAs)
 SCSI drivers
Cables
 Copper and fiber
Network systems
 Switches/routers
 Firewalls
iSCSI equipment
FC/IP
 Extending FC SANs over TCP/IP networks
 FCIP gateways operate as virtual E-port connections
 FCIP creates a single fabric where all resources appear
to be local
FCIP
Gateway
FCIP
Gateway
TCP/IP
LAN, MAN
or WAN
E-port E-port
One fabric
One fabric
SAN switching & fabrics
High-end SAN switches have latencies of 1 - 3
µsec
Transaction processing requires lowest latency
 Most other applications do not
Transaction processing requires non-blocking
switches
 No internal delays preventing data transfers
Switches
 8 – 48 ports
 Redundant power supplies
 Single system supervisor
Directors
 64+ ports
 HA redundancy
 Dual system supervisor
 Live SW upgrades
Switches and directors
Star
• Simplest
• single hop
Dual star
• Simple network
+ redundancy
• Single hop
• Independent or integrated
fabric(s)
SAN topologies
N-wide star
• Scalable
• Single hop
• Independent or
integrated fabric(s)
Core - edge
• Scalable
• 1 – 3 hops
• integrated fabric
SAN topologies
Ring
• Scalable
• integrated fabric
• 1 to N÷2 hops
Ring + Star
• Scalable
• integrated fabric
• 1 to 3 hops
SAN topologies
Lesson #6
File systems
Name space
Access control
Metadata
Locking
Address space management
File system functions
Storing
Filing
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18
19 20 21 . . . . 26 27
28 29 . . . . . 35 36
37 38 . . . . . 44 45
46 . . . . . . 53 54
55 . . . . . . 62 63
64 . . . . . . 71 72
73 . . . . . . 80 81
82 83 84 85 86 87 88 89 90
Think of the storage address space as a sequence
of storage locations (a flat address space)
Superblocks
Superblocks are known addresses used to find
file system roots (and mount the file system)
SB
SB
Filing and Scaling
Storing
Storing
Filing
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18
19 20 21 22 23 24
25 26 27 28 29 30
31 32 33 34 35 36
37 38 39 40 41 42
File systems must have a known and
dependable address space
 The fine print in scalability - How does the filing function
know about the new storing address space?

storage area network for engineering students