0% found this document useful (0 votes)
35 views12 pages

Information Storage System-Chapter6

Uploaded by

Salha Bujazia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views12 pages

Information Storage System-Chapter6

Uploaded by

Salha Bujazia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Components of an Intelligent Array

System
Front end Ports
Servers communicate with a storage array via ports on the front, which are often referred to as
front-end ports. The number and type of front-end ports depends on the type and size of the
storage array.
Most high-end storage arrays have hot-swappable front-end ports, meaning that when a port
fails, it can be replaced with the array still online and servicing I/O.
Hosts can connect to storage arrays in different ways, such as running a cable directly from the
server to the storage array in a direct attached approach or connecting via a network (SAN also
called fan-in). It is also possible to have multiple connections, or paths, between a host and a
storage array, all of which need managing.
Multipath I/O
Host-based software, referred to as multipath I/O (MPIO)
software, controls how data is routed or load balanced across
these multiple links, as well as taking care of seamlessly dealing
with failed or flapping links.
Common MPIO load-balancing algorithms include the following:
 Failover Only
 Round Robin I/O
 Least Queue Depth
CPUs
Also key to the front end are the CPUs. CPUs, typically Intel, are used to power the front end. They execute the firmware
(often called microcode by storage people) that is the brains of the storage array. Front-end CPUs, and the microcode
they run, are usually responsible for all of the following:
 Processing I/O
 Caching
 Data integrity
 Replication services
 Local copy services
 Thin provisioning
 Compression
 Deduplication
 Hypervisor and OS offloads
LUN Masking
As a security precaution, all LUNs presented out of a SAN storage array should be masked on the array.
LUN masking is the process of controlling which servers can see which LUNs. Actually, it is the process of
controlling which HBAs can see which LUNs. It is basically access control. Without LUN masking, all LUNs
presented out of the front of a storage array would be visible to all connected servers. As you can
imagine, that would be a security and data-corruption nightmare.
These days, LUN masking is almost always performed on the storage array using the World Wide Port
Name (WWPN) of a host’s HBA in FC environments, and using the IP address or iSCSI Qualified Name
(IQN) in iSCSI environments. For example, on a storage array, you present LUNs on a front-end port. That
port has an access control list on it that determines which host HBA WWPNs are allowed to access
which LUNs. With LUN masking enabled, if your host’s HBA WWPN is not on the front-end port’s access
control list, you will not be able to see any LUNs on that port. It is simple to implement and is standard
on all storage arrays.
The equivalent of LUN masking in the NAS world is restricting the IP address or host name to which a
volume/share is exported. Over and above that, you can also implement file and folder permissions.
Data Cache and Control Cache
High-end storage arrays also tend to have dedicated cache areas for control data (metadata) and
dedicated areas for user data. This bumps up cost but allows for higher performance and more-
predictable cache performance. Disk-based storage arrays are addicted to cache for user data
performance enhancement as well as caching metadata that has to be accessed quickly. All-flash
arrays are less reliant on cache for user data performance enhancements but still utilize it
extensively for metadata caching.
Protecting Cache
As cache is so fundamental to the smooth operation of an array, it is always protected usually
via mirroring and batteries.
There is more than one way to mirror cache. Some ways are better than others. At a high level,
top end arrays will take a write that hits a front-end port and duplex it to two separate cache
areas in a single operation over a fast internal bus. This is fast. Lower-end systems will often take
a write and commit it to cache in one controller, and then, via a second operation, copy the
write data over an external bus, maybe Ethernet, to the cache in another controller. This is
slower, as it involves more operations and a slower external bus.
It is worth noting that only writes should be mirrored to cache. This is because read data
already exists on the backend in protected non-volatile form, so mirroring reads into cache
would be wasteful of cache resources.
Common Caching Algorithms and
Techniques
Prefetching is a common technique that arrays use when they detect sequential work loads.
For example, if an array has received a read request for 2 MB of contiguous data to be read from
the backend, the array will normally prefetch the next set of contiguous data into cache, based
on there being a good probability that the host will ask for that. This is especially important on
disk-based arrays, as the R/W heads will already be in the right position to fetch this data
without having to perform expensive backend seek operations.
Most arrays also operate some form of least recently used (LRU) queuing algorithm for data in
cache. LRUs are based on the principle of keeping the most recently accessed data in cache,
whereas the data least recently accessed will drop out of cache. There is usually a bit more to it
than this, but LRU queues are fundamental to most caching algorithms.
Backend Ports and Connectivity
Backend ports and connectivity to disk drives are predominantly SAS these days. Most drives on
the backend have SAS interfaces and speak the SAS protocol. Serial Advanced Technology
Attachment (SATA) and FC drives used to be popular but are quickly being replaced by SAS.
Drives
Most drives these days, mechanical and flash, are either SATA or SAS based. There is the odd
bit of FC still kicking around, but these drives are old-school now. SAS is increasingly popular in
storage arrays, especially high-end storage arrays because they are dual-ported, whereas SATA is
still popular in desktop and laptop computers.
Drives tend to be the industry standard 2.5-inch or 3.5-inch form factor, with 2.5-inch
becoming more and more popular. And backend drives are always hot-swappable.
The backend, or at least the data on the backend, should always be protected, and the most
common way of protecting data on the backend is RAID. Yes, RAID technology is extremely old,
but it works, is well-known, and is solidly implemented. Most modern arrays employ modern
forms of RAID such as network-based RAID and parallelized RAID. These tend to allow for better
performance and faster recovery when components fail.
Power
Just about every storage array on the market will come with dual hot-swap power supplies.
However, high-end arrays take things a bit further. Generally speaking, high-end storage arrays
will take multiple power feeds that should be from separate sources, and tend to prefer UPS-fed
three-phase power. They also sport large batteries that can be used to power the array if there is
loss of power from both feeds. These batteries power the array for long enough to restage cache
contents to disk or flash, or alternatively persist the contents of cache for long periods of time
(one or two days is common).

You might also like