JP7012074B2 - 仮想ディスクの拡張方法及び機器 - Google Patents

仮想ディスクの拡張方法及び機器 Download PDF

Info

Publication number
JP7012074B2
JP7012074B2 JP2019510616A JP2019510616A JP7012074B2 JP 7012074 B2 JP7012074 B2 JP 7012074B2 JP 2019510616 A JP2019510616 A JP 2019510616A JP 2019510616 A JP2019510616 A JP 2019510616A JP 7012074 B2 JP7012074 B2 JP 7012074B2
Authority
JP
Japan
Prior art keywords
partition
virtual disk
interface
extended
file system
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
Application number
JP2019510616A
Other languages
English (en)
Other versions
JP2019532394A (ja
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 アリババ グループ ホウルディング リミテッド
Publication of JP2019532394A publication Critical patent/JP2019532394A/ja
Application granted granted Critical
Publication of JP7012074B2 publication Critical patent/JP7012074B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/0626Reducing size or complexity of storage systems
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • 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
    • 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
    • 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
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • 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
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy

Landscapes

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

Description

関連出願の相互参照
[1] 本開示は、2016年8月30日に出願され、その全体を本明細書に援用する中国特許出願第201610766855.4号の優先権の利益を主張する。
技術分野
[2] 本開示は仮想化の技術分野に関し、具体的には仮想ディスク拡張方法に関する。更に、本開示は仮想ディスク拡張機器及び電子装置に関する。
背景
[3] 「elastic compute cloud」では、クラウドプロバイダが様々なオペレーティングシステムプラットフォームのための複数のシステムイメージを提供する。実際のアプリケーションでは、提供されるシステムイメージは仮想ディスク及び仮想マシン(VM)を作成するために使用される。最後には、オペレーティングシステム(例えばGuestOS)が仮想マシンにロードされる。クラウドプロバイダにとって仮想ディスクのボリューム値の範囲は非常に大きい。例えば、仮想ディスクは100ギガバイト(G)単位から10テラバイト(T)単位、更には100T単位含み得る。しかしクラウドプロバイダによって提供されるシステムイメージの数は限られており、従ってこれらのシステムイメージに基づいて作成される仮想ディスクのボリューム値も限られている。更にクラウドプロバイダは一定のボリューム値を有する1つ又は複数のシステムイメージしか提供することができない。しかし実際の応用では利用者は様々なサービス需要を有し、異なる構成を有する様々なオペレーティングシステム又は仮想マシン(例えば様々なボリューム値を有する仮想ディスク)を選択し得る。これらの異なる構成はクラウドプロバイダにより高い要件を課す可能性がある。例えば、利用者によって選択される仮想ディスクのボリューム値がクラウドプロバイダによって提供される仮想ディスクのボリューム値を上回る場合、利用者の需要を満たすために仮想ディスクを拡張することができる。
[4] 或る技法によれば、仮想ディスクの拡張は、仮想マシンの仮想ディスクに対応するシステムイメージにアクセスしてそれを修正するツールライブラリ(例えばLibguestfs)を使用することによって実現される。例えば、システムイメージに基づいて作成される仮想ディスクのボリュームを上回るボリュームを利用者が選択する場合、クラウドプロバイダによって提供される固定ボリュームを有するシステムイメージに基づいて仮想ディスクが作成される。仮想ディスクが作成された後、仮想マシンが始動され、仮想マシン内でLibguestfsベースのサービスが稼働される。利用者の拡張要求が物理ホストから仮想マシン上で実行されるオペレーティングシステムにソケット式に送信される。仮想ディスクの拡張を実現するために、仮想ディスクのパーティショニング及びファイルシステムの拡張がオペレーティングシステム内で実行される。
[5] しかし、上記の仮想ディスク拡張方法は低い実現可能性及び高い技術的複雑性を有する。
概要
[6] 本開示の実施形態は、低い実現可能性及び高い技術的複雑性の問題に対処するための仮想ディスク拡張方法を提供する。
[7] 更に本開示の実施形態は、仮想ディスク拡張機器及び電子装置を提供する。
[8] 本開示の実施形態は、予め設定されたシステムイメージ及び受信される拡張要求内に含まれる標的ディスクボリューム値に従って仮想ディスクファイルを作成すること、仮想ディスクファイルを物理ホストに組み込み、仮想ディスクファイルに対応する仮想ディスクを生成すること、仮想ディスクのパーティション情報を読み出すこと、仮想ディスクの拡張されるパーティションを削除し、拡張されるパーティションのパーティションボリューム値及び拡張値に従って新たなパーティションを作成すること、及び仮想ディスクのファイルシステムを読み出し、新たなパーティションに適合するようにファイルシステムを拡張することを含む、仮想ディスク拡張方法を提供する。
[9] 一部の実施形態では、仮想ディスク拡張方法が拡張要求を受信することを更に含む。
[10] 一部の実施形態では、仮想ディスク拡張方法が、拡張要求に従って、予め設定されたシステムイメージから拡張要求とマッチするシステムイメージを選択することを更に含む。
[11] 一部の実施形態では、拡張要求がオペレーティングシステムの種類を含み、拡張要求とマッチするシステムイメージが、そのオペレーティングシステムの種類を有するシステムイメージを含む。
[12] 一部の実施形態では、拡張要求とマッチするシステムイメージが、標的ディスクボリューム値未満の仮想ディスクのボリューム値を有するシステムイメージ、又は予め設定された閾値範囲内にある、仮想ディスクのボリューム値と標的ディスクボリューム値との間の差分値を有するシステムイメージを含む。
[13] 一部の実施形態では、仮想ディスクファイルを物理ホストに組み込むことが、組込インタフェースを呼び出すことによって実現され、組込インタフェースはソフトウェア開発キット(SDK)によって提供され、SDKによってカプセル化される仮想化プラットフォームのそれぞれの組込ツールが、仮想ディスクファイルを組み込むために組込インタフェースを介して使用され、仮想化プラットフォームがXen及びKVMを含む。
[14] 一部の実施形態では、仮想ディスク拡張方法が、仮想ディスクをクリーニングするためにクリーニングインタフェースを呼び出すことを更に含み、クリーニングインタフェースはSDKによって提供され、SDKによってカプセル化される仮想化プラットフォームのそれぞれのクリーニングツールが、仮想ディスクをクリーニングするためにクリーニングインタフェースを介して使用される。
[15] 一部の実施形態では、仮想ディスクのパーティション情報を読み出すことが、仮想ディスクのパーティション情報として仮想ディスクファイル内に記録されたパーティション情報を取得するためのパーティション取得インタフェースを呼び出すことを更に含み、パーティション取得インタフェースはSDKによって提供され、SDKによってカプセル化されるパーティションツールによって提供されるパーティション情報取得コマンドが、パーティション取得インタフェースを介して使用される。
[16] 一部の実施形態では、パーティション情報が、パーティションの数、パーティション識別情報、開始セクタ位置情報、終了セクタ位置情報、フラグ、及びパーティションの種類のうちの少なくとも1つを含む。
[17] 一部の実施形態では、拡張値が、標的ディスクボリューム値とシステムイメージに従って作成される仮想ディスクのディスクボリューム値との間の差分値である。
[18] 一部の実施形態では、パーティションボリューム値が、開始セクタ位置情報及び終了セクタ位置情報に従って得られる。
[19] 一部の実施形態では、仮想ディスク拡張方法が、仮想ディスクのパーティションが拡張条件を満たすかどうかをパーティション情報に従って判定し、仮想ディスクのパーティションが拡張条件を満たす場合は次のステップを実行することを更に含む。
[20] 一部の実施形態では、拡張条件が、拡張されるパーティションのパーティションボリューム値が標的ディスクボリューム値以上であること、及び/又は仮想ディスクのパーティションの種類が拡張をサポートしていることを含む。
[21] 一部の実施形態では、仮想ディスクの拡張されるパーティションを削除し、拡張されるパーティションのパーティションボリューム値及び拡張値に従って新たなパーティションを作成することが、拡張されるパーティションを仮想ディスクのパーティションから選択し、拡張されるパーティションに対応するパーティション情報を記憶することと、拡張されるパーティションを削除することと、記憶したパーティション情報、拡張されるパーティションのパーティションボリューム値、及び拡張値に従って新たなパーティションを作成することと、記憶したパーティション情報に従って新たなパーティションを設定することとを含む。
[22] 一部の実施形態では、拡張されるパーティションのパーティション識別情報が、新たなパーティションのパーティション識別情報、フラグ、及び/又はパーティションの種類と合致している。
[23] 一部の実施形態では、拡張されるパーティションの開始セクタ位置情報が、新たなパーティションの開始セクタ位置情報と合致しており、拡張されるパーティションの開始セクタ位置情報及び拡張値に従って、新たなパーティションの終了セクタ位置情報が得られる。
[24] 一部の実施形態では、拡張されるパーティションを削除することが、拡張されるパーティションを仮想ディスクファイルから削除するためにパーティション削除インタフェースを呼び出すことを更に含み、パーティション削除インタフェースはSDKによって提供され、パーティションツールによって提供されるパーティション削除コマンドが、パーティション削除インタフェースを介して使用される。
[25] 一部の実施形態では、新たなパーティションを作成することが、仮想ディスクファイル内に新たなパーティションを作成するために予め設定されたパーティション作成インタフェースを呼び出すことを更に含み、パーティション作成インタフェースはSDKによって提供され、パーティションツールによって提供されるパーティション作成コマンドが、パーティション作成インタフェースを介して使用される。
[26] 一部の実施形態では、記憶したパーティション情報に従って新たなパーティションを設定することが、記憶したパーティション情報に従って仮想ディスクファイル内に新たなパーティションを設定するために予め設定されたパーティション設定インタフェースを呼び出すことを更に含み、パーティション設定インタフェースはSDKによって提供され、パーティションツールによって提供されるパーティション設定コマンドが、パーティション設定インタフェースを介して使用される。
[27] 一部の実施形態では、仮想ディスクのファイルシステムを読み出し、新たなパーティションに適合するようにファイルシステムを拡張することが、システムイメージから仮想ディスクのファイルシステムを読み出すこと、及び新たなパーティションに従ってファイルシステムを拡張するためにファイルシステム拡張インタフェースを呼び出すことを更に含み、ファイルシステム拡張インタフェースはSDKによって提供され、SDKによってカプセル化されるファイルシステムツールセットの拡張ツールが、ファイルシステム拡張インタフェースを介して使用される。
[28] 一部の実施形態では、仮想ディスク拡張方法が、拡張されるパーティションのパーティションの種類に従って、ファイルシステムが有効かどうかを確認するためにファイルシステム確認インタフェースを呼び出し、ファイルシステムが有効な場合は次のステップを実行することを更に含み、ファイルシステム確認インタフェースはSDKによって提供され、SDKによってカプセル化されるファイルシステムツールセットの確認ツールが、ファイルシステム確認インタフェースを介して使用される。
[29] 一部の実施形態では、ファイルシステムが無効な場合、仮想ディスク拡張方法が、ファイルシステムを修復するためにファイルシステム修復インタフェースを呼び出すこと、及び拡張されるパーティションのパーティションの種類に従って、ファイルシステムが修復されたかどうかを確認するためにファイルシステム確認インタフェースを呼び出し、ファイルシステムが修復された場合は、新たなパーティションに従ってファイルシステムを拡張するためにファイルシステム拡張インタフェースを呼び出すことを更に含み、ファイルシステム修復インタフェースはSDKによって提供され、SDKによってカプセル化されるファイルシステムツールセットの修復ツールが、ファイルシステム修復インタフェースを介して使用される。
[30] 一部の実施形態では、新たなパーティションに従ってファイルシステムを拡張するためにファイルシステム拡張インタフェースを呼び出すサブステップの実行後、仮想ディスク拡張方法は、拡張されるパーティションのパーティションの種類に従って、ファイルシステムが有効かどうかを確認するためにファイルシステム確認インタフェースを呼び出し、ファイルシステムが無効な場合は拡張失敗のリマインド情報を送信することを更に含む。
[31] 本開示の実施形態は、予め設定されたシステムイメージ及び受信される拡張要求内に含まれる標的ディスクボリューム値に従って仮想ディスクファイルを作成するための仮想ディスクファイル作成ユニットと、仮想ディスクファイルを物理ホストに組み込み、対応する仮想ディスクを生成するための仮想ディスク生成ユニットと、仮想ディスクのパーティション情報を読み出すためのパーティション情報読出ユニットと、仮想ディスクの拡張されるパーティションを削除し、拡張されるパーティションのパーティションボリューム値及び拡張値に従って新たなパーティションを作成するためのパーティション拡張ユニットと、仮想ディスクのファイルシステムを読み出し、新たなパーティションに適合するようにファイルシステムを拡張するためのファイルシステム拡張ユニットとを含む、仮想ディスク拡張機器を更に提供する。
[32] 任意選択的に、仮想ディスク拡張機器が、拡張要求を受信するための拡張要求受信ユニットを含む。
[33] 任意選択的に、仮想ディスク拡張機器が、拡張要求に従って、予め設定されたシステムイメージから拡張要求とマッチするシステムイメージを選択するためのシステムイメージ選択ユニットを含む。
[34] 任意選択的に、仮想ディスク生成ユニットが、予め設定された組込インタフェースを呼び出すことによって実現され、組込インタフェースは予め設定されたSDKによって提供され、SDKによってカプセル化される仮想化プラットフォームのそれぞれの組込ツールが、仮想ディスクファイルの組み込みを実現するために組込インタフェースを介して使用され、仮想化プラットフォームがXen及びKVMを含む。
[35] 任意選択的に、仮想ディスク拡張機器が、仮想ディスクをクリーニングするために予め設定されたクリーニングインタフェースを呼び出すための仮想ディスククリーニングユニットを含み、クリーニングインタフェースはSDKによって提供され、SDKによってカプセル化される仮想化プラットフォームのそれぞれのクリーニングツールが、仮想ディスクをクリーニングするためにクリーニングインタフェースを介して使用される。
[36] 任意選択的に、仮想ディスクのパーティション情報として仮想ディスクファイル内に記録されたパーティション情報を取得するために予め設定されたパーティション取得インタフェースを呼び出すためのパーティション情報読出ユニットが更に使用され、パーティション取得インタフェースは予め設定されたSDKによって提供され、SDKによってカプセル化されるパーティションツールによって提供されるパーティション情報取得コマンドが、パーティション取得インタフェースを介して使用される。
[37] 任意選択的に、パーティション情報が、パーティションの数、パーティション識別情報、開始セクタ位置情報、終了セクタ位置情報、フラグ、及びパーティションの種類を含む。
[38] 任意選択的に、仮想ディスク拡張機器が、仮想ディスクのパーティションが拡張条件を満たすかどうかをパーティション情報に従って判定し、仮想ディスクのパーティションが拡張条件を満たす場合はパーティション拡張ユニットを実行するための拡張判定ユニットを含む。
[39] 任意選択的に、パーティション拡張ユニットが、拡張されるパーティションを仮想ディスクのパーティションから選択し、拡張されるパーティションに対応するパーティション情報を記憶するための拡張パーティション選択サブユニットと、拡張されるパーティションを削除するための拡張パーティション削除サブユニットと、記憶したパーティション情報、拡張されるパーティションのパーティションボリューム値、及び拡張値に従って新たなパーティションを作成するための新規パーティション作成サブユニットと、記憶したパーティション情報に従って新たなパーティションを設定するための新規パーティション設定サブユニットとを含む。
[40] 任意選択的に、ファイルシステム拡張ユニットが、システムイメージから仮想ディスクのファイルシステムを読み出すためのファイルシステム読出サブユニットと、新たなパーティションに従ってファイルシステムを拡張するために予め設定されたファイルシステム拡張インタフェースを呼び出すためのファイルシステム拡張サブユニットとを含み、ファイルシステム拡張インタフェースはSDKによって提供され、SDKによってカプセル化されるファイルシステムツールセットの拡張ツールが、ファイルシステム拡張インタフェースを介して使用される。
[41] 任意選択的に、ファイルシステム拡張ユニットが、拡張されるパーティションのパーティションの種類を参照して、ファイルシステムが有効かどうかを確認するために予め設定されたファイルシステム確認インタフェースを呼び出し、ファイルシステムが有効な場合はファイルシステム拡張サブユニットを実行するためのファイルシステム確認サブユニットを更に含み、ファイルシステム確認インタフェースはSDKによって提供され、SDKによってカプセル化されるファイルシステムツールセットの確認ツールが、ファイルシステム確認インタフェースを介して使用される。
[42] 本開示はプロセッサとメモリとを含む電子装置を更に提供し、プロセッサは、予め設定されたシステムイメージ及び受信される拡張要求内に含まれる標的ディスクボリューム値に従って仮想ディスクファイルを作成し、仮想ディスクファイルを物理ホストに組み込み、仮想ディスクを生成し、仮想ディスクのパーティション情報を読み出し、仮想ディスクの拡張されるパーティションを削除し、拡張されるパーティションのパーティションボリューム値及び拡張値に従って新たなパーティションを作成し、仮想ディスクのファイルシステムを読み出し、新たなパーティションに適合するようにファイルシステムを拡張するために使用され、メモリは、仮想ディスクファイル、仮想ディスクのパーティション情報、及び仮想ディスクのファイルシステムを記憶するために使用される。
[43] 本開示の実施形態は、仮想ディスク拡張用の物理ホストに直接基づいて仮想ディスク拡張方法を実現することができる。従って、I/Oパスを短くすることができ、I/Oパスの消費量を減らすことができ、I/O効率を改善することができる。加えて仮想ディスク拡張方法に関して、仮想ディスク拡張プロセスの間、物理ホスト上で仮想マシンを始動する必要はなく、仮想ディスクに対する拡張は仮想マシンの始動前に実行され、それにより技術的な複雑性及び結合が減る。本方法の実装は非常に簡単である。
図面の簡単な説明
[44]本開示の実施形態による例示的な仮想ディスク拡張方法の流れ図である。 [45]本開示の実施形態による例示的なソフトウェア記憶システムの概略図である。 [46]本開示の実施形態による例示的な仮想ディスク拡張機器の概略図である。 [47]本開示の実施形態による例示的な電子装置の概略図である。
詳細な説明
[48] 次に、添付図面にその例を示す例示的実施形態を詳しく参照する。以下の説明は添付図面を参照し、添付図面では別段の定めがない限り異なる図中の同じ番号が同じ又は同様の要素を表す。例示的実施形態についての以下の説明の中で記載する実装形態は、本発明に合致する全ての実装形態を表すものではない。むしろそれらの実装形態は、添付の特許請求の範囲の中で列挙する本発明に関係する態様に合致する機器及び方法の例に過ぎない。
[49] 本開示の実施形態は仮想ディスク拡張方法を提供し、仮想ディスク拡張機器及び電子装置を更に提供する。本開示によって提供する実施形態の図面に関して以下で詳細な説明を行い、方法の様々なステップについても説明する。
[50] 図1を参照し、本開示の実施形態によって提供される例示的な仮想ディスク拡張方法の流れ図を示す。図2を参照し、実施形態によって提供される例示的な仮想ディスク拡張システムの概略図を示す。仮想ディスク拡張方法はステップS101~S107を含み得る。
[51] ステップS101で、拡張要求を受信することができる。
[52] 本開示によって提供される仮想ディスク拡張方法は、物理ホスト上で実現される。仮想ディスク拡張方法の拡張プロセスは、物理ホスト上で仮想マシンを始動する必要がない。仮想マシンを始動する前の仮想ディスクに対する拡張は、物理ホスト上で仮想マシンを始動することを必要とせず、それにより拡張プロセスの複雑性及び結合を減らす。更に、仮想マシンの始動後の仮想マシン上にインストールされたオペレーティングシステム内での拡張と比較し、開示する実施形態は、オペレーティングシステム内でのI/O要求の実行を回避し、I/Oパスを短くし、I/Oパスの消費量を減らし、I/O効率を改善する。
[53] 実際のアプリケーションでは、利用者の実際のサービス需要の多様性により、仮想ディスクに対する利用者の需要も柔軟である。従って、利用者によって選択される仮想ディスクのボリューム値が、予め設定された仮想ディスクの既定のボリューム値を上回る場合は、拡張要求がトリガされる。例えば仮想ディスクの既定のボリューム値が500Gであり、利用者によって実際に選択される仮想ディスクのボリューム値が2Tである場合、拡張要求がトリガされ、既定の仮想ディスクが拡張される。拡張要求は、利用者によって実際に選択された仮想ディスクのボリューム値である標的ディスクボリューム値を含む(例えば利用者によって実際に選択される標的ディスクボリューム値は2Tである)。
[54] ステップS102で、拡張要求に従って、予め設定されたシステムイメージから拡張要求とマッチするシステムイメージを選択することができる。
[55] 拡張要求に従って、予め設定されたシステムイメージから拡張要求とマッチするシステムイメージを選択するこのステップは、例えば拡張要求を受信する上記のステップS101の後に続くことができる。拡張要求がオペレーティングシステムの種類を含む場合、拡張要求とマッチするシステムイメージも、拡張要求内に含まれるオペレーティングシステムの種類と合致するオペレーティングシステムの種類を有するシステムイメージを対応して含む。例えば拡張要求内に含まれるオペレーティングシステムの種類がLinux(登録商標)として識別される場合、第1のシステムイメージに対応するオペレーティングシステムの種類はLinux(商標)とすることができ、第2のシステムに対応するオペレーティングシステムの種類はWindows(商標)とすることができ、そうすると第1のシステムイメージが拡張要求とマッチする。
[56] それに加えて、拡張要求とマッチするシステムイメージは、標的ディスクボリューム値未満の対応する仮想ディスクのボリューム値を更に満たすことができる。例えば拡張要求内に含まれる標的ディスクボリューム値が2Tであり、第3のシステムイメージに対応する仮想ディスクのボリューム値が1Tであり、第4のシステムイメージに対応する仮想ディスクのボリューム値が5Tである場合、第3のシステムイメージが拡張要求とマッチする。
[57] 或いは、拡張要求とマッチするシステムイメージは、予め設定された閾値範囲内にある、対応する仮想ディスクのボリューム値と標的ディスクボリューム値との間の差分値を有するシステムイメージの条件を更に満たすことができる。例えば拡張要求内に含まれる標的ディスクボリューム値が2Tであり、第5のシステムイメージに対応する仮想ディスクのボリューム値が500GTであり、第6のシステムイメージに対応する仮想ディスクのボリューム値が1Tである場合、差分値が予め設定された閾値範囲内にある限りにおいて第6のシステムイメージが拡張要求とマッチする。
[58] ステップS103で、拡張要求とマッチするシステムイメージ、及び拡張要求内に含まれる標的ディスクボリューム値に従って、仮想ディスクファイルを作成することができる。
[59] 一部の実施形態では、仮想ディスクをシステムイメージに基づいて作成することができる。システムイメージは、様々なオペレーティングシステムプラットフォームのためにクラウドプロバイダによって提供され得る。例えばLinuxシステムのために提供されるシステムイメージに対応する仮想ディスクのボリューム値は500Gであり、Windowsシステムのために提供されるシステムイメージに対応する仮想ディスクのボリューム値は1Tである。
[60] 仮想ディスクファイルは仮想ディスクを論理的に表す。しかし、仮想マシンがまだ始動していないので、仮想ディスクファイルは、仮想ディスクの形式で提示することはできないが、ファイルの形式で記憶することはできる。
[61] このステップS103で、受信される拡張要求内に含まれる標的ディスクボリューム値に従って、対応する仮想ディスクファイルは作成され、システムイメージが、対応する仮想ディスクファイルを作成する。つまり仮想ディスクファイルは、システムイメージによって作成される仮想ディスクの仮想ディスクファイルを論理的に表す。
[62] 図2に示す仮想ディスク拡張システムに関して、本開示の仮想ディスク拡張方法は、仮想ディスク拡張システムに基づいて実現される。仮想ディスク拡張システムは、物理ホスト200及び仮想システム220を含む。物理ホスト200は、仮想ディスクファイル管理装置202、仮想ディスク管理装置204、パーティション管理装置206、ファイルシステム管理装置208、ソフトウェア開発キット(SDK)210、及びI/O処理装置212を含む、物理ホストに論理的に属する機器を表す。仮想システム220は、仮想システムに論理的に属する機器(例えば実際に実行されている仮想マシンの一部)を表す。
[63] 物理ホスト200の仮想ディスクファイル管理装置202は、利用者によって送信される仮想ディスクファイル作成要求、削除要求、及び拡張要求を受信し処理するために使用することができ、実際のアプリケーションでは仮想ディスクファイルのライフサイクル管理のための入口として使用される。仮想ディスクファイル管理装置202が拡張要求を受信した後、拡張要求内に含まれる標的ディスクボリューム値及びシステムイメージに従って、対応する仮想ディスクファイルが作成される。このステップでは、標的ディスクボリューム値及びシステムイメージに従って作成される仮想ディスクファイルが、仮想ディスクファイル管理装置202に基づいて実現される。
[64] 仮想ディスク管理装置204は、仮想ディスクの作成及びクリーニングを管理する役割を担う。仮想ディスクファイルに対応する仮想ディスクが仮想ディスク管理装置204内で作成された後、作成された仮想ディスクは、SDK210によって提供されるカプセル化インタフェースに基づいて、パーティション管理装置206及びファイルシステム管理装置208と連動して、拡張される。
[65] パーティション管理装置206は、仮想ディスクの全パーティションに対する管理操作(確認、追加、削除、属性の構成等)を実行するために使用される。
[66] ファイルシステム管理装置208は、仮想ディスクのファイルシステムに対する管理操作(確認、修復、拡張、メタデータの確認等)を実行するために使用される。
[67] SDK210は、仮想ディスク拡張プロセスに関与する仮想ディスク、パーティション管理、及びファイルシステム管理のための一連のインタフェースをカプセル化する。様々な仮想化プラットフォーム、パーティションの種類、及びファイルシステムのロジックが一連の関数インタフェース内に隠されている。関数インタフェースの内部実装は、様々な関数インタフェースに対応するパラメータを様々なバイナリツールによって渡し、対応する関数インタフェースの呼出結果を返すことを含む。SDK210によってカプセル化される様々なインタフェースについては、以下でそれぞれ詳しく説明する。
[68] I/O処理装置212は、I/O要求が正しく完了することを確実にするためにI/O要求を処理する役割を担う。例えば拡張プロセス中に生成されるI/O要求が、処理されるためにI/O処理装置212に送信される。
[69] ステップS104で、仮想ディスクファイルを物理ホストに組み込むことができ、対応する仮想ディスクを生成することができる。
[70] 上記のように、上記のステップS103内で作成される仮想ディスクファイルは仮想ディスクを論理的に表す。このステップS104で、仮想化プラットフォームに基づいて仮想ディスクファイルに対して仮想化処理を実行し、仮想化処理後に仮想ディスクファイルが仮想ディスクになる。
[71] 一部の実施形態では、このステップS104は仮想ディスク管理装置204内で実行され得る。図2に示すように、仮想ディスク拡張システム内の仮想ディスク管理装置204は、予め設定された組込インタフェースを呼び出すことによって、仮想ディスクファイルを物理ホストに組み込む。物理ホスト自体が仮想ディスクファイルを構文解析し、仮想ディスクファイル内に記録されている仮想ディスク情報を読み出し、読み出した仮想ディスク情報に従って仮想ディスク(例えば仮想ディスクファイルに対応する仮想ディスク)を生成する。組込インタフェースはSDK210によって提供され、SDK210によってカプセル化される仮想化プラットフォームのそれぞれの組込ツールは、図2の仮想システム220の仮想ディスクファイル222を組み込むために組込インタフェースを介して使用され得る。仮想システム220は、仮想マシンVM1-Linux、VM2-Windows、...、VMn等の複数の仮想マシンを含み得る。複数の仮想マシンは、仮想ディスク2221、仮想ディスク2222、...、仮想ディスク222n等の複数の仮想ディスク222をそれぞれ含み得る。仮想化プラットフォームは例えばXenやKVMを含む。
[72] 例えばSDK210は、仮想化プラットフォームXenの仮想化コンポーネントxendのアタッチツール、及び仮想化プラットフォームKVMの仮想化コンポーネントQEMUのNBDアタッチツールをカプセル化し、block_attach()及びblock_detach()関数インタフェースを提供する。一部の実施形態では、block_attach()インタフェースを呼び出すことによって物理ホストに仮想ディスクファイルが組み込まれ、仮想化プラットフォームに対応する仮想化コンポーネントが仮想化ブロック装置を作成する。
[73] 更に、仮想ディスクファイルに従って複数の仮想化プラットフォーム上で対応する仮想ディスクを作成することができるように、上記の2つの仮想化プラットフォーム以外に他の仮想化プラットフォームの仮想化コンポーネントをSDK210内に更にカプセル化することができる。これに基づき、SDK210は様々な仮想化プラットフォームと互換性があることができ、より強い互換性を有する。
[74] 上記のように、仮想ディスク管理装置204内で作成される仮想ディスクは、パーティション管理装置206及びファイルシステム管理装置208によって使用され得る。従って、I/O処理装置212によって伝送されるI/O活動が、仮想ディスクと仮想ディスクファイルとの間で隠され、パーティション管理装置206及びファイルシステム管理装置208は、I/O処理装置212と接触する必要がなく、それにより複雑性が減る。
[75] ステップS105で、仮想ディスクのパーティション情報を読み出すことができる。
[76] このステップでは、上記のステップS104で作成した仮想ディスク(例えば仮想ディスクファイルに対応する仮想ディスク)に基づいて、仮想ディスクのパーティション情報を読み出す。
[77] 図2に示す一部の実施形態では、仮想ディスク拡張システム内のパーティション管理装置206が、予め設定されたパーティション取得インタフェースを呼び出すことにより、仮想ディスクファイル内に記録されたパーティション情報を仮想ディスクのパーティション情報として取得する。パーティション取得インタフェースはSDK210によって提供される。SDK210はパーティションツールによって提供されるパーティション情報取得コマンドをカプセル化する。パーティション情報は、SDK210によって提供されるパーティション取得インタフェースを介して使用される。例えば、仮想ディスクファイル内に記録されたパーティション情報が、仮想ディスクのパーティション情報として、part_get()インタフェースを介して仮想ディスクファイルから読み出される。
[78] それに加えて、SDK210は、パーティションツールによって提供される他のコマンド(例えば追加、削除、属性設定のコマンド)を更にカプセル化する。これに基づき、SDK210は、仮想ディスクのパーティションに対する操作(例えば追加、削除、属性設定)を実行するための関数インタフェース(例えばpart_add()、part_del()、part_set())を提供する。
[79] 本開示の実施形態では、パーティション情報が、パーティションの数、パーティション識別情報、開始セクタ位置情報、終了セクタ位置情報、フラグ、及びパーティションの種類を含み得る。例えば仮想ディスクがパーティションを1つだけ有する場合、パーティションの数は1であり、パーティション識別情報はP1であり、開始セクタ位置情報はセクタ番号SectorSに対応するセクタであり、終了セクタ位置情報はセクタ番号SectorEに対応するセクタであり、フラグはFlag1であり、パーティションの種類はType1である。
[80] 一部の実施形態では、このステップS105を実行した後、つまり仮想ディスクのパーティション情報を読み出した後、仮想ディスクのパーティションを拡張できるかどうかを確認するために、読み出したパーティション情報に従って以下の拡張確認操作を更に実行することができ、拡張確認操作は、仮想ディスクのパーティションが拡張条件を満たすかどうかをパーティション情報に従って判定すること、仮想ディスクのパーティションが拡張条件を満たす場合は、(この後に説明する)ステップS106を実行できること、及び仮想ディスクのパーティションが拡張条件を満たさない場合は、拡張エラーのリマインド情報を送信できることを含み得る。
[81] これらの実施形態では、拡張条件が、拡張されるパーティションのパーティションボリューム値が標的ディスクボリューム値以上であること、及び仮想ディスクのパーティションの種類が拡張をサポートしていることを含み得る。それに加えて、拡張条件は実際のアプリケーションに従って更に設定することができ、上記の内容に限定されない。例えば拡張条件は、拡張されるパーティションのパーティションボリューム値が標的ディスクボリューム値以上であること、又は仮想ディスクのパーティションの種類が拡張をサポートしていることを更に含み得る。
[82] ステップS106で、仮想ディスクの拡張されるパーティションを削除することができ、拡張されるパーティションのパーティションボリューム値及び拡張値に従って、新たなパーティションを作成することができる。
[83] これらの実施形態では、仮想ディスクが拡張されるとき、拡張される仮想ディスクのボリューム値が標的ディスクボリューム値に等しいように、仮想ディスクの特定のパーティションが拡張のために選択される。同様に、拡張される仮想ディスクのボリューム値が標的ディスクボリューム値に等しいように、仮想ディスクの2つ以上のパーティションを更に拡張することができる。例えば標的ディスクボリューム値が2Tであり、仮想ディスクが5個のパーティションを有し、各パーティションのパーティションボリューム値が100Gである場合、拡張される仮想ディスクのボリューム値が2Tに達するように、各パーティションが100Gから400Gに拡張される。
[84] 本開示の実施形態では、拡張値は、標的ディスクボリューム値と、システムイメージに従って作成される仮想ディスクのディスクボリューム値との間の差分値を指す。例えば標的ディスクボリューム値が2Tであり、仮想ディスクのボリューム値が500Gである場合、拡張値は2T-500G=1.5Tである。
[85] パーティションボリューム値は、開始セクタ位置情報及び終了セクタ位置情報による計算によって得られる。例えば上記のパーティションP1に関して、開始セクタ位置情報はセクタ番号SectorSに対応するセクタであり、終了セクタ位置情報はセクタ番号SectorEに対応するセクタであり、パーティションボリューム値はセクタ番号SectorSからセクタ番号SectorEまでの全セクタの合計ボリューム値である。
[86] これらの実施形態では、仮想ディスクの1つのパーティションを拡張する実装形態を例として採用することによって、拡張プロセスについて詳しく説明する。更に、仮想ディスクの2つ以上のパーティションを拡張する実装形態は、仮想ディスクの1つのパーティションを拡張する実装形態と同様であり、本明細書では詳細を繰り返し説明しない。
[87] この実施形態では拡張プロセスが以下を含み得る:
[88] 1)拡張されるパーティションを仮想ディスクのパーティションから選択し、拡張されるパーティションに対応するパーティション情報を記憶すること。
[89] 例えば、拡張されるパーティションとして上記のパーティションP1が選択され、拡張されるパーティションP1のパーティション識別情報P1、セクタ番号SectorS、セクタ番号SectorE、フラグFlag1、及びパーティションの種類Type1が記録される。
[90] 2)拡張されるパーティションを削除すること。
[91] 一部の実施形態では、予め設定されたパーティション削除インタフェースを呼び出すことによって、拡張されるパーティションが仮想ディスクファイルから削除される。パーティション削除インタフェースはSDK210によって提供され、パーティションツールによって提供されるパーティション削除コマンドが、パーティション削除インタフェースを介して使用される。例えばpart_del()インタフェースが、パーティションP1を削除するために呼び出される。
[92] 3)記憶したパーティション情報、拡張されるパーティションのパーティションボリューム値、及び拡張値に従って、新たなパーティションを作成すること。
[93] 新たなパーティションが作成されるとき、拡張前後のパーティションの整合性を保証するために、更に拡張前後の仮想ディスクの整合性を保証するために、新たなパーティションのパーティション識別情報及びパーティションの種類が、拡張されるパーティションのパーティション情報に対応する。
[94] 加えて、新たなパーティションが作成されるとき、新たなパーティションの開始セクタ位置情報が、拡張されるパーティションの開始セクタ位置情報に対応し、拡張されるパーティションの開始セクタ位置情報及び拡張値に従って、新たなパーティションの終了セクタ位置情報が得られる。
[95] 例えば新たなパーティションのパーティション識別情報がP1であり、開始セクタ位置情報はセクタ番号SectorSに対応するセクタであり、終了セクタ位置情報は、セクタ番号SectorEに対応するセクタ+1.5T=セクタ番号SectorFに対応するセクタであり、パーティションの種類はType1である。
[96] 一部の実施形態では、予め設定されたパーティション作成インタフェースを呼び出すことによって、新たなパーティションが仮想ディスクファイル内に作成される。パーティション作成インタフェースはSDK210によって提供され、パーティションツールによって提供されるパーティション作成コマンドが、パーティション作成インタフェースにを介して使用される。例えばpart_add()インタフェースが、新たなパーティションP1を作成するために呼び出される。
[97] 4)記憶したパーティション情報に従って新たなパーティションを設定すること。
[98] 一部の実施形態では、予め設定されたパーティション設定インタフェースを呼び出すことによって、新たなパーティションが仮想ディスクファイル内に設定される。パーティション設定インタフェースはSDK210によって提供され、パーティションツールによって提供されるパーティション設定コマンドが、パーティション設定インタフェースを介して使用される。例えばpart_set()インタフェースが、新たなパーティションP1のフラグをFlag1として設定するために呼び出される。
[99] 例えば拡張プロセスは、様々な具体的な実装形態を使用することによって実現することができる。拡張プロセスを実現するための様々な形式の変更は具体的な実装形態の変更に過ぎず、本開示の核心から逸脱することなしに本開示の保護範囲に全て含まれる。
[100] ステップS107で、仮想ディスクのファイルシステムを読み出すことができ、新たなパーティションに適合するようにファイルシステムを拡張することができる。
[101] 上記のステップS106では、拡張されるパーティションを削除し新たなパーティションを作成することによって仮想ディスクを拡張したが、新規作成した新たなパーティションと仮想ディスクの元のファイルシステムとの間で、マッピングは確立されていない。このステップS107で、仮想ディスクのファイルシステムを読み出し、新たなパーティションに適合するように拡張する。このステップS107は以下を更に含み得る:
[102] 1)システムイメージから仮想ディスクのファイルシステムを読み出すこと、及び
[103] 2)新たなパーティションに従ってファイルシステムを拡張するために予め設定されたファイルシステム拡張インタフェースを呼び出すこと。
[104] ファイルシステム拡張インタフェースはSDK210によって提供され、SDK210によってカプセル化されるファイルシステムツールセットの拡張ツールが、ファイルシステム拡張インタフェースを介して使用される。例えばfs_extend()インタフェースが、仮想ディスクのファイルシステムを拡張するために呼び出される。
[105] 一部の実施形態では、システムイメージから仮想ディスクのファイルシステムを読み出すサブステップの実行後、且つ新たなパーティションに従ってファイルシステムを拡張するために予め設定されたファイルシステム拡張インタフェースを呼び出すサブステップの実行前、以下のファイルシステム確認操作を更に実行することができる。ファイルシステム確認操作は、拡張されるパーティションのパーティションの種類を参照して、ファイルシステムが有効か(例えばファイルシステムが完全か)どうかを確認するために予め設定されたファイルシステム確認インタフェースを呼び出すこと、ファイルシステムが有効な場合は、新たなパーティションに従ってファイルシステムを拡張するために予め設定されたファイルシステム拡張インタフェースを呼び出す上記のサブステップを実行し、ファイルシステムが無効な場合は、ファイルシステムを修復するために予め設定されたファイルシステム修復インタフェースを呼び出すこと、拡張されるパーティションのパーティションの種類を参照して、ファイルシステムが修復されたかどうかを確認するためにファイルシステム確認インタフェースを呼び出し、ファイルシステムが修復された場合は、新たなパーティションに従ってファイルシステムを拡張するために予め設定されたファイルシステム拡張インタフェースを呼び出すサブステップを実行することを更に含むことができる。ファイルシステム確認インタフェースはSDK210によって提供され、SDK210によってカプセル化されるファイルシステムツールセットの確認ツールが、ファイルシステム確認インタフェースを介して使用される。例えばfs_check()インタフェースが、仮想ディスクのファイルシステムを確認するために呼び出される。
[106] ファイルシステム修復インタフェースはSDK210によって提供され、SDK210によってカプセル化されるファイルシステムツールセットの修復ツールが、ファイルシステム修復インタフェースを介して使用される。例えばfs_fix()インタフェースが、仮想ディスクのファイルシステムを修復するために呼び出される。
[107] 加えて、新たなパーティションに従ってファイルシステムを拡張するために予め設定されたファイルシステム拡張インタフェースを呼び出すサブステップの実行後、以下のファイルシステムの第2の確認操作を更に実行することができる。ファイルシステムの第2の確認操作は、拡張されるパーティションのパーティションの種類を参照して、ファイルシステムが有効かどうかを確認するためにファイルシステム確認インタフェースを呼び出すこと、ファイルシステムが有効な場合は、仮想ディスクのファイルシステムの拡張に成功したことを示し、処理を実行せず、ファイルシステムが無効な場合は、拡張失敗のリマインド情報を送信することを更に含み得る。
[108] 一部の実施形態では、このステップS107の実行後(例えば仮想ディスクのファイルシステムの拡張を完了した後)、システム資源を確保しシステム性能を改善するために、上記のステップS104で作成した仮想ディスクに対して、以下の仮想ディスククリーニング操作を更に実行して仮想ディスクをクリーニングすることができる。仮想ディスククリーニング操作は、仮想ディスクをクリーニングするために予め設定されたクリーニングインタフェースを呼び出すことを少なくとも含むことができる。クリーニングインタフェースはSDK210によって提供され、SDK210によってカプセル化される仮想化プラットフォームのそれぞれのクリーニングツールが、仮想ディスクをクリーニングするためにクリーニングインタフェースを介して使用され得る。例えばblock_detach()インタフェースが、仮想ディスクをクリーニングするために呼び出される。
[109] 要約すれば、本開示が提供する仮想ディスク拡張方法は、拡張要求を受信した後で、拡張要求内に含まれる標的ディスクボリューム値及び予め設定されたシステムイメージに従って、仮想ディスクファイルを作成すること、仮想ディスクファイルを物理ホストに組み込み、仮想ディスクファイルに対応する仮想ディスクを生成すること、仮想ディスクのパーティション情報を読み出すこと、仮想ディスクの拡張されるパーティションを削除し、読み出したパーティション情報に従って、新たなパーティションを作成すること、及び仮想ディスクのファイルシステムを読み出し、新規作成される新たなパーティションに適合するようにファイルシステムを拡張することを含む。この仮想ディスク拡張方法は仮想ディスク拡張用の物理ホストに基づいて実現することができ、従ってI/Oパスを短くすることができ、I/Oパスの消費量を減らすことができ、I/O効率を改善することができる。加えて仮想ディスク拡張方法に関して、仮想ディスク拡張プロセスの間、物理ホスト上で仮想マシンを始動する必要はなく、仮想ディスクに対する拡張は仮想マシンの始動前に実行され、それにより技術的な複雑性及び結合が減る。本方法の実装は非常に簡単である。
[110] 本開示が提供する仮想ディスク拡張機器の実施形態を以下の通り説明する。
[111] 上記の実施形態では仮想ディスク拡張方法を提供し、それに対応して本開示は図面と共に説明する仮想ディスク拡張機器を更に提供する。
[112] 図3を参照し、本開示の実施形態による例示的な仮想ディスク拡張機器の概略図を示す。
[113] 機器の実施形態は方法の実施形態とほぼ同様なので比較的簡単に説明し、関連する部分について方法の実施形態の対応する説明を参照する場合がある。以下の機器の実施形態は例示に過ぎない。
[114] 本開示は、仮想ディスクファイル作成ユニット301、仮想ディスク生成ユニット302、パーティション情報読出ユニット303、パーティション拡張ユニット304、及びファイルシステム拡張ユニット305を含む、仮想ディスク拡張機器300を提供する。
[115] 仮想ディスクファイル作成ユニット301は、予め設定されたシステムイメージ及び受信される拡張要求内に含まれる標的ディスクボリューム値に従って、仮想ディスクファイルを作成するために使用することができる。仮想ディスクファイル作成ユニット301は、上記で説明した図2の仮想ディスクファイル管理装置202の一部であり得る。例えば拡張要求を受信した後、仮想ディスクファイル管理装置202は、標的ディスクボリューム値及び予め設定されたシステムイメージに関係する情報を、図2の仮想ディスクファイル222を作成するために仮想ディスクファイル作成ユニット301に与えることができる。
[116] 拡張要求はオペレーティングシステムの種類を含むことができ、それに対応して、拡張要求とマッチするシステムイメージは、拡張要求内に含まれるオペレーティングシステムの種類と合致するオペレーティングシステムの種類を有するシステムイメージを含む。
[117] 一部の実施形態では、拡張要求とマッチするシステムイメージが、標的ディスクボリューム値未満の仮想ディスクのボリューム値を有するシステムイメージ、又は予め設定された閾値範囲内にある、仮想ディスクのボリューム値と標的ディスクボリューム値との間の差分値を有するシステムイメージを含み得る。
[118] 仮想ディスク生成ユニット302は、仮想ディスクファイル222を物理ホストに組み込み、対応する仮想ディスク214を生成するために使用することができる。仮想ディスク生成ユニット302はSDK210の一部とすることができ、SDK210は、図2に関して論じたように仮想システム220の仮想ディスクファイル222を組み込むための、SDK210によってカプセル化される仮想化プラットフォームのそれぞれの組込ツールを提供することができる。
[119] 一部の実施形態では、仮想ディスク生成ユニット302は、予め設定された組込インタフェースを呼び出すことによって実現することができる。組込インタフェースは予め設定されたSDKによって提供され、SDKによってカプセル化される仮想化プラットフォームのそれぞれの組込ツールが、仮想ディスクファイルの組み込みを実現するために組込インタフェースを介して使用され、仮想化プラットフォームはXen及びKVMを含む。
[120] パーティション情報読出ユニット303は、仮想ディスク214のパーティション情報を読み出すために使用することができる。パーティション情報読出ユニット303はパーティション管理装置206の一部であり得る。例えばパーティション管理装置206は、図2の中で上述したように、予め設定されたパーティション取得インタフェースを呼び出すことにより、仮想ディスクファイル内に記録されたパーティション情報を取得することができる。
[121] 一部の実施形態では、パーティション情報読出ユニット303は、仮想ディスクのパーティション情報として仮想ディスクファイル内に記録されたパーティション情報を取得するために予め設定されたパーティション取得インタフェースを呼び出すことのために使用することができる。パーティション取得インタフェースは予め設定されたSDKによって提供され、SDKによってカプセル化されるパーティションツールによって提供されるパーティション情報取得コマンドが、パーティション取得インタフェースを介して使用される。
[122] パーティション情報は、例えばパーティションの数、パーティション識別情報、開始セクタ位置情報、終了セクタ位置情報、フラグ、及びパーティションの種類を含み得る。
[123] パーティション拡張ユニット304は、仮想ディスクの拡張されるパーティションを削除し、拡張されるパーティションのパーティションボリューム値及び拡張値に従って、新たなパーティションを作成するために使用することができる。パーティション拡張ユニット304は、パーティション管理装置206、ファイルシステム管理装置208、及びSDK210の一部を含み得る。例えば図2で説明したように、仮想ディスクファイルに対応する仮想ディスクが、仮想ディスク管理装置204内で作成された後、作成された仮想ディスクは、SDK210によって提供されるカプセル化インタフェースに基づいて、パーティション管理装置206及びファイルシステム管理装置208と連動して拡張される。
[124] 拡張値は、標的ディスクボリューム値と、システムイメージに従って作成される仮想ディスクのディスクボリューム値との間の差分値であり得る。
[125] パーティションボリューム値は、開始セクタ位置情報及び終了セクタ位置情報による計算によって得ることができる。
[126] 一部の実施形態では、パーティション拡張ユニット304が、拡張パーティション選択サブユニット、拡張パーティション削除サブユニット、新規パーティション作成サブユニット、及び新規パーティション設定サブユニットを更に含み得る。
[127] 拡張パーティション選択サブユニットは、拡張されるパーティションを仮想ディスクのパーティションから選択し、拡張されるパーティションに対応するパーティション情報を記憶するために使用することができる。
[128] 拡張パーティション削除サブユニットは、拡張されるパーティションを削除するために使用することができる。
[129] 新規パーティション作成サブユニットは、記憶したパーティション情報、拡張されるパーティションのパーティションボリューム値、及び拡張値に従って、新たなパーティションを作成するために使用することができる。
[130] 新規パーティション設定サブユニットは、記憶したパーティション情報に従って、新たなパーティションを設定するために使用することができる。
[131] 任意選択的に、拡張されるパーティションのパーティション識別情報が、新たなパーティションのパーティション識別情報、フラグ、及び/又はパーティションの種類と合致し得る。
[132] 一部の実施形態では、拡張されるパーティションの開始セクタ位置情報が、新たなパーティションの開始セクタ位置情報と合致することができ、拡張されるパーティションの開始セクタ位置情報及び拡張値に従って、新たなパーティションの終了セクタ位置情報を得ることができる。
[133] 任意選択的に、拡張パーティション削除サブユニットは、拡張されるパーティションを仮想ディスクファイルから削除するために予め設定されたパーティション削除インタフェースを呼び出すことのために更に使用することができる。パーティション削除インタフェースはSDKによって提供され、パーティションツールによって提供されるパーティション削除コマンドが、パーティション削除インタフェースを介して使用される。
[134] 任意選択的に、新規パーティション作成サブユニットは、仮想ディスクファイル内に新たなパーティションを作成するために予め設定されたパーティション作成インタフェースを呼び出すことのために更に使用することができる。パーティション作成インタフェースはSDKによって提供され、パーティションツールによって提供されるパーティション作成コマンドが、パーティション作成インタフェースを介して使用される。
[135] 一部の実施形態では、新規パーティション設定サブユニットは、記憶したパーティション情報に従って仮想ディスクファイル内に新たなパーティションを設定するために予め設定されたパーティション設定インタフェースを呼び出すことのために更に使用することができる。パーティション設定インタフェースはSDKによって提供することができ、パーティションツールによって提供されるパーティション設定コマンドが、パーティション設定インタフェースを介して使用され得る。
[136] ファイルシステム拡張ユニット305は、仮想ディスクのファイルシステムを読み出し、新たなパーティションに適合するようにファイルシステムを拡張するために使用することができる。ファイルシステム拡張ユニット305はファイルシステム管理装置208の一部であり得る。例えば図2で論じたように、ファイルシステム管理装置208は、仮想ディスクのファイルシステムに対する管理操作(例えば拡張)を実行するために使用することができる。
[137] 一部の実施形態では、ファイルシステム拡張ユニット305が、ファイルシステム読出サブユニット及びファイルシステム拡張サブユニットを更に含むことができる。
[138] ファイルシステム読出サブユニットは、システムイメージから仮想ディスクのファイルシステムを読み出すために使用することができ、ファイルシステム拡張サブユニットは、新たなパーティションに従ってファイルシステムを拡張するために予め設定されたファイルシステム拡張インタフェースを呼び出すことのために使用することができる。
[139] 一部の実施形態では、ファイルシステム拡張ユニット305がファイルシステム確認サブユニットを更に含む。
[140] ファイルシステム確認サブユニットは、拡張されるパーティションのパーティションの種類を参照して、ファイルシステムが有効かどうかを確認するために予め設定されたファイルシステム確認インタフェースを呼び出し、ファイルシステムが有効な場合は、ファイルシステム拡張サブユニットを実行するために使用することができる。ファイルシステム確認インタフェースはSDKによって提供され、SDKによってカプセル化されるファイルシステムツールセットの確認ツールが、ファイルシステム確認インタフェースを介して使用される。
[141] ファイルシステム確認サブユニットによって入力される判定結果が否定的である場合、ファイルシステム修復サブユニット及び修復確認サブユニットを実行することができる。
[142] ファイルシステム修復サブユニットは、ファイルシステムを修復するために予め設定されたファイルシステム修復インタフェースを呼び出すことのために使用することができる。修復確認サブユニットは、拡張されるパーティションのパーティションの種類を参照して、ファイルシステムが修復されたかどうかを確認するためにファイルシステム確認インタフェースを呼び出すことのために使用することができ、ファイルシステムが修復された場合は、ファイルシステム拡張サブユニットが実行される。ファイルシステム修復インタフェースはSDKによって提供され、SDKによってカプセル化されるファイルシステムツールセットの修復ツールが、ファイルシステム修復インタフェースを介して使用される。
[143] 一部の実施形態では、ファイルシステム拡張ユニット305が、拡張されるパーティションのパーティションの種類を参照して、ファイルシステムが有効かどうかを確認するためにファイルシステム確認インタフェースを呼び出し、ファイルシステムが無効な場合は拡張失敗のリマインド情報を送信するための第2の確認サブユニットを更に含み得る。
[144] 概して、本明細書で使用するユニット(及び対応する任意のサブユニット)は、他のコンポーネント(例えば集積回路の一部)、関連する機能のうちの特定の機能を実行する(コンピュータ可読媒体上に記憶される)プログラムの一部、又はその組合せと共に使用するように設計されるパッケージ化された機能ハードウェアユニットであり得る。これらのユニットは入口点及び出口点を有することができ、例えばJava(登録商標)、Lua、C、C++等のプログラミング言語で書くことができる。ソフトウェアユニットは、コンパイルし、実行可能プログラム内にリンクし、ダイナミックリンクライブラリ内にインストールし、又は例えばBASIC、Perl、Python(登録商標)等のインタプリタ型プログラミング言語で書くことができる。ソフトウェアユニットは他のユニットから又はそれ自体から呼出可能であり得ること、及び/又は検出されるイベント若しくは割込みに応答して起動され得ることが理解されよう。計算装置上で実行されるように構成されるソフトウェアユニットは、コンパクトディスク、デジタルビデオディスク、フラッシュドライブ、磁気ディスク、他の任意の非一時的媒体等のコンピュータ可読媒体上に、又はデジタルダウンロードとして提供され得る(更に実行前にインストール、復元、又は復号を必要とする圧縮形式又はインストール可能形式で最初は記憶され得る)。かかるソフトウェアコードは、計算装置によって実行するために実行中の計算装置のメモリ装置上に部分的に又は完全に記憶することができる。EPROM等、ソフトウェア命令はファームウェア内に埋め込むことができる。ハードウェアユニットは、ゲートやフリップフロップ等の接続された論理ユニットで構成できること、及び/又はプログラム可能なゲートアレイやプロセッサ等のプログラム可能ユニットで構成できることが更に理解されよう。本明細書で機能的に説明したユニット又は計算装置は、好ましくはソフトウェアモジュールとして実装されるが、ハードウェア又はファームウェアによって表すことができる。概して本明細書に記載のユニットは、その物理編成又は記憶にかかわらず他のユニットと組み合わせることができる論理ユニット、又はサブユニットに分割することができる論理ユニットを指す。
[145] 一部の実施形態では、仮想ディスク拡張機器300が、拡張要求を受信するための拡張要求受信ユニットを更に含み得る。
[146] 一部の実施形態では、仮想ディスク拡張機器300が、仮想ディスクをクリーニングするために予め設定されたクリーニングインタフェースを呼び出すための仮想ディスククリーニングユニットを更に含むことができる。クリーニングインタフェースはSDKによって提供され、SDKによってカプセル化される仮想化プラットフォームのそれぞれのクリーニングツールが、仮想ディスクをクリーニングするためにクリーニングインタフェースを介して使用される。
[147] 任意選択的に、仮想ディスク拡張機器300が、仮想ディスクのパーティションが拡張条件を満たすかどうかをパーティション情報に従って判定し、仮想ディスクのパーティションが拡張条件を満たす場合はパーティション拡張ユニット304を実行するための拡張判定ユニットを更に含み得る。
[148] 任意選択的に、拡張条件は、拡張されるパーティションのパーティションボリューム値が標的ディスクボリューム値以上であること、及び/又は仮想ディスクのパーティションの種類が拡張をサポートしていることを含み得る。
[149] 本開示によって提供する電子装置の実施形態を図面に関して説明する。
[150] 図4を参照し、本開示の実施形態によって提供する例示的な電子装置の概略図を示す。
[151] 電子装置の実施形態は方法の実施形態とほぼ同様なので比較的簡単に説明し、関連する部分について方法の実施形態の対応する説明を参照する場合がある。以下の実施形態は例示に過ぎない。
[152] 本開示は、プロセッサ401とメモリ402とを含む電子装置を提供する。プロセッサ401は、予め設定されたシステムイメージ及び受信される拡張要求内に含まれる標的ディスクボリューム値に従って、仮想ディスクファイルを作成するために使用することができる。
[153] 一部の実施形態では、予め設定されたシステムイメージ及び受信される拡張要求内に含まれる標的ディスクボリューム値に従って、仮想ディスクファイルを作成するステップを実行する前に、プロセッサ401は、拡張要求を取得するステップを実行することができる。任意選択的に、拡張要求を取得するステップを実行した後、プロセッサ401は、拡張要求に従って、予め設定されたシステムイメージから拡張要求とマッチするシステムイメージを選択するステップを実行することができる。
[154] 一部の実施形態では、拡張要求がオペレーティングシステムの種類を含み、それに対応して、拡張要求とマッチするシステムイメージが、拡張要求内に含まれるオペレーティングシステムの種類と合致するオペレーティングシステムの種類を有するシステムイメージを含む。拡張要求とマッチするシステムイメージは、標的ディスクボリューム値未満の対応する仮想ディスクのボリューム値を有するシステムイメージ、又は予め設定された閾値範囲内にある、対応する仮想ディスクのボリューム値と標的ディスクボリューム値との間の差分値を有するシステムイメージを含み得る。
[155] 更にプロセッサ401は、仮想ディスクファイルを物理ホストに組み込み、仮想ディスクを生成するために使用することができる。仮想ディスクファイルを物理ホストに組み込むことは、予め設定された組込インタフェースを呼び出すことによって実現することができる。組込インタフェースは予め設定されたSDKによって提供され、SDKによってカプセル化される仮想化プラットフォームのそれぞれの組込ツールが、仮想ディスクファイルを組み込むために組込インタフェースを介して使用され、仮想化プラットフォームはXen及びKVMを含み得る。
[156] 仮想ディスクのファイルシステムを読み出し、新たなパーティションに適合するようにファイルシステムを拡張するステップを実行した後、プロセッサ401は、仮想ディスクをクリーニングするために予め設定されたクリーニングインタフェースを呼び出すステップを実行することができる。予め設定されたクリーニングインタフェースはSDKによって提供され得る。クリーニングインタフェースは、仮想ディスクをクリーニングするために、それぞれのクリーニングツールを使用することができる。それぞれのクリーニングツールは、SDKによってカプセル化される仮想化プラットフォームの一部であり得る。
[157] プロセッサ401は、仮想ディスクのパーティション情報を読み出し、仮想ディスクの拡張されるパーティションを削除し、拡張されるパーティションのパーティションボリューム値及び拡張値に従って、新たなパーティションを作成するために使用することができる。一部の実施形態では、仮想ディスクのパーティション情報を読み出すことが、仮想ディスクのパーティション情報として仮想ディスクファイル内に記録されたパーティション情報を取得するために予め設定されたパーティション取得インタフェースを呼び出すことによって実現される。パーティション取得インタフェースは、予め設定されたSDKによって提供することができる。パーティション取得インタフェースは、SDKによってカプセル化されるパーティションツールによって提供されるパーティション情報取得コマンドを使用することができる。パーティション情報は、パーティションの数、パーティション識別情報、開始セクタ位置情報、終了セクタ位置情報、フラグ、及びパーティションの種類を含み得る。
[158] 拡張値は、標的ディスクボリューム値と、システムイメージに従って作成される仮想ディスクのディスクボリューム値との間の差分値であり得る。
[159] 一部の実施形態では、パーティションボリューム値は、開始セクタ位置情報及び終了セクタ位置情報による計算によって得ることができる。
[160] 仮想ディスクのパーティション情報を読み出すステップの実行後、且つ仮想ディスクの拡張されるパーティションを削除し、拡張されるパーティションのパーティションボリューム値及び拡張値に従って新たなパーティションを作成するステップの実行前、プロセッサ401は、仮想ディスクのパーティションが拡張条件を満たすかどうかをパーティション情報に従って判定し、仮想ディスクが拡張条件を満たす場合は次のステップを実行するステップを実行することができる。
[161] 拡張条件は、拡張されるパーティションのパーティションボリューム値が標的ディスクボリューム値以上であること、及び/又は仮想ディスクのパーティションの種類が拡張をサポートしていることを含み得る。
[162] 仮想ディスクの拡張されるパーティションを削除し、拡張されるパーティションのパーティションボリューム値及び拡張値に従って、新たなパーティションを作成するステップは、拡張されるパーティションを仮想ディスクのパーティションから選択し、拡張されるパーティションに対応するパーティション情報を記憶すること、拡張されるパーティションを削除すること、記憶したパーティション情報、拡張されるパーティションのパーティションボリューム値、及び拡張値に従って、新たなパーティションを作成すること、並びに記憶したパーティション情報に従って新たなパーティションを設定することを更に含み得る。
[163] 拡張されるパーティションのパーティション識別情報は、新たなパーティションのパーティション識別情報、フラグ、及び/又はパーティションの種類と合致し得る。
[164] 拡張されるパーティションの開始セクタ位置情報は、新たなパーティションの開始セクタ位置情報と合致し得る。新たなパーティションの終了セクタ位置情報は、拡張されるパーティションの開始セクタ位置情報及び拡張値による計算によって得ることができる。
[165] 一部の実施形態では、拡張されるパーティションを削除することが、拡張されるパーティションを仮想ディスクファイルから削除するために予め設定されたパーティション削除インタフェースを呼び出すことによって実現することができる。パーティション削除インタフェースはSDKによって提供することができ、パーティションツールによって提供されるパーティション削除コマンドが、パーティション削除インタフェースを介して使用され得る。
[166] 一部の実施形態では、新たなパーティションを作成することが、仮想ディスクファイル内に新たなパーティションを作成するために予め設定されたパーティション作成インタフェースを呼び出すことによって実現することができる。パーティション作成インタフェースはSDKによって提供することができ、パーティションツールによって提供されるパーティション作成コマンドが、パーティション作成インタフェースを介して使用され得る。
[167] 一部の実施形態では、記憶したパーティション情報に従って新たなパーティションを設定することが、記憶したパーティション情報に従って仮想ディスクファイル内に新たなパーティションを設定するために予め設定されたパーティション設定インタフェースを呼び出すことによって実現することができる。パーティション設定インタフェースはSDKによって提供することができ、パーティションツールによって提供されるパーティション設定コマンドが、パーティション設定インタフェースを介して使用され得る。
[168] プロセッサ401は、仮想ディスクのファイルシステムを読み出し、新たなパーティションに適合するようにファイルシステムを拡張するために、使用することができる。一部の実施形態では、仮想ディスクのファイルシステムを読み出し、新たなパーティションに適合するようにファイルシステムを拡張するステップが、システムイメージから仮想ディスクのファイルシステムを読み出し、新たなパーティションに従ってファイルシステムを拡張するために予め設定されたファイルシステム拡張インタフェースを呼び出すことを含むことができる。ファイルシステム拡張インタフェースはSDKによって提供することができ、SDKによってカプセル化されるファイルシステムツールセットの拡張ツールが、ファイルシステム拡張インタフェースを介して使用され得る。
[169] 一部の実施形態では、システムイメージから仮想ディスクのファイルシステムを読み出すサブステップの実行後、且つ新たなパーティションに従ってファイルシステムを拡張するために予め設定されたファイルシステム拡張インタフェースを呼び出すサブステップの実行前、以下のサブステップ、つまり拡張されるパーティションのパーティションの種類を参照して、ファイルシステムが有効かどうかを確認するために予め設定されたファイルシステム確認インタフェースを呼び出し、ファイルシステムが有効な場合は次のステップを実行することを実行することができる。ファイルシステム確認インタフェースはSDKによって提供され、SDKによってカプセル化されるファイルシステムツールセットの確認ツールが、ファイルシステム確認インタフェースを介して使用される。
[170] 拡張されるパーティションのパーティションの種類を参照して、ファイルシステムが有効かどうかを確認するために予め設定されたファイルシステム確認インタフェースを呼び出すサブステップに関して、ファイルシステムが無効な場合は以下のサブステップ、つまりファイルシステムを修復するために予め設定されたファイルシステム修復インタフェースを呼び出すこと、及び拡張されるパーティションのパーティションの種類を参照して、ファイルシステムが修復されたかどうかを確認するためにファイルシステム確認インタフェースを呼び出し、ファイルシステムが修復された場合は新たなパーティションに従ってファイルシステムを拡張するために予め設定されたファイルシステム拡張インタフェースを呼び出すサブステップを実行することを実行することができる。ファイルシステム修復インタフェースはSDKによって提供され、SDKによってカプセル化されるファイルシステムツールセットの修復ツールが、ファイルシステム修復インタフェースを介して使用される。
[171] 新たなパーティションに従ってファイルシステムを拡張するために予め設定されたファイルシステム拡張インタフェースを呼び出すサブステップの実行後、以下のサブステップ、つまり拡張されるパーティションのパーティションの種類を参照して、ファイルシステムが有効かどうかを確認するためにファイルシステム確認インタフェースを呼び出し、ファイルシステムが無効な場合は拡張失敗のリマインド情報を送信することを実行することができる。
[172] メモリ402は、仮想ディスクファイル、仮想ディスクのパーティション情報、及び仮想ディスクのファイルシステムを記憶するために使用することができる。
[173] 本開示は上記の実施形態に関して開示し、但しそれらの実施形態は本開示を限定するものではない。当業者は本開示の趣旨及び範囲から逸脱することなしにあり得る改変又は修正を加えることができ、従って本開示の保護範囲は添付の特許請求の範囲によって定める保護範囲によって定めるものとする。
[174] 典型的な構成では、計算装置は1個又は複数個のプロセッサ(CPU)、入力/出力インタフェース、ネットワークインタフェース、及びメモリを含む。
[175] メモリは、コンピュータ可読媒体の中の非永続的メモリ、ランダムアクセスメモリ(RAM)、及び/又は不揮発性メモリ(読取専用メモリ(ROM)やフラッシュメモリ(フラッシュRAM))等を含み得る。メモリは非一時的コンピュータ可読媒体の一例である。
[176] コンピュータ可読媒体は、永続的及び非永続的な脱着可能及び非脱着可能媒体を含むことができ、任意の方法又は技術によって情報の記憶を実現することができる。情報はコンピュータ可読命令、オブジェクト、プログラムモジュール、又は他のデータであり得る。非一時的コンピュータ可読媒体の一般的な形式は、例えば相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他の種類のランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、電気的消去プログラム可能読取専用メモリ(EEPROM)、フラッシュメモリや他のメモリ技術、コンパクトディスク読取専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)や他の光学記憶域、キャッシュ、レジスタ、磁気カセットテープ、磁気テープ、及び磁気ディスク記憶域や他の磁気記憶装置、それらのもののネットワーク化されたバージョン、又は計算装置によってアクセスされ得る情報を記憶するために使用可能な他の任意の非伝送媒体を含む。本明細書の定義によれば、コンピュータ可読媒体は変調されたデータ信号や搬送波等の一時的媒体は含まない。
[177] 本開示の実施形態は方法、システム、又はコンピュータプログラム製品として提供できることを当業者なら理解すべきである。従って、本開示は完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はソフトウェアとハードウェアとを組み合わせる実施形態を採用することができる。更に本開示は、コンピュータ使用可能プログラムコードを含む1つ又は複数のコンピュータ使用可能記憶媒体(これだけに限定されないが磁気ディスクメモリ、CD-ROM、光学メモリ等を含む)上に実装されるコンピュータプログラム製品によって実施することができる。

