CN107533482B - Combine operating system volumes - Google Patents
Combine operating system volumes Download PDFInfo
- Publication number
- CN107533482B CN107533482B CN201680022955.4A CN201680022955A CN107533482B CN 107533482 B CN107533482 B CN 107533482B CN 201680022955 A CN201680022955 A CN 201680022955A CN 107533482 B CN107533482 B CN 107533482B
- Authority
- CN
- China
- Prior art keywords
- computing device
- target
- operating system
- volume
- system volume
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一些示例提供包括相邻计算设备的系统,相邻计算设备包括已部署操作系统(OS)卷,以及对应于已部署OS卷的相应的相邻位表。该系统可以包括目标计算设备,目标计算设备包括目标操作系统(OS)卷。目标计算设备可以确定对应于目标OS卷的目标位表。目标位表中的每个位指示目标OS卷的数据块相对于基本OS卷是否不同。目标计算设备可以基于位表来确定与已部署OS卷的第二组数据块等同的第一组数据块。目标计算设备可以接收来自相邻计算设备的第二组数据块中的至少一个数据块,并且组合目标OS。
Some examples provide a system including an adjacent computing device, the adjacent computing device including a deployed operating system (OS) volume, and a corresponding adjacent bit table corresponding to the deployed OS volume. The system may include a target computing device, the target computing device including a target operating system (OS) volume. The target computing device may determine a target bit table corresponding to the target OS volume. Each bit in the target bit table indicates whether a data block of the target OS volume is different relative to a base OS volume. The target computing device may determine a first set of data blocks that is equivalent to a second set of data blocks of the deployed OS volume based on the bit table. The target computing device may receive at least one data block from the second set of data blocks from the adjacent computing device and assemble a target OS.
Description
背景技术Background technique
计算设备可以执行操作系统。操作系统可以对计算设备的资源的利用进行管理。A computing device may execute an operating system. The operating system may manage the utilization of the resources of the computing device.
附图说明Description of drawings
在下面的具体实施方式中,并且参考附图,描述了某些示例,在附图中:In the following detailed description, and with reference to the accompanying drawings, some examples are described, in which:
图1是可以组合操作系统卷的示例计算系统的概念图:Figure 1 is a conceptual diagram of an example computing system that can combine operating system volumes:
图2是可以组合操作系统卷的示例计算系统的另一概念图。2 is another conceptual diagram of an example computing system that can combine operating system volumes.
图3是可以组合操作系统卷的示例计算系统的另一概念图;3 is another conceptual diagram of an example computing system that can combine operating system volumes;
图4是用于组合操作系统卷的示例方法的流程图:4 is a flowchart of an example method for combining operating system volumes:
图5是用于组合操作系统卷的示例方法的流程图;以及5 is a flowchart of an example method for combining operating system volumes; and
图6是用于组合操作系统卷的示例的框图。6 is a block diagram of an example for combining operating system volumes.
具体实施方式Detailed ways
数据中心可以包括多个计算设备,例如,服务器。服务器中的每一个都执行操作系统(OS)。必须先安装每个操作系统,然后才能使用该服务器的资源。在一些环境中,目标计算设备(例如,必须预分配的服务器)可以请求OS媒体(例如,OS卷)以安装操作系统。预分配计算设备(例如,媒体服务器)可以经由链路(例如,网络链路等)将卷传送到目标计算设备。A data center may include multiple computing devices, eg, servers. Each of the servers executes an operating system (OS). Each operating system must be installed before the server's resources can be used. In some environments, a target computing device (eg, a server that must be preallocated) may request OS media (eg, an OS volume) to install the operating system. A pre-allocated computing device (eg, a media server) may transfer the volume to the target computing device via a link (eg, a network link, etc.).
响应于接收到对请求或命令的请求,媒体服务器可以将包括用于目标计算设备的目标OS卷的OS映像从媒体服务器流送到目标计算设备。目标计算设备可以接收并安装来自媒体服务器的OS映像。In response to receiving the request for the request or command, the media server may stream the OS image including the target OS volume for the target computing device from the media server to the target computing device. The target computing device can receive and install the OS image from the media server.
然而,从媒体服务器流送媒体相对较慢,这可能会导致冗长的OS安装时间。媒体服务器可能由于各种因素而缓慢地流送OS映像。例如,媒体服务器可能基于可用的网络带宽而吞吐量受限。预分配的计算设备与媒体服务器之间的同时连接的数量进一步划分已经受限的网络带宽。媒体服务器的OS预分配速度也可能受到预分配给媒体服务器的输入-输出操作(IOPS)的最大数量的限制。与网络带宽一样,媒体服务器的IOPS在媒体服务器当前预分配的计算设备中的每一个之间划分。However, streaming media from a media server is relatively slow, which can lead to lengthy OS installation times. A media server may be streaming OS images slowly due to various factors. For example, a media server may be limited in throughput based on available network bandwidth. The pre-allocated number of simultaneous connections between computing devices and media servers further divides the already constrained network bandwidth. The OS pre-allocation speed of the media server may also be limited by the maximum number of input-output operations (IOPS) pre-allocated to the media server. Like network bandwidth, the IOPS of the media server is divided between each of the computing devices that the media server currently pre-allocates.
本公开涉及快速预分配目标计算设备(例如,服务器)的OS卷,并且减少预分配期间媒体服务器的负载。根据本公开,目标计算设备确定要预分配的目标操作系统卷。基于目标OS卷,目标计算设备生成位表。位表中的每个位指示目标OS卷的多个块相对于基本OS卷是否不同。The present disclosure relates to rapidly pre-allocating an OS volume of a target computing device (eg, a server) and reducing the load on the media server during pre-allocation. According to the present disclosure, a target computing device determines a target operating system volume to preallocate. Based on the target OS volume, the target computing device generates a bit table. Each bit in the bit table indicates whether multiple blocks of the target OS volume are different relative to the base OS volume.
目标服务器确定相邻计算设备并请求相邻计算设备的位表。相邻计算设备可以包括:例如,在相同刀锋上的VM,与目标计算设备在相同的外壳中、在相同的互连中、在相同的机架中、和/或处于相同的交换机级别的计算设备。相邻计算设备还具有与待预分配的目标OS卷相同的操作系统版本。The target server determines neighboring computing devices and requests bit tables for neighboring computing devices. Neighboring computing devices may include, for example, VMs on the same blade, computing in the same enclosure, in the same interconnect, in the same rack, and/or at the same switch level as the target computing device equipment. The adjacent computing device also has the same operating system version as the target OS volume to be preallocated.
通过比较目标位表和相邻位表中的对应位,目标服务器确定相邻服务器的相邻OS卷中的一组数据块,并且其对应于目标OS卷中的一组数据块。目标服务器然后向相邻计算设备请求数据块中的至少一些,并且组合目标OS卷。By comparing the corresponding bits in the target bit table and the adjacent bit table, the target server determines a set of data blocks in the adjacent server's adjacent OS volumes and which correspond to a set of data blocks in the target OS volume. The target server then requests at least some of the data blocks from neighboring computing devices, and combines the target OS volumes.
为了组合目标OS卷,目标计算设备接收所请求的块并将其存储在目标计算设备的随机存取存储器(RAM)中,并且例如基于存储器映射来将数据块从RAM复制到与目标计算设备耦合的存储装置。To assemble the target OS volume, the target computing device receives the requested block and stores it in random access memory (RAM) of the target computing device, and copies the data block from the RAM to coupled with the target computing device, eg, based on a memory map storage device.
利用多线程、多个同时网络连接、和/或多个高速互连,目标计算设备可以同时从多个相邻计算设备接收数据块,本公开的技术可以快速降低OS预分配时间,即,在目标计算设备上安装和执行OS卷花费的时间。作为示例,本公开的技术可以将OS预分配时间从45分钟或更长缩短到不到一分钟,并且可以允许并发地对大量的服务器(例如,上千台服务器)进行预分配。With multi-threading, multiple simultaneous network connections, and/or multiple high-speed interconnects, a target computing device can receive blocks of data from multiple adjacent computing devices simultaneously, the techniques of the present disclosure can rapidly reduce OS pre-allocation time, i.e., in Time spent mounting and executing the OS volume on the target computing device. As an example, the techniques of the present disclosure can reduce OS pre-allocation time from 45 minutes or more to less than a minute, and can allow concurrent pre-allocation of large numbers of servers (eg, thousands of servers).
图1是可以组合操作系统卷的示例计算系统的概念图。计算系统100在图1中示出。计算系统100包括目标计算设备102和多个相邻计算设备108A-108N(统称为“相邻计算设备108”),其中N是任意数。在各种示例中,目标计算设备102和相邻计算设备108可以包括服务器。1 is a conceptual diagram of an example computing system that can combine operating system volumes.
目标计算设备102和相邻计算设备108可以位于相同的外壳中,例如,在相同的刀锋服务器中、在相同的机架中、或者可以与相同的交换机连接。在图1的示例中,目标计算设备102和相邻计算设备108经由互连106连接。互连106可以包括任何数量的系统级互连,例如,刀锋服务器、和/或网络连接。在各种示例中,互连106可以提供极高的吞吐量,例如,40或60千兆比特每秒(gbps)或更高。
相邻计算设备108中的每一个都包括相应的已部署OS卷116A-116N(已部署OS卷116)。在图1的示例中,已部署OS卷116可以全部包括相同的OS版本。例如,相同版本的Windows、虚拟机主机、Linux等。Each of the neighboring computing devices 108 includes a corresponding deployed OS volume 116A-116N (deployed OS volume 116). In the example of FIG. 1, the deployed OS volumes 116 may all include the same OS version. For example, same version of Windows, virtual machine host, Linux, etc.
已部署OS卷116中的每一个都包括相应的数据块118A-118N(统称为“数据块118”)。在各种示例中,数据块118可以包括OS卷的单个数据块(例如,大小为4千字节(4KB))或多个块。Each of the deployed OS volumes 116 includes a
基于相应的每组数据块118A-118N,相邻计算设备108A-108N可以生成相邻位表110A-110N(“相邻位表110”)。相邻位表110中的每一个包括相应的多个位。这些位中的每一个指示多个数据块相对于基本OS卷(例如,基本OS卷104)的相应的多个数据块是否不同。每个相邻计算设备可以通过对已部署OS卷的相应数据块与基本OS卷104的对应数据块进行比较来生成相应的相邻位表。Based on the respective sets of
作为示例,相邻计算设备108A可以生成相邻位表110A。位表110A中的每个“0”位指示对应的多个数据块118A相对于基本OS卷104的对应的多个块不同。位表110A中的每个“1”位指示对应的多个数据块118A相对于基本OS卷104的对应的多个块没有不同。As an example,
相邻位表110A具有值“01111110”。应当理解,为了说明和示例的目的,位表110A可能显著地短于实际位表。位表110A的第一位和最后一位等于0。因此,对应于第一0位的多个数据块118A和对应于最后0位的多个数据块118A与基本OS卷104的对应的多个数据块不同。对应于相邻位表110A中的“1”位的多个数据块118A与基本OS卷104的对应的多个块没有不同。The adjacent bit table 110A has the value "01111110". It should be understood that the bit table 110A may be significantly shorter than the actual bit table for purposes of illustration and example. The first and last bits of bit table 110A are equal to zero. Therefore, the plurality of
目标计算设备102可以类似地针对待部署的目标OS卷114确定目标位表112。类似于上面关于相邻计算设备108描述的过程,目标计算设备102可以基于目标OS卷114的对应的多个数据块相对于基本OS卷104的对应的多个数据块是否不同来确定目标位表112。
目标计算设备102可以基于从预分配计算设备(例如,媒体服务器或预分配装置)接收到的指示来确定哪些计算设备包括相邻计算设备108。相邻计算设备108具有与目标OS卷114的操作系统相同的操作系统版本。相邻计算设备108可以包括在相同的刀锋上的虚拟机,与目标计算设备102连接到相同的交换机级别、相同的互连、和/或位于相同的外壳中的计算设备。
目标计算设备102向相邻计算设备108请求相邻位表108。相邻计算设备108可以经由互连106将相邻位表110发送到目标计算设备102。目标计算设备102对目标位表112中的位与相邻位表中的每个相邻位表中的对应位进行比较。The
如果目标位表和相邻位表中的对应位等于1,则目标计算设备102确定目标OS卷114的对应的多个数据块相对于基本OS卷104的对应的数据块没有不同。因此,对于目标位表112中的等于“1”的位和具有等于1的对应位的相邻位表110中的对应位,目标位表112的数据块和已部署OS卷116的对应的数据块是等同的。因为目标OS卷114和已部署OS卷116的对应的数据块是等同的,所以目标计算设备102可以使用从相邻计算设备108接收到的对应的数据块来组合目标OS卷114。If the corresponding bits in the target bit table and the adjacent bit table are equal to 1, then the
在其中目标位表112与相邻位表110中的一个相邻位表中的对应位不相等的示例中,目标OS卷114的对应的数据块与已部署OS卷116的对应数据块不等同,并且目标计算设备102不会基于这些块来请求或组合目标OS卷114。In an example in which the corresponding bits in the target bit table 112 and one of the adjacent bit tables in the adjacent bit table 110 are not equal, the corresponding data blocks of the
如果目标位表和相邻位表中的对应位等于零,则目标计算设备102确定目标OS卷114的对应的多个数据块相对于基本OS卷104的对应的数据块不同。对于相对于基本OS卷104不同的块,目标计算设备102请求来自媒体服务器(例如,媒体服务器218)的块。计算设备102可以基于接收到的数据块来组合目标OS卷114。The
由于目标OS卷114和已部署OS卷116的对应的数据块是等同的,所以目标计算设备102可以使用从相邻计算设备108接收到的对应的数据块来组合目标OS卷114。目标计算设备102可以请求来自一个或多个相邻计算设备108的这些等同的块中的至少一个。Since the corresponding data blocks of
作为特定示例,目标位表112中的最后一位等于“1”。基于位表110,目标计算设备102确定相邻位表110B中的对应的最后一位和相邻位表110N中的对应的最后一位也等于“1”。基于确定相邻位表110B中的对应的最后一位和相邻位表110N中的对应的最后一位等于1,目标计算设备102可以请求已部署OS卷116B和116N的数据块118B和118N中的至少一些。目标计算设备102可以比较目标位表112中的对应位与位表110中的对应位以确定第二组数据块,目标计算机102可以从相邻计算设备108请求该第二组数据块。目标计算设备102可以请求来自相邻计算设备108的可用的第二组块中的至少一个块。As a specific example, the last bit in the target bit table 112 is equal to "1". Based on bit table 110,
因此,计算系统100是包括多个相邻计算设备108的计算系统的示例,其中相邻计算设备中的每一个包括:与相邻计算设备108中的一个相邻计算设备相关联的相应的已部署操作系统(OS)卷(例如,116A-116N),以及对应于相应的已部署OS卷的相应的相邻位表110,其中,相应的相邻位表110中的位指示相应的已部署OS卷116相对于基本OS卷(例如,基本OS卷104)是否不同。Accordingly,
计算系统100包括目标计算设备102,其包括目标OS卷114。目标计算设备102可以确定对应于目标OS卷114的目标位表112。目标位表112中的每个位对应于目标OS卷114的第一组数据块中的数据块,并且指示目标OS卷114的数据块相对于基本OS卷104是否不同。
目标计算设备102可以从相邻计算设备108中的每一个相邻计算设备请求与相应的已部署OS卷116中的每一个相关联的相应的相邻位表110。目标计算设备102可以确定目标OS卷114所包括的第二组数据块120。基于相邻位表110与目标位表112中的对应位是否相等来确定第二组块。The
目标计算设备102请求来自相邻计算设备108的第二组数据块110中的至少一个数据块,接收来自相邻计算设备108的第二组数据块122中的所请求的至少一个数据块,并且基于接收自相邻计算设备108的第二组数据块中的至少一个数据块来组合目标OS卷114。The
图2是可以执行对操作系统卷的组合的示例计算系统的另一概念图。图2示出了计算系统200。计算系统200包括媒体服务器218、目标计算设备102、以及相邻计算设备108。媒体服务器218、目标计算设备102、以及相邻计算设备108可以经由互连106连接。2 is another conceptual diagram of an example computing system that may perform composition of operating system volumes. FIG. 2 shows
在图2的示例中,目标计算设备102包括网络接口214、目标OS卷114、随机存取存储器(RAM)204、目标位表112、存储器映射208、以及存储装置212。存储装置212可以包括耦合到目标计算设备102的存储装置。In the example of FIG. 2 ,
为了组合目标OS卷114,目标计算设备102接收来自相邻计算设备108的被请求的数据块,并且目标计算设备将接收到的块存储在RAM 204中。目标计算设备102可利用滚动窗口存储器映射将接收到的至少一个数据块存储在RAM 204中。在滚动窗口存储器映射中,接收到的数据块以滚动方式存储在RAM 204中,即,当接收到块时存储到顺序的存储器地址。一旦RAM 204的最大可寻址量被写入,则RAM 204的开头处的块被覆写。周期性地(例如,每2毫秒),目标计算设备102可以基于存储器映射208将存储在RAM 204中的至少一个数据块复制到存储装置212的对应块。存储器映射208可以存储在RAM 204中,并且指示存储在RAM 204的特定地址处的所接收到的目标OS卷114的数据块与该数据块在存储装置212中的对应块地址之间的映射。To assemble the
目标计算设备102可以使用网络接口214来接收数据块。网络接口214可以包括能够与互连106通信的任何多个和/或不同的接口。目标计算设备102可以使用多个网络接口214来接收所请求的数据块,例如,第二组数据块122中的数据块。在各种示例中,目标计算设备102可以发起与相邻计算设备108中的每一个和/或目标计算设备102从其接收数据块的媒体服务器218的分离的连接。在各种示例中,目标计算设备102针对用于接收数据块的网络接口214的每个连接执行分离的线程。
响应于接收到发送已部署OS卷116的数据块118的请求,媒体服务器218可以确定相邻计算设备108的资源利用,例如,中央处理单元(CPU)使用、IO利用(例如,IOPS)、网络带宽、网络接口卡(NIC)占用、存储器使用等。基于所确定的资源利用,媒体服务器218可以指示和/或目标计算设备102可以确定要从相邻计算设备108请求的第二组数据块的数量。在各种示例中,具有较高资源利用的相邻计算设备108可以发送较少的数据块。因此,相邻计算设备108可以基于相邻计算设备108的资源利用来发送第二组数据块122中的至少一个块。In response to receiving the request to send the data block 118 of the deployed OS volume 116, the
媒体服务器218可以存储基本OS卷104,并且可以将与基本OS卷104相关的信息(例如,基本OS卷104的位表)发送到目标计算设备102。在各种示例中,基于位表112中的位是否不等于相邻位表110中的每个相邻位表的对应位中的任一个位,目标计算设备102可以确定目标OS卷114的数据块不可从相邻计算设备108获得。响应于确定数据块不可获得,目标计算设备102可以从媒体服务器218请求该不可获得的数据块。目标计算设备102可以接收来自媒体服务器218的所请求的数据块,并且基于所接收到的数据块来组合目标OS卷114。The
在各种示例中,媒体服务器218可以确定相邻计算设备108。媒体服务器218可以基于以下来确定相邻计算设备108:计算设备是否是与目标计算设备102在相同刀锋上的VM,和/或计算设备是否与目标计算设备102处于相同的外壳、相同的互连、和/或相同的机架中,和/或是否与目标计算设备102处于相同的交换机级别。媒体服务器218还可以基于计算设备是否具有与被预分配的目标OS卷114相同的操作系统版本来确定计算设备是相邻计算设备。In various examples,
媒体服务器218可以确定相邻计算设备108中的哪一个最接近(即,具有最高的卷传送吞吐量)目标计算设备102的排序。媒体服务器218可以生成排序的指示并将排序发送到目标计算设备102。媒体服务器218还可以基于上面描述的资源利用来生成目标计算设备102要从相邻计算设备108获取的块的数量的指示。The
图3是可以示出数据块、位图、以及位表的示例的概念图。图3示出了计算系统300。计算系统300包括OS数据块302。OS数据块302可以包括如本公开中所描述的数据块。在各种示例中,OS数据块302可以包括操作系统信息,并且可以排除计算设备彼此显著不同的信息,例如,应用数据。OS数据块302中的每一个可以包括4千字节块,其可由计算设备逻辑地寻址。3 is a conceptual diagram that may illustrate examples of data blocks, bitmaps, and bit tables. FIG. 3 shows
基于OS数据块302中的每一个,计算设备(例如,目标计算设备、媒体服务器218、和/或相邻计算设备108)可以生成集群位图304。集群位图304中的每个位对应于OS数据块302的数据块。集群位图304中的每个位还指示对应的数据块相对于基本OS卷(例如,基本OS卷104)是否不同。相邻计算设备108中的每一个、目标计算设备102、和/或媒体服务器218基于相应的集群位图(例如,集群位图304)来确定相应的位表(例如,位表306)。在各种示例中,位表306可以包括16字节值。在各种示例中,计算可以为其它计算设备分配用于查询位表和/或集群位图的专用网络端口。Based on each of the OS data blocks 302 , a computing device (eg, target computing device,
作为确定集群位图的示例,计算设备(例如,相邻计算设备108A)可以基于设置/交叉逻辑基于集群位图304中的多个对应位来计算位表306中的每个位。例如,如果集群位图304中的所有多个相应位都等于“1”,则位表306的第一(最左侧的)位等于“1”。然而,如果集群位图304中的对应的多个位中的任何一个等于零,则位表306中的对应位等于零。As an example of determining a cluster bitmap, a computing device (eg, neighboring
在各种示例中,计算设备(例如,相邻计算设备108中的一个)的IO子系统可以确定OS卷的块(例如,数据块118中的一个)何时改变。IO子系统可以检测到已经发生对与操作系统的数据块相关联的地址的写入。基于所检测到的写入,IO子系统可以基于写入的数据块相对于基本OS卷是否不同来确定是否更新集群位图304中的对应位。IO子系统还可以基于集群位图304中的对应位来确定是否更新位表306中的对应位。In various examples, an IO subsystem of a computing device (eg, one of neighboring computing devices 108 ) may determine when a block of an OS volume (eg, one of data blocks 118 ) changes. The IO subsystem can detect that a write to an address associated with a data block of the operating system has occurred. Based on the detected writes, the IO subsystem may determine whether to update the corresponding bits in the
图4是用于组合操作系统卷的示例方法的流程图。图4包括方法400。下面可以将方法400描述为由系统(例如,计算系统100(图1)或计算系统200(图2))来实现或执行。在各种示例中,方法400可以通过硬件、软件、固件、或其任何组合来执行。也可以使用其它合适的系统和/或计算设备。方法400可以以存储在系统的至少一种机器可读存储介质上并且由系统的至少一个处理器执行的可执行指令的形式实现。在各种示例中,机器可读存储介质是非暂时性的。替代地或另外,方法400可以以电子电路(例如,硬件)的形式实现。在本公开的替代示例中,方法400的一个或多个框可以基本上并发地或以与图4所示次序不同的次序执行。在本公开的替代示例中,方法400可以包括比图4所示更多或更少的框。在一些示例中,方法400的框中的一个或多个框在某些时间可以继续进行和/或可以重复。4 is a flowchart of an example method for combining operating system volumes. FIG. 4 includes
方法400可以在框402处开始,在该点处计算系统的计算设备(例如,目标计算设备102)可以接收对应于相邻计算设备(例如,相邻计算设备108A)的已部署操作系统(OS)卷(例如,已部署OS卷116A)的相邻位表(例如,相邻位表110A),其中,相邻位表110A中的每个位对应于已部署OS卷116A的数据块,并且指示已部署OS卷的数据块相对于基本OS卷(例如,基本OS卷104)是否不同。
方法400可以继续进行到框404,在该点处,目标计算设备102可以确定目标位表(例如,目标位表112),其对应于目标计算设备102的目标OS卷(例如,目标OS卷114),其中,目标位表112中的每个位对应于目标OS卷114的第一组数据块120中的数据块,并且指示目标OS卷114的数据块相对于基本OS卷104是否不同。
方法400可以继续进行到框406,在框406处,目标计算设备102可以继续进行到确定由已部署OS卷116A包括的目标OS卷114的第二组数据块122。确定第二组数据块122可以基于相邻位表110A和目标位表112中的对应位是否相等。第二组数据块122是第一组数据块120的子集。The
方法400可以继续进行到框408,在框408处,目标计算设备102可以请求来自邻近计算设备108A的第二组数据块122中的至少一个数据块。方法400可以进一步继续进行到框410,在框410处,目标计算设备102可以接收来自相邻计算设备108A的第二组数据块122中的至少一个数据块。方法400可以继续进行到框412,在框412处,目标计算设备102可以基于接收自相邻计算设备108A的第二组数据块122中的至少一个数据块来组合目标OS卷114。The
图5是用于组合操作系统卷的示例方法的流程图。图5示出了方法500。下面可以将方法500描述为由系统(例如,计算系统100(图1)或计算系统200(图2))来实现或执行。也可以使用其它合适的系统和/或计算设备。方法500可以以存储在系统的至少一种机器可读存储介质上并且由系统的至少一个处理器执行的可执行指令的形式实现。方法500可以由硬件、软件、固件、或其任何组合来实现。5 is a flowchart of an example method for combining operating system volumes. FIG. 5 shows
替代地或另外,方法500可以以电子电路(例如,硬件)的形式实现。在本公开的替代示例中,方法500的一个或多个框可以基本上并发地或以与图5所示的次序不同的次序执行。在本公开的替代示例中,方法500可以包括比图5所示更多或更少的框。在一些示例中,方法500的框中的一个或多个框在某些时间可以继续进行和/或可以重复。Alternatively or additionally,
在各种示例中,方法500可以在框502处开始,在该点处,计算系统的计算设备(例如,目标计算设备102)可以接收对应于相邻计算设备(例如,相邻计算设备108A)的已部署操作系统(OS)卷(例如,已部署OS卷116A)的相邻位表(例如,相邻位表110A),其中,相邻位表110A中的每个位对应于已部署OS卷116A的数据块,并且指示已部署OS卷的数据块相对于基本OS卷(例如,基本OS卷104)是否不同。In various examples,
方法500可以继续进行到框504,在该点处,目标计算设备102可以确定目标位表(例如,目标位表112),其对应于目标计算设备102的目标OS卷(例如,目标OS卷114),其中,目标位表112中的每个位对应于目标OS卷114的第一组数据块120中的数据块。目标位表112中的每个位还指示目标OS卷114的对应数据块相对于基本OS卷是否不同。
方法500可以继续进行到框506,在框506处,目标计算设备102可以确定相邻计算设备(例如,相邻计算设备108N)。为了确定计算设备是否是相邻计算设备,目标计算设备102或媒体服务器218可以确定计算设备是否位于以下中的至少一个中:与目标计算设备102相同的机架、与目标计算设备102相同的外壳,和/或连接到与目标计算设备102相同的交换机。如果计算设备还具有与目标计算设备102相同的操作系统版本,则目标计算设备102或媒体服务器218可以进一步确定该计算设备是相邻计算设备。The
方法500可以继续进行到框508,在框508处,目标计算设备102可以继续进行到确定由已部署OS卷116A包括的目标OS卷114的第二组数据块122。第二组数据块122可以是第一组数据块120的子集。确定第二组块是基于相邻位表110A和目标位表112中的对应位是否相等的。The
方法500可以继续进行到框510,在框510处,目标计算设备102可以请求来自相邻计算设备108A的第二组数据块122中的至少一个数据块。方法500可以进一步继续进行到框512,在框512处,目标计算设备102可以接收来自相邻计算设备108A的第二组数据块122中的至少一个数据块。The
方法500可以继续进行到框514,在框514处,目标计算设备102可以基于相邻位表110N和目标位表112中的对应位是否相等来确定第三组数据块,第三组数据块不在已部署OS卷的第二组数据块中。方法500可以继续进行到框516,在该点处,目标计算设备102可以从媒体服务器(例如,媒体服务器218)请求第三组数据块216中的至少一个数据块。方法500可以继续进行到框518,在该点处,目标计算设备102可以接收来自媒体服务器218的第三组数据块216中的至少一个数据块。
方法500可以继续进行到框520,在框520处,目标计算设备102可以基于接收自相邻计算设备108A的第二组数据块122中的至少一个数据块来组合目标OS卷114。在一些示例中,为了组合目标OS卷114,目标计算设备102可以将第二组数据块122中的至少一个数据块存储在目标计算设备102的RAM 204中。为了存储第二组数据块中的至少一个数据块,目标计算设备102可以使用滚动窗口存储器映射。为了组合目标OS卷114,目标计算设备102还可以基于存储器映射将存储在RAM 204中的目标OS的至少一个数据块复制到目标计算设备102的存储设备(例如,存储装置212)的对应块。The
图6是用于组合操作系统卷的示例的框图。在图6的示例中,系统600包括处理器610和机器可读存储介质620。虽然以下描述涉及单个处理器和单种机器可读存储介质,但是描述还可以应用于具有多个处理器和多种机器可读存储介质的系统。在这样的示例中,指令可以跨多种机器可读存储介质分布(例如,存储),并且指令可以跨多个处理器分布(例如,由多个处理器执行)。6 is a block diagram of an example for combining operating system volumes. In the example of FIG. 6 ,
处理器610可以是一个或多个中央处理单元(CPU)、微处理器、和/或适于取回并执行存储在机器可读存储介质620中的指令的其它硬件设备。在图6所示的特定示例中,处理器610可以取得、解码、以及执行指令622、624、626、628,以组合操作系统卷。
作为替代或除了取回并执行指令之外,处理器610可以包括一个或多个电子电路,其包括用于执行机器可读存储介质620中的指令中的一个或多个指令的功能的多个电子组件。关于在本文中描述和示出的可执行指令表示(例如,框),应该理解,包括在一个框内的可执行指令和/或电子电路中的部分或全部在替代示例中可以包括在图中所示的不同框中或者包括在未示出的不同框中。As an alternative or in addition to retrieving and executing instructions,
机器可读存储介质620可以是存储可执行指令的任何电子的、磁性的、光学的、或其它物理存储设备。因此,机器可读存储介质620可以是例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPRO)、存储驱动器、光盘等。机器可读存储介质620可以布置在系统600内,如图6所示。在各种示例中,机器可读介质620是非暂时性的。在这种情况下,可执行指令可以“安装”在系统600上。可替代地,机器可读存储介质620可以是便携式、外部、或远程存储介质,例如,其允许系统600从便携式/外部/远程存储介质下载指令。Machine-
参考图6,集群位图指令622在由处理器(例如,处理器610)执行时,可以使得处理器610通过计算设备(例如,相邻计算设备108A等)确定图2的集群位图(例如,集群位图304),其中,集群位图中的每个位指示计算设备的已部署操作系统(OS)卷(例如,已部署OS卷116A)的数据块(例如,OS数据块302或数据块118A)是否不同于基本操作系统卷(例如,基本OS卷104)。6,
位表指令624在被执行时,可以使得处理器610基于集群位图来确定位表(例如,图3所示的位表306或图1所示的位表110A)。位表中的每个位指示已部署OS卷的对应的多个数据块(例如,图3所示的OS数据块302或图1所示的数据块118A)是否不同于基本OS卷。位表中的每个位可以对应于集群位图中的多个位。
在各种示例中,位表指令624可以包括在被执行时可以使得处理器610进行以下操作的指令:修改已部署OS卷的数据块,由计算设备的IO子系统检测卷的数据块相对于基本操作系统卷已经改变,由IO子系统修改集群位图中的与修改后的数据块的地址相对应的位以指示集群相对于基本OS卷已经改变,以及由IO子系统修改位表中的与已部署卷的修改后的数据块相对应的位。In various examples, bit
位表请求指令626在被执行时可以使得处理器610接收来自请求计算设备(例如,目标计算设备102)的对位表的请求,并且位表发送指令628在被执行时可以使得处理器610将位表发送到请求计算设备。Bit
图7是用于组合操作系统卷的示例的框图。在图7的示例中,系统700包括处理器710和机器可读存储介质720。虽然以下描述涉及单个处理器和单种机器可读存储介质,但是描述也可以应用于具有多个处理器和多种机器可读存储介质的系统。在各种示例中,机器可读存储介质720是非暂时性的。在这样的示例中,指令可以跨多种机器可读存储介质分布(例如,存储),并且指令可以跨多个处理器分布(例如,由多个处理器执行)。7 is a block diagram of an example for combining operating system volumes. In the example of FIG. 7 ,
处理器710可以是一个或多个中央处理单元(CPU)、微处理器、和/或适于取回并执行存储在机器可读存储介质720中的指令的其它硬件设备。在图7所示的特定示例中,处理器710可以取得、解码、以及执行指令722、724、726、728、730、732,以组合操作系统卷。
作为替代或除了取回并执行指令之外,处理器710可以包括一个或多个电子电路,其包括用于执行机器可读存储介质720中的指令中的一个或多个指令的功能的多个电子组件。关于在本文中描述和示出的可执行指令表示(例如,框),应该理解,包括在一个框内的可执行指令和/或电子电路中的部分或全部在替代示例中可以包括在图中所示的不同框中或者包括在未示出的不同框中。As an alternative or in addition to retrieving and executing instructions,
机器可读存储介质720可以是存储可执行指令的电子的、磁性的、光学的、或其它物理存储器。因此,机器可读存储介质720可以是例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动器、光盘等。机器可读存储介质720可以布置在系统700内,如图7所示。在这种情况下,可执行指令可以“安装”在系统700上。可替代地,机器可读存储介质720可以是便携式、外部、或远程存储介质,例如,其允许系统700从便携式/外部/远程存储介质下载指令。Machine-
参考图7,集群位图指令722在由处理器(例如,处理器710)执行时可以使得处理器710通过计算设备(例如,相邻计算设备108A等)确定图2的集群位图(例如,集群位图304),其中,集群位图中的每个位指示计算设备的已部署操作系统(OS)卷(例如,已部署OS卷117A)的数据块(例如,OS数据块302或数据块118A)是否不同于基本操作系统卷(例如,基本OS卷104)。7,
位表指令724在被执行时可以使得处理器710基于集群位图来确定位表(例如,图3所示的位表306或图1所示的位表110A)。位表中的每个位指示已部署OS卷的对应的多个数据块(例如,图3所示的OS数据块302或图1所示的数据块118A)是否不同于基本OS卷。位表中的每个位可以对应于集群位图中的多个位。
位表请求指令726在被执行时可以使得处理器710接收来自请求计算设备(例如,目标计算设备102)的对位表的请求,并且位表发送指令728在被执行时可以使得处理器710将位表发送到请求计算设备。Bit
在各种示例中,机器可读存储介质720可以包括资源利用指令730和/或数据块发送指令732。资源利用指令730在被执行时可以使得处理器710通过计算设备确定计算设备的资源利用(例如,相邻计算设备108A的负载)。在各种示例中,处理器710可以执行数据块发送指令732,该指令在被执行时使得处理器710通过计算设备向请求计算设备(例如,目标计算设备102)发送多个被请求的数据块,其中,所发送的数据块的数量是基于计算设备的资源利用的。In various examples, machine-
Claims (12)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201641005072 | 2016-02-12 | ||
IN201641005072 | 2016-02-12 | ||
PCT/US2016/029783 WO2017138966A1 (en) | 2016-02-12 | 2016-04-28 | Assembling operating system volumes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107533482A CN107533482A (en) | 2018-01-02 |
CN107533482B true CN107533482B (en) | 2020-11-13 |
Family
ID=59563505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680022955.4A Active CN107533482B (en) | 2016-02-12 | 2016-04-28 | Combine operating system volumes |
Country Status (4)
Country | Link |
---|---|
US (1) | US10678554B2 (en) |
EP (1) | EP3286648B1 (en) |
CN (1) | CN107533482B (en) |
WO (1) | WO2017138966A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12235982B2 (en) | 2022-07-28 | 2025-02-25 | Pure Storage, Inc. | Volume dependencies in a storage system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4847830A (en) * | 1987-12-02 | 1989-07-11 | Network Equipment Technologies, Inc. | Method and apparatus for automatic loading of a data set in a node of a communication network |
CN101620515A (en) * | 2009-08-12 | 2010-01-06 | 宋振华 | Method for enhancing logical volume management LVM function |
CN103914647A (en) * | 2014-04-14 | 2014-07-09 | 中国人民解放军国防科学技术大学 | Method for running programs in isolation manner on basis of local virtualization mechanism |
US8959061B1 (en) * | 2009-09-30 | 2015-02-17 | Emc Corporation | Rapid restore from a prepared system image |
CN105027070A (en) * | 2013-01-10 | 2015-11-04 | 净睿存储股份有限公司 | Security for Volume Operations |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6801952B2 (en) | 1998-08-31 | 2004-10-05 | Nortel Networks Limited | Method and devices for providing network services from several servers |
US7277950B1 (en) * | 2000-12-29 | 2007-10-02 | Swarmcast, Inc. | Packet transfer mechanism over a peer to peer network |
US7213065B2 (en) | 2001-11-08 | 2007-05-01 | Racemi, Inc. | System and method for dynamic server allocation and provisioning |
US8838793B1 (en) | 2003-04-10 | 2014-09-16 | Symantec Operating Corporation | Method and apparatus for provisioning storage to a file system |
US7502803B2 (en) * | 2003-05-28 | 2009-03-10 | Hewlett-Packard Development Company, L.P. | System and method for generating ACPI machine language tables |
US7676506B2 (en) * | 2003-06-20 | 2010-03-09 | Innopath Software, Inc. | Differential file compression of software image versions |
JP4900760B2 (en) | 2004-03-31 | 2012-03-21 | 株式会社日立製作所 | OS image deployment machine and method |
US7174385B2 (en) | 2004-09-03 | 2007-02-06 | Microsoft Corporation | System and method for receiver-driven streaming in a peer-to-peer network |
US7315926B2 (en) * | 2004-09-21 | 2008-01-01 | Emc Corporation | Lock management for concurrent access to a single file from multiple data mover computers |
US7389300B1 (en) * | 2005-05-27 | 2008-06-17 | Symantec Operating Corporation | System and method for multi-staged in-memory checkpoint replication with relaxed consistency |
US8549252B2 (en) * | 2005-12-13 | 2013-10-01 | Emc Corporation | File based volumes and file systems |
US7783850B2 (en) * | 2006-03-28 | 2010-08-24 | Dot Hill Systems Corporation | Method and apparatus for master volume access during volume copy |
US7945726B2 (en) * | 2006-05-08 | 2011-05-17 | Emc Corporation | Pre-allocation and hierarchical mapping of data blocks distributed from a first processor to a second processor for use in a file system |
US8412682B2 (en) * | 2006-06-29 | 2013-04-02 | Netapp, Inc. | System and method for retrieving and using block fingerprints for data deduplication |
US20090077327A1 (en) * | 2007-09-18 | 2009-03-19 | Junichi Hara | Method and apparatus for enabling a NAS system to utilize thin provisioning |
US8161254B2 (en) * | 2008-06-02 | 2012-04-17 | Syncsort Incorporated | Method for creating consistent backup image of a storage volume without requiring a snapshot |
US8214609B2 (en) * | 2008-07-16 | 2012-07-03 | International Business Machines Corporation | Data transference to virtual memory |
US8782238B2 (en) | 2010-11-05 | 2014-07-15 | Verizon Patent And Licensing Inc. | Server clustering in a computing-on-demand system |
DE112011104356B4 (en) | 2010-12-13 | 2014-05-15 | International Business Machines Corporation | Updating software images based on streaming technology |
EP2661678A1 (en) * | 2011-05-31 | 2013-11-13 | Hitachi, Ltd. | Storage system and storage control method |
US8677090B2 (en) * | 2011-07-20 | 2014-03-18 | Hitachi, Ltd. | First storage apparatus and first storage apparatus control method |
WO2014087453A1 (en) * | 2012-12-05 | 2014-06-12 | Hitachi, Ltd. | Storage device and method of controlling storage device |
US9672151B1 (en) * | 2012-12-17 | 2017-06-06 | EMC IP Holding Company LLC | Block caching between a host device client and storage array in a shared storage environment |
JP2014182417A (en) * | 2013-03-18 | 2014-09-29 | Fujitsu Ltd | File system verification method, file system verification program, and information processing apparatus |
US9329803B1 (en) * | 2013-06-28 | 2016-05-03 | Emc Corporation | File system over thinly provisioned volume file in mapped mode |
US9063671B2 (en) * | 2013-07-02 | 2015-06-23 | Sandisk Technologies Inc. | Write operations with full sequence programming for defect management in nonvolatile memory |
US9336818B1 (en) * | 2015-02-04 | 2016-05-10 | HGST Netherlands B.V. | Method for reducing adjacent track interference effects in a data storage system |
US9437232B1 (en) * | 2015-07-15 | 2016-09-06 | HGST Netherlands B.V. | Magnetic recording disk drive with write position error signal values written in the data tracks for compensation of track misregistration |
US10339098B2 (en) * | 2015-12-22 | 2019-07-02 | Spectra Logic, Corp. | Container-level array storage |
US10248617B2 (en) * | 2015-12-22 | 2019-04-02 | Spectra Logic, Corp. | File-level array storage |
US10372557B2 (en) * | 2016-05-03 | 2019-08-06 | Hewlett Packard Enterprise Development Lp | Versioning and recovery of workloads |
US10162523B2 (en) * | 2016-10-04 | 2018-12-25 | Pure Storage, Inc. | Migrating data between volumes using virtual copy operation |
-
2016
- 2016-04-28 CN CN201680022955.4A patent/CN107533482B/en active Active
- 2016-04-28 EP EP16890079.3A patent/EP3286648B1/en not_active Not-in-force
- 2016-04-28 WO PCT/US2016/029783 patent/WO2017138966A1/en active Application Filing
- 2016-04-28 US US15/756,570 patent/US10678554B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4847830A (en) * | 1987-12-02 | 1989-07-11 | Network Equipment Technologies, Inc. | Method and apparatus for automatic loading of a data set in a node of a communication network |
CN101620515A (en) * | 2009-08-12 | 2010-01-06 | 宋振华 | Method for enhancing logical volume management LVM function |
US8959061B1 (en) * | 2009-09-30 | 2015-02-17 | Emc Corporation | Rapid restore from a prepared system image |
CN105027070A (en) * | 2013-01-10 | 2015-11-04 | 净睿存储股份有限公司 | Security for Volume Operations |
CN103914647A (en) * | 2014-04-14 | 2014-07-09 | 中国人民解放军国防科学技术大学 | Method for running programs in isolation manner on basis of local virtualization mechanism |
Also Published As
Publication number | Publication date |
---|---|
EP3286648A4 (en) | 2018-06-20 |
US20180239613A1 (en) | 2018-08-23 |
EP3286648B1 (en) | 2020-08-26 |
EP3286648A1 (en) | 2018-02-28 |
CN107533482A (en) | 2018-01-02 |
WO2017138966A1 (en) | 2017-08-17 |
US10678554B2 (en) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10884935B1 (en) | Cache allocation for controller boards based on prior input-output operations | |
US10509592B1 (en) | Parallel data transfer for solid state drives using queue pair subsets | |
US11606429B2 (en) | Direct response to IO request in storage system having an intermediary target apparatus | |
KR20200017363A (en) | MANAGED SWITCHING BETWEEN ONE OR MORE HOSTS AND SOLID STATE DRIVES (SSDs) BASED ON THE NVMe PROTOCOL TO PROVIDE HOST STORAGE SERVICES | |
US9648081B2 (en) | Network-attached memory | |
US20220138063A1 (en) | System, and control method and program for input/output requests for storage systems | |
CN112054963A (en) | Network interface for data transmission in heterogeneous computing environments | |
US10289507B1 (en) | Distributed rebuild of failed storage device | |
EP2713262A1 (en) | Hierarchy memory management | |
US12099454B2 (en) | Memory appliance couplings and operations | |
EP4086774A1 (en) | Coherent memory system | |
CN111095188A (en) | Dynamic data relocation using cloud-based modules | |
US9513829B1 (en) | Transaction logging using round-robin block allocation and I/O size based partitions | |
CN114253656A (en) | Overlay container storage drive for microservice workloads | |
US12327138B2 (en) | Storage system with efficient release of address lock waiters during synchronous replication | |
US20230139729A1 (en) | Method and apparatus to dynamically share non-volatile cache in tiered storage | |
US11093161B1 (en) | Storage system with module affinity link selection for synchronous replication of logical storage volumes | |
US11029847B2 (en) | Method and system for shared direct access storage | |
US10656862B1 (en) | Systems and methods for implementing space consolidation and space expansion in a horizontally federated cluster | |
CN109783002B (en) | Data reading and writing method, management device, client and storage system | |
CN107533482B (en) | Combine operating system volumes | |
US11467906B2 (en) | Storage system resource rebuild based on input-output operation indicator | |
US20160267050A1 (en) | Storage subsystem technologies | |
US11481147B1 (en) | Buffer allocation techniques | |
US11360712B2 (en) | Storage system with continuous data verification for synchronous replication of logical storage volumes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |