WO2016186619A1 - Booting a network device coupled to a storage device in a storage area network (san) - Google Patents

Booting a network device coupled to a storage device in a storage area network (san) Download PDF

Info

Publication number
WO2016186619A1
WO2016186619A1 PCT/US2015/031121 US2015031121W WO2016186619A1 WO 2016186619 A1 WO2016186619 A1 WO 2016186619A1 US 2015031121 W US2015031121 W US 2015031121W WO 2016186619 A1 WO2016186619 A1 WO 2016186619A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
network
network device
boot
san
Prior art date
Application number
PCT/US2015/031121
Other languages
French (fr)
Inventor
Rupin T. Mohan
Vivek Agarwal
Krishna PUTTAGUNTA
Original Assignee
Hewlett Packard Enterprise Development Lp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Enterprise Development Lp filed Critical Hewlett Packard Enterprise Development Lp
Priority to PCT/US2015/031121 priority Critical patent/WO2016186619A1/en
Publication of WO2016186619A1 publication Critical patent/WO2016186619A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]

Definitions

  • a Storage Area Network is a high-speed network that connects multiple storage devices with multiple servers.
  • a SAN provides block-level storage that may be accessed by applications running on any associated server.
  • a storage area network removes storage from servers and consolidates it in a manner that each server in a SAN may access shared storage as if it is directly attached to the server.
  • a SAN thus serves as a pool of storage for servers in the network.
  • FIG. 1 is a block diagram of an example computing environment for booting a network device coupled to a storage device in a Storage Area Network (SAN);
  • SAN Storage Area Network
  • FIG. 2 is a diagram of an example network device for booting of a storage device in a Storage Area Network (SAN);
  • SAN Storage Area Network
  • FIG. 3 is a block diagram of an example method for booting a network device coupled to a storage device in a Storage Area Network (SAN); and
  • SAN Storage Area Network
  • FIG. 4 is a block diagram of an example system for booting a network device coupled to a storage device in a Storage Area Network (SAN). Detailed Description
  • a network device for example, a network switch in a Storage Area Network (SAN) may use a boot image stored thereon to boot itself. This may be prone to failure. Further, firmware maintenance and replacement in a network device may be a complex and costly task.
  • SAN Storage Area Network
  • the present disclosure describes various examples for booting a network device coupled to a storage device in a Storage Area Network (SAN).
  • SAN Storage Area Network
  • the status of a variable in the network device may be determined.
  • the network device may be booted using a boot image stored on a storage device in a Storage Area Network (SAN).
  • SAN Storage Area Network
  • FIG. 1 is a diagram of an example computing environment 100 for booting a network device coupled to a storage device in a Storage Area Network (SAN).
  • Computing environment 100 may include a plurality of computing devices 104, 106, 108, and 1 10, a plurality of network devices 1 12, 1 14, 1 16, and 1 18, and a plurality of storage devices 120, 122, 124, and 126. Although only four computing devices, four network devices, and four storage devices are shown in FIG. 1 , other examples of this disclosure may include more or fewer number of computing devices, network devices, and storage devices.
  • Computing devices 104, 106, 108, and 1 10 may be communicatively coupled to storage devices 120, 122, 124, and 126 via network devices 1 12, 1 14, 1 16, and 1 18.
  • Some example communication protocols that may be used by computing devices 104, 106, 108, and 1 10, to communicate with storage devices 120, 122, 124, and 126 via network devices 1 12, 1 14, 1 16, and 1 18, may include Fibre Channel (FC), Ethernet, Internet Small Computer System Interface (iSCSI), HyperSCSI, ATA over Ethernet (AoE), and Fibre Channel over Ethernet (FCoE).
  • Computing environment 100 may be implemented, for example, as a Local Area Network (LAN), a Wireless Local Area Network (WAN), a Metropolitan Area Network (MAN), a public network (for example, the Internet) or a private network (for example, an intranet).
  • LAN Local Area Network
  • WAN Wireless Local Area Network
  • MAN Metropolitan Area Network
  • public network for example, the Internet
  • private network for example, an intranet
  • Computing devices 104, 106, 108, and 1 10 may each represent any type of computing system capable of reading machine-executable instructions.
  • Examples of computing devices 104, 106, 108, and 1 10 may include, without limitation, a server, a desktop computer, a notebook computer, a tablet computer, a thin client, a mobile device, a personal digital assistant (PDA), a phablet, and the like.
  • PDA personal digital assistant
  • Network devices 1 12, 1 14, 1 16, and 1 18 may each be, for example, a network switch or a virtual switch.
  • one or more of network devices 1 12, 1 14, 1 16, and 1 18 may each include a determination module 130 and a boot module 132.
  • the term "module" may refer to a software component (machine readable instructions), a hardware component or a combination thereof.
  • a module may include, by way of example, components, such as software components, processes, tasks, co-routines, functions, attributes, procedures, drivers, firmware, data, databases, data structures, Application Specific Integrated Circuits (ASIC) and other computing devices.
  • a module may reside on a volatile or non-volatile storage medium and configured to interact with a processor of a computing device.
  • network device 1 12 is shown to include a determination module 130 and a boot module 132.
  • any or all of the other network devices i.e. 1 14, 1 16, and 1 18
  • Storage devices 120, 122, 124, and 126 may each be, for example, a storage array, which may include one or more storage drives (for example, hard disk drives, solid state drives, etc.), a storage tape, a solid state drive, a USB drive, a Serial Advanced Technology Attachment (SATA) disk drive, a Fibre Channel (FC) disk drive, a Serial Attached SCSI (SAS) disk drive, a magnetic tape drive, an optical jukebox, and the like.
  • storage devices 120, 122, 124, and 126 may each handle both network and storage traffic from, for example, computing devices 104, 106, 108, and 1 10, and network devices 1 12, 1 14, 1 16, and 1 18.
  • physical storage space provided by storage devices 120, 122, 124, and 126 may each be presented as a logical storage space to computing devices 104, 106, 108 and 1 10.
  • Such logical storage space (also referred as “logical volume”, “virtual disk”, or “storage volume”) may be identified using a "Logical Unit Number” (LUN).
  • LUN Logical Unit Number
  • physical storage space provided by storage devices 120, 122, 124, and 126 may each be presented as multiple logical volumes to computing device 102. In such case, each of the logical storage spaces may be referred to by a separate LUN.
  • a LUN may refer to the entire physical disk, or a subset of the physical disk or disk volume.
  • a storage device is a storage array comprising multiple storage disk drives
  • physical storage space provided by the disk drives may be aggregated as a logical storage space.
  • the aggregated logical storage space may be divided into multiple logical storage volumes, wherein each logical storage volume may be referred to by a separate LUN.
  • LUNs thus, may be used to identify individual or collections of physical disk devices for address by a protocol associated with, for example, a SCSI, iSCSI, or Fibre Channel (FC).
  • one or more of storage devices 120, 122, 124, and 126 may store a boot image(s) that may used for booting of one or more of network devices 1 12, 1 14, 1 16, and 1 18.
  • one or more of storage devices 120, 122, 124, and 126 may act as a boot device for one or more of network devices 1 12, 1 14, 1 16, and 1 18 by storing booting programs (machine-executable instructions).
  • the boot image(s) may be present on one or more LUNs based on storage provided by one or more of storage devices 120, 122, 124, and 126.
  • storage devices 120, 122, 124, and 126 may store other information, for example, configuration information, and log files that may be used by one or more of network devices 1 12, 1 14, 1 16, and 1 18 for booting.
  • FIG. 2 is a block diagram of an example network device 200 for booting of a storage device in a Storage Area Network (SAN).
  • network device 200 may be analogous to any of the network devices 1 12, 1 14, 1 16, and 1 18 of FIG. 1 , in which like reference numerals correspond to the same or similar, though perhaps not identical, components.
  • components or reference numerals of FIG. 2 having a same or similarly described function in FIG. 1 are not being described in connection with FIG. 2. Said components or reference numerals may be considered alike.
  • Network device 200 may include, for example, instance, a network switch or a virtual switch, or any network device with switching functionality.
  • network device 200 may include a determination module 130 and a boot module 132.
  • Determination module 130 may determine, upon powering on a network device (for example, 1 12), status of a variable in the network device.
  • powering on the network device may include executing a power-on self-test (POST) program stored in a memory of the network device.
  • POST power-on self-test
  • determination module 130 may determine status of a variable in the network device.
  • the variable may include current status of a boot flag in the network device.
  • determination module 130 may determine whether status of the variable corresponds to a pre-defined value.
  • a pre-defined value may be defined to include an "ON" or "OFF” value. In such case, determination module 130 may determine whether the current status of boot flag in the network device is "ON" or "OFF".
  • boot module 132 may boot the network device using a boot image stored on a storage device (for example, 120, 122, 124, or 126) in a Storage Area Network (SAN).
  • a storage device for example, 120, 122, 124, or 126 in a Storage Area Network (SAN).
  • SAN Storage Area Network
  • boot module 132 may boot the network device using a boot image stored on a storage device in a Storage Area Network (SAN).
  • determination module 130 determines that current status of the variable does not correspond to a pre-defined value
  • boot module 132 may boot the network device using a boot image stored in its local memory.
  • boot flag variable if determination module 130 determines the status of the boot flag as "OFF”, boot module 132 may boot the network device from a boot image stored on the network device.
  • boot module 132 may determine whether the storage device that includes the boot image is valid. In other words, boot module 132 may determine, for example, whether the storage device is properly configured. Also, in an instance, prior to booting the network device, boot module 132 may determine whether the boot image on the storage device is valid. In other words, boot module132 may determine, for example, whether size and version of the boot image is correct. Boot module 132 may use, for instance, Fibre Channel Protocol (FCP) commands to check and read boot image from the storage device.
  • FCP Fibre Channel Protocol
  • the network device may be directly coupled to the storage device in the Storage Area Network (SAN).
  • boot module 132 may use a pre-defined port on the network device (or storage device) for booting the network device using the boot image stored on the storage device in the SAN.
  • the network device may perform a warm reboot to gain additional or complete functionality.
  • FIG. 3 is a block diagram of an example method 300 for booting a network device coupled to a storage device in a Storage Area Network (SAN).
  • the method 300 which is described below, may be partially executed on a network device such as network devices 1 12, 1 14, 1 16, and 1 18 of FIG. 1 or network device 200 of FIG. 2. However, other suitable computing devices may execute method 300 as well.
  • a network device such as network devices 1 12, 1 14, 1 16, and 1 18 of FIG. 1 or network device 200 of FIG. 2.
  • other suitable computing devices may execute method 300 as well.
  • status of a variable in the network device may be determined.
  • the network device may be booted using a boot image stored on a storage device in a Storage Area Network (SAN).
  • SAN Storage Area Network
  • FIG. 4 is a block diagram of an example system 400 for booting a network device coupled to a storage device in a Storage Area Network (SAN).
  • System 400 includes a processor 402 and a machine-readable storage medium 404 communicatively coupled through a system bus.
  • system 400 may be analogous to network devices 1 12, 1 14, 1 16, and 1 18 of FIG. 1 or network device 200 of FIG. 2.
  • Processor 402 may be any type of Central Processing Unit (CPU), microprocessor, or processing logic that interprets and executes machine-readable instructions stored in machine-readable storage medium 404.
  • Machine-readable storage medium 404 may be a random access memory (RAM) or another type of dynamic storage device that may store information and machine-readable instructions that may be executed by processor 402.
  • RAM random access memory
  • machine-readable storage medium 404 may be Synchronous DRAM (SDRAM), Double Data Rate (DDR), Rambus DRAM (RDRAM), Rambus RAM, etc. or storage memory media such as a floppy disk, a hard disk, a CD-ROM, a DVD, a pen drive, a flash memory, and the like.
  • machine-readable storage medium may be a non-transitory machine-readable medium.
  • Machine-readable storage medium 404 may store instructions 406 and 408.
  • instructions 406 may be executed by processor 402 to determine, upon powering on a network device in a Storage Area Network (SAN), status of a variable in the network device.
  • SAN Storage Area Network
  • Instructions 408 may be executed by processor 402 to boot the network device using a boot image stored on a storage device in the Storage Area Network (SAN), in response to a determination that the status of the variable corresponds to a predefined value. 26]
  • the example method of FIG. 3 is shown as executing serially, however it is to be understood and appreciated that the present and other examples are not limited by the illustrated order.
  • the example systems of FIGS. 1 , 2 and 4, and method of FIG. 3 may be implemented in the form of a computer program product including computer-executable instructions, such as program code, which may be run on any suitable computing device in conjunction with a suitable operating system (for example, Microsoft Windows, Linux, UNIX, and the like).
  • Embodiments within the scope of the present solution may also include program products comprising non-transitory computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
  • Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer.
  • Such computer-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM, magnetic disk storage or other storage devices, or any other medium which can be used to carry or store desired program code in the form of computer-executable instructions and which can be accessed by a general purpose or special purpose computer.
  • the computer readable instructions can also be accessed from memory and executed by a processor. 27] It should be noted that the above-described examples of the present solution is for the purpose of illustration only.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Examples disclosed herein relate to booting a network device coupled to a storage device in a Storage Area Network (SAN). In an example, upon powering on a network device, the status of a variable in the network device may be determined. In response to determining that the status of the variable corresponds to a pre-defined value, the network device may be booted using a boot image stored on a storage device in a Storage Area Network (SAN).