Claims (27)

  1. 仮想ディスク拡張方法であって、
    拡張要求を受信すること、
    前記拡張要求とマッチするシステムイメージを選択すること、
    前記システムイメージ及び前記拡張要求内に含まれる標的ディスクボリューム値に従って仮想ディスクファイルを作成すること、
    前記仮想ディスクファイルを物理ホストに組み込み、仮想ディスクを生成すること、
    前記仮想ディスクのパーティション情報を読み出すこと、
    前記仮想ディスクの拡張されるパーティションを削除し、前記拡張されるパーティションのパーティションボリューム値及び拡張値に従って新たなパーティションを作成すること、及び
    前記仮想ディスクのファイルシステムを読み出し、前記新たなパーティションに適合するように前記ファイルシステムを拡張すること
    を含み、
    前記拡張要求とマッチするシステムイメージを選択することが、前記拡張要求内に含まれるオペレーティングシステムの種類と合致するオペレーティングシステムの種類を有するシステムイメージを選択することを含み、前記選択されるシステムイメージの仮想ディスクのボリューム値と、前記拡張要求内に含まれる前記標的ディスクボリューム値との間の差分値は閾値範囲にある、
    仮想ディスク拡張方法。
  2. 前記仮想ディスクファイルを物理ホストに組み込むことが、組込インタフェースを呼び出すことによって実現され、前記組込インタフェースはSDKによって提供され、前記SDKによってカプセル化される仮想化プラットフォームのそれぞれの組込ツールが、仮想ディスクファイルを組み込むために前記組込インタフェースを介して使用され、前記仮想化プラットフォームがXen及びKVMを含む、請求項1に記載の仮想ディスク拡張方法。
  3. 前記仮想ディスクをクリーニングするためにクリーニングインタフェースを呼び出すこと
    を更に含み、
    前記クリーニングインタフェースは前記SDKによって提供され、前記仮想ディスクをクリーニングするために、前記SDKによってカプセル化される前記仮想化プラットフォームのそれぞれのクリーニングツールが、前記クリーニングインタフェースを介して使用される、
    請求項2に記載の仮想ディスク拡張方法。
  4. 前記仮想ディスクのパーティション情報を読み出すことが、
    前記仮想ディスクのパーティション情報として前記仮想ディスクファイル内に記録されたパーティション情報を取得するためのパーティション取得インタフェースを呼び出すこと
    を更に含み、
    前記パーティション取得インタフェースはSDKによって提供され、前記SDKによってカプセル化されるパーティションツールによって提供されるパーティション情報取得コマンドが、前記パーティション取得インタフェースを介して使用される、
    請求項1に記載の仮想ディスク拡張方法。
  5. 前記パーティション情報が、
    パーティションの数、パーティション識別情報、開始セクタ位置情報、終了セクタ位置情報、フラグ、及びパーティションの種類
    のうちの少なくとも1つを含む、請求項4に記載の仮想ディスク拡張方法。
  6. 前記拡張値が、前記標的ディスクボリューム値と、前記システムイメージに従って作成される前記仮想ディスクのディスクボリューム値との間の差分値である、請求項5に記載の仮想ディスク拡張方法。
  7. 前記パーティションボリューム値が、前記開始セクタ位置情報及び前記終了セクタ位置情報に従って得られる、請求項5又は6に記載の仮想ディスク拡張方法。
  8. 前記仮想ディスクのパーティションが拡張条件を満たすかどうかを前記パーティション情報に従って判定し、前記仮想ディスクの前記パーティションが前記拡張条件を満たす場合は次のステップを実行すること
    を更に含む、請求項5~7の何れか一項に記載の仮想ディスク拡張方法。
  9. 前記拡張条件が、
    前記拡張されるパーティションの前記パーティションボリューム値が前記標的ディスクボリューム値以上であること、及び/又は前記仮想ディスクの前記パーティションの種類が拡張をサポートしていること
    を含む、請求項8に記載の仮想ディスク拡張方法。
  10. 前記仮想ディスクの拡張されるパーティションを削除し、前記拡張されるパーティションのパーティションボリューム値及び拡張値に従って新たなパーティションを作成することが、
    前記拡張されるパーティションを前記仮想ディスクのパーティションから選択し、前記拡張されるパーティションに対応するパーティション情報を記憶することと、
    前記拡張されるパーティションを削除することと、
    前記記憶したパーティション情報、前記拡張されるパーティションの前記パーティションボリューム値、及び前記拡張値に従って前記新たなパーティションを作成することと、
    前記記憶したパーティション情報に従って前記新たなパーティションを設定することと
    を含む、請求項5~9の何れか一項に記載の仮想ディスク拡張方法。
  11. 前記拡張されるパーティションのパーティション識別情報が、前記新たなパーティションのパーティション識別情報、フラグ、及び/又はパーティションの種類と合致している、請求項10に記載の仮想ディスク拡張方法。
  12. 前記拡張されるパーティションの開始セクタ位置情報が、前記新たなパーティションの開始セクタ位置情報と合致しており、前記拡張されるパーティションの前記開始セクタ位置情報及び前記拡張値に従って、前記新たなパーティションの終了セクタ位置情報が得られる、請求項10又は11に記載の仮想ディスク拡張方法。
  13. 前記拡張されるパーティションを削除することが、
    前記拡張されるパーティションを前記仮想ディスクファイルから削除するためにパーティション削除インタフェースを呼び出すことを更に含み、前記パーティション削除インタフェースは前記SDKによって提供され、前記パーティションツールによって提供されるパーティション削除コマンドが、前記パーティション削除インタフェースを介して使用される、
    請求項10~12の何れか一項に記載の仮想ディスク拡張方法。
  14. 前記新たなパーティションを作成することが、
    前記仮想ディスクファイル内に前記新たなパーティションを作成するためにパーティション作成インタフェースを呼び出すことを更に含み、前記パーティション作成インタフェースは前記SDKによって提供され、前記パーティションツールによって提供されるパーティション作成コマンドが、前記パーティション作成インタフェースを介して使用される、
    請求項10~13の何れか一項に記載の仮想ディスク拡張方法。
  15. 前記記憶したパーティション情報に従って前記新たなパーティションを設定することが、
    前記記憶したパーティション情報に従って前記仮想ディスクファイル内に前記新たなパーティションを設定するためにパーティション設定インタフェースを呼び出すことを更に含み、前記パーティション設定インタフェースは前記SDKによって提供され、前記パーティションツールによって提供されるパーティション設定コマンドが、前記パーティション設定インタフェースを介して使用される、
    請求項10~14の何れか一項に記載の仮想ディスク拡張方法。
  16. 前記仮想ディスクのファイルシステムを読み出し、前記新たなパーティションに適合するように前記ファイルシステムを拡張することが、
    前記システムイメージから前記仮想ディスクのファイルシステムを読み出すこと、及び
    前記新たなパーティションに従って前記ファイルシステムを拡張するためにファイルシステム拡張インタフェースを呼び出すこと
    を含み、
    前記ファイルシステム拡張インタフェースは前記SDKによって提供され、前記SDKによってカプセル化されるファイルシステムツールセットの拡張ツールが、前記ファイルシステム拡張インタフェースを介して使用される、
    請求項5~15の何れか一項に記載の仮想ディスク拡張方法。
  17. 前記拡張されるパーティションのパーティションの種類を参照して、前記ファイルシステムが有効かどうかを確認するためにファイルシステム確認インタフェースを呼び出し、前記ファイルシステムが有効な場合は次のステップを実行すること
    を更に含み、
    前記ファイルシステム確認インタフェースは前記SDKによって提供され、前記SDKによってカプセル化されるファイルシステムツールセットの確認ツールが、前記ファイルシステム確認インタフェースを介して使用される、
    請求項16に記載の仮想ディスク拡張方法。
  18. 前記ファイルシステムが無効な場合は以下のサブステップ:
    前記ファイルシステムを修復するためにファイルシステム修復インタフェースを呼び出すこと、及び
    前記拡張されるパーティションのパーティションの種類を参照して、前記ファイルシステムが修復されたかどうかを確認するために前記ファイルシステム確認インタフェースを呼び出し、前記ファイルシステムが修復された場合は前記新たなパーティションに従って前記ファイルシステムを拡張するためにファイルシステム拡張インタフェースを呼び出すサブステップを実行すること
    を実行し、
    前記ファイルシステム修復インタフェースは前記SDKによって提供され、前記SDKによってカプセル化されるファイルシステムツールセットの修復ツールが、前記ファイルシステム修復インタフェースを介して使用される、
    請求項17に記載の仮想ディスク拡張方法。
  19. 前記拡張されるパーティションのパーティションの種類を参照して、前記ファイルシステムが有効かどうかを確認するためにファイルシステム確認インタフェースを呼び出し、前記ファイルシステムが無効な場合は拡張失敗のリマインド情報を送信すること
    を更に含む、請求項16~18の何れか一項に記載の仮想ディスク拡張方法。
  20. 拡張要求を受信するための拡張要求受信ユニットと、
    前記拡張要求とマッチするシステムイメージを選択するためのシステムイメージ選択ユニットと、
    前記システムイメージ及び前記拡張要求内に含まれる標的ディスクボリューム値に従って仮想ディスクファイルを作成するための仮想ディスクファイル作成ユニットと、
    前記仮想ディスクファイルを物理ホストに組み込み、仮想ディスクを生成するための仮想ディスク生成ユニットと、
    前記仮想ディスクのパーティション情報を読み出すためのパーティション情報読出ユニットと、
    前記仮想ディスクの拡張されるパーティションを削除し、前記拡張されるパーティションのパーティションボリューム値及び拡張値に従って新たなパーティションを作成するためのパーティション拡張ユニットと、
    前記仮想ディスクのファイルシステムを読み出し、前記新たなパーティションに適合するように前記ファイルシステムを拡張するためのファイルシステム拡張ユニットと
    を含み、
    前記システムイメージ選択ユニットは、前記拡張要求内に含まれるオペレーティングシステムの種類と合致するオペレーティングシステムの種類を有するシステムイメージを選択し、前記選択されるシステムイメージの仮想ディスクのボリューム値と、前記拡張要求内に含まれる前記標的ディスクボリューム値との間の差分値は閾値範囲にある、
    仮想ディスク拡張機器。
  21. 前記仮想ディスク生成ユニットが組込インタフェースを呼び出すことによって実現され、
    前記組込インタフェースはSDKによって提供され、前記SDKによってカプセル化される仮想化プラットフォームのそれぞれの組込ツールが、仮想ディスクファイルを組み込むために前記組込インタフェースを介して使用され、前記仮想化プラットフォームがXen及びKVMを含む、
    請求項20に記載の仮想ディスク拡張機器。
  22. 前記仮想ディスクをクリーニングするためにクリーニングインタフェースを呼び出すための仮想ディスククリーニングユニットを更に含み、
    前記クリーニングインタフェースは前記SDKによって提供され、前記SDKによってカプセル化される前記仮想化プラットフォームのそれぞれのクリーニングツールが、前記仮想ディスクをクリーニングするために前記クリーニングインタフェースを介して使用される、
    請求項21に記載の仮想ディスク拡張機器。
  23. 前記仮想ディスクのパーティション情報として前記仮想ディスクファイル内に記録されたパーティション情報を取得するためのパーティション取得インタフェースを呼び出すために前記パーティション情報読出ユニットが更に使用され、
    前記パーティション取得インタフェースはSDKによって提供され、前記SDKによってカプセル化されるパーティションツールによって提供されるパーティション情報取得コマンドが、前記パーティション取得インタフェースを介して使用される、
    請求項20~22の何れか一項に記載の仮想ディスク拡張機器。
  24. 仮想ディスク拡張方法を仮想ディスク拡張機器に実行させるために前記機器の少なくとも1個のプロセッサによって実行可能な1組の命令を記憶する非一時的コンピュータ可読媒体であって、前記方法が
    拡張要求を受信すること、
    前記拡張要求とマッチするシステムイメージを選択すること、
    前記システムイメージ及び前記拡張要求内に含まれる標的ディスクボリューム値に従って仮想ディスクファイルを作成すること、
    前記仮想ディスクファイルを物理ホストに組み込み、仮想ディスクを生成すること、
    前記仮想ディスクのパーティション情報を読み出すこと、
    前記仮想ディスクの拡張されるパーティションを削除し、前記拡張されるパーティションのパーティションボリューム値及び拡張値に従って新たなパーティションを作成すること、及び
    前記仮想ディスクのファイルシステムを読み出し、前記新たなパーティションに適合するように前記ファイルシステムを拡張すること
    を含み、
    前記拡張要求とマッチするシステムイメージを選択することが、前記拡張要求内に含まれるオペレーティングシステムの種類と合致するオペレーティングシステムの種類を有するシステムイメージを選択することを含み、前記選択されるシステムイメージの仮想ディスクのボリューム値と、前記拡張要求内に含まれる前記標的ディスクボリューム値との間の差分値は閾値範囲にある、
    非一時的コンピュータ可読媒体。
  25. 前記1組の命令は、
    組込インタフェースを呼び出すことであって、前記組込インタフェースはSDKによって提供され、前記SDKによってカプセル化される仮想化プラットフォームのそれぞれの組込ツールが、仮想ディスクファイルを組み込むために前記組込インタフェースを介して使用され、前記仮想化プラットフォームがXen及びKVMを含む、呼び出すこと
    を前記機器に更に実行させるために前記機器の前記少なくとも1個のプロセッサによって実行可能である、
    請求項24に記載の非一時的コンピュータ可読媒体。
  26. 前記1組の命令は、
    前記仮想ディスクをクリーニングするためにクリーニングインタフェースを呼び出すこと
    を前記機器に更に実行させるために前記機器の前記少なくとも1個のプロセッサによって実行可能であり、
    前記クリーニングインタフェースは前記SDKによって提供され、前記SDKによってカプセル化される前記仮想化プラットフォームのそれぞれのクリーニングツールが、前記仮想ディスクをクリーニングするために前記クリーニングインタフェースを介して使用される、
    請求項25に記載の非一時的コンピュータ可読媒体。
  27. 前記1組の命令は、
    前記仮想ディスクのパーティション情報として前記仮想ディスクファイル内に記録されたパーティション情報を取得するためのパーティション取得インタフェースを呼び出すこと
    を前記機器に更に実行させるために前記機器の前記少なくとも1個のプロセッサによって実行可能であり、
    前記パーティション取得インタフェースはSDKによって提供され、前記SDKによってカプセル化されるパーティションツールによって提供されるパーティション情報取得コマンドが前記パーティション取得インタフェースを介して使用される、
    請求項24~26の何れか一項に記載の非一時的コンピュータ可読媒体。
