WO2014042414A1 - 블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법 - Google Patents

블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법 Download PDF

Info

Publication number
WO2014042414A1
WO2014042414A1 PCT/KR2013/008197 KR2013008197W WO2014042414A1 WO 2014042414 A1 WO2014042414 A1 WO 2014042414A1 KR 2013008197 W KR2013008197 W KR 2013008197W WO 2014042414 A1 WO2014042414 A1 WO 2014042414A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
virtual
terminal
storage node
node
Prior art date
Application number
PCT/KR2013/008197
Other languages
English (en)
French (fr)
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 US14/427,515 priority Critical patent/US20150244803A1/en
Publication of WO2014042414A1 publication Critical patent/WO2014042414A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Definitions

  • the present invention relates to cloud computing technology, and more particularly, to a block device-based virtual storage service system and method.
  • This distributed file system has the following characteristics.
  • duplicated nodes are duplicated over two or more nodes through the pipeline for stored chunks.
  • the technical problem to be solved by the present invention is to solve the conventional problem, by providing a more fundamental method for the risk of loss and infringement of information stored in the device volume, by assigning a distributed node for each user in the device volume, It provides a block device-based virtual storage service system and method that proposes a method to backup a volume snapshot except redundant data.
  • a virtual storage service system connected to at least one user terminal through a network
  • a web server for receiving selection information including a virtual storage capacity, a number of storage nodes, a type of storage node, a distribution method, and a selected storage node required for a virtual storage service from the terminal;
  • a control center server controlling to create a virtual disk volume with reference to the selection information
  • At least one storage node for creating a virtual disk volume under control of the control center server
  • the web server The web server,
  • the terminal When the terminal requests a virtual storage service, request the terminal to input the required virtual storage capacity, the type of storage node to be created, the number of storage nodes, and a distribution method.
  • the storage node status is provided to the terminal according to the virtual storage capacity, the type of storage node, the number of storage nodes, and the distribution scheme.
  • the terminal When the terminal selects a storage node to be used as virtual storage in the node status, it requests the control center server to create a virtual disk volume.
  • the control center server controls to generate a virtual disk volume on the selected storage node according to a request of the web server, and the selected storage node generates a virtual disk volume.
  • Block device-based virtual storage service method for solving this problem
  • a virtual storage service method connected to at least one user terminal through a network
  • selection information including a virtual storage capacity, a number of storage nodes, a storage node type, a distribution method, and a selected storage node required for a virtual storage service from the terminal;
  • the control center server further comprises storing the user's generated virtual disk volume information in a database.
  • the terminal When the terminal requests a virtual storage service, requesting the terminal to input a virtual storage capacity to be created, a type of storage node, a number of storage nodes, and a distribution scheme;
  • the storage node status is determined according to the generated virtual storage capacity, the type of storage node, the number of storage nodes, and the distribution method.
  • the control center server When the storage node is selected in the storage node status from the terminal, the control center server requests the creation of a virtual disk volume.
  • the embodiment of the present invention provides a more fundamental method of risk of loss and infringement of information stored in a device volume, and assigns a distributed node to a device volume to perform a volume snapshot backup except for redundant data for each user. Can be.
  • the amount of imbalance in disk usage can be measured for each volume assigned to a user, and overhead can be reduced by rebalancing for each assigned volume.
  • FIG. 1 is a block diagram of a block device-based virtual storage service system according to an embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating a block device based virtual storage service method according to an exemplary embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a user space configuration of a storage node in a block device based virtual storage service system according to an exemplary embodiment of the present invention.
  • FIG. 4 is a diagram illustrating a storage of a distributed file and an internal storage stack in a block device-based virtual storage service system according to an exemplary embodiment of the present invention.
  • FIG. 1 is a block diagram of a block device-based virtual storage service system according to an embodiment of the present invention.
  • a virtual storage service system connected to at least one user terminal 11 and 12 through a network 20, the web server 100, the control center server 300, and the storage nodes 410, 420, 430, and 440. And a database 200.
  • the web server 100 When the terminal 11 or 12 requests the virtual storage service, the web server 100 requests the virtual storage capacity, the number of storage nodes, the type of storage node, the distribution method, and the selected virtual storage service from the terminals 11 and 12. Receive selection information, including storage nodes.
  • the control center server 300 controls to create a virtual disk volume with reference to the selection information.
  • the storage nodes 410, 420, 430, and 440 create virtual disk volumes under the control of the control center server.
  • the database 200 stores information of the storage node and virtual disk volume information of the user.
  • the web server 100 The web server 100,
  • the terminal 11 and 12 When the terminals 11 and 12 request the virtual storage service, the terminal 11 and 12 requests the terminal to input the required virtual storage capacity, the type of storage node to be created, the number of storage nodes, and a distribution method.
  • the storage node status is determined according to the virtual storage capacity, the type of storage node, the number of storage nodes, and the distribution scheme. Provided to the terminals 11 and 12,
  • the control center server 300 requests the creation of the selected virtual disk volume.
  • the control center server 300 controls to generate a virtual disk volume in the selected storage node according to a request of the web server, and the selected storage node generates a virtual disk volume.
  • FIG. 2 is a flowchart illustrating a block device based virtual storage service method according to an exemplary embodiment of the present invention.
  • the node storage (410, 420, 430, 440) equipment installed with kernel modules and agents (software) that will be included in the storage pool (ie, to distribute data by virtualizing storage). Register based on the IP address (S210). Thereafter, the 410, 420, 430, and 440 are managed by the control center server 300, and metadata for data management (location / path of a file (directory), etc.) is stored in each storage node 410, 420, or the like. 430, 440 are clustered (real time sharing).
  • the node storages 410, 420, 430, and 440 thus formed are connected to each other through a network to distribute and store files in the control center server 300.
  • the node storage 410, 420, 430, 440 may be a server, a greater number, the terminal 11, 12 may also be a larger number.
  • This is called a trusted network, and a group of connected servers is called a storage pool, and each of these is referred to as a storage node.
  • the user In order to virtually create storage for the user to use based on the storage pool, the user first accesses the web server 100 through the network 20 using the terminal 11.
  • the terminal 11 requests a virtual storage service to the web server 100 (S220).
  • the web server 100 When the terminal requests a virtual storage service, the web server 100 requests the terminal to input a virtual storage capacity, a type of storage node, a number of storage nodes, and a distribution method to be generated.
  • the distribution method may be input, and the order may be changed as necessary.
  • the generated virtual storage capacity, the type of storage node, the number of storage nodes, and the distribution method are input from the terminal 11, according to the generated virtual storage capacity, the type of storage node, the number of storage nodes, and the distribution method.
  • the storage node status is provided to the terminal 11 (S230).
  • the control center server 300 When the storage node is selected in the storage node status from the terminal 11 (S240), the control center server 300 requests the creation of a virtual disk volume.
  • control center server 300 outputs a control signal so that the selected storage node creates a virtual disk volume with reference to the selection information.
  • the selected storage node creates a virtual disk volume (S250).
  • the selected storage node is mounted with the user terminal 11 through an export and import process (S260 and S270). That is, the created virtual disk volume of the storage node is imported (network mounted) to the user's terminal and used as a local storage device.
  • control center server 300 stores the created virtual disk volume information of the user in a database.
  • a method of creating a volume varies according to a distribution method, and storage distribution methods used in the present invention are as follows.
  • D (Distributed): A method in which each file is distributed to each node as a whole, which is advantageous when a large amount of small file such as a document file exists.
  • S Stripe: Each file is divided and stored and read in a fixed chunk size. It is a large file such as a video media file, and is advantageous when it wants to guarantee multiple simultaneous reads. .
  • D + S It is mainly used to add a volume to a virtual array that already exists as a stripe.
  • D + R Used to add a volume to a virtual array that already exists as a replication (Scale-out).
  • D + S + R A composite of the above configurations.
  • the number of D, S, and R can be specified, and at this time, it can be seen that which storage node is distributed, striped, or replicated according to the block device of the storage node.
  • the number of block devices in the storage node should be D number * S number * R number, and in the case of R, the number of block devices must be increased evenly.
  • the file name is stored as it is, so the file name and the system command disk usage (du) can be checked.
  • Eight storage nodes can be selected and used as storage nodes from 192.168.16.11 to 192.168.16.18. Of course, you can also choose eight of the other storage nodes.
  • the storage devices (block devices) of the eight different storage nodes are treated as one by applying virtualization
  • the user who is actually stored in the directory where the block devices are mounted in each storage node is stored.
  • the data of the file exist as the file name.
  • the file name is stored as it is but in chunk size. In this case, you can check it with the du command, which is one of the system calls.
  • backup to the block device can be performed without duplication. In this case, the backup may use a physical third party device, or the above-mentioned snapshot backup.
  • Snapshots and backups for block devices are well known in the art, and detailed descriptions thereof will be omitted.
  • the created virtual disk volume is imported (network mounted) to the user's terminal and used as a local storage device.
  • FIG. 3 it shows how blocks between real nodes are configured differently for each user.
  • block device volumes are created in storage nodes 1 and 2, and data is stored or distributed only between designated block devices regardless of how many storage nodes exist.
  • FIG. 4 shows a data flow for one file of one user.
  • the block device is created by specifying the node, capacity, and distribution method to be used by the user. In order to provide user storage virtualization.
  • the user can know where his virtual storage is specified, and can also know where the data is distributed and where the data is replicated to duplicate the data.
  • Data stored on the user's virtual disk volume is isolated at the device level. Therefore, the data of other users cannot be physically or logically invaded, and the tracking of the data can be simplified, thus reducing the scope of information security risk.
  • the virtual disk volume itself since the virtual disk volume itself is created as a logical block device, it may be able to set an access right after obtaining a file system.
  • data is stored in only one directory on one partition, and the stored data is automatically managed by the metadata server. This means that the user does not know the location, and from a file system point of view, the data of multiple users in a single physical partition is only mixed and written to and read from disk tracks.
  • bypassing the network port of the virtual storage for a specific user only a single account can be used to obtain all the other user data that exists in that partition. .
  • volume rebalancing and snapshot backup will be described.
  • the technique of balancing techniques is a unique feature in distributed file systems. Therefore, here we describe how effective virtual storage combined with block devices is for balancing operations.
  • the embodiment of the present invention provides a more fundamental method of risk of loss and infringement of information stored in a device volume, and assigns a distributed node to a device volume to perform a volume snapshot backup except for redundant data for each user. Can be.
  • the amount of imbalance in disk usage can be measured for each volume assigned to a user, and overhead can be reduced by rebalancing for each assigned volume.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

적어도 하나의 사용자 단말기와 네트워크망을 통해 연결되는 가상 스토리지 서비스 시스템 및 방법이 개시된다. 상기 단말기가 가상스토리지 서비스를 웹서버에 요청하면, 상기 웹서버가 상기 단말기로부터 가상 스토리지 서비스에 필요한 가상스토리지 용량, 스토리지노드개수, 스토리지노드 종류, 분산방식, 선택된 스토리지노드를 포함한 선택 정보를 수신한다. 다음, 컨트롤 센터 서버가 상기 선택정보를 참조하여 상기 선택된 스토리지 노드가 가상 디스크 볼륨을 생성하도록 제어하고, 상기 컨트롤 센터 서버의 제어에 따라 선택된 스토리지 노드가 가상 디스크 볼륨을 생성한다.

Description

블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법
본 발명은 클라우드 컴퓨팅 기술에 관한 것으로, 특히, 블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법에 관한 것이다.
일반적으로 클라우드 컴퓨팅이 큰 이슈로 떠오르면서 그 기반이 되는 분산 파일 시스템이 활발히 연구되고 있다.
대부분의 분산 파일 시스템은 사용자간의 정보 공유가 용이하며 장소의 제약성을 줄이면서 저장 공간을 효율적으로 사용할 수 있는 장점으로 인하여 널리 사용된다.
이러한 분산 파일 시스템은 아래와 같은 특징을 가지고 있다.
기존의 클라우드 환경에서 사용되는 대용량 파일 시스템은 대부분 디렉토리 기반의 파일 시스템이다.
그리고, 실제 노드들의 로컬 파일 시스템의 종류에는 상관없이, 여러 분산 스토리지 노드들 간에 지정된 디렉토리에 지정된 크기만큼의 청크(Chunk 혹은 Block이라고도 함)로 나누어서 전체 노드들에 분산하여 저장(spread)한다.
또한, 저장된 청크들에 대해서 파이프라인을 통하여 2중 이상으로 노드들 간에 복제가 이루어진다.
그런데 이러한 종래의 분산파일 시스템은 분산 저장된 개인 정보 및 데이터들이 사용자 입장에서(혹은 관리자 입장에서) 어디에 저장되는지 알 수 없기 때문에 저장된 정보에 대한 손실과 침해에 대한 위험성이 있다.
그리고, 사용자 데이터에 대한 디스크 백업에서도 기존 방식으로는 데이터 중복을 피할 수 없다. 이러한 데이터 중복을 피하기 위해서는 따로 사용자가 사용하는 방식으로 데이터를 빼내어 다른 디스크 혹은 서버에 다운로드 하여야 하는데 이러한 과정은 복잡하고 번거롭다.
또한, 분산 파일 시스템은 대부분 디스크 사용량의 불균형을 위해 밸런싱(Balancing)을 하도록 되어 있는데, 이때 불균형 정도를 측정할 수 없으며 또한 전체 디스크에 대한 리밸런싱(Rebalancing)이 이루어지도록 되어 있어 오버헤드가 발생할 수 있다.
본 발명이 이루고자 하는 기술적 과제는 종래의 문제를 해결하기 위한 것으로, 디바이스 볼륨에 저장된 정보에 대한 손실과 침해에 대한 위험성에 보다 근본적인 방법을 제시하고, 디바이스 볼륨에 사용자 별로 분산 노드를 지정함으로써, 사용자 별로 중복 데이터를 제외한 볼륨 스냅샷 백업을 할 수 있는 방법을 제시하는 블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법을 제공하는 것이다.
또한, 사용자에 할당된 볼륨 별로 디스크 사용량을 불균형 정도를 측정할 수 있으며, 또한 할당된 볼륨별 리밸런싱을 함으로써, 오버헤드를 줄일 수 있는 블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법을 제공하는 것이다.
이러한 과제를 해결하기 위한 본 발명의 특징에 따른 블록디바이스 기반의 가상 스토리지 서비스 시스템은,
적어도 하나의 사용자 단말기와 네트워크망을 통해 연결되는 가상 스토리지 서비스 시스템으로서,
상기 단말기가 가상스토리지 서비스를 요청하면, 상기 단말기로부터 가상 스토리지 서비스에 필요한 가상스토리지 용량, 스토리지노드 개수, 스토리지노드 종류, 분산방식, 선택된 스토리지노드를 포함한 선택 정보를 수신하는 웹서버;
상기 선택정보를 참조하여 가상 디스크 볼륨을 생성하도록 제어하는 컨트롤 센터 서버;
상기 컨트롤 센터 서버의 제어에 따라 가상 디스크 볼륨을 생성하는 적어도 하나의 스토리지노드;
상기 스토리지노드의 정보 및 상기 사용자의 가상 디스크 볼륨 정보를 저장하는 데이터베이스를 포함한다.
상기 웹서버는,
상기 단말기가 가상스토리지 서비스를 요청하면, 상기 단말기에게 필요한 가상스토리지 용량, 생성될 스토리지 노드의 종류, 스토리지노드 개수 및 분산방식을 입력하도록 요청하고,
상기 단말기로부터 상기 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식이 입력되면, 상기 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식에 따라 스토리지 노드 현황을 상기 단말기에 제공하고,
상기 단말기가 상기 노드 현황에서 가상 스토리지로 사용하고자 하는 스토리지 노드를 선택하면, 상기 컨트롤 센터 서버로 가상 디스크 볼륨 생성을 요청하는 것을 특징으로 한다.
상기 컨트롤 센터 서버는 상기 웹서버의 요청에 따라 상기 선택된 스토리지 노드에 가상 디스크 볼륨을 생성하도록 제어하고, 상기 선택된 스토리지 노드가 가상 디스크 볼륨을 생성하는 것을 특징으로 한다.
이러한 과제를 해결하기 위한 본 발명의 다른 특징에 따른 블록디바이스 기반의 가상 스토리지 서비스 방법은,
적어도 하나의 사용자 단말기와 네트워크망을 통해 연결되는 가상 스토리지 서비스 방법으로서,
상기 단말기가 가상스토리지 서비스를 웹서버에 요청하는 단계;
상기 웹서버가 상기 단말기로부터 가상 스토리지 서비스에 필요한 가상스토리지 용량, 스토리지노드개수, 스토리지노드 종류, 분산방식, 선택된 스토리지노드를 포함한 선택 정보를 수신하는 단계;
컨트롤 센터 서버가 상기 선택정보를 참조하여 상기 선택된 스토리지 노드가 가상 디스크 볼륨을 생성하도록 제어하는 단계;
상기 컨트롤 센터 서버의 제어에 따라 선택된 스토리지 노드가 가상 디스크 볼륨을 생성하는 단계를 포함한다.
상기 방법은,
상기 컨트롤 센터 서버가 상기 사용자의 생성된 가상 디스크 볼륨 정보를 데이터베이스에 저장하는 단계를 더 포함한다.
상기 웹서버가 선택 정보를 수신하는 단계는,
상기 단말기가 가상스토리지 서비스를 요청하면, 상기 단말기에게 생성될 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식을 입력하도록 요청하는 단계;
상기 단말기로부터 상기 생성될 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식이 입력되면, 상기 생성될 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식에 따라 스토리지노드 현황을 상기 단말기에 제공하는 단계;
상기 단말기로부터 상기 스토리지노드 현황에서 스토리지 노드가 선택되면, 상기 컨트롤 센터 서버로 가상 디스크 볼륨 생성을 요청하는 것을 특징으로 한다.
본 발명의 실시예에서는 디바이스 볼륨에 저장된 정보에 대한 손실과 침해에 대한 위험성에 보다 근본적인 방법을 제시하고, 디바이스 볼륨에 사용자 별로 분산 노드를 지정함으로써, 사용자 별로 중복 데이터를 제외한 볼륨 스냅샷 백업을 할 수 있다.
또한, 사용자에 할당된 볼륨 별로 디스크 사용량을 불균형 정도를 측정할 수 있으며, 또한 할당된 볼륨별 리밸런싱을 함으로써, 오버헤드를 줄일 수 있다.
도 1은 본 발명의 실시예에 따른 블록디바이스 기반의 가상 스토리지 서비스 시스템의 구성도이다.
도 2는 본 발명의 실시예에 따른 블록디바이스 기반의 가상 스토리지 서비스 방법의 동작 흐름도이다.
도 3은 본 발명의 실시예에 따른 블록디바이스 기반의 가상 스토리지 서비스 시스템에서 스토리지노드의 내부의 사용자 공간 구성을 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 블록디바이스 기반의 가상 스토리지 서비스 시스템에서 분산된 파일의 저장과 내부 스토리지 스택을 보인 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 실시예에 따른 블록디바이스 기반의 가상 스토리지 서비스 시스템의 구성도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 블록디바이스 기반의 가상 스토리지 서비스 시스템은,
적어도 하나의 사용자 단말기(11, 12)와 네트워크망(20)을 통해 연결되는 가상 스토리지 서비스 시스템으로서, 웹서버(100), 컨트롤 센터 서버(300), 스토리지노드(410, 420, 430, 440), 데이터베이스(200)를 포함한다.
웹서버(100)는 상기 단말기(11, 12)가 가상스토리지 서비스를 요청하면, 상기 단말기(11, 12)로부터 가상 스토리지 서비스에 필요한 가상스토리지 용량, 스토리지노드 개수, 스토리지노드 종류, 분산방식, 선택된 스토리지노드를 포함한 선택 정보를 수신한다.
컨트롤 센터 서버(300)는 상기 선택정보를 참조하여 가상 디스크 볼륨을 생성하도록 제어한다.
스토리지노드(410, 420, 430, 440)는 상기 컨트롤 센터 서버의 제어에 따라 가상 디스크 볼륨을 생성한다.
데이터베이스(200)는 상기 스토리지노드의 정보 및 상기 사용자의 가상 디스크 볼륨 정보를 저장한다.
상기 웹서버(100)는,
상기 단말기(11, 12)가 가상스토리지 서비스를 요청하면, 상기 단말기에게 필요한 가상스토리지 용량, 생성될 스토리지 노드의 종류, 스토리지노드 개수 및 분산방식을 입력하도록 요청하고,
상기 단말기(11, 12)로부터 상기 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식이 입력되면, 상기 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식에 따라 스토리지 노드 현황을 상기 단말기(11, 12)에 제공하고,
상기 단말기(11, 12)로부터 상기 노드 현황에서 스토리지 노드가 선택되면, 상기 컨트롤 센터 서버(300)로 선택된 가상 디스크 볼륨 생성을 요청한다.
상기 컨트롤 센터 서버(300)는 상기 웹서버의 요청에 따라 상기 선택된 스토리지 노드에 가상 디스크 볼륨을 생성하도록 제어하고, 상기 선택된 스토리지 노드가 가상 디스크 볼륨을 생성하는 것을 특징으로 한다.
이러한 구성을 가진 본 발명의 실시예에 따른 블록디바이스 기반의 가상 스토리지 서비스 시스템의 동작에 관하여 상세히 설명하면 다음과 같다.
도 2는 본 발명의 실시예에 따른 블록디바이스 기반의 가상 스토리지 서비스 방법의 동작 흐름도이다.
먼저, 스토리지 풀(Pool)에 포함될 즉, 스토리지를 가상화하여 데이터를 분산 관리할 수 있도록 하는 커널 모듈 및 에이전트(소프트웨어)가 설치된 노드 스토리지(410, 420, 430, 440) 장비(x86기반 서버 등)를 IP 주소 기반으로 하여 등록한다(S210). 이후, 이 (410, 420, 430, 440)는 컨트롤 센터 서버(300)에서 관리되며, 또한 데이터 관리(파일(디렉토리)의 위치/경로 등)를 위한 메타데이터가 각 스토리지 노드(410, 420, 430, 440)에 클러스터(실시간 공유)된다. 이렇게 형성된 노드 스토리지(410, 420, 430, 440)들은 서로가 네트워크로 연결되어 컨트롤 센터 서버(300)에서 파일을 분산 저장하고 관리한다. 여기서, 노드 스토리지(410, 420, 430, 440)는 서버일 수도 있고, 더 많은 수로 이루어질 수도 있으며, 단말기(11, 12) 또한 더 많은 수일 수 있다.
이를 신뢰된 네트워크(Trusted Network)라 부르며 이렇게 연결된 서버 군을 스토리지 풀(Pool)이라 하고, 이들 개개를 스토리지 노드라 지칭하기로 한다.
스토리지 풀을 기반으로 하여 사용자가 사용할 스토리지를 가상으로 생성하기 위해 먼저 사용자는 단말기(11)를 이용하여 네트워크망(20)을 통해 웹서버(100)에 접속한다.
그리고나서, 상기 단말기(11)가 가상스토리지 서비스를 웹서버(100)에 요청한다(S220).
상기 단말기가 가상스토리지 서비스를 요청하면, 웹서버(100)가 상기 단말기에게 생성될 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식을 입력하도록 요청한다.
이때, 가상스토리지 용량 및 스토리지노드의 종류를 입력받고나서 스토리지노드 개수를 입력받은 후에 분산방식을 입력받을 수 있으며, 이러한 순서는 필요에 따라 달라질 수 있다.
다음, 상기 단말기(11)로부터 상기 생성될 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식이 입력되면, 상기 생성될 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식에 따라 스토리지노드 현황을 상기 단말기(11)에 제공한다(S230).
상기 단말기(11)로부터 상기 스토리지노드 현황에서 스토리지 노드가 선택되면(S240), 상기 컨트롤 센터 서버(300)로 가상 디스크 볼륨 생성을 요청한다.
그러면, 컨트롤 센터 서버(300)가 상기 선택정보를 참조하여 상기 선택된 스토리지 노드가 가상 디스크 볼륨을 생성하도록 제어신호를 출력한다.
그러면, 상기 컨트롤 센터 서버(300)의 제어에 따라 선택된 스토리지 노드가 가상 디스크 볼륨을 생성한다(S250).
이후, 선택된 스토리지 노드는 익스포트 및 임포트 과정을 통해 사용자 단말기(11)와 마운트된다(S260, S270). 즉, 생성된 스토리지노드의 가상 디스크 볼륨은 사용자의 단말기에 임포트(네트워크 마운트)하여 로컬 저장 장치처럼 사용하게 된다.
다음, 상기 컨트롤 센터 서버(300)가 상기 사용자의 생성된 가상 디스크 볼륨 정보를 데이터베이스에 저장한다.
여기서, 볼륨을 생성하는 방식은 분산 방식(Distribution Method)에 따라 달라지는데, 본 발명에서 사용되는 스토리지 분산 방식들은 다음과 같다.
D(Distributed) : 각각의 파일이 통째로 각각의 노드에 분배되는 방식으로서, 주로 문서 파일과 같이 작은 용량의 파일이 다량 존재하게 될 때 유리한 방식이다.
S(Stripe) : 각각의 파일이 정해진 청크 크기(chunk size)로 쪼개어져 저장되고 읽히는 방식으로서, 주로 동영상 미디어 파일과 같이 대용량의 파일이며 다수의 동시 일기(Read)를 보장하고자할 때 유리한 방식이다.
R(Replication) : 정해진 노드에 복제 저장되는 방식으로 주로 저장되는 파일의 안정성이 확보되어야 하며, 무정지 서비스가 지원되어야할 때 사용된다.
DS(Distributed Stripe) : D + S : 주로 이미 stripe로 존재하는 가상 스토리지에 볼륨을 추가하고자 할 때, 사용된다.(Scale-out)
DR(Distributed Replication) : D + R : 주로 이미 Replication으로 존재하는 가상 스토리지에 볼륨을 추가하고자 할 때, 사용된다.(Scale-out)
SR(Striped Replication) : S + R : 주로 대용량의 파일이며, 동시에 데이터 안정성을 확보하고자 할 때 사용된다.
DSR(Distributed Striped Replication) : D + S + R : 위의 구성들의 복합 구성이다.
위의 가상화 방식들에서 D, S, R의 개수를 지정할 수 있으며, 이때 그 지정된 개수에 따라 어느 스토리지노드의 블록 디바이스(block device)에 Distribute, Stripe, Replication되어 있는지를 알 수 있다.
먼저 Distribute 노드부터 지정되며, Stripe, Replication 순서로 지정된다. 단 DSR과 같은 복합 구성의 경우 스토리지노드 안의 블록 디바이스 개수는 D개수 * S개수 * R개수 여야 하며, R의 경우 짝수로 증가 되어야 한다. 또한, 일반적인 분산 파일 시스템(보통 해쉬값과 같은 고유값으로 변환된다)과 달리 파일명 그대로 저장되므로 파일 명과 시스템 명령어 disk usage(du)명령으로 확인이 가능하다.
예를 들어, 아래와 같이 생성한다고 가정하자.
사용자 가상 스토리지 8TB를 생성한다고 하고,
분산 방식은SR : S = 4개, R = 2개라고 하면,
Node내의 해당 사용자 가상 스토리지 용 블록 디바이스 개수는 4 * 2 = 8개가 된다.
그리고, 8개의 스토리지노드를 192.168.16.11 ~ 192.168.16.18까지의 스토리지 노드로 선택 사용할 수 있다. 물론 다른 스토리지노드로 8개를 선택할 수도 있다.
위의 조건에서 각각의 11번 부터 18번까지 8개의 스토리지 노드에 각각8TB(총 용량)/( 8(생성되야할 총 블록 디바이스 개수)/2(Replication 개수)) = 2TB(생성할 용량)만큼씩 생성하게 된다.
이러한 방식으로 가상 디스크 볼륨이 생성된다.
그리고, 사용자들은 여러 스토리지노드에 생성된 가상 디스크 볼륨을 가상으로 하나의 논리적인 볼륨으로서 사용하게 되는데 이러한 개념을 가상스토리지라 한다.
위의 스토리지노드는 S방식부터 적용이 되므로, IP 11번 부터 14번까지 반을 Stripe으로, 나머지는 같은 개수만큼의 Replication으로 적용하게 된다.
여기서, 이후 가상화를 적용할 경우에 일반적인 분산 파일 시스템의 경우 어디로 분산이 되며 또한 어디로 파일 복제가 이루어지는지 물리적으로 논리적으로 알 수 있는 방법이 없다.
그러나, 본 발명의 실시예에서는 가상화를 적용하여 위의 8개의 각기 다른 스토리지노드의 저장 장치(블록 디바이스)들이 하나로 취급된다 하더라도, 개개의 스토리지노드내에 블록 디바이스가 마운트되어 있는 디렉토리 안을 보면 실제로 저장된 사용자의 데이터들이 파일명 그대로 존재 하게 된다. 단 stripe 방식으로 저장될 경우, 파일명은 그대로이나 청크 사이즈로 분할 저장되어 있을 것이다. 이 경우 시스템 콜 중 하나인 du 명령 등으로 확인할 수 있다. 또한, 어느 노드의 블록 디바이스가 복제용인지 구분되어 있으므로, 블록 디바이스에 대한 백업이 중복되지 않고도 행할 수 있다. 이때 백업은 물리적인 써드 파티 장비를 사용할 수도 있을 것이며, 앞에서 언급한 스냅샷 백업을 행할 수도 있을 것이다.
블록 디바이스에 대한 스냅샷 및 백업에 대해서는 이 분야에서 잘 알려진 용어이므로 상세한 설명은 생략한다.
이렇게 생성된 가상 디스크 볼륨은 사용자의 단말기에 임포트(네트워크 마운트)하여 로컬 저장 장치처럼 사용하게 된다.
이러한 내용에 대해서도 이 분야에서 잘 알려져 있으므로 상세 설명은 생략한다.
여기서, 블록 디바이스 기반 분산 가상 스토리지의 내부 데이터 관리에 관하여 좀 더 상세히 설명하면 다음과 같다.
도 3을 참조하면, 실제 노드들 간의 블록이 어떻게 사용자 마다 다르게 구성되는지를 보여주고 있다.
먼저 user1의 경우, 스토리지노드 1과 2에 블록 디바이스 볼륨이 생성되어 있으며, 스토리지노드가 몇 개가 존재하던지 간에 지정된 블록 디바이스들 간에만 데이터의 저장 혹은 분산이 이루어진다.
User2의 경우, 모든 스토리지노드에 분포되어 있으며, 모든 스토리지노드들 간에 지정된 볼륨의 크기 만큼만 데이터의 저장 및 분산이 이루어 질 것이다.
여기에서 눈 여겨 볼 점은 여러 스토리지 노드 내부에 생성된 사용자 볼륨이 제각기 다르다는 점이다. 즉, 도 4에서의 세부 도면을 보면, 하나의 user의 파일 하나에 대해서의 데이터 흐름을 보여준다.
여기에서는 설명을 위해 여러 경우 중 가장 일반적인 사례에 대해서만 단순화해서 보여주고 있으나, 도 3의 컨트롤 센터 서버에서 사용자가 사용할 노드와 용량과 분산 방식을 지정하여 블록 디바이스를 생성하고 파일 시스템 안착 및 분산 방식 적용의 순서로써 사용자 스토리지를 가상화하여 제공하게 된다.
여기서, 사용자(혹은 관리자는)는 자신의 가상 스토리지가 어디어디에 지정되어 있음을 알 수 있으며, 또한 데이터가 어디로 분산되는지, 또 어디로 복제가 이루어져 데이터가 중복되는지를 원천적으로 알 수 있다.
그리고 사용자의 가상 디스크 볼륨에 저장되는 데이터는 디바이스 레벨에서 격리된다. 따라서, 다른 사용자의 데이터가 물리적으로도 논리적으로도 침범할 수 없으며, 데이터의 추적 또한 간단히 이루어 질 수 있으므로 정보 보안상의 위험 범위가 줄어들게 된다.
그리고, 본 발명의 실시예에서 가상 디스크 볼륨 자체가 논리적 블록 디바이스로서 생성된 것이므로, 이는 파일 시스템을 얻은 후, 접근 권한 설정을 할 수 있다. 쉽게 말하면(Windows OS 기준으로 설명하겠다), 일반적 분산 파일 시스템에서는 하나의 파티션에 디렉토리만 구분하여 데이터를 저장하고, 그 저장되는 데이터는 메타 데이터 서버에 의해 자동 관리된다. 즉, 사용자가 위치를 알 수도 없으며, 파일 시스템 입장에서 보면, 하나의 물리적인 파티션에 여러 사용자의 데이터가 디스크 트랙에서 구분하고 있을 뿐 혼용되어 쓰고 읽힌다는 뜻이다. 따라서 특정 사용자를 위한 가상 스토리지의 네크워크 포트를 우회하여 하나의 계정만 뚫으면 그 파티션 내에 존재하는 다른 사용자 데이터를 모두 취득할 수 있게 된다.(이런 방식의 해킹 알고리즘은 너무 방대하므로, 개념만을 설명하였다.)
하지만, 본 발명의 실시예에서는 사용자 마다 파티션이 다르므로, 다른 사용자와 같은 디스크를 사용하더라도 디스크 레벨에서 기타 사용자와 데이터가 중복될 수 없으며, 그래서 앞에서 언급한 해쉬값과 같은 유일한 파일명으로 대치할 필요도 없어지게 된다. 그래서 필요에 따라서는 데이터 유출을 막거나 추적하기 위해 기존의 방식에서 사용된 정보보호 솔루션을 그대로 사용하여 보안을 강화할 수 있다. 즉, 가상화 스토리지를 위한 별도의 방식이나 보안 솔루션을 개발 및 도입하지 않고 기존의 방식에서 사용된 정보보호 솔루션을 사용할 수 있게끔 한다.
다음, 볼륨 리밸런싱(Rebalancing) 및 스냅샷 백업에 관해 설명하면 다음과 같다.
밸런싱 기법에 대한 기술은 분산 파일 시스템내의 고유 기능이다. 따라서 여기서는 블록 디바이스와 결합된 가상 스토리지가 밸런싱 작업에 얼마나 유효한지만을 서술한다.
위의 모든 이슈와 마찬가지로, 각 스토리지노드에 분산된 볼륨의 데이터의 흐름은 확인할 수 있으며, 간혹 데이터의 불균형, 즉, user1의 분산 데이터가 한 쪽의 서버로 쏠리게 되었을 때, 다른 볼륨에 영향을 주지 않고, user1에 지정된 블록 디바이스에 대해서만 스토리지노드 1과 2에 대해서 밸런스를 맞추어주는 작업을 진행할 수 있다. 여기서, 일반적 분산 파일 시스템에서는 한 사용자의 데이터들에 대해 각 노드간에 밸런싱을 하려 할 때 파티션 단위로 밸런싱이 이루어지게 된다. 즉, 하나의 볼륨에 모든 사용자의 데이터가 공존 하므로, 이를 분석하고 밸린싱하는 과정이 복잡해진다.(메타데이터를 뒤져서 파일 이름과 매칭한 후 조각난 파일들을 적절한 위치로 옮기야 한다. 이 과정은 오버헤드가 오히려 심하다. 그래서 보통 노드가 추가되면 전체 노드에 리밸런싱이 일어나게끔 설계되어 있다.) 또한 어느 사용자의 데이터 공간이 불균형한지 알기가 어렵다.(물론 시스템 명령 디렉토리 용량 체크를 함으로써 하나하나 확인해보면 가능하겠지만, 현실적으로 그렇게 운영한다는 것은 불가능하며, 비효율적이다)
그러나 본 발명의 실시예에서는 블록디바이스 레벨로 밸런싱이 이루어질 수 있으므로 불필요한 오버헤드를 줄일 수 있다. 또한, 블록 디바이스별로 용량을 체크하여 컨트롤 센터 서버(300)로 취합되게 되는데, 이로써 사용자 별 노드간 데이터 불균형을 확인할 수 있다. 따라서 본 발명의 실시예에서는 데이터의 복제가 되는 블록이 어디인지를 알 수 있기 때문에 데이터의 중복을 피해서 디바이스 레벨에서의 스냅샷 및 백업이 이루어 질 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술 분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
본 발명의 실시예에서는 디바이스 볼륨에 저장된 정보에 대한 손실과 침해에 대한 위험성에 보다 근본적인 방법을 제시하고, 디바이스 볼륨에 사용자 별로 분산 노드를 지정함으로써, 사용자 별로 중복 데이터를 제외한 볼륨 스냅샷 백업을 할 수 있다.
또한, 사용자에 할당된 볼륨 별로 디스크 사용량을 불균형 정도를 측정할 수 있으며, 또한 할당된 볼륨별 리밸런싱을 함으로써, 오버헤드를 줄일 수 있다.

