U.S. patent application number 14/716250 was filed with the patent office on 2015-09-10 for zone group reassignment using storage device signatures.
The applicant listed for this patent is HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.. Invention is credited to Sohail Hameed, Michael G. Myrah, Balaji Natrajan, Lijun Qin.
Application Number | 20150254019 14/716250 |
Document ID | / |
Family ID | 46928881 |
Filed Date | 2015-09-10 |
United States Patent
Application |
20150254019 |
Kind Code |
A1 |
Myrah; Michael G. ; et
al. |
September 10, 2015 |
Zone Group Reassignment Using Storage Device Signatures
Abstract
In one example, a method for assigning zone groups to a physical
storage enclosure includes comparing a first signature assigned to
a number of first storage devices in an online physical storage
enclosure against a second signature assigned to a number of second
storage devices in a first offline physical storage enclosure of a
number of offline physical storage enclosures. The method may
further include, in response to a determination that the first
signature matches the second signature, copying zone groups from
the first offline physical storage enclosure associated with the
second signature to the online physical storage enclosure.
Inventors: |
Myrah; Michael G.; (Cypress,
TX) ; Natrajan; Balaji; (Spring, TX) ; Hameed;
Sohail; (Houston, TX) ; Qin; Lijun; (College
Station, TX) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. |
Houston |
TX |
US |
|
|
Family ID: |
46928881 |
Appl. No.: |
14/716250 |
Filed: |
May 19, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13078449 |
Apr 1, 2011 |
9069470 |
|
|
14716250 |
|
|
|
|
Current U.S.
Class: |
710/74 |
Current CPC
Class: |
G06F 3/0647 20130101;
H04L 67/1097 20130101; G06F 3/067 20130101; G06F 3/0608 20130101;
G06F 3/0607 20130101; G06F 3/0635 20130101 |
International
Class: |
G06F 3/06 20060101
G06F003/06 |
Claims
1. A method for assigning zone groups to a physical storage
enclosure, comprising: comparing a first signature assigned to a
number of first storage devices in an online physical storage
enclosure against a second signature assigned to a number of second
storage devices in a first offline physical storage enclosure of a
number of offline physical storage enclosures; in response to a
determination that the first signature matches the second
signature, copying zone groups from the first offline physical
storage enclosure associated with the second signature to the
online physical storage enclosure.
2. The method of claim 1, wherein the first and second signatures
are created based on a number of serial numbers of the first and
second storage devices in the online physical storage enclosure and
the first offline physical storage enclosure, respectively.
3. The method of claim 1, wherein the first and second signatures
are created based on a hash of a number of the serial numbers of
the first and second storage devices in the online physical storage
enclosure and the first offline physical storage enclosure,
respectively.
4. The method of claim 1, wherein the first and second signatures
are created based on a number of unique worldwide IDs stored on the
storage devices in the online physical storage enclosure and the
first offline physical storage enclosure, respectively.
5. The method of claim 1, wherein comparing a first signature
assigned to a number of first storage devices in an online physical
storage enclosure against a second signature assigned to a number
of second storage devices in a first offline physical storage
enclosure of a number of offline physical storage enclosures
comprises comparing the first signature created using a first set
of all serial numbers of the first storage devices in the online
physical storage enclosure against the second signature created
using a second set of all serial numbers of the second storage
devices in the first offline physical storage enclosure.
6. The method of claim 1, further comprising: determining if the
online physical storage enclosure is one of the offline physical
storage enclosures; responsive to a determination that the online
physical storage enclosure is not one of the offline physical
storage enclosures, obtaining the first signature of the online
physical storage enclosure; and determining if there exist any of
the number of offline physical storage enclosures; responsive to a
determination that there does not exist any of the number of
offline physical storage enclosures, recording a number of serial
numbers of the first storage devices in the online physical storage
enclosure in an enclosure table comprising an ID of the online
physical storage enclosure, a number of storage bays in the online
physical storage enclosure, and the serial numbers of the first
storage devices.
7. The method of claim 6, further comprising storing a zone group
record for the first storage devices in the online physical storage
enclosure in a non-volatile storage location wherein the zone group
record includes the first signature.
8. The method of claim 7, further comprising: detecting when the
first storage devices in the online physical storage enclosure is
assigned into a zone group; associating the zone group assignment
with the first signature; and storing the zone group assignment in
the non-volatile storage location.
9. A switch, comprising: logic for limiting access from a number of
input ports to a number of output ports based on a zone group
record; wherein the zone group record comprises: a list of input
ports that are included in each zone group; and at least one
storage enclosure record comprising: a storage enclosure logical
ID; a listing of drive bays in the storage enclosure, the zone
groups associated with each drive bay and a signature of a storage
device loaded in each of the drive bays; and logic to compare a
first signature assigned to a number of first storage devices in an
online physical storage enclosure with a second signature assigned
to a number of second storage devices in a first offline physical
storage enclosure of a number of offline physical storage
enclosures; and logic to, in response to a determination that the
first signature matches the second signature, copy zone groups from
the first offline physical storage enclosure associated with the
second signature to the online physical storage enclosure.
10. The switch of claim 9, further comprising: logic to: determine
if the online physical storage enclosure is one of the offline
physical storage enclosures; responsive to a determination that the
online physical storage enclosure is not one of the offline
physical storage enclosures, obtaining the first signature of the
online physical storage enclosure; and determining if there exist
any of the number of offline physical storage enclosures;
responsive to a determination that there does not exist any of the
number of offline physical storage enclosures, recording a number
of serial numbers of the first storage devices in the online
physical storage enclosure in an enclosure table comprising an ID
of the online physical storage enclosure, a number of storage bays
in the online physical storage enclosure, and the serial numbers of
the first storage devices, responsive to a determination that there
does exist any of the number of offline physical storage
enclosures, comparing the first signature created using a first set
of all serial numbers of the first storage devices in the online
physical storage enclosure with the second signature created using
a second set of all serial numbers of the second storage devices in
the first offline physical storage enclosure, responsive to a
determination that all the serial numbers of the first storage
devices match all the serial numbers of the second storage devices,
copying the zone groups from the first offline physical storage
enclosure associated with the second signature to the online
physical storage enclosure.
11. A data center, comprising: a plurality of servers; a plurality
of switches coupled to the servers; and a plurality of data storage
enclosures communicatively coupled to the servers via the switches,
wherein the switches: compare a first signature assigned to a
number of first storage devices in an online physical storage
enclosure against a second signature assigned to a number of second
storage devices in a first offline physical storage enclosure of a
number of offline physical storage enclosures; and responsive to a
determination that the first signature matches the second
signature, copy zone groups from the first offline physical storage
enclosure associated with the second signature to the online
physical storage enclosure.
12. The data center of claim 11, wherein the switches further
comprise logic to: detect when the an online physical storage
enclosure is added to the data center; and determine if the online
physical storage enclosure is one of the number of offline physical
storage enclosures by comparing the a first unique storage
enclosure ID assigned to the online physical storage enclosure with
a second unique storage enclosure ID assigned to one of the offline
physical storage enclosures.
13. The data center of claim 12, wherein the switches further
comprise logic to: responsive to a determination that the online
physical storage enclosure is not one of the number of offline
physical storage enclosures, classifying the online physical
storage enclosure as a new physical storage enclosure and obtaining
all of the number of serial numbers of the first storage devices in
the online physical storage enclosure.
14. The data center of claim 13, wherein the switches further
comprise logic to: determine if there exist any of the number of
offline physical storage enclosures; responsive to a determination
that there does exist any of the number of offline physical storage
enclosures, determining if the first signature created using a
first set of all serial numbers of the first storage devices in the
online physical storage enclosure matches the second signature
created using a second set of all serial numbers of the second
storage devices in the first offline physical storage enclosure;
and responsive to a determination that all the serial numbers of
the first storage devices match all the serial numbers of the
second storage devices, copying the zone groups from the first
offline physical storage enclosure associated with the second
signature to the online physical storage enclosure.
15. The data center of claim 14, wherein the switches further
comprise logic to, responsive to a determination that all the
serial numbers of the first storage devices do not match all the
serial numbers of the second storage devices, record all the serial
numbers of the first storage devices in an enclosure table, the
enclosure table comprising a storage enclosure logical ID, a
listing of drive bays in the storage enclosure, zone groups
associated with each drive bay, and a signature of a storage device
loaded in each of the drive bays.
Description
RELATED DOCUMENTS
[0001] The present application is a continuation, and claims the
benefit under 35 U.S.C. .sctn. 120, of U.S. patent application Ser.
No. 13/078,449, filed April 1, 2011. These applications are herein
incorporated by reference in their entireties.
BACKGROUND
[0002] Servers use and store large amounts of data. The data is
typically stored on non-volatile media, for example hard drives and
tape libraries. Many servers, for example blade servers, use hard
drives mounted in storage enclosures to save their data. A storage
enclosure is a device containing the infrastructure to support a
plurality of hard drives inserted into its drive bays or slots. The
infrastructure may contain a storage controller that provides power
and signal connections between the drive bays and a fabric coupled
to the servers. Each storage enclosure may contain a large number
of hard drives. Each storage enclosure may be coupled to multiple
servers through the fabric. The hard drives can be configured into
different sets or groups, called zone groups, such that the drives
in one set or group may not be visible to some servers coupled to
the fabric.
[0003] Occasionally a storage enclosure may fail. The drives in the
storage enclosure may still be functional and may contain large
amounts of data. Re-creating the failed storage enclosure using a
new storage enclosure with all new drives may take a significant
amount of time due to the large amounts of data that would need to
be copied from a backup data source. Therefore the still
functioning hard drives are typically moved into a new storage
enclosure. In this way the data contained on the old disk drives
can be accessed through the new storage enclosure. Unfortunately,
in doing so, the different sets or zone groups the hard drives had
been a part of will be lost.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The accompanying drawings illustrate various examples of the
principles described herein and are a part of the specification.
The illustrated examples are given merely for illustration, and do
not limit the scope of the claims.
[0005] FIG. 1 is a block diagram of a data center 100 in an example
embodiment of the invention.
[0006] FIG. 2 is a flow chart for adding a storage enclosure to a
fabric in an example embodiment of the invention.
[0007] Throughout the drawings, identical reference numbers
designate similar, but not necessarily identical, elements.
DETAILED DESCRIPTION
[0008] FIGS. 1-2, and the following description depict specific
examples of the invention. For the purpose of teaching inventive
principles, some conventional aspects have been simplified or
omitted. Those skilled in the art will appreciate variations from
these examples that fall within the scope of the invention. The
features described below can be combined in various ways to form
multiple variations of the invention. As a result, the invention is
not limited to the specific examples described below, but only by
the claims and their equivalents.
[0009] FIG. 1 is a block diagram of a data center 100 in an example
embodiment of the invention. Data center 100 comprises a plurality
of servers 102(n), a fabric 106, and a plurality of storage
enclosures 104(i). The plurality of servers 102(n) may be rack
mounted servers, blade servers, standalone servers, or some
combination thereof. Each of the plurality of servers 102(n)
comprises of one or more processors 112, memory 114 and an I/O
controller 116. Each of the plurality of servers 102(n) is coupled
to fabric 106.
[0010] Fabric 106 comprises a plurality of switches 108(k). The
plurality of switches 108(k) couple the plurality of servers 102(n)
to the plurality of storage enclosures 104(i) such that each server
may access each of the plurality of storage enclosures 104(i). Each
of the plurality of switches 108(k) comprises of logic 120, memory
118, and a plurality of input and output ports. Servers 102(n) are
coupled to the plurality of input ports and storage enclosures
104(i) are coupled to the plurality of output ports. Logic 120
controls the access between the servers and the storage enclosures
by controlling access between the plurality of input ports and the
plurality of output ports. Logic may be hardware or a hardware
software combination, for example a micro-processor executing code,
a processor executing code, an application specific circuit (ASIC),
or the like. Memory 118 has at least some non-volatile portion, for
example NVRAM. In one example embodiment of the invention, switches
108(k) may be serial attached SCSI (SAS) switches. SAS switches may
also be known as SAS expanders.
[0011] Each storage enclosure 104(i) comprises infrastructure 110
and a plurality of storage bays or slots 1-m. At least one storage
device is mounted into one of the plurality of storage bays. A
storage device is a non-volatile memory device, for example, a hard
drive, a tape drive, a flash memory device, a solid state device,
or the like. Infrastructure 110 may be logic, for example a storage
controller, that controls access from fabric 106 to the storage
devices mounted into the storage bays. Each of the plurality of
storage enclosures has a unique storage enclosure ID stored in
NVRAM in the infrastructure 110 that identifies the storage
enclosure. Each storage device loaded into one of the storage bays
in the storage enclosure has a unique serial number stored in the
storage device.
[0012] In operation, the plurality of switches 108(k) control
access between the servers 102(n) and the storage enclosures
104(i). The storage enclosure will typically assign a logical ID to
each storage device, based in part on the storage enclosure's ID.
Each of the plurality of servers may have access to all or only
some of the storage devices loaded into each of the storage
enclosures. The servers typically use the logical ID of the storage
device when accessing the device. Zone groups are sets or lists of
devices that can be accessed by other devices in a zone group. A
zone group consisting of a server can be assigned access to a zone
group consisting of storage devices. The storage devices in a zone
group can span more than one storage enclosure. For example, a zone
group may contain drive 1 and drive 2 in storage enclosure 104(1)
and drive 3 in storage enclosure 104(2). One or more servers can be
assigned to a zone group. Switches 108(k) maintain the zone groups
as data in a zone group record. The zone group record is typically
stored as one or more tables. The zone group record also contains
the storage enclosure ID for each of the storage enclosures
connected to the fabric.
[0013] In one example embodiment of the invention, a zone group
record comprises a zone group permission table and an enclosure
table. The zone group permission table lists the zone group name,
the zone group number, and the zone group access. The zone group
access is a list of other zone groups that have access to that zone
group. An example zone group permission table is listed below.
TABLE-US-00001 ZG Name ZG Number ZG Access Special 1 All other ZGs
Initiator1 8 1, 8, 20 Initiator2 9 1, 9, 21 DiskGroup1 20 1, 20
DiskGroup2 21 1, 21, 9
[0014] In some example embodiment of the invention, zone group
number 1 may be a special zone group that allows access to all
other zone groups. The enclosure table includes a storage enclosure
entry for each storage enclosure coupled to the fabric. Each
storage enclosure entry includes the storage enclosure ID, how many
storage bays are in the storage enclosure, a product ID, a list of
each of the storage bays, the zone groups assigned to each of the
storage bays and the serial number of any storage device loaded
into a storage bay. An example enclosure table with only one
storage entry is listed below:
TABLE-US-00002 Storage Enclosure Logical ID 5001254562334456 Number
of Bays 4 Product ID HP STORAGE ENCLOSURE Bays Drive Bay Number
Zone Group Present Serial Number 1 20 YES 1A20991244 2 20 YES
1A20991245 3 21 NO 4 21 YES 1A20991246
[0015] When a storage enclosure fails it is taken offline and
marked as such in the zone group record. All the storage devices
from the failed storage enclosure are moved into a different
storage enclosure. When the storage enclosure loaded with the old
storage devices is attached to the fabric, the fabric will
determine if the storage enclosure is a "new" storage enclosure. A
"new" storage enclosure is a storage enclosure that has not been
attached to the fabric before. The fabric can detect a new storage
enclosure by comparing the storage enclosure's ID with the IDs of
the storage enclosures saved in the zone group record.
[0016] When a "new" storage enclosure is added to a switch in the
fabric, the switch can determine that it is a replacement storage
enclosure. The switch uses the serial numbers from the storage
devices currently loaded into the newly added storage enclosure and
compares them with the set of serial numbers from any offline
storage enclosures. When the two sets of serial numbers match, the
"new" storage enclosure is a replacement for the failed/offline
storage enclosure. Once a match between the two sets of serial
numbers has been determined, all zone group information from the
failed storage enclosure is copied to the newly added storage
enclosure.
[0017] FIG. 2 is a flow chart for adding a storage enclosure to a
fabric in an example embodiment of the invention. At step 202 when
a storage enclosure is added/attached to one of the plurality of
switches 108(k), the switch will detect the presence of the storage
enclosure. The switch will retrieve the storage enclosure's ID.
Using the storage enclosure's ID, the switch will determine if this
is a "new" storage enclosure or one of the offline storage
enclosures (step 204). When the storage enclosure is one of the
offline storage enclosures, it will simply apply the old zone
groups to this enclosure and will go back to the detection mode
(step 202). When the storage enclosure is a new storage enclosure,
flow will continue at step 206. At step 206 the switch will
determine how many storage devices are loaded into the storage bays
of the storage enclosure. The switch will then retrieve each of the
storage device's serial number. At step 208 the switch will
determine if there is a storage enclosure that has been taken
offline. If no storage enclosures are offline, the switch will
store the serial numbers of the storage devices along with the
storage enclosure's ID and the storage device's logical IDs (step
210). When a storage enclosure is offline, the switch will compare
the set of serial numbers from the storage devices in the offline
storage enclosure with the serial numbers from the newly attached
storage enclosure (step 212). When the two sets of serial numbers
match it means that all the storage devices from the offline
storage enclosure have been moved into the newly attached storage
enclosure. Therefore the newly attached storage enclosure is a
replacement storage enclosure for the offline storage enclosure.
The switch will copy any zone groups assigned to the offline
storage enclosure to the newly added storage enclosure (step
214).
[0018] The plurality of switches 108(k) may store the zone group
information locally in their own non-volatile storage locations, or
there may be a centrally located non-volatile storage location used
by all the switches. When the zone group information is stored
locally, the switches will communicate among themselves to
determine when a replacement storage enclosure has been added. The
switches can determine the serial numbers of the storage devices
loaded into a storage enclosure using the INQUIRY command for SAS
storage devices and the IDENTIFY DEVICE command for SATA storage
devices. Because a replacement storage enclosure is determined from
the serial numbers of the storage devices currently loaded into the
storage enclosure, the replacement storage enclosure can be
detected when it is connected to any one of the plurality of
switches 108(k).
[0019] The storage devices in many storage enclosures are "hot
pluggable", meaning that storage devices can be added or removed
while the storage enclosure is online (i.e. powered up and
running). When a storage device is added or removed from a storage
enclosure while the storage enclosure is online, the switch that is
coupled to the storage enclosure can detect that a change has
occurred. When the switch detects a change, the switch will update
the zone group information by either adding or removing the serial
number for the storage device that was changed. In this way the set
of storage device serial numbers will be kept up to date. If a new
storage device is plugged in a storage enclosure and the storage
enclosure is not zoned at all, that is, it does not have any
storage devices that have been zoned before, the switch that the
unzoned storage enclosure is attached to, will perform the
comparison of the set of serial numbers of all the devices it has,
including the newly added storage device, with the set of serial
numbers of all the offline storage enclosures, and if a match is
found, the zone groups from the off line storage enclosures will be
copied over to the unzoned storage enclosure.
[0020] In one example embodiment of the invention, a signature will
be stored and used to identify storage devices in a storage
enclosure. In the above descriptions, the signature used was the
set of serial numbers of the storage devices loaded into a storage
enclosure. The serial number signature is created by retrieving
each of the serial numbers from the drives loaded in the storage
enclosure. In other example embodiments of the invention, other
types of signatures may be used, such as some kind of hash of all
the serial numbers. Another example would be to have a unique
worldwide ID stored onto the storage device either during the
manufacturing process or as an independent step before the storage
device is loaded into a storage enclosure. The unique worldwide ID
could replace the use of the storage device's serial number, or
could be used in addition to the device's serial number.
* * * * *