JP2019510616A 2016-08-30 2017-08-30 仮想ディスクの拡張方法及び機器 Active JP7012074B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610766855.4 2016-08-30
CN201610766855.4A CN107800730B (zh) 2016-08-30 2016-08-30 一种虚拟磁盘的扩容方法以及装置
PCT/US2017/049463 WO2018045085A1 (en) 2016-08-30 2017-08-30 Virtual disk expansion method and apparatus

Publications (2)

Publication Number Publication Date
JP2019532394A JP2019532394A (ja) 2019-11-07
JP7012074B2 true JP7012074B2 (ja) 2022-01-27

Family

ID=61242635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019510616A Active JP7012074B2 (ja) 2016-08-30 2017-08-30 仮想ディスクの拡張方法及び機器

Country Status (5)

Country Link
US (1) US20180059978A1 (ja)
EP (1) EP3507686A4 (ja)
JP (1) JP7012074B2 (ja)
CN (1) CN107800730B (ja)
WO (1) WO2018045085A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11693792B2 (en) * 2018-01-04 2023-07-04 Google Llc Infernal storage in cloud disk to support encrypted hard drive and other stateful features
CN109634712A (zh) * 2018-10-16 2019-04-16 平安普惠企业管理有限公司 Api功能服务方法、装置、设备及可读存储介质
CN109445706A (zh) * 2018-10-30 2019-03-08 紫光华山信息技术有限公司 磁盘分区扩容方法、装置及服务端
CN109933343A (zh) * 2019-03-26 2019-06-25 新华三信息技术有限公司 一种***安装方法及装置
CN110825703B (zh) * 2019-11-01 2023-04-11 浪潮云信息技术股份公司 一种基于定时任务实现文件***弹性伸缩的方法
CN112035063A (zh) * 2020-08-28 2020-12-04 浪潮云信息技术股份公司 一种基于云平台的硬盘及文件***热扩容的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008117500A (ja) 2006-11-08 2008-05-22 Yokogawa Electric Corp デバイス試験装置
US20110153697A1 (en) 2005-09-15 2011-06-23 Computer Assoicates Think, Inc. Automated Filer Technique for Use in Virtualized Appliances and Applications
US20110208929A1 (en) 2010-02-22 2011-08-25 Mccann William Jon In-place virtualization during operating system installation
US20120191929A1 (en) 2011-01-21 2012-07-26 Hitachi, Ltd. Method and apparatus of rapidly deploying virtual machine pooling volume
US20140181493A1 (en) 2012-12-21 2014-06-26 Unisys Corporation Technique for deploying operating systems in a virtualized environment
CN104572242A (zh) 2013-10-24 2015-04-29 华为技术有限公司 一种扩展虚拟机磁盘空间的方法、装置及虚拟机***

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052724A (en) * 1997-09-02 2000-04-18 Novell Inc Method and system for managing a directory service
US6466952B2 (en) * 1999-04-08 2002-10-15 Hewlett-Packard Company Method for transferring and indexing data from old media to new media
US20050027938A1 (en) * 2003-07-29 2005-02-03 Xiotech Corporation Method, apparatus and program storage device for dynamically resizing mirrored virtual disks in a RAID storage system
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US7921262B1 (en) * 2003-12-18 2011-04-05 Symantec Operating Corporation System and method for dynamic storage device expansion support in a storage virtualization environment
US7653794B2 (en) * 2006-05-08 2010-01-26 Microsoft Corporation Converting physical machines to virtual machines
US7966274B2 (en) * 2006-08-14 2011-06-21 Neural Id Llc Enhanced learning and recognition operations for radial basis functions
WO2008117500A1 (ja) * 2007-03-27 2008-10-02 Nec Corporation 仮想マシン運用システム、仮想マシン運用方法およびプログラム
CN101493795A (zh) * 2008-01-24 2009-07-29 杭州华三通信技术有限公司 存储***和存储控制器以及存储***中的缓存实现方法
CN101566927B (zh) * 2008-04-23 2010-10-27 杭州华三通信技术有限公司 存储***和存储控制器以及数据缓存方法
US9069983B1 (en) * 2009-04-29 2015-06-30 Symantec Corporation Method and apparatus for protecting sensitive information from disclosure through virtual machines files
CN101976181A (zh) * 2010-10-15 2011-02-16 杭州宏杉科技有限公司 一种存储资源的管理方法及管理装置
US8904136B2 (en) * 2011-03-15 2014-12-02 Symantec Corporation Optimized shrinking of virtual disks
US8868863B2 (en) * 2012-01-12 2014-10-21 Alcatel Lucent Method and apparatus for a frugal cloud file system
US9600206B2 (en) * 2012-08-01 2017-03-21 Microsoft Technology Licensing, Llc Request ordering support when switching virtual disk replication logs
CN103513940B (zh) * 2013-10-21 2016-09-07 北京华胜天成科技股份有限公司 虚拟机在线扩展磁盘容量的方法和虚拟***控制台
CN104156175B (zh) * 2014-08-06 2017-05-24 厦门天锐科技股份有限公司 一种虚拟磁盘容量平滑拓展方法
US9772780B2 (en) * 2015-10-30 2017-09-26 Netapp, Inc. Method for non-disruptively aligning I/O access of a host operating system with the underlying storage system
CN105607869B (zh) * 2015-12-15 2019-02-01 国云科技股份有限公司 一种快速格式化与使用虚拟机磁盘的方法
US9898208B2 (en) * 2016-04-27 2018-02-20 Datadirect Networks, Inc. Storage system with hybrid logical volumes utilizing in-band hinting

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110153697A1 (en) 2005-09-15 2011-06-23 Computer Assoicates Think, Inc. Automated Filer Technique for Use in Virtualized Appliances and Applications
JP2008117500A (ja) 2006-11-08 2008-05-22 Yokogawa Electric Corp デバイス試験装置
US20110208929A1 (en) 2010-02-22 2011-08-25 Mccann William Jon In-place virtualization during operating system installation
US20120191929A1 (en) 2011-01-21 2012-07-26 Hitachi, Ltd. Method and apparatus of rapidly deploying virtual machine pooling volume
US20140181493A1 (en) 2012-12-21 2014-06-26 Unisys Corporation Technique for deploying operating systems in a virtualized environment
CN104572242A (zh) 2013-10-24 2015-04-29 华为技术有限公司 一种扩展虚拟机磁盘空间的方法、装置及虚拟机***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
後藤 大地,"チャーリー・ルートからの手紙 第9回 仮想ディスクのサイズ調整が便利になったgrowfs(8)",SoftwareDesign,日本,(株)技術評論社,2014年07月18日,発刊285号,p.148-151
末安 泰三,"Fedora 7を思う存分楽しもう!",日経Linux,日本,日経BP社,2007年08月08日,第9巻 第8号,p.32-54