Claims (6)

  1. 적어도 하나의 사용자 단말기와 네트워크망을 통해 연결되는 가상 스토리지 서비스 시스템으로서,
    상기 단말기가 가상스토리지 서비스를 요청하면, 상기 단말기로부터 가상 스토리지 서비스에 필요한 가상스토리지 용량, 스토리지노드 개수, 스토리지노드 종류, 분산방식, 선택된 스토리지노드를 포함한 선택 정보를 수신하는 웹서버;
    상기 선택정보를 참조하여 가상 디스크 볼륨을 생성하도록 제어하는 컨트롤 센터 서버;
    상기 컨트롤 센터 서버의 제어에 따라 가상 디스크 볼륨을 생성하는 적어도 하나의 스토리지노드; 및
    상기 스토리지노드의 정보 및 상기 사용자의 가상 디스크 볼륨 정보를 저장하는 데이터베이스를 포함하는 가상 스토리지 서비스 시스템.
  2. 제1항에 있어서,
    상기 웹서버는,
    상기 단말기가 가상스토리지 서비스를 요청하면, 상기 단말기에게 필요한 가상스토리지 용량, 생성될 스토리지 노드의 종류, 스토리지노드 개수 및 분산방식을 입력하도록 요청하고,
    상기 단말기로부터 상기 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식이 입력되면, 상기 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식에 따라 스토리지 노드 현황을 상기 단말기에 제공하고,
    상기 단말기가 상기 노드 현황에서 가상 스토리지로 사용하고자 하는 스토리지 노드를 선택하면, 상기 컨트롤 센터 서버로 가상 디스크 볼륨 생성을 요청하는 것을 특징으로 하는 가상 스토리지 서비스 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 컨트롤 센터 서버는 상기 웹서버의 요청에 따라 상기 선택된 스토리지 노드에 가상 디스크 볼륨을 생성하도록 제어하고, 상기 선택된 스토리지 노드가 가상 디스크 볼륨을 생성하는 것을 특징으로 하는 가상 스토리지 서비스 시스템.
  4. 적어도 하나의 사용자 단말기와 네트워크망을 통해 연결되는 가상 스토리지 서비스 방법으로서,
    상기 단말기가 가상스토리지 서비스를 웹서버에 요청하는 단계;
    상기 웹서버가 상기 단말기로부터 가상 스토리지 서비스에 필요한 가상스토리지 용량, 스토리지노드개수, 스토리지노드 종류, 분산방식, 선택된 스토리지노드를 포함한 선택 정보를 수신하는 단계;
    컨트롤 센터 서버가 상기 선택정보를 참조하여 상기 선택된 스토리지 노드가 가상 디스크 볼륨을 생성하도록 제어하는 단계; 및
    상기 컨트롤 센터 서버의 제어에 따라 선택된 스토리지 노드가 가상 디스크 볼륨을 생성하는 단계를 포함하는 가상 스토리지 서비스 방법.
  5. 제 4 항에 있어서,
    상기 컨트롤 센터 서버가 상기 사용자의 생성된 가상 디스크 볼륨 정보를 데이터베이스에 저장하는 단계를 더 포함하는 가상 스토리지 서비스 방법.
  6. 제5항에 있어서,
    상기 웹서버가 선택 정보를 수신하는 단계는,
    상기 단말기가 가상스토리지 서비스를 요청하면, 상기 단말기에게 생성될 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식을 입력하도록 요청하는 단계;
    상기 단말기로부터 상기 생성될 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식이 입력되면, 상기 생성될 가상스토리지 용량, 스토리지노드의 종류, 스토리지노드 개수 및 분산방식에 따라 스토리지노드 현황을 상기 단말기에 제공하는 단계;
    상기 단말기로부터 상기 스토리지노드 현황에서 스토리지 노드가 선택되면, 상기 컨트롤 센터 서버로 가상 디스크 볼륨 생성을 요청하는 것을 특징으로 하는 가상 스토리지 서비스 방법.