Description

BOOTING A NETWORK DEVICE COUPLED TO A STORAGE DEVICE IN A STORAGE AREA NETWORK (SAN)
Background
[001] A Storage Area Network (SAN) is a high-speed network that connects multiple storage devices with multiple servers. A SAN provides block-level storage that may be accessed by applications running on any associated server. A storage area network removes storage from servers and consolidates it in a manner that each server in a SAN may access shared storage as if it is directly attached to the server. A SAN thus serves as a pool of storage for servers in the network.
Brief Description of the Drawings
[002] For a better understanding of the solution, embodiments will now be described, purely by way of example, with reference to the accompanying drawings, in which:
[003] FIG. 1 is a block diagram of an example computing environment for booting a network device coupled to a storage device in a Storage Area Network (SAN);
[004] FIG. 2 is a diagram of an example network device for booting of a storage device in a Storage Area Network (SAN);
[005] FIG. 3 is a block diagram of an example method for booting a network device coupled to a storage device in a Storage Area Network (SAN); and
[006] FIG. 4 is a block diagram of an example system for booting a network device coupled to a storage device in a Storage Area Network (SAN). Detailed Description
[007] A network device (for example, a network switch) in a Storage Area Network (SAN) may use a boot image stored thereon to boot itself. This may be prone to failure. Further, firmware maintenance and replacement in a network device may be a complex and costly task.
[008] To address such issues, the present disclosure describes various examples for booting a network device coupled to a storage device in a Storage Area Network (SAN). In an example, upon powering on a network device, the status of a variable in the network device may be determined. In response to determining that the status of the variable corresponds to a predefined value, the network device may be booted using a boot image stored on a storage device in a Storage Area Network (SAN).
[009] FIG. 1 is a diagram of an example computing environment 100 for booting a network device coupled to a storage device in a Storage Area Network (SAN). Computing environment 100 may include a plurality of computing devices 104, 106, 108, and 1 10, a plurality of network devices 1 12, 1 14, 1 16, and 1 18, and a plurality of storage devices 120, 122, 124, and 126. Although only four computing devices, four network devices, and four storage devices are shown in FIG. 1 , other examples of this disclosure may include more or fewer number of computing devices, network devices, and storage devices.
[0010] Computing devices 104, 106, 108, and 1 10, may be communicatively coupled to storage devices 120, 122, 124, and 126 via network devices 1 12, 1 14, 1 16, and 1 18. Some example communication protocols that may be used by computing devices 104, 106, 108, and 1 10, to communicate with storage devices 120, 122, 124, and 126 via network devices 1 12, 1 14, 1 16, and 1 18, may include Fibre Channel (FC), Ethernet, Internet Small Computer System Interface (iSCSI), HyperSCSI, ATA over Ethernet (AoE), and Fibre Channel over Ethernet (FCoE). Computing environment 100 may be implemented, for example, as a Local Area Network (LAN), a Wireless Local Area Network (WAN), a Metropolitan Area Network (MAN), a public network (for example, the Internet) or a private network (for example, an intranet).
[0011] Computing devices 104, 106, 108, and 1 10, may each represent any type of computing system capable of reading machine-executable instructions. Examples of computing devices 104, 106, 108, and 1 10 may include, without limitation, a server, a desktop computer, a notebook computer, a tablet computer, a thin client, a mobile device, a personal digital assistant (PDA), a phablet, and the like.
[0012] Network devices 1 12, 1 14, 1 16, and 1 18 may each be, for example, a network switch or a virtual switch. In an example, one or more of network devices 1 12, 1 14, 1 16, and 1 18 may each include a determination module 130 and a boot module 132. The term "module" may refer to a software component (machine readable instructions), a hardware component or a combination thereof. A module may include, by way of example, components, such as software components, processes, tasks, co-routines, functions, attributes, procedures, drivers, firmware, data, databases, data structures, Application Specific Integrated Circuits (ASIC) and other computing devices. A module may reside on a volatile or non-volatile storage medium and configured to interact with a processor of a computing device.
[0013] For the sake of simplicity of illustration, only network device 1 12 is shown to include a determination module 130 and a boot module 132. However, as mentioned earlier, any or all of the other network devices (i.e. 1 14, 1 16, and 1 18) may include these modules. Some of the example functionalities that may be performed by determination module 130 and boot module 132 are described in reference to FIG. 2 below. [0014] Storage devices 120, 122, 124, and 126 may each be, for example, a storage array, which may include one or more storage drives (for example, hard disk drives, solid state drives, etc.), a storage tape, a solid state drive, a USB drive, a Serial Advanced Technology Attachment (SATA) disk drive, a Fibre Channel (FC) disk drive, a Serial Attached SCSI (SAS) disk drive, a magnetic tape drive, an optical jukebox, and the like. In an example, storage devices 120, 122, 124, and 126 may each handle both network and storage traffic from, for example, computing devices 104, 106, 108, and 1 10, and network devices 1 12, 1 14, 1 16, and 1 18.
[0015] In an example, physical storage space provided by storage devices 120, 122, 124, and 126 may each be presented as a logical storage space to computing devices 104, 106, 108 and 1 10. Such logical storage space (also referred as "logical volume", "virtual disk", or "storage volume") may be identified using a "Logical Unit Number" (LUN). In another instance, physical storage space provided by storage devices 120, 122, 124, and 126 may each be presented as multiple logical volumes to computing device 102. In such case, each of the logical storage spaces may be referred to by a separate LUN. Thus, if storage device is physical disk, a LUN may refer to the entire physical disk, or a subset of the physical disk or disk volume. In another example, if a storage device is a storage array comprising multiple storage disk drives, physical storage space provided by the disk drives may be aggregated as a logical storage space. The aggregated logical storage space may be divided into multiple logical storage volumes, wherein each logical storage volume may be referred to by a separate LUN. LUNs, thus, may be used to identify individual or collections of physical disk devices for address by a protocol associated with, for example, a SCSI, iSCSI, or Fibre Channel (FC).
[0016] In an example, one or more of storage devices 120, 122, 124, and 126 may store a boot image(s) that may used for booting of one or more of network devices 1 12, 1 14, 1 16, and 1 18. In other words, one or more of storage devices 120, 122, 124, and 126 may act as a boot device for one or more of network devices 1 12, 1 14, 1 16, and 1 18 by storing booting programs (machine-executable instructions). In an instance, the boot image(s) may be present on one or more LUNs based on storage provided by one or more of storage devices 120, 122, 124, and 126. In another instance, apart from the boot image, storage devices 120, 122, 124, and 126 may store other information, for example, configuration information, and log files that may be used by one or more of network devices 1 12, 1 14, 1 16, and 1 18 for booting.
[0017] FIG. 2 is a block diagram of an example network device 200 for booting of a storage device in a Storage Area Network (SAN). In an example, network device 200 may be analogous to any of the network devices 1 12, 1 14, 1 16, and 1 18 of FIG. 1 , in which like reference numerals correspond to the same or similar, though perhaps not identical, components. For the sake of brevity, components or reference numerals of FIG. 2 having a same or similarly described function in FIG. 1 are not being described in connection with FIG. 2. Said components or reference numerals may be considered alike.
[0018] Network device 200 may include, for example, instance, a network switch or a virtual switch, or any network device with switching functionality.
[0019] In the example of FIG. 2, network device 200 may include a determination module 130 and a boot module 132.
[0020] Determination module 130 may determine, upon powering on a network device (for example, 1 12), status of a variable in the network device. In an instance, powering on the network device may include executing a power-on self-test (POST) program stored in a memory of the network device. Further to performing POST, determination module 130 may determine status of a variable in the network device. In an example, the variable may include current status of a boot flag in the network device. Once current status of the variable is determined, determination module 130 may determine whether status of the variable corresponds to a pre-defined value. To provide an illustration, if the variable includes status of a boot flag in the network device, a pre-defined value may be defined to include an "ON" or "OFF" value. In such case, determination module 130 may determine whether the current status of boot flag in the network device is "ON" or "OFF".
[0021] Once determination module 130 determines that current status of the variable corresponds to a pre-defined value, boot module 132 may boot the network device using a boot image stored on a storage device (for example, 120, 122, 124, or 126) in a Storage Area Network (SAN). To provide an illustration, if the variable includes status of a boot flag in the network switch, and determination module 130 determines the status of the boot flag as "ON", boot module 132 may boot the network device using a boot image stored on a storage device in a Storage Area Network (SAN). On the other hand, if determination module 130 determines that current status of the variable does not correspond to a pre-defined value, boot module 132 may boot the network device using a boot image stored in its local memory. To provide an illustration, in the context of boot flag variable example, if determination module 130 determines the status of the boot flag as "OFF", boot module 132 may boot the network device from a boot image stored on the network device.
[0022] In an instance, prior to booting the network device, boot module 132 may determine whether the storage device that includes the boot image is valid. In other words, boot module 132 may determine, for example, whether the storage device is properly configured. Also, in an instance, prior to booting the network device, boot module 132 may determine whether the boot image on the storage device is valid. In other words, boot module132 may determine, for example, whether size and version of the boot image is correct. Boot module 132 may use, for instance, Fibre Channel Protocol (FCP) commands to check and read boot image from the storage device.
[0023] In an example, the network device may be directly coupled to the storage device in the Storage Area Network (SAN). In another example, boot module 132 may use a pre-defined port on the network device (or storage device) for booting the network device using the boot image stored on the storage device in the SAN. In an example, once boot module 132 loads the boot image in a memory of the network device, the network device may perform a warm reboot to gain additional or complete functionality.
[0024] FIG. 3 is a block diagram of an example method 300 for booting a network device coupled to a storage device in a Storage Area Network (SAN). The method 300, which is described below, may be partially executed on a network device such as network devices 1 12, 1 14, 1 16, and 1 18 of FIG. 1 or network device 200 of FIG. 2. However, other suitable computing devices may execute method 300 as well. At block 302, upon powering on a network device, status of a variable in the network device may be determined. At block 304, if the status of the variable corresponds to a pre-defined value, the network device may be booted using a boot image stored on a storage device in a Storage Area Network (SAN).
[0025] FIG. 4 is a block diagram of an example system 400 for booting a network device coupled to a storage device in a Storage Area Network (SAN). System 400 includes a processor 402 and a machine-readable storage medium 404 communicatively coupled through a system bus. In an example, system 400 may be analogous to network devices 1 12, 1 14, 1 16, and 1 18 of FIG. 1 or network device 200 of FIG. 2. Processor 402 may be any type of Central Processing Unit (CPU), microprocessor, or processing logic that interprets and executes machine-readable instructions stored in machine-readable storage medium 404. Machine-readable storage medium 404 may be a random access memory (RAM) or another type of dynamic storage device that may store information and machine-readable instructions that may be executed by processor 402. For example, machine-readable storage medium 404 may be Synchronous DRAM (SDRAM), Double Data Rate (DDR), Rambus DRAM (RDRAM), Rambus RAM, etc. or storage memory media such as a floppy disk, a hard disk, a CD-ROM, a DVD, a pen drive, a flash memory, and the like. In an example, machine-readable storage medium may be a non-transitory machine-readable medium. Machine-readable storage medium 404 may store instructions 406 and 408. In an example, instructions 406 may be executed by processor 402 to determine, upon powering on a network device in a Storage Area Network (SAN), status of a variable in the network device. Instructions 408 may be executed by processor 402 to boot the network device using a boot image stored on a storage device in the Storage Area Network (SAN), in response to a determination that the status of the variable corresponds to a predefined value. 26] For the purpose of simplicity of explanation, the example method of FIG. 3 is shown as executing serially, however it is to be understood and appreciated that the present and other examples are not limited by the illustrated order. The example systems of FIGS. 1 , 2 and 4, and method of FIG. 3 may be implemented in the form of a computer program product including computer-executable instructions, such as program code, which may be run on any suitable computing device in conjunction with a suitable operating system (for example, Microsoft Windows, Linux, UNIX, and the like). Embodiments within the scope of the present solution may also include program products comprising non-transitory computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, such computer-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM, magnetic disk storage or other storage devices, or any other medium which can be used to carry or store desired program code in the form of computer-executable instructions and which can be accessed by a general purpose or special purpose computer. The computer readable instructions can also be accessed from memory and executed by a processor. 27] It should be noted that the above-described examples of the present solution is for the purpose of illustration only. Although the solution has been described in conjunction with a specific embodiment thereof, numerous modifications may be possible without materially departing from the teachings and advantages of the subject matter described herein. Other substitutions, modifications and changes may be made without departing from the spirit of the present solution. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive.

Claims

Claims:
1 . A method of booting a network device coupled to a storage device in a Storage Area Network (SAN), comprising:
determining, upon powering on a network device, status of a variable in the network device; and
in response to determining that the status of the variable corresponds to a pre-defined value, booting the network device using a boot image stored on a storage device in a Storage Area Network (SAN).
2. The method of claim 1 , further comprising in response to determining that the status of the variable does not correspond to a pre-defined value, booting the network device using a boot image stored thereon.
3. The method of claim 1 , wherein the variable includes status of a boot flag in the network switch.
4. The method of claim 1 , further comprising storing the boot image on the storage device in the SAN.
5. The method of claim 1 , wherein the network device is physically or virtually directly coupled to the storage device in the Storage Area Network (SAN).
6. A network device, comprising:
a determination module to determine, upon powering on the network device, status of a boot flag in the network device; and
a boot module to boot, in response to a determination that the status of the boot flag corresponds to a pre-defined value, the network device using a boot image stored on a storage device in a Storage Area Network (SAN).
7. The system of claim 6, wherein the boot module to determine, prior to the booting, whether the boot image is valid.
8. The system of claim 6, wherein the network device is a network switch.
9. The system of claim 8, wherein the network switch is a virtual switch.
10. A non-transitory machine-readable storage medium comprising instructions to boot a network device coupled to a storage device in a Storage Area Network (SAN), the instructions executable by a processor to:
determine, upon powering on a network device in a Storage Area Network (SAN), status of a variable in the network device; and
in response to a determination that the status of the variable corresponds to a pre-defined value, boot the network device using a boot image stored on a storage device in the Storage Area Network (SAN).
1 1 . The storage medium of claim 10, wherein the storage device is a storage array.
12. The storage medium of claim 10, wherein the boot image is stored in a Logical Unit Number (LUN) based on the storage device.
13. The storage medium of claim 10, further comprising instructions to determine, prior to the booting, whether the storage device is configured.
14. The storage medium of claim 10, further comprising instructions to use a pre-defined port on the network device for the booting.
15. The storage medium of claim 10, further comprising instructions to perform a warm reboot of the network device further to booting the network device using the boot image stored on the storage device in the SAN.
PCT/US2015/031121 2015-05-15 2015-05-15 Booting a network device coupled to a storage device in a storage area network (san) WO2016186619A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2015/031121 WO2016186619A1 (en) 2015-05-15 2015-05-15 Booting a network device coupled to a storage device in a storage area network (san)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/031121 WO2016186619A1 (en) 2015-05-15 2015-05-15 Booting a network device coupled to a storage device in a storage area network (san)

Publications (1)

Publication Number Publication Date
WO2016186619A1 true WO2016186619A1 (en) 2016-11-24

Family

ID=57318933

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/031121 WO2016186619A1 (en) 2015-05-15 2015-05-15 Booting a network device coupled to a storage device in a storage area network (san)

Country Status (1)

Country Link
WO (1) WO2016186619A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007016001A2 (en) * 2005-07-29 2007-02-08 Scalent Systems, Inc. Virtual data center for network resource management
US20070192466A1 (en) * 2004-08-02 2007-08-16 Storage Networking Technologies Ltd. Storage area network boot server and method
US7363514B1 (en) * 2005-02-01 2008-04-22 Sun Microsystems, Inc. Storage area network(SAN) booting method
US20090327675A1 (en) * 2007-12-20 2009-12-31 Dell Products L.P. System and method for os boot image provisioning based on user identity to enable mobile users
US20120278802A1 (en) * 2011-04-28 2012-11-01 Dell Products L.P. System and method for automated virtual network configuration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192466A1 (en) * 2004-08-02 2007-08-16 Storage Networking Technologies Ltd. Storage area network boot server and method
US7363514B1 (en) * 2005-02-01 2008-04-22 Sun Microsystems, Inc. Storage area network(SAN) booting method
WO2007016001A2 (en) * 2005-07-29 2007-02-08 Scalent Systems, Inc. Virtual data center for network resource management
US20090327675A1 (en) * 2007-12-20 2009-12-31 Dell Products L.P. System and method for os boot image provisioning based on user identity to enable mobile users
US20120278802A1 (en) * 2011-04-28 2012-11-01 Dell Products L.P. System and method for automated virtual network configuration