Also Published As

Publication number Publication date
EP3507686A1 (en) 2019-07-10
US20180059978A1 (en) 2018-03-01
CN107800730A (zh) 2018-03-13
WO2018045085A1 (en) 2018-03-08
CN107800730B (zh) 2021-01-29
JP2019532394A (ja) 2019-11-07
EP3507686A4 (en) 2019-10-09

Similar Documents

Publication Publication Date Title
JP7012074B2 (ja) 仮想ディスクの拡張方法及び機器
US10628208B2 (en) Exposing a proprietary image backup to a hypervisor as a disk file that is bootable by the hypervisor
US8181176B2 (en) Uniform storage device access using partial virtual machine executing within a secure enclave session
CN102402446B (zh) 应用软件的安装方法和应用软件的安装装置
US9311126B2 (en) System and method for virtual partition monitoring
CN107807839B (zh) 一种修改虚拟机内存数据的方法、装置及电子设备
CN109710317B (zh) ***启动方法、装置、电子设备及存储介质
US9547506B2 (en) Synthetic device for installation source media
JP2005322242A (ja) 仮想環境からのハードウェアへの直接アクセスの提供
US10228993B2 (en) Data dump for a memory in a data processing system
US9495181B2 (en) Creating a virtual appliance
CN110716845B (zh) 一种Android***的日志信息读取的方法
US8631423B1 (en) Translating input/output calls in a mixed virtualization environment
CN108228077B (zh) 存储区的管理方法、运行方法、装置、设备、可读介质
US11061695B2 (en) Unikernel provisioning
US10185573B2 (en) Caching based operating system installation
CN114756290B (zh) 一种操作***安装方法、设备及可读存储介质
CN112527325B (zh) 一种应用于超融合架构的部署方法及***
CN110515751B (zh) 一种加载运行VxWorks实时保护进程的方法及***
US11989569B2 (en) Unikernel provisioning
CN114064212A (zh) Pci设备的访问地址跟踪方法、设备及计算机可读存储介质
JP2009211245A (ja) フラッシュメモリ制御システムおよび制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210901

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220117

R150 Certificate of patent or registration of utility model

Ref document number: 7012074

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150