CN116027984A - 一种虚拟化gpt分区方法、存储介质及装置 - Google Patents
一种虚拟化gpt分区方法、存储介质及装置 Download PDFInfo
- Publication number
- CN116027984A CN116027984A CN202310097319.XA CN202310097319A CN116027984A CN 116027984 A CN116027984 A CN 116027984A CN 202310097319 A CN202310097319 A CN 202310097319A CN 116027984 A CN116027984 A CN 116027984A
- Authority
- CN
- China
- Prior art keywords
- partition
- virtualized
- storage medium
- main
- access
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种虚拟化GPT分区方法、存储介质及装置,所述方法用于在虚拟化环境下使得多个虚拟机共享一个存储介质,所述存储介质包括主系统对应的主存储分区、主存储分区表、每个虚拟化系统对应的虚拟化分区和虚拟化分区表;所述主存储分区表中包括所述主存储分区和所述虚拟化分区的分区信息;在所述虚拟化系统访问所述虚拟化系统中的虚拟磁盘时,对后端存储介质的访问被转发至所述主系统的存储介质上,并基于所述虚拟化分区表在所述主系统的存储介质上的偏移,对所述虚拟化系统的虚拟磁盘访问进行地址重定位。上述方案完成了在一块存储介质上让多个系统分开访问多个分区的效果,同时还满足了对任意单独虚拟分区进行更新升级的要求。
Description
技术领域
本公开涉及数据存储领域,具体地,涉及一种虚拟化GPT分区方法、存储介质及装置。
背景技术
存储介质(硬盘/EMMC/UFS等)在一个计算机系统中被用于存放程序及其相关数据,由于其具有掉电数据不丢失的特性,被用来存放系统代码/媒体数据等。一般情况下,一个系统的启动是由固化在主板上的一段程序去读取存储介质上的系统,将系统加载到内存并启动,然后系统会读取存储介质上的分区表,如GPT(全局唯一标示磁盘分区表格式)来确定各个分区的位置,再通过分区得到各个目录以及文件的信息,进而读取整个文件。其中用来索引整个目录文件的数据又被称为元数据(meta data)。
GPT是一种常见的分区表,用于描述某个存储介质上的分区信息,GPT已经被广泛地应用在PC,手机,车载等各个领域的系统之中。
引入虚拟化的场景后,整个计算机系统上会先启动一个主系统也叫HOST OS,HOSTOS会启动多个虚拟化系统也被称为GUEST OS。HOST OS对GUEST OS进行管理并提供虚拟化支持。此时无论HOST OS还是GUESTOS都有访问存储介质的需求,而存储介质上每个分区的元数据不能同时被多个系统访问/修改,否则就会导致数据错误。多种技术方案被设计出来解决这个冲突。
方案1,给系统中增加多个存储介质,这样无论是GUEST OS还是HOST OS都可以独占一个存储介质,访问不同的分区表以及元数据,其读写访问不会破坏其它系统的存储介质数据。
方案2,使用存储前后端技术(如VIRTIO BLOCK),这种技术可以在GUEST OS里面生成一块虚拟磁盘,GUEST OS对这块磁盘的所有访问都被转发到HOST OS。HOST OS将在后端存储介质上进行访问,并将访问结果发送回前端。此时,后端存储介质可以是HOST OS上文件系统中的某个文件,或者HOST OS上存储介质中的某个完整分区。此时,GUEST OS虚拟磁盘的分区表以及元数据存放在HOST OS上的文件或者某个分区中,不会破坏HOST OS存储介质中的元数据。
方案1的缺陷在于,需要在硬件层面添加存储介质,并且某些硬件不具备拓展性,该方案的实现成本过高。
方案2的缺陷在于,如果后端存储介质是HOST OS文件系统中的某个文件,则GUESTOS访问文件除了会经过自身的文件系统还会经过HOST OS的文件系统,文件访问有额外的开销。且方案2中,无论后端存储介质是HOST OS中的文件还是整个分区,在进行GUEST OS系统升级时都需要升级整个后端存储介质,数据量较大,时间较慢。
发明内容
本公开的目的是提供一种虚拟化GPT分区方法、存储介质及装置,用于解决现有技术中存在的,虚拟化的场景中使用存储前后端技术访问存储介质可能会引起额外的开销、且在进行GUEST OS系统升级时需要升级整个后端存储介质,数据量较大,时间较慢的技术问题。
为了实现上述目的,本公开第一方面提供一种虚拟化GPT分区方法,用于在虚拟化环境下使得多个虚拟机共享一个存储介质,所述存储介质包括主系统对应的主存储分区、主存储分区表、每个虚拟化系统对应的虚拟化分区和虚拟化分区表;所述主存储分区表中包括所述主存储分区和所述虚拟化分区的分区信息;
在所述虚拟化系统访问所述虚拟化系统中的虚拟磁盘时,对后端存储介质的访问被转发至所述主系统的存储介质上,并基于所述虚拟化分区表在所述主系统的存储介质上的偏移,对所述虚拟化系统的虚拟磁盘访问进行地址重定位。
可选的,在进行地址重定位时,真实访问地址等于所述虚拟磁盘访问的虚拟访问地址加上所述虚拟化分区表在所述主系统的存储介质上的偏移。
可选的,所述方法还包括:将所述虚拟化分区表存储在所述主存储分区中。
本公开第二方面提供一种应用在虚拟化环境下的存储介质,所述虚拟化环境包括主系统和多个虚拟机上的多个虚拟化系统;所述存储介质包括主系统对应的主存储分区、主存储分区表、每个虚拟化系统对应的虚拟化分区和虚拟化分区表;所述主存储分区表中包括所述主存储分区和所述虚拟化分区的分区信息。
可选的,所述虚拟化分区表存储在所述主存储分区中。
本公开第三方面提供一种一种虚拟化GPT分区装置,用于在虚拟化环境下使得多个虚拟机共享一个存储介质,包括:
存储介质,所述存储介质包括主系统对应的主存储分区、主存储分区表、每个虚拟化系统对应的虚拟化分区和虚拟化分区表;所述主存储分区表中包括所述主存储分区和所述虚拟化分区的分区信息;
访问转发模块,用于在所述虚拟化系统访问所述虚拟化系统中的虚拟磁盘时,将对后端存储介质的访问转发至所述主系统的存储介质上;
地址重定位模块,用于基于所述虚拟化分区表在所述主系统的存储介质上的偏移,对所述虚拟化系统的虚拟磁盘访问进行地址重定位。
本公开第四方面一种电子设备,包括:
存储介质,其上存储有计算机程序;
处理器,用于执行所述存储介质中的所述计算机程序,以实现第一方面所述方法的步骤。
本公开实施例的方案中,通过在存储介质中增加虚拟化分区表以及将GUEST OS的虚拟磁盘访问进行地址重定位,缓解了现有技术中存在的,虚拟化的场景中使用存储前后端技术访问存储介质可能会引起额外的开销、且在进行GUEST OS系统升级时需要升级整个后端存储介质,数据量较大,时间较慢的技术问题,完成了在一块存储介质上让多个系统分开访问多个分区的效果,同时还满足了对任意单独虚拟分区进行更新升级的要求。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的存储介质的示意图;
图2是根据一示例性实施例示出的存储介质按照虚拟化GPT分区方法进行划分的示意图;
图3是根据一示例性实施例示出的将虚拟化分区表放在HOST OS的分区中的示意图;
图4是根据一示例性实施例示出的虚拟化GPT分区装置的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
本公开实施例中,首先对存储介质的原理进行说明。
如图1所示,存储介质以512字节为一个区块,GPT分区表用LBA(Logical BlockAddress,逻辑区块地址)表示一个区块,总共34个区块,共17408字节。其中,LBA0用于保留兼容MBR(Memory Buffer Register,内存缓冲寄存器)分区表,LBA1用于描述整个存储介质的大小等信息。从LBA2开始每个LBA可以描述4个分区,剩下的32个LBA最大可以描述128个分区,LBA描述的每个分区包含了分区的起始位置,长度等信息。此外,存储介质的最后34个区块用于对GPT分区表做一个备份,以防开始的GPT被破坏。
本公开实施例中,存储介质可以为硬盘、EMMC(Embedded Multi Media Card)和UFS(UNIX文件系统的简称)等,本公开对此不作限制。
本公开实施例中,引入虚拟化场景后,需要在图1所示的原有分区的基础上添加虚拟化分区(GUEST OS分区)和虚拟化分区表(GUEST OS分区表)的预留空间。此时,HOST OS通过HOST OS GPT能看到所有分区和虚拟化分区。GUEST OS访问虚拟磁盘时,其后端存储介质的访问被转发到HOST OS存储介质上,并进行地址重定位,访问地址被重定向到以GUEST OS分区表首地址为0的新地址,即真实访问地址=虚拟访问地址+GUEST OS分区表在HOST OS存储介质上的偏移。如图2所示。
本公开实施例中,通过在已有的GPT分区中新增单独的GUEST分区并插入GUESTGPT,GUEST OS对虚拟磁盘的访问被后端存储介质重定向到GUEST GPT的偏移处,即真实访问地址=GUEST访问地址+GUEST OS分区表在HOST OS存储介质上的偏移,使得GUEST OS仅能访问GUEST OS分区表表示的分区,无法破坏不属于其分区的元数据。在对GUEST OS进行系统升级时,也可以只升级GUEST OS其中的一个分区,而非GUEST OS整个虚拟磁盘,节约了升级时间以及在线升级时减少了传输的数据量。
本公开实施例中,如图3所示,还可以把虚拟化分区表(GUEST OS分区表)放在HOSTOS的某个分区中,此时,虚拟化分区表分区对于HOST OS来说就是一个普通的数据分区。升级时除了可以更新GUEST OS分区,还可以通过同时更新HOST OS分区表和GUEST OS分区表来对GUEST OS分区进行扩容。
基于同一发明构思,本公开实施例还提供一种虚拟化GPT分区装置400,用于在虚拟化环境下使得多个虚拟机共享一个存储介质,如图4所示,所述装置包括:存储介质401,所述存储介质401包括主系统对应的主存储分区、主存储分区表、每个虚拟化系统对应的虚拟化分区和虚拟化分区表;所述主存储分区表中包括所述主存储分区和所述虚拟化分区的分区信息;访问转发模块402,用于在所述虚拟化系统访问所述虚拟化系统中的虚拟磁盘时,将对后端存储介质的访问转发至所述主系统的存储介质上;地址重定位模块403,用于基于所述虚拟化分区表在所述主系统的存储介质上的偏移,对所述虚拟化系统的虚拟磁盘访问进行地址重定位。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在另一示例性实施例中,本公开还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的虚拟化GPT分区方法的代码部分。
在另一示例性实施例中,本公开还提供一种电子设备,包括:存储介质,其上存储有计算机程序;处理器,用于执行所述存储介质中的所述计算机程序,以实现上述虚拟化GPT分区方法的步骤。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (7)
1.一种虚拟化GPT分区方法,用于在虚拟化环境下使得多个虚拟机共享一个存储介质,其特征在于,所述存储介质包括主系统对应的主存储分区、主存储分区表、每个虚拟化系统对应的虚拟化分区和虚拟化分区表;所述主存储分区表中包括所述主存储分区和所述虚拟化分区的分区信息;
在所述虚拟化系统访问所述虚拟化系统中的虚拟磁盘时,对后端存储介质的访问被转发至所述主系统的存储介质上,并基于所述虚拟化分区表在所述主系统的存储介质上的偏移,对所述虚拟化系统的虚拟磁盘访问进行地址重定位。
2.如权利要求1所述的方法,其特征在于,在进行地址重定位时,真实访问地址等于所述虚拟磁盘访问的虚拟访问地址加上所述虚拟化分区表在所述主系统的存储介质上的偏移。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:将所述虚拟化分区表存储在所述主存储分区中。
4.一种应用在虚拟化环境下的存储介质,其特征在于,所述虚拟化环境包括主系统和多个虚拟机上的多个虚拟化系统;所述存储介质包括主系统对应的主存储分区、主存储分区表、每个虚拟化系统对应的虚拟化分区和虚拟化分区表;所述主存储分区表中包括所述主存储分区和所述虚拟化分区的分区信息。
5.如权利要求4所述的存储介质,其特征在于,所述虚拟化分区表存储在所述主存储分区中。
6.一种虚拟化GPT分区装置,用于在虚拟化环境下使得多个虚拟机共享一个存储介质,其特征在于,包括:
存储介质,所述存储介质包括主系统对应的主存储分区、主存储分区表、每个虚拟化系统对应的虚拟化分区和虚拟化分区表;所述主存储分区表中包括所述主存储分区和所述虚拟化分区的分区信息;
访问转发模块,用于在所述虚拟化系统访问所述虚拟化系统中的虚拟磁盘时,将对后端存储介质的访问转发至所述主系统的存储介质上;
地址重定位模块,用于基于所述虚拟化分区表在所述主系统的存储介质上的偏移,对所述虚拟化系统的虚拟磁盘访问进行地址重定位。
7.一种电子设备,其特征在于,包括:
存储介质,其上存储有计算机程序;
处理器,用于执行所述存储介质中的所述计算机程序,以实现权利要求1-3中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310097319.XA CN116027984A (zh) | 2023-02-03 | 2023-02-03 | 一种虚拟化gpt分区方法、存储介质及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310097319.XA CN116027984A (zh) | 2023-02-03 | 2023-02-03 | 一种虚拟化gpt分区方法、存储介质及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116027984A true CN116027984A (zh) | 2023-04-28 |
Family
ID=86078063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310097319.XA Pending CN116027984A (zh) | 2023-02-03 | 2023-02-03 | 一种虚拟化gpt分区方法、存储介质及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116027984A (zh) |
-
2023
- 2023-02-03 CN CN202310097319.XA patent/CN116027984A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11640353B2 (en) | Memory system, data storage device, user device and data management method thereof | |
US10089012B1 (en) | Zero on demand operations based on zeroed chunk tables of storage drive objects stored in main memory | |
KR102149817B1 (ko) | 메모리 어드레싱 | |
US20080229046A1 (en) | Unified support for solid state storage | |
CN101983376B (zh) | 访问装置、信息记录装置、信息记录系统、文件管理方法和程序 | |
US20050228963A1 (en) | Defragmenting objects in a storage medium | |
CN105808163B (zh) | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 | |
CN106326229B (zh) | 一种嵌入式系统的文件存储方法和装置 | |
CN112463753B (zh) | 一种区块链数据存储方法、系统、设备及可读存储介质 | |
CN108628542B (zh) | 一种文件合并方法及控制器 | |
TW201214270A (en) | Preserving an existing volume map in re-initializing a data storage volume | |
US9983826B2 (en) | Data storage device deferred secure delete | |
CN107203480B (zh) | 一种数据预取方法以及装置 | |
KR20140093505A (ko) | 단말기의 메모리 확장 장치 및 방법 | |
US9009440B2 (en) | Adjustment of data storage capacity provided by a storage system | |
US20120089765A1 (en) | Method for performing automatic boundary alignment and related non-volatile memory device | |
US11481132B2 (en) | Removing stale hints from a deduplication data store of a storage system | |
CN105653539A (zh) | 索引分布式存储的实现方法和装置 | |
CN104133640B (zh) | 从休眠快速恢复 | |
US9535796B2 (en) | Method, apparatus and computer for data operation | |
US9003129B1 (en) | Techniques for inter-storage-processor cache communication using tokens | |
CN116027984A (zh) | 一种虚拟化gpt分区方法、存储介质及装置 | |
CN111913664B (zh) | 一种数据写入方法及装置 | |
CN110287064B (zh) | 一种磁盘数据的还原方法、装置及电子设备 | |
CN109002265B (zh) | 一种数据处理的方法以及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |