Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
STORAGE AREA NETWORK MANAGEMENT
Document Type and Number:
WIPO Patent Application WO/2017/039625
Kind Code:
A1
Abstract:
In one example, allocate from a storage device a master storage volume which is to be identified as a master Logical Unit Number (LUN, load the master LUN with an operating image to allow a host computing device to initiate a boot procedure using the operating image. In response to receipt of a boot request from a host computing device over the SAN that includes a reference to the master LUN, then allocate from the storage device a clone storage volume which is to be identified as a clone LUN, and copy the master LUN to the clone LUN which is to include a copy of the operating image of the master LUN and to allow the host computing device to initiate a boot procedure using the copied operating image over the SAN.

Inventors:
AGARWAL VIVEK (US)
MOHAN RUPIN T (US)
PUTTAGUNTA KRISHNA (US)
Application Number:
PCT/US2015/047803
Publication Date:
March 09, 2017
Filing Date:
August 31, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HEWLETT PACKARD ENTPR DEV LP (US)
International Classes:
G06F3/06; H04L29/08
Domestic Patent References:
WO2005078567A22005-08-25
Foreign References:
US20060184650A12006-08-17
US20120084626A12012-04-05
US20070192466A12007-08-16
US20100250878A12010-09-30
Attorney, Agent or Firm:
ORTEGA, Arthur S. et al. (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A computing device for Storage Area Network (SAN) management, the computing device comprising:

a storage device associated with a target computing device to provide storage for use by a host computing device; and

a storage management module to:

allocate from the storage device a master storage volume which is to be identified as a master Logical Unit Number (LUN),

load the master LUN with an operating image to allow a host computing device to initiate a boot procedure using the operating image,

in response to receipt of a boot request from a host computing device over the SAN that includes a reference to the master LUN, then

allocate from the storage device a clone storage volume which is to be identified as a clone LUN, and

copy the master LUN to the clone LUN which is to include a copy of the operating image of the master LUN and to allow the host computing device to initiate a boot procedure using the copied operating image over the SAN.

2. The computing device of claim 1 , wherein the storage management module to, after response to receipt of a boot request from a host computing device that includes reference to a master LUN, instruct the host computing device to initiate a boot procedure using the operating image of the clone LUN.

3. The computing device of claim 1 , wherein the storage management module to receive from the host computing device port information associated with a Host Bus Adapter (HBA) of the host computing device to associate with a device port of the target computing device.

4. The computing device of claim 1 , wherein the storage management module to, after receipt of the boot request, associate the clone LUN with the host computing device for subsequent boot requests.

5. The computing device of claim 1 , wherein the storage management module to generate a peer zone associated with the host computing device and the target computing device.

6. A method of Storage Area Network (SAN) management, the method comprising: allocating from a storage device a master storage volume which is to be identified as a master Logical Unit Number (LUN);

loading the master LUN with an operating image to allow a host computing device to initiate a boot procedure using the operating image; and

in response to receipt of a boot request from a host computing device over the SAN that includes a reference to the master LUN, then

allocating from the storage device a clone storage volume which is to be identified as a clone LUN, and

copying the master LUN to the clone LUN which is to include a copy of the operating image of the master LUN and allowing the host computing device to initiate a boot procedure using the copied operating image over the SAN.

7. The method of claim 6, further comprising, after response to receipt of a boot request from a host computing device that includes reference to a master LUN, instructing the host computing device to initiate a boot procedure using the operating image of the clone LUN.

8. The method of claim 6, further comprising receiving from the host computing device port information associated with a Host Bus Adapter (HBA) of the host computing device to associate with a device port of the target computing device.

9. The method of claim 6, further comprising, after receipt of the boot request, associating the clone LUN with the host computing device for subsequent boot requests.

10. The method of claim 6, further comprising generating a peer zone associated with the host computing device and the target computing device.

1 1. A non-transitory computer-readable medium having computer executable instructions stored thereon for Storage Area Network (SAN) management, the instructions are executable by a processor to:

allocate from a storage device a master storage volume which is to be identified as a master Logical Unit Number (LUN);

load the master LUN with an operating image to allow a host computing device to initiate a boot procedure using the operating image; and

in response to receipt of a boot request from a host computing device over the SAN that includes a reference to the master LUN, then

allocate from the storage device a clone storage volume which is to be identified as a clone LUN, and

copy the master LUN to the clone LUN which is to include a copy of the operating image of the master LUN and to allow the host computing device to initiate a boot procedure using the copied operating image over the SAN.

12. The non-transitory computer-readable medium of claim 1 1 , further comprising instructions that if executed cause a processor to: after response to receipt of a boot request from a host computing device that includes reference to a master LUN, instruct the host computing device to initiate a boot procedure using the operating image of the clone LUN.

13. The non-transitory computer-readable medium of claim 1 1 , further comprising instructions that if executed cause a processor to: receive from the host computing device port information associated with a Host Bus Adapter (HBA) of the host computing device to associate with a device port of the target computing device.

14. The non-transitory computer-readable medium of claim 1 1 further comprising instructions that if executed cause a processor to: generate a peer zone associated with the host computing device and the target computing device.

15. The non-transitory computer-readable medium of claim 1 1 further comprising instructions that if executed cause a processor to: after receipt of the boot request, associate the clone LUN with the host computing device for subsequent boot requests.

Description:
STORAGE AREA NETWORK MANAGEMENT

BACKGROUND

[0001] Computer systems may include storage networks which may allow host computing devices to access storage devices for storing data for later retrieval. The storage networks may allow for physical storage devices to appear as larger virtual storage space to the host computing devices.

BRIEF DESCRIPTION OF THE DRAWINGS

[0002] Examples are described in the following detailed description and in reference to the drawings, in which:

[0003] Fig. 1 depicts an example system for storage area network management in accordance with an example of the techniques of the present application;

[0004] Fig. 2 depicts an example flow chart of a process for storage area network management in accordance with an example of the techniques of the present application;

[0005] Fig. 3 depicts an example diagram of storage area network management in accordance with an example of the techniques of the present application; and

[0006] Fig. 4 depicts an example block diagram showing a non-transitory, computer-readable medium that stores instructions for storage area network management in accordance with an example of the techniques of the present application.

DETAILED DESCRIPTION

[0007] Computer systems may include storage networks which may allow host computing devices to access storage devices for storing data for later retrieval. The storage networks may include physical storage devices which may be configured as storage volumes and to appear as larger virtual storage space to the host computing devices. In one example, the storage network may be a Storage Area Network (SAN) which may include a relatively high-speed network with target computing devices for connecting or attaching host computing devices such as a servers to storage devices. The target computing devices may include storage arrays to allow for efficient storage volume management and deployment. The storage network may allow for host computing devices to perform a remote boot procedure which may be stored and accessed over the storage network and remote from the host computing device. The host computing devices may execute the boot procedure which may include an operating image that includes an image or copy of an Operating System (OS) installed or stored on a storage device that is remote or external to the host computing device or storage network. This may allow the host computing device to execute the remote boot procedure from the external storage device instead of from a storage device on the host computing device which may be undesirable.

[0008] However, configuration of the storage network to allow for a remote boot procedure may require configuration of the system including configuration of the storage devices and target and host computing devices. In one example, the boot procedure may require configuration of host computing devices with virtual boot devices which may enable the host computing devices to access the actual boot procedure information stored on specific storage volumes identified as Logical Unit Numbers (LUNs) from the external or remote storage devices. The virtual boot device may be configured as part of Host Bus Adapter (HBA) on the host computing device which is network interface device to allow the host computing to communicate over a storage network. The HBA may require the HBA to have an HBA Basic Input Output System (BIOS) to provide support for a remote boot procedure from the storage network. In some examples, target computing devices may be configured as storage arrays and may require system administrators to perform administrative procedures to allow for remote boot procedures. These administrative procedures may include creation multiple individual storage volumes or LUNs, configuration of virtual boot devices for individual host computing devices to reference or point to corresponding individual volumes, and installation of operating images on each volume per host computing device individually. This administrative procedures may be undesirable because it may be require manual intervention, time consuming, tedious and error prone.

[0009] The techniques of the present application may provide storage area network management techniques which may improve remote boot procedure performance of host computing devices over storage networks. In one example, a target computing device may be configured as part of a storage network such as a SAN to allow host computing devices to perform remote boot procedures from remote storage devices in an automatic manner which may help reduce the cost and amount of resources for configuration of large storage networks. In one example, a target computing device may be configured to manage or orchestrate deployment of remote boot procedures over a storage network. For example, a target computing device may allocate or generate a master volume from storage devices and then generate copies of the master volumes to form clone volumes. In this manner, a target computing device creates multiple boot volumes for remote boot procedures which automates end to end remote boot procedure from the storage network configuration at all end devices (including host computing devices, network devices and target computing devices). In this manner, host computing devices may be able to perform a remote boot procedure from their respective operating images without requiring the system to re-install the operating images for individual host computing devices.

[00010] In one example, the techniques of the present application provide for a target computing device configured with a storage management module to provide storage area network management. The storage management module may be configured to communicate with host computing devices to allow the host computing devices to access storage provided by a storage device over a network managed by a network device. The storage device includes storage volumes which may be configured by the storage management module as a master LUN and then copy the master LUN to generate clone LUNs. The storage management module may be configured to allocate from the storage device a master storage volume which is to be identified as master LUN. The module may load the master LUN with an operating image to allow the host computing device to initiate a boot procedure using the operating image.

[00011] The storage management module may check for receipt of a boot request from host computing device over the SAN that includes a reference to the master LUN. If the module determines that it received a boot request from a host computing device over the SAN that includes a reference to the master LUN, then it allocates from the storage device a clone storage volume which is to be identified as a clone LUN. In this case, the module copies the master LUN to the clone LUN which is to include a copy of the operating image of the master LUN and which is to allow the host computing device to initiate a boot procedure using the copied operating image over the SAN. On the other hand, if storage management module determines that it has not received a boot request from the host computing device over the SAN that includes a reference to the master LUN, then it may perform other processing.

[00012] In this manner, the present application discloses techniques to provide storage area network management techniques which may help improve data performance of a storage network such as a SAN. For example, these techniques may employ high-availability features of a SAN to deploy multiple host computing devices to perform remote boot procedures from remote clone LUNs having copies of the operating images from the master LUN. In another example, these techniques may provide for interchangeable host computing devices by allowing operating images to be stored remotely on a SAN which may reduce the need for host computing devices to be physically bound to their startup or boot procedure configurations. In one example, if a host computing device fails, the present techniques may allow for another host computing device to replace the failed host computing device and resume operations with the same operating image from a boot procedure over the SAN. In another example, these techniques may allow for centralized administration of operating images as part of boot procedures which may include OS updates, patches, security policy enforcement and other information through use of clone volumes or LUNs based on a master volume or master LUN.

[00013] Fig. 1 depicts an example system 100 for storage area network management in accordance with an example of the techniques of the present application. The system 100 includes a target computing device 102 configured with a storage management module 104 to provide storage area network management in accordance with an example of the techniques of the present application.

[00014] The storage management module 104 may be configured to communicate with host computing devices 106 (106-1 , 106-2, 106-n, where n may be any number) to allow the host computing devices to access storage provided by storage device 1 10 over a storage network 108. In one example, storage network 108 may be a SAN or other network. The storage device 1 10 includes storage volumes which may be configured by storage management module 104 as a master LUN 1 12 and clone LUNs 1 14 (1 14-1 , 1 14-2, 1 14-n, where n may be any number).

[00015] The storage management module 104 may be configured to allocate from storage device 1 10 a master storage volume which is to be identified as master LUN 1 12. The module 104 may load master LUN 1 12 with an operating image to allow host computing devices 106 to initiate a boot procedure (remote boot procedure is boot procedure are used interchangeably) using the operating image. The module 104 may check for receipt of a boot request from host computing devices 106 over storage network 108 that includes a reference to master LUN 1 12. The boot request may include any command or message from host computing devices to request access and ability to execute a boot procedure that includes an operating image from clone LUN 1 14. [00016] In one example, if module 104 determines that it received a boot request from host computing device 106-1 over network 108 that includes a reference to the master LUN, then it allocates from storage device 1 10 a clone storage volume which is to be identified as clone LUN 1 14-1 . In this case, module 104 copies master LUN 1 12 to clone LUN 1 14-1 which is to include a copy of the operating image of the master LUN which is to allow host computing device 106-1 to initiate a boot procedure using the copied operating image over storage network 108. On the other hand, if storage management module 104 determines that it has not received a boot request from host computing device 106-1 over storage network 108 that includes a reference to master LUN 1 12, then it may perform other processing.

[00017] The storage management module 104 may be configured to perform further functions to provide storage management. For example, storage management module 104 may be configured to, after response to receipt of a boot request from host computing device 106-1 (or any of the host computing devices) that includes reference to master LUN 1 12, instruct the host computing device to initiate a boot procedure using the operating image of clone LUN 1 14-1 . In one example, module 104 may instruct host computing device to initiate a boot procedure using any communication means such as messages, commands and the like. In another example, storage management module 104 may be configured to receive from host computing device 106-1 (or any of the host computing devices) port information associated with a HBA of the host computing device to associate with a device port of target computing device 102. In one example, host computing device 106 may include HBA or any other network interface means to communicate over network 108. In another example, storage management module 104 may be configured to, after receipt of the boot request, associate clone LUN 1 14-1 with host computing device 106-1 for subsequent boot requests. For example, storage management module 104 may be configured to generate a peer zone for network functionality associated with host computing device 106-1 and target computing device 102.

[00018] The storage device 1 10 may be defined as any electronic means to store data for later retrieval. The storage device 1 10 may include storage volumes which may by logical units of data that can be defined across multiple storage devices. The target computing device 102 may receive from host computing devices 106 Input/Output (IO) requests which may include requests to read data from storage device 1 10 as volumes and requests to write data to the storage devices as volumes. The storage device 1 10 may refer to a physical storage element, such as a disk-based storage element (e.g., hard disk drive, optical disk drive, etc.) or other type of storage element (e.g., semiconductor storage element). In one example, multiple storage devices within a storage subsystem can be arranged as an array configuration.

[00019] The target computing device 102 may be configured to communicate with other computing devices such as host computing devices over network 108 using network techniques. The network techniques may include any means of electronic or data communication. The network may include a local area network, Internet and the like. The network techniques may include Fibre Channel network, SCSI (Small Computer System Interface) link, Serial Attached SCSI (SAS) link and the like. The network techniques may include switches, expanders, concentrators, routers, and other communications devices. The host computing devices 106 may include similar network functionality as target computing device 102.

[00020] The system 100 of Fig. 1 shows an example target computing device 102 and should be understood that other configurations may be employed to practice the techniques of the present application. For example, system 100 may be configured to include a plurality of target computing devices 102 to communicate with a plurality of other computing devices such as host computing devices 106. In another example, storage device 1 10 is shown as a single component but it should be understood that the storage device may be plurality of storage devices distributed across a plurality of target computing devices 102. In another example, storage management module 104 is shown as a single component but it should be understood that the module may be plurality of modules distributed across a plurality of target computing devices 102. The components of system 100 may be implemented in hardware, software or a combination thereof. In one example, module 104 may be implemented in hardware, software or a combination thereof. In another example, the functionality of the components of system 100 may be implemented using technology related to Personal Computers (PCs), server computers, tablet computers, mobile computers and the like.

[00021] Fig. 1 shows system 100 to provide storage area network management. The system 100 may include computer-readable storage medium comprising (e.g., encoded with) instructions executable by a processor to implement functionalities described herein in relation to Fig. 1 . In some examples, the functionalities described herein in relation to instructions to implement storage management module 104 functions, and any additional instructions described herein in relation to storage medium, may be implemented as engines or modules comprising any combination of hardware and programming to implement the functionalities of the modules or engines, as described below. The functions of module 104 may be implemented by a computing device which may be a server, blade enclosure, desktop computer, laptop (or notebook) computer, workstation, tablet computer, mobile phone, smart device, or any other processing device or equipment including a processing resource. In examples described herein, a processor may include, for example, one processor or multiple processors included in a single computing device or distributed across multiple computing devices.

[00022] Fig. 2 depicts an example flow chart 200 of a process for storage area network management in accordance with an example of the techniques of the present application. To illustrate operation, it may be assumed that process 200 employs system 100 which includes target computing device 102 configured to provide storage area network management according to the techniques of the present application and functionality described herein. To illustrate operation, it may be further assumed that host computing device 106-1 is configured to send a boot request to target computing device 102 to have the target computing device provide to the host computing device a boot procedure with an operating image associated with clone LUN 1 14-1 . However, it should be understood that other examples may be employed. For example, host computing devices 106-1 , 106-2, 106-3 may be configured to request separate boot requests to execute separate boot procedures associated with respective clone LUNs 1 14-1 , 1 14-2, 1 14-3.

[00023] It should be understood the process depicted in Fig. 2 represents generalized illustrations, and that other processes may be added or existing processes may be removed, modified, or rearranged without departing from the scope and spirit of the present application. In addition, it should be understood that the processes may represent instructions stored on a computer-readable storage medium that, when executed, may cause a processor to respond, to perform actions, to change states, and/or to make decisions. Alternatively, the processes may represent functions and/or actions performed by functionally equivalent circuits like analog circuits, digital signal processing circuits, Application Specific Integrated Circuits (ASICs), or other hardware components associated with the system. Furthermore, the flow charts are not intended to limit the implementation of the present application, but rather the flow charts illustrate functional information to design/fabricate circuits, generate software, or use a combination of hardware and software to perform the illustrated processes.

[00024] The process 200 may begin at block 202, where storage management module 104 allocates from storage device 1 10 a master storage volume which is to be identified as master LUN 1 12. Processing proceeds to block 204. [00025] At block 204, storage management module 104 loads master LUN 1 12 with an operating image to allow host computing device 106-1 to initiate a boot procedure using the operating image. Processing proceeds to block 206.

[00026] At block 206, storage management module 104 checks for receipt of a boot request from host computing device 106-1 over storage network 108 that includes a reference to master LUN 1 12. If storage management module 104 determines that it received a boot request from host computing device 106-1 over storage network 108 that includes a reference to the master LUN, then processing proceeds to block 208. On the other hand, if storage management module 104 determines that it has not received a boot request from host computing device 106-1 over storage network 108 that includes a reference to master LUN 1 12, then processing proceeds to End block for other processing.

[00027] At block 208, storage management module 104 allocates from storage device 1 10 a clone storage volume which is to be identified as clone LUN 1 14-1 . Processing proceeds to block 210.

[00028] At block 210, storage management module 104 copies master LUN 1 12 to clone LUN 1 14-1 which is to include a copy of the operating image of the master LUN which is to allow host computing device 106-1 to initiate a boot procedure using the copied operating image over storage network 108. Processing proceeds to End block for other processing.

[00029] The storage management module 104 may be configured to perform further functions to provide storage management. For example, storage management module 104 may be configured to, after response to receipt of a boot request from host computing device 106-1 that includes reference to master LUN 1 12, instruct the host computing device to initiate a boot procedure using the operating image of clone LUN 1 14-1 . For example, storage management module 104 may be configured to receive from host computing device 106-1 port information associated with a HBA of the host computing device to associate with a device port of target computing device 102. For example, storage management module 104 may be configured to, after receipt of the boot request, associate clone LUN 1 14-1 with host computing device 106-1 for subsequent boot requests. For example, storage management module 104 may be configured to generate a peer zone associated with host computing device 106-1 and target computing device 102.

[00030] The process 200 of Fig. 2 shows an example process and it should be understood that other configurations may be employed to practice the techniques of the present application. For example, process 200 may be configured to allocate storage volumes from a plurality of storage devices 1 10.

[00031] Fig. 3 depicts an example diagram of a process 300 for storage area network management in accordance with an example of the techniques of the present application. To illustrate operation, it may be assumed that process 300 of Fig. 3 employs system 100 which includes target computing device 102 configured to provide storage area network management techniques in accordance with an example of the techniques of the present application and functionality described herein. It may be further assumed that host computing device 106-1 is configured to generate a boot request to obtain an operating image for a boot procedure associated with clone LUN 1 14-1 . However, it should be understood that other examples may be employed. For example, host computing devices 106-1 , 106-2, 106-3 may configured to generate separate boot requests to execute separate boot procedures associated with respective clone LUNs 1 14-1 , 1 14-2, 1 14-3.

[00032] It should be understood the process depicted in Fig. 3 represents generalized illustrations, and that other processes may be added or existing processes may be removed, modified, or rearranged without departing from the scope and spirit of the present application. In addition, it should be understood that the processes may represent instructions stored on a computer-readable storage medium that, when executed, may cause a processor to respond, to perform actions, to change states, and/or to make decisions. Alternatively, the processes may represent functions and/or actions performed by functionally equivalent circuits like analog circuits, digital signal processing circuits, Application Specific Integrated Circuits (ASICs), or other hardware components associated with the system. Furthermore, the flow charts are not intended to limit the implementation of the present application, but rather the flow charts illustrate functional information to design/fabricate circuits, generate software, or use a combination of hardware and software to perform the illustrated processes.

[00033] The process 300 may begin at block 302, where host computing device 106-1 executes a power-on procedure or process to allow the host computing device to have electrical power to allow it to execute computer readable instructions such as code or routines to provide further functionality such as communication with target computing device 102 over storage network 108. In another example, other components of system 100 such as target computing device 102 may execute power-on procedures. Processing proceeds to block 304. [00034] At block 304, host computing device 106-1 registers with a name server information associated with host computing device to allow the device to communicate with target computing device 102 over storage network 108. In one example, a name server may be any computing device that may implement a network service for providing responses to queries for directory services over a network. In one example, storage network 108 may by a SAN and may include a network switch for use in the managing communication over the storage network. Processing proceeds to block 306.

[00035] At block 306, host computing device 106-1 checks whether an HBA associated with host computing device 106-1 is configured to communicate with target computing device 102 to execute a boot procedure. In another example, host computing device 106-1 may include an HBA boot loader associated with the HBA to allow the device to execute a boot procedure and to communicate with target computing device 102 over storage network 108.

[00036] If host computing device 106-1 determines that its configured to communicate with target computing device 102 to execute a boot procedure, then processing proceeds to block 320 for further processing. In this case, in one example, if host computing device 106-1 is already configured to perform a boot procedure using operating image from clone LUN 1 14-1 , then the HBA boot loader function of the host computing device may connect with target computing device 102 and issue a LUN INQUIRY command directed to the target computing device. Once target computing device 102 receives from host computing device 106-1 valid device identification (data LUN), the host computing device proceeds to perform a boot procedure from corresponding remote clone LUN. In some examples, host computing device 106-1 may be configured for the first time in which case it may be not be configured to perform the boot procedure from a clone LUN over storage network 108. As explained below, at this point, HBAs of host computing device 106-1 may proceed to initiate communication with target computing device 102.

[00037] On the other hand, if host computing device 106-1 determines that it is not configured to communicate with a target computing device 102 to execute a boot procedure, then processing proceeds to block 308 for further processing.

[00038] At block 308, host computing device 106-1 may automatically select a boot order through the HBA to execute a boot procedure from target computing device 102. Processing proceeds to block 310.

[00039] At block 310, host computing device 106-1 registers network device characteristics (BIOS registers HBA ports and the like) of the host computing device with a network device name (switch server) over network 108. In one example, host computing device 106-1 may configure HBA ports of the host computing device to generate commands to communicate with switch server such as command to login to fabric (FLOGI) and register the N_Port with name server (PLOGI). In this case, host computing device 106-1 may send query commands to query a name server (Query) and generate successive PLOGI requests. Then, host computing device 106-1 may performs a login procedure to register with a target port of target computing device 102, if available, in its zone. Processing proceeds to block 312.

[00040] At block 312, host computing device 106-1 (e.g., HBA of the host computing device) checks whether it is configured to perform a boot procedure at the host computing device. If host computing device 106-1 determines that it is configured to perform a boot procedure at the host computing device, then processing proceeds to block 320 for further processing. On the other hand, if host computing device 106-1 determines that it is not configured to perform a boot procedure at the host computing device, then processing proceeds to block 314 for further processing.

[00041] At block 314, host computing device 106-1 communicates with target computing device 102 which may cause the target computing device to generate or create a host entry associated with the host computing device. In one example, the system or a system administrator may generate or create host objects associated with the device. In one example, target computing device 102 may be a storage array that may be configured to exchange or pass HBA port identifiers along with target ports through which LUNs are enquired and exposed. In one example, the port identifiers may be World Wide Names (WWNs) which are unique identifiers used in storage technologies including Fibre Channel. Processing proceeds to block 328.

[00042] At block 316, host computing device 106-1 may be configured to continue to communicate with target computing device 102 until a boot procedure or boot LUN such as corresponding clone LUN 1 14-1 is available. In one example, the HBA of host computing device 106-1 may continue to attempt to connect with target computing device 102 and generate retry messages or commands directed to the target computing device. For example, the messages may include LUN INQUIRY messages or commands and on successive LUN INQUIRY, if LUN information is returned as a response to LUN INQUIRY, it may attempt to perform a boot procedure from this LUN which may be corresponding clone LUN. This process may be part of the processing employed at block 314 above. [00043] At block 328, target computing device 102 generates or creates clone LUN 1 14-1 associated or corresponding to host computing device 106-1. In one example, the host computing devices 106-1 and target computing device 102 may be configured to communicate over storage network 108 which may be a SAN which may be configured to have peer zones created automatically. In this case, members of the zone may include host computing device HBA WWN and target port WWN of target computing device 102 identified above. Processing proceeds to block 326.

[00044] At block 326, target computing device 102 proceeds to attempt to export or provide access of master LUN 1 12 to host computing device 106-1. In one example, the system may export/provision master LUN 1 12 to host computing device 106-1. In this case, target computing device 102 detects that master LUN 1 12 is about to be exported and may respond to create or generate snap clone of the master LUN, such as clone LUN 1 14-1 , which may be an independent full copy of master volume associated with the master LUN. The target computing device 102 may, in the background and instead of exporting master LUN 1 12, proceed to export (provides access) to newly created clone LUN 1 14-1 which is a copy or clone of master LUN to the host computing device. Processing proceeds to block 324.

[00045] At block 324, target computing device 102 checks whether it is attempting to export master LUN 1 12 to host computing device 106-1. If target computing device 102 determines it is attempting to export master LUN 1 12 to host computing device 106- 1 , then processing proceeds to block 322. On the other hand, if target computing device 102 determines it is not attempting to export master LUN 112 to computing device 106- 1 , then processing proceeds to block 320.

[00046] At block 322, target computing device 102 generates or creates a clone LUN 1 14-1 from master LUN 1 12. Processing proceeds to block 320.

[00047] At block 320, host computing device 106-1 allows host computing device 106-1 to proceed to access clone LUN 1 14-1 to perform a boot procedure using an operating image for the host computing device. Processing proceeds to block 318.

[00048] At block 318, host computing device 106-1 executes operating image of boot procedure from clone LUN 1 14-1. In one example, target computing device 102 may instruct host computing device 106-1 to proceed to execute the boot procedure over network 108. In one example, host computing device 106-1 may include an HBA which functionality to identify its boot LUN through zoned target ports, and once available, it may immediately proceed to perform a boot procedure from clone LUN 1 14-1 which is a clone of master LUN 1 12. Once host computing device 106-1 executes the boot procedure, it may continue with further processing based on the particular application of the host computing device. Furthermore, target computing device 102 may proceed back to the beginning of processing to check for requests from other host computing devices.

[00049] As explained above, in one example, target computing device 102 allocates or creates a master storage volume identified as master LUN 1 12 of desired size based on the particular application. The target computing device 102 receive boot requests from host computing devices 106 and respond with attempts to export master LUN 1 12 to the host computing device 106. The host computing devices 106 may require to execute a boot procedure located at target computing device since the host computing device may not include storage devices to provide storage space or capacity to store the boot procedure. The target computing device 102 installs or loads an operating image that may include an OS onto master LUN 1 12. Now, the system may be configured to allow boot procedures for mass host computing device deployment over a storage network. In one example, the system may select the host computing devices to perform a boot procedure over the network, in this case a SAN, by using a copy of the operating image from master LUN 1 12 created above. Upon host computing device 106 power up procedure, it checks for local storage such as a hard drive, and in absence of local storage, it reloads BIOS with HBA boot order to check for a local boot procedure at the host computing device or a remote boot procedure located at the target computing device.

[00050] In another example, to illustrate operation, the present techniques may provide for a storage network configured to target computing device orchestrated features to create copies or snap clones of operating images for remote boot procedure from a master storage volume once the base operating image has been installed or loaded on master volume. In one example, the operating image (e.g., pre-installed operating system) resides on target computing device 102 which may be configured as a storage array. Once master LUN 1 12 (master storage volume) is created on target computing device 102, a desired operating image including an operating system may be loaded or installed on it. In one example, once master LUN 1 12 is loaded with the appropriate operating image, target computing device 102 may generate copies such as snap clones of master LUN automatically based upon the number of host computing devices 106 requiring to perform boot procedures from remote target devices. In this case, host computing devices 106 that require boot procedures with respective operating images may configure the BIOS of the host computing devices to reference or point to the corresponding correct LUNs and the host computing devices may execute the appropriate boot procedures in an efficient manner with reduction in manual intervention.

[00051] The process of Fig 3 shows an example process and it should be understood that other configurations can be employed to practice the techniques of the present application. For example, the process may be configured to allocate storage volumes from a plurality of storage devices 1 10.

[00052] Fig. 4 is an example block diagram showing a non-transitory, computer- readable medium that stores code for operation in accordance with an example of the techniques of the present application. The non-transitory, computer-readable medium is generally referred to by the reference number 400 and may be included in the system in relation to Fig. 1 . The non-transitory, computer-readable medium 400 may correspond to any typical storage device that stores computer-implemented instructions, such as programming code or the like. For example, the non-transitory, computer-readable medium 400 may include one or more of a non-volatile memory, a volatile memory, and/or one or more storage devices. Examples of non-volatile memory include, but are not limited to, electrically erasable programmable Read Only Memory (EEPROM) and Read Only Memory (ROM). Examples of volatile memory include, but are not limited to, Static Random Access Memory (SRAM), and dynamic Random Access Memory (DRAM). Examples of storage devices include, but are not limited to, hard disk drives, compact disc drives, digital versatile disc drives, optical drives, and flash memory devices.

[00053] A processor 402 generally retrieves and executes the instructions stored in the non-transitory, computer-readable medium 400 to operate the present techniques in accordance with an example. In one example, the tangible, computer-readable medium 400 can be accessed by the processor 402 over a bus 404. A first region 406 of the non-transitory, computer-readable medium 400 may include storage area network management module 104 functionality as described herein. The module 104 functionality may be implemented in hardware, software or a combination thereof.

[00054] For example, block 408 provides instructions which may include instructions to allocate master LUN 1 12, as described herein. In one example, the instructions may include instructions to allocate from storage device 1 10 a master storage volume which is to be identified as master LUN 1 12, as described herein.

[00055] For example, block 410 provides instructions which may include instructions to load master LUN 1 12 with an operating image, as described herein. In one example, the instructions may include instructions to load master LUN 1 12 with an operating image to allow a host computing device 106 to initiate a boot procedure using the operating image.

[00056] For example, block 412 provides instructions which may include instructions to determine receipt of a boot request, as described herein. In one example, the instructions may include instructions to determine receipt of a boot request from a host computing device 106 over storage network 108 that includes a reference to master LUN 1 12, as described herein.

[00057] For example, block 414 provides instructions which may include instructions to allocate clone LUN 1 14, as described herein. In one example, the instructions may include instructions to allocate from storage device 1 10 a clone storage volume which is to be identified as clone LUN 1 14, as described herein.

[00058] For example, block 416 provides instructions which may include instructions to copy master LUN 1 12 to clone LUN 1 14, as described herein. In one example, the instructions may include instructions to copy master LUN 1 12 to clone LUN 1 14 which is to include a copy of the operating image of the master LUN and to allow the host computing device to initiate a boot procedure using the copied operating image over the storage network, as described herein.

[00059] The blocks of Fig. 4 shows example blocks and it should be understood that other instructions may be employed to practice the techniques of the present application. For example, storage management module 104 may be configured to include instructions to, after response to receipt of a boot request from host computing device 106-1 that includes reference to master LUN 1 12, instruct the host computing device to initiate a boot procedure using the operating image of clone LUN 1 14-1 . For example, storage management module 104 may be configured to include instructions to receive from host computing device 106-1 port information associated with a HBA of the host computing device to associate with a device port of target computing device 102. For example, storage management module 104 may be configured to include instructions to, after receipt of the boot request, associate clone LUN 1 14-1 with host computing device 106-1 for subsequent boot requests. For example, storage management module 104 may be configured to include instructions to generate a peer zone associated with host computing device 106-1 and target computing device 102.

[00060] Although shown as contiguous blocks, the software components can be stored in any order or configuration. For example, if the non-transitory, computer- readable medium 400 is a hard drive, the software components can be stored in noncontiguous, or even overlapping, sectors. [00061] As used herein, a "processor" may include processor resources such as at least one of a Central Processing Unit (CPU), a semiconductor-based microprocessor, a Graphics Processing Unit (GPU), a Field-Programmable Gate Array (FPGA) configured to retrieve and execute instructions, other electronic circuitry suitable for the retrieval and execution instructions stored on a computer-readable medium, or a combination thereof. The processor fetches, decodes, and executes instructions stored on medium 400 to perform the functionalities described below. In other examples, the functionalities of any of the instructions of medium 400 may be implemented in the form of electronic circuitry, in the form of executable instructions encoded on a computer-readable storage medium, or a combination thereof.

[00062] As used herein, a "computer-readable medium" may be any electronic, magnetic, optical, or other physical storage apparatus to contain or store information such as executable instructions, data, and the like. For example, any computer-readable storage medium described herein may be any of Random Access Memory (RAM), volatile memory, non-volatile memory, flash memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disc (e.g., a compact disc, a DVD, etc.), and the like, or a combination thereof. Further, any computer-readable medium described herein may be non-transitory. In examples described herein, a computer-readable medium or media is part of an article (or article of manufacture). An article or article of manufacture may refer to any manufactured single component or multiple components. The medium may be located either in the system executing the computer-readable instructions, or remote from but accessible to the system (e.g., via a computer network) for execution. In the example of Fig. 4, medium 400 may be implemented by one computer-readable medium, or multiple computer-readable media.

[00063] In examples described herein, target computing device 102 may communicate with components implemented on separate devices or system(s) via a network interface device of the computing device. For example, target computing device 102 may communicate with storage device 1 10 via a network interface device of the target computing device 102. In another example, target computing device 102 may communicate with other computing devices such as host computing devices 106 via a network interface device of target computing device 102. In examples described herein, a "network interface device" may be a hardware device to communicate over at least one computer network. In some examples, a network interface may be a Network Interface Card (NIC) or the like. As used herein, a computer network may include, for example, a Local Area Network (LAN), a Wireless Local Area Network (WLAN), a Virtual Private Network (VPN), the Internet, or the like, or a combination thereof. In some examples, a computer network may include a telephone network (e.g., a cellular telephone network).

[00064] In some examples, instructions 408-416 may be part of an installation package that, when installed, may be executed by processor 402 to implement the functionalities described herein in relation to instructions 408-416. In such examples, medium 400 may be a portable medium, such as a CD, DVD, or flash drive, or a memory maintained by a server from which the installation package can be downloaded and installed. In other examples, instructions 408-416 may be part of an application, applications, or component(s) already installed on target computing device 102 including processor 402. In such examples, the medium 400 may include memory such as a hard drive, solid state drive, or the like. In some examples, functionalities described herein in relation to Figs. 1 through 4 may be provided in combination with functionalities described herein in relation to any of Figs. 1 through 4.

[00065] The foregoing describes a novel and previously unforeseen approach for storage management. While the above application has been shown and described with reference to the foregoing examples, it should be understood that other forms, details, and implementations may be made without departing from the spirit and scope of this application.