Similar Documents

Publication Publication Date Title
US10521369B1 (en) Host device with multi-path layer configured for per-process data reduction control
US10001947B1 (en) Systems, methods and devices for performing efficient patrol read operations in a storage system
US20180275919A1 (en) Prefetching data in a distributed storage system
US10379759B2 (en) Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure
US20210181965A1 (en) Automated seamless migration with signature issue resolution
US8769241B2 (en) Virtualization of non-volatile memory and hard disk drive as a single logical drive
US8938584B2 (en) System and method to keep parity consistent in an array of solid state drives when data blocks are de-allocated
US10175895B2 (en) Techniques for importation of information to a storage system
US10459812B2 (en) Seamless method for booting from a degraded software raid volume on a UEFI system
US9830110B2 (en) System and method to enable dynamic changes to virtual disk stripe element sizes on a storage controller
US9811282B2 (en) Efficient rebuild of storage devices in a redundant array of independent disks (RAID)
US11023153B2 (en) Installation of operating system
US10203902B2 (en) Techniques for dynamically aligning a partition with a block size boundary
US20140372745A1 (en) Booting a server using a remote read-only memory image
WO2017034610A1 (en) Rebuilding storage volumes
US10742724B2 (en) Cluster computer system with failover handling
WO2016186619A1 (en) Booting a network device coupled to a storage device in a storage area network (san)
WO2015123234A1 (en) Enabling file oriented access on storage devices
WO2016209313A1 (en) Task execution in a storage area network (san)
US7975136B1 (en) Hardware-independent detection of SAN logical volumes
WO2017105533A1 (en) Data backup
US20180011661A1 (en) Data locality in a hyperconverged computing system
US20200244536A1 (en) Cluster formation
US11216297B2 (en) Associating virtual network interfaces with a virtual machine during provisioning in a cloud system
US10540108B2 (en) Systems and methods for booting from virtual volume spanned across unknown number of storage devices by constructing a virtual logical unit based on metadata of the storage resources and by responding to I/O commands with data associated with a dummy logical unit

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15892726

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15892726

Country of ref document: EP

Kind code of ref document: A1