KR101975058B1 - System and method for data availability support - Google Patents

System and method for data availability support Download PDF

Info

Publication number
KR101975058B1
KR101975058B1 KR1020160014658A KR20160014658A KR101975058B1 KR 101975058 B1 KR101975058 B1 KR 101975058B1 KR 1020160014658 A KR1020160014658 A KR 1020160014658A KR 20160014658 A KR20160014658 A KR 20160014658A KR 101975058 B1 KR101975058 B1 KR 101975058B1
Authority
KR
South Korea
Prior art keywords
file
data
update data
virtualization server
bucket
Prior art date
Application number
KR1020160014658A
Other languages
Korean (ko)
Other versions
KR20170093367A (en
Inventor
이상민
진기성
김영균
Original Assignee
한국전자통신연구원
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 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020160014658A priority Critical patent/KR101975058B1/en
Publication of KR20170093367A publication Critical patent/KR20170093367A/en
Application granted granted Critical
Publication of KR101975058B1 publication Critical patent/KR101975058B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Abstract

It is an object of the present invention to provide a data availability support system and method capable of managing the log of update data by utilizing a local disk in order to support data availability in a virtualization server based on a random access memory. To this end, the data availability support system according to the present invention comprises: a virtualization server in which a virtual machine is executed; And a distributed file system connected to the virtualization server via a network and storing a virtual disk file, wherein the virtualization server uses a random access memory as a host side cache for input / output processing, As an update data log file on the local disk of the virtualization server.

Description

SYSTEM AND METHOD FOR DATA AVAILABILITY SUPPORT [0001]

The present invention relates to a system and method for supporting data availability based on a client of a distributed file system.

The host server (virtualization server) supporting the virtual desktop service operates a plurality of virtual machines, and each virtual machine has a virtual disk on which the operating system of the desktop is installed.

The virtual disk file is permanently stored in a storage area network (SAN) storage or network-based distributed file system.

I / O requests transferred from the virtual desktop to the virtual disk file through the hypervisor have a strong random input / output characteristic. Therefore, an IO blending phenomenon occurs in which the input / output requests for a plurality of files are mixed with a storage device in which data is physically stored. The above phenomenon gives a considerable load to storage devices such as a hard disk drive, which lowers the input / output performance of the storage device.

In order to solve such a problem of I / O performance degradation, techniques for storing frequently accessed data or small random write data by providing a cache space in a virtualization server are widely used.

In this case, an expensive non-volatile memory (NVRAM) or a NAND flash-based high-speed input / output device (SSD) is used as a host side cache.

In this regard, Korean Patent Laid-Open Publication No. 2011-0041087 (entitled "Server Virtualization Device") discloses a server virtualization device that improves performance by combining hardware virtualization support technology with paravirtualization technology.

An embodiment of the present invention is to provide a data availability support system and method capable of managing the log of update data by utilizing a local disk in order to support data availability in a virtualization server based on a random access memory.

It should be understood, however, that the technical scope of the present invention is not limited to the above-described technical problems, and other technical problems may exist.

As a technical means for achieving the above object, a data availability support system according to the present invention includes a virtualization server in which a virtual machine is executed; And a distributed file system connected to the virtualization server via a network and storing a virtual disk file, wherein the virtualization server uses a random access memory as a host side cache for input / output processing, As an update data log file on the local disk of the virtualization server.

The random access memory of the virtualization server operating the virtual machine may be used as a host side cache. The local disk of the virtualization server may be used as a log storage, The stored update data can be stored and managed in a synchronized manner in an independent update data log file based on the offset.

Therefore, according to the present invention, the availability of data can be ensured even in a failure situation in which update data stored in the cache space can not be stored in the network-based persistent storage space, for example, a power failure or the like.

For example, in the above-described failure situation, when the virtualization server is restarted, data stored in the cache space is lost, but data stored in the update data log file of the local disk can be utilized, Availability can be assured.

Further, for efficient operation of the log storage, in the present invention, the update data log file can be created, stored and deleted as a file independent of the bucket identifier managed in the cache space. Further, the present invention can set a limit on the size of the update data log file so that the update data log file can be synchronized with the update data of the cache space. Thus, the space for storing the update data log file can be efficiently managed.

1 is a block diagram of an embodiment of a data availability support system according to the present invention;
BACKGROUND OF THE INVENTION Field of the Invention [0001] The present invention relates to a data availability support system, and more particularly,
3 is a diagram illustrating an asynchronous input / output processing method of a distributed file system when data availability is not supported;
FIG. 4A is a diagram illustrating an asynchronous input / output processing method based on the update log in the data availability support system according to the present invention; FIG.
FIG. 4B is an exemplary view illustrating a cache data interworking update log processing method in a data availability support system according to the present invention; FIG.
FIG. 5A is a diagram illustrating a state of an update data log file and a virtual disk file at the time of failure of a virtualization server applied to a data availability support system according to the present invention; FIG.
FIG. 5B is a diagram illustrating a state in which failure data is recovered based on a renewal log after a virtualization server applied to a data availability support system according to the present invention is restarted. FIG.
FIG. 6A is a flowchart illustrating a method of recovering volume data in a method of recovering failure data based on a renewal log after a virtualization server applied to a data availability support system according to the present invention is restarted. FIG.
FIG. 6B is a flowchart illustrating a method of performing a recovery thread among methods of recovering failure data based on a renewal log after a virtualization server applied to a data availability support system according to the present invention is restarted. FIG.

BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, advantages and features of the present invention and methods of achieving them will be apparent from the following detailed description of embodiments thereof taken in conjunction with the accompanying drawings.

The present invention may, however, be embodied in many different forms and should not be construed as being limited to the exemplary embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, And advantages of the present invention are defined by the description of the claims.

It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. &Quot; comprises " and / or " comprising ", as used herein, unless the recited component, step, operation, and / Or added.

1 is a block diagram of a data availability support system according to an embodiment of the present invention.

The present invention utilizes the local disk 600 of the virtualization server 100 to manage the log of update data to support data availability in the virtualization server 100 using a host side cache based on random access memory do.

That is, the present invention can utilize the random access memory 500 of the virtualization server 100 operating the virtual machine as the host side cache 510, and can update the update data stored in the random access memory 500, And then stores the update data log file in the local disk 600 of the virtualization server 100 for management.

1, a data availability support system according to the present invention is connected to a virtualization server 100 in which a virtual machine 200 is executed and a virtualization server 100 via a network, And a distributed file system 700 for storing the distributed file system 700.

The virtualization server 100 may use the random access memory 500 as a host side cache 510 for input / output processing.

Also, the virtualization server 100 may store the update data stored in the random access memory 500 as an update data log file on the local disk 600 of the virtualization server 100.

In this case, based on the offset of the file unit, update data within a certain range can be managed as a single update data log file.

In other words, the present invention provides a system and method for managing the log of update data dynamically using the local disk 600 of the virtualization server 100.

Hereinafter, a specific method of supporting data availability for the host side cache 510 utilizing the random access memory 500 of the virtualization server 100 will be described in detail with reference to the drawings.

The data availability support system according to the present invention uses the distributed file system 700 as shared storage in a virtual desktop service environment.

That is, as shown in FIG. 1, the present invention includes a virtualization server 100 in which a hypervisor 300 supporting virtualization and a host side cache 510 storing the updated data of a virtual disk file are operated, And a network-based distributed file system 700 for permanently storing the virtual disk file. As the host side cache 510, the random access memory 500 of the virtualization server 100 may be used.

The virtual disk 210 is provided as a virtual block device in the virtual machine 200, and is used for installing an operating system and an application program, or as a data disk dedicated to user data.

The network-based distributed file system 700 divides the entire storage space into logical volumes 710 and provides a structure that can be used independently.

The file I / O for the distributed file system 700 is processed through the client file system 410 and a host side cache 510 based on the random access memory 500 for fast I / have.

The client file system 410 and the local file system 420 are provided in the virtualization server file system 400. The local file system 420 communicates with the local disk 600.

The important thing in virtual desktop I / O performance is response time. When a host side cache 510 based on volatile memory, that is, a random access memory (RAM) 500, is applied to reduce latency due to network communication, if power is suddenly turned off, Can not be restored.

In order to solve this problem, the present invention can simultaneously transmit a write request for a file in the distributed file system 700 to the host side cache 510 and the local disk 600 simultaneously. Thus, the present invention can dynamically manage update data, thereby providing data availability on a client basis.

2 is a diagram illustrating a configuration of a host side cache and a local disk applied to a data availability support system according to the present invention.

The virtual disk file 720 transmitted and received between the distributed file system 700 and the virtualization server 100 is defined as a bucket for each fixed size unit on an offset basis as shown in FIG. And manages update data stored in the host side cache 510.

The reason why the virtual disk file 720 is managed in units of buckets is to increase the parallelism of the input / output processing because the characteristic of the input / output workload normally generated in the virtual desktop is a small random input / output. Each bucket can be defined as a multiple of 512 byte sized sectors.

The file entry 520 of the host side cache 510 is a file management structure of the host side cache 510 and is generated each time the virtual disk file 720 is opened. And a bucket entry 540 for managing data of units.

The bucket entry 540 includes a sector map 541a and a buffer entry 542b for storing cache buffer information of the sectors constituting the bucket, which are not included in the scope of the present invention.

The log storage 610 is provided in the local disk 600 and is configured as an arbitrary directory (/ log) through a local file system supported by an operating system such as ext3 or ext4.

The local disk 600 used as the log storage 610 is structured in the order of the volume name directory 601 under the mounted top directory (/ log) and the inode number name directory 602 of the virtual disk file, The update data log can be dynamically managed as an independent file (called an update data log file) with the bucket identifier as a name in the following bucket.

The bucket identifier is a value indicating how many buckets a file offset is divided by bucket. The reason for using this is to retrieve the update data log file from the log storage 610 easily when the bucket entry is processed in the host side cache.

When a plurality of volumes are mounted on the single virtualization server 100 from the distributed file system 700, the volume name directories 601 as many as the number mounted on the (610) repository are created and managed.

The file inode number directory 602 is created when the virtual disk file 720 is opened in each volume and deleted when the file ends.

The data update log file is created and opened in synchronous write mode (O_DIRECT) when the first write request for that bucket arrives, and is terminated and deleted when the file is closed.

Since the I / O to the data update log file is synchronized with the write request to the virtual disk file, opening / closing the file each time is an overhead. Thus, the bucket entry 540 of the file entry 520 can manage the file descriptor that the operating system allocates when the data update log file is created. In this case, the bucket entry 540 may utilize the file descriptor at every input / output of the update data log file.

3 is an exemplary view showing an asynchronous input / output processing method of a distributed file system when data availability is not supported. That is, FIG. 3 is an exemplary view showing an asynchronous input / output processing method in the distributed file system when the local disk is not used in FIG.

When the data in the sectors 10 to 13 of the virtual disk 210 are updated in the virtual machine 200, the updated data (referred to as update data) is transferred to the host side cache 510, and is stored in the memory buffer with the data of the corresponding bucket.

Since the host side cache 510 is basically driven in a write-back mode, the update data to be stored is transferred to the virtual disk of the distributed file system 700 via the network in units of buckets based on a de- The file 720 is destaged.

4A is a diagram illustrating an asynchronous input / output processing method based on the update log in the data availability support system according to the present invention. 4A shows an update data log file 620, and FIG. 4B shows the virtualization server 100 and the distributed file system 700.

When the data of the sectors 10 to 13 of the virtual disk 210 are updated in the virtual machine 200, the updated data (updated data) 210 is transferred to the host And is transmitted to the side cache 510.

In this case, unlike the method shown in FIG. 3, when the bucket identifier is determined by the file offset, the update data log file having the bucket identifier as its name is searched through the local disk 600, Write method to the local disk 600. [

The log entry is an input / output unit of the update data log file, and is composed of a header and data.

The header comprises a starting sector number in the bucket of the data to be stored and the number of sectors corresponding to the data size.

When the storage of the updated data log file is completed, a process of allocating a memory buffer and storing the data requested to be written is performed.

FIG. 4B is a diagram illustrating an example of a cache data update log processing method in a data availability support system according to the present invention. In FIG. 4B, reference numeral 520 denotes a virtual disk file stored in the host side cache 510.

 If data in bucket 0, bucket 10, and bucket 100 is being stored in the host side cache 510, then update data log files exist for each bucket in the local disk 600 as well.

The update data is destaged to the distributed file system 700 according to the destaging policy, and when the destage is completed, the data of the corresponding bucket is managed to be deleted from the memory.

Therefore, since the update data being stored in the corresponding update data log file is no longer needed, the size of the update data log file is managed to be truncated to zero.

The data of the bucket entry of the host side cache 510 and the data of the update data log file are managed in synchronization with each other so that the local disk 600 can be efficiently utilized. In addition, the data in the update data log file is kept as the latest data, so that fast recovery and data availability can be provided in failover.

Due to the nature of the update data log file 620, if the same data is repeatedly updated several times while being stored in the cache, the file size will steadily increase as the log entries are stored each time, and in the worst case, Due to the files, there may be a space shortage problem in the log storage 610 of the local disk 600.

In order to prevent this, the present invention sets a threshold value to the size of the update data log file 620, and if it is exceeded, a de-staging is forcibly performed on the bucket to manage the log file .

 FIG. 5A is a diagram illustrating states of update data log files and virtual disk files at the time of failure of a virtualization server applied to the data availability support system according to the present invention. FIG.

For example, in FIG. 4B, the data of bucket 0 in the update data of the virtual disk file 720 is stored in the distributed file system 700 via the network, but the data of the bucket 10 and the bucket 100 are being de-staged In a situation before processing, if the virtualization server 100 fails due to a power failure or the like, all of the update data stored in the host side cache 510, which is a volatile memory, is lost as shown in FIG. 5A. However, the bucket 10 for which de-staging has not been completed and the update data log file for the bucket 100 exist in the local disk 600.

FIG. 5B is a diagram illustrating a state in which failure data is recovered based on the update log after the virtualization server applied to the data availability support system according to the present invention is restarted. FIG.

An update data log file corresponding to the bucket 10 and the bucket 100 stored in the log storage 610 of the local disk 600 is opened and read from the beginning to the end of the file in units of log entries, The update data stored in the host side cache 510 is stored.

The recovery update data stored in the host side cache 510 is destaged to the distributed file system 700 and the updated data log file and the file inode number directory directory, (610).

1 to 5B according to the embodiment of the present invention may be implemented in hardware such as software, an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit) Roles can be performed.

However, 'components' are not meant to be limited to software or hardware, and each component may be configured to reside on an addressable storage medium and configured to play one or more processors.

Thus, by way of example, an element may comprise components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, Routines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.

The components and functions provided within those components may be combined into a smaller number of components or further separated into additional components.

Hereinafter, a data availability support method in a data availability support system according to an embodiment of the present invention will be described with reference to FIGS. 6A and 6B.

FIG. 6A is a flowchart illustrating a method of recovering volume data from a method of recovering failure data based on a renewal log after a virtualization server applied to a data availability support system according to the present invention is restarted. FIG. FIG. 2 is a flowchart illustrating a method of performing a recovery thread among methods of recovering failure data based on a renewal log after a virtualization server applied to a system for supporting availability is restarted. FIG.

In the process of recovering the volume data, when the logical volume 710 of the distributed file system 700 is mounted to an arbitrary directory, the process starts when the corresponding volume name directory already exists in the log storage 610 .

6A, the distributed file system 700 stops an input / output request to the corresponding logical volume (S571), and then deletes the entries existing under the volume name directory of the log storage 610 Converted into a file inode number, and stored in the recovery request queue (S572).

When the recovery file list is completed, the distributed file system 700 creates as many recovery threads as needed for parallel processing (S573), waits until all threads are terminated (S574) When the suspension is released (S575), the volume data recovery is terminated.

In the process of executing the recovery thread, as shown in FIG. 6B, after the file inode number is obtained from the recovery request queue, the file is requested to be opened. File entry and bucket entry are created in the host side cache 510 as the file is opened.

Next, an update data log file list is created from the entries under the file inode number directory 602 (S581). Only a file whose size is greater than zero is read from the beginning of the file to the end of the log entry, and a write request is sent to the host side cache 510.

When the writing process to the host side cache 510 is completed for each update data log file, the update data log file is deleted (S582).

Closure is requested for files that have been restored. Accordingly, all of the recovery data stored in the host side cache 510 is stored in the distributed file system 700, and the file inode number directory is deleted from the log storage (S583), and the recovery thread is terminated.

In the above description, steps S571 to S583 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. Also, some of the steps may be omitted as necessary, and the order between the steps may be changed. In addition, the contents already described with respect to the data availability support system in Figs. 1 to 5B apply to the data availability support method in Figs. 6A and 6B even if other contents are omitted.

Hereinafter, the present invention described above will be briefly summarized.

The present invention utilizes the update data log file existing in the log storage 610 of the virtualization server 100 to delete the lost data log file when the open file is unstably terminated and the update data stored in the random access memory 500 is lost. A system and method for recovering lost data.

That is, the present invention can manage the update data log using the local disk 600 to support data availability in the host side cache 510 based on the random access memory 500.

The random access memory (RAM) is configured as a local cache space in the virtualization server 100 operating the virtual machine virtual machine 200 so that virtual The disk file 720 is loaded into the cache space, and thus the I / O request can be processed quickly.

Particularly, in the present invention, the local disk 600 of the virtualization server 100 is used as a repository of the update data log, and the update data log can be managed in synchronization with the data processing method of the cache space.

Therefore, the present invention can efficiently manage the log storage, and even if a server failure occurs due to power failure or the like, it can be stored in the cache space to guarantee availability of lost data.

The method for supporting data availability in a conversation data availability support system according to an embodiment of the present invention may also be implemented in the form of a computer program stored in a medium executed by a computer or a recording medium including instructions executable by the computer . Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

While the methods and systems of the present invention have been described in connection with specific embodiments, some or all of those elements or operations may be implemented using a computer system having a general purpose hardware architecture.

It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

100: Virtualization Server 200: Virtual Machine
210: virtual disk 300: hypervisor
400: Virtual Server File System 410: Client File System
420: local file system 500: random access memory
510: Host side cache 600: Local disk
610: Log Store 700: Distributed File System
710: Logical volume

Claims (10)

A virtualization server on which the virtual machine is running; And
And a distributed file system connected to the virtualization server via a network and storing a virtual disk file,
The virtualization server uses a random access memory as a host side cache for input / output processing,
Wherein the virtualization server stores update data stored in the random access memory as an update data log file on a local disk of the virtualization server,
The distributed file system, when a failure occurs in the virtualization server, stops input / output requests to the logical volume, converts the entries in the volume name directory of the log storage of the local disk into a file inode number, Lt; / RTI >
After the recovery file list is completed, a recovery thread for parallel processing is created. After waiting for the execution of all the recovery threads to be terminated, the volume data recovery is terminated by canceling the interruption of the I / O request to the volume Data availability support system.
The method according to claim 1,
When the data corresponding to a certain sector of the virtual disk in the virtual machine is updated, the updated data is transferred to the host side cache through the virtualization server file system included in the hypervisor supporting virtualization, Is stored on the memory buffer,
Wherein the updated update data is destaged in a bucket-by-virtual disk file of the distributed file system as the host side cache is driven in a write-back mode.
The method according to claim 1,
Wherein the virtual disk file transmitted and received between the distributed file system and the virtualization server is defined as a bucket for each predetermined size unit based on an offset and manages update data stored in the host side cache.
The method of claim 3,
Wherein the file entry of the host side cache includes a bucket entry for managing file meta information and bucket-based data, and is generated each time the virtual disk file is opened.
The method of claim 3,
When the data corresponding to a certain sector of the virtual disk in the virtual machine is updated, the updated data is transferred to the host side cache through the virtualization server file system included in the hypervisor supporting virtualization,
Retrieves an update data log file having a bucket identifier by name through the local disk, and then stores the log entry in the synchronous write mode on the local disk.
6. The method of claim 5,
Wherein the updated data log file stored in the local disk is destaged to the distributed file system and the data of the corresponding bucket is managed to be deleted from the memory when the destaging is completed.
The method according to claim 6,
Wherein the update data log file has a limit set for the size,
Wherein de-staging is forcefully performed for the bucket when the size of the update data log file exceeds the limit.
The method of claim 3,
When a failure occurs in the virtualization server, an update data log file corresponding to a bucket in which de-staging has not been completed exists in the local disk,
The update data log file corresponding to the bucket is opened as the failure is cleared, and the update data stored in the update data log file is stored in the host side cache,
Wherein the update data stored in the host side cache is destaged to the distributed file system and the update data log file is deleted from the log storage of the local disk as the destage is completed.
delete The method according to claim 1,
As the recovery thread is executed, a file entry and a bucket entry are created in the host side cache as the file inode number is obtained from the recovery request queue and file opening is requested, and updates from the entries under the file inode number name directory A list of data log files is created,
The update data log file is deleted when the write processing to the host side cache is completed for each update data log file included in the update data log file list, and all the recovery data stored in the host side cache is transferred to the distributed file system Wherein the file inode number directory is deleted from the log store and the recovery thread is terminated.
KR1020160014658A 2016-02-05 2016-02-05 System and method for data availability support KR101975058B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160014658A KR101975058B1 (en) 2016-02-05 2016-02-05 System and method for data availability support

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160014658A KR101975058B1 (en) 2016-02-05 2016-02-05 System and method for data availability support

Publications (2)

Publication Number Publication Date
KR20170093367A KR20170093367A (en) 2017-08-16
KR101975058B1 true KR101975058B1 (en) 2019-05-03

Family

ID=59752388

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160014658A KR101975058B1 (en) 2016-02-05 2016-02-05 System and method for data availability support

Country Status (1)

Country Link
KR (1) KR101975058B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101077908B1 (en) * 2009-10-15 2011-10-31 성균관대학교산학협력단 Apparatus for server virtualization
US9081686B2 (en) * 2012-11-19 2015-07-14 Vmware, Inc. Coordinated hypervisor staging of I/O data for storage devices on external cache devices

Also Published As

Publication number Publication date
KR20170093367A (en) 2017-08-16

Similar Documents

Publication Publication Date Title
US10834224B2 (en) Transaction log acceleration
US9430161B2 (en) Storage control device and control method
US10073656B2 (en) Systems and methods for storage virtualization
US9547591B1 (en) System and method for cache management
US9507732B1 (en) System and method for cache management
US9697130B2 (en) Systems and methods for storage service automation
US9811276B1 (en) Archiving memory in memory centric architecture
US9489389B2 (en) System and method for maintaining cache coherency
US10303499B2 (en) Application aware graph driver
US9959074B1 (en) Asynchronous in-memory data backup system
US11720447B2 (en) Application high availability via application transparent battery-backed replication of persistent data
US9665496B2 (en) Non-volatile memory write mechanism
WO2019061352A1 (en) Data loading method and device
US11314639B2 (en) Protecting against data loss during garbage collection
US10877848B2 (en) Processing I/O operations in parallel while maintaining read/write consistency using range and priority queues in a data protection system
US20180052627A1 (en) Restorable memory allocator
US20090198883A1 (en) Data copy management for faster reads
CN107153512B (en) Data migration method and device
US11599460B2 (en) System and method for lockless reading of metadata pages
US10067843B1 (en) Synchronizing control nodes and a recovery from a failure of a primary control node of a storage system
US20160077747A1 (en) Efficient combination of storage devices for maintaining metadata
KR101975058B1 (en) System and method for data availability support
TWI564803B (en) Systems and methods for storage virtualization
US20230010516A1 (en) Input/output (i/o) quiescing for sequential ordering of operations in a write-ahead-log (wal)-based storage system
US11960450B2 (en) Enhancing efficiency of segment cleaning for a log-structured file system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right