PCT/KR2013/008197 2012-09-11 2013-09-11 블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법 WO2014042414A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/427,515 US20150244803A1 (en) 2012-09-11 2013-09-11 Block Device-Based Virtual Storage Service System and Method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0100504 2012-09-11
KR1020120100504A KR101232654B1 (ko) 2012-09-11 2012-09-11 블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법

Publications (1)

Publication Number Publication Date
WO2014042414A1 true WO2014042414A1 (ko) 2014-03-20

Family

ID=47899419

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/008197 WO2014042414A1 (ko) 2012-09-11 2013-09-11 블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법

Country Status (3)

Country Link
US (1) US20150244803A1 (ko)
KR (1) KR101232654B1 (ko)
WO (1) WO2014042414A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10097410B2 (en) 2014-06-26 2018-10-09 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments
US10592566B2 (en) * 2015-10-29 2020-03-17 Ca, Inc. Intelligent edge device for filtering internet of things (IoT) data
CN108989398B (zh) * 2018-06-27 2021-02-02 苏州浪潮智能科技有限公司 一种虚拟共享存储单元以及基于云存储的集群存储系统
CN110572410A (zh) * 2019-09-16 2019-12-13 苏州百宝箱科技有限公司 基于大数据的信息安全系统和方法
CN116881049B (zh) * 2023-07-21 2024-01-30 无锡隆云数字技术有限公司 一种云构架下基于终端和云主机的分布式数据备份方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060042989A (ko) * 2004-10-28 2006-05-15 후지쯔 가부시끼가이샤 가상 스토리지 관리 프로그램, 방법 및 장치
JP2008123170A (ja) * 2006-11-10 2008-05-29 Hitachi Ltd アクセス環境構築システム及び方法
JP2009230381A (ja) * 2008-03-21 2009-10-08 Hitachi Ltd ストレージシステム及びボリューム割当方法並びに管理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6883083B1 (en) * 2002-12-20 2005-04-19 Veritas Operating Corporation System and method for maintaining and accessing information regarding virtual storage devices
JP4233900B2 (ja) 2003-03-19 2009-03-04 株式会社日立製作所 大容量記憶装置におけるデータの格納・読み出し制御
US7340640B1 (en) * 2003-05-02 2008-03-04 Symantec Operating Corporation System and method for recoverable mirroring in a storage environment employing asymmetric distributed block virtualization
JP4951652B2 (ja) * 2009-06-24 2012-06-13 株式会社日立製作所 コンピュータシステムのリモートコピー方法及びコンピュータシステム
US8886781B2 (en) * 2011-12-13 2014-11-11 Microsoft Corporation Load balancing in cluster storage systems
US9122418B2 (en) * 2012-08-07 2015-09-01 Xyratex Technology Limited—A Seagate Company Method of controlling the capacity of a virtual storage system, and a virtual storage system
US9053167B1 (en) * 2013-06-19 2015-06-09 Amazon Technologies, Inc. Storage device selection for database partition replicas

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060042989A (ko) * 2004-10-28 2006-05-15 후지쯔 가부시끼가이샤 가상 스토리지 관리 프로그램, 방법 및 장치
JP2008123170A (ja) * 2006-11-10 2008-05-29 Hitachi Ltd アクセス環境構築システム及び方法
JP2009230381A (ja) * 2008-03-21 2009-10-08 Hitachi Ltd ストレージシステム及びボリューム割当方法並びに管理装置

Also Published As

Publication number Publication date
US20150244803A1 (en) 2015-08-27
KR101232654B1 (ko) 2013-02-13

Similar Documents

Publication Publication Date Title
WO2014042415A1 (ko) 지능형 분산 스토리지 서비스 시스템 및 방법
WO2014042414A1 (ko) 블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법
US9647933B1 (en) Port identifier management for path failover in cluster environments
US7454795B2 (en) Disk control unit
JP4567293B2 (ja) ファイルサーバ
US6295575B1 (en) Configuring vectors of logical storage units for data storage partitioning and sharing
US7970903B2 (en) Storage and server provisioning for virtualized and geographically dispersed data centers
US10152281B2 (en) Systems, devices, apparatus, and methods for transparently inserting a virtual storage layer in a fibre channel based storage area network while maintaining continuous input/output operations
CN102110197B (zh) 多核处理器的计算环境中实现tpm的方法及其系统
WO2012141404A1 (ko) 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법
WO2012057581A4 (ko) 클라우드 컴퓨팅 시스템 및 그의 데이터 동기화 방법
US20080022120A1 (en) System, Method and Computer Program Product for Secure Access Control to a Storage Device
WO2018094809A1 (zh) 一种资源共享方法及装置
JP2002318725A (ja) ディスクアレイシステム
JP2002351703A (ja) 記憶装置およびファイルデータのバックアップ方法およびファイルデータのコピー方法
WO2014080437A1 (en) Computer system and virtual server migration control method for computer system
US11048543B2 (en) Computer system and resource access control method for securely controlling access using roles with a plurality of users
US6810396B1 (en) Managed access of a backup storage system coupled to a network
JP2002373103A (ja) 計算機システム
WO2020153580A1 (ko) 블록체인 상에서 외부 노드를 통한 트랜잭션 처리 방법 및 이러한 방법을 수행하는 장치
Nagle et al. The ANSI T10 object-based storage standard and current implementations
WO2021070978A1 (ko) 블록체인 기반의 edr 장치 및 방법
WO2018143510A1 (ko) 사물 인터넷 보안 모듈
WO2018221996A1 (ko) 클라우드계정을 이용한 서비스내부데이터 저장방법 및 프로그램
KR102084031B1 (ko) 복수 서버의 로컬 저장소를 통합 관리하는 방법 및 그 장치

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: 13838027

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14427515

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 13838027

Country of ref document: EP

Kind code of ref document: A1