CN117376341A - 一种将文件上传至虚拟机的方法、装置、设备及介质 - Google Patents
一种将文件上传至虚拟机的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117376341A CN117376341A CN202311327078.XA CN202311327078A CN117376341A CN 117376341 A CN117376341 A CN 117376341A CN 202311327078 A CN202311327078 A CN 202311327078A CN 117376341 A CN117376341 A CN 117376341A
- Authority
- CN
- China
- Prior art keywords
- target
- virtual machine
- management platform
- virtual disk
- virtualization management
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000006243 chemical reaction Methods 0.000 claims abstract description 35
- 238000004590 computer program Methods 0.000 claims description 21
- 238000005516 engineering process Methods 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
- G06F16/1794—Details of file format conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种将文件上传至虚拟机的方法、装置、设备及介质,涉及计算机技术领域,包括:获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘;接收虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,并根据目标参数对虚拟磁盘进行格式转换,得到目标虚拟磁盘;将目标虚拟磁盘虚拟为目标块设备,并将目标块设备挂载至与目标虚拟机对应的目标临时目录;在虚拟化管理平台将目标文件传输至目标临时目录后,将当前目标块设备挂载至目标虚拟机。可见,本申请无需预先为目标虚拟机配置网络,即可快速地将文件传输到目标虚拟机内部,并且本申请无需将目标虚拟机关机再开机或重启,保证了用户业务运行的稳定性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种将文件上传至虚拟机的方法、装置、设备及介质。
背景技术
虚拟化是指通过虚拟化技术,将一台物理服务器(物理机)虚拟为多台逻辑服务器(虚拟机),使得用户可以在一台物理机上同时运行多个虚拟机,每个虚拟机可以运行不同的操作系统且互不影响,显著提高了工作效率,节省了计算资源。虚拟化技术例如KVM(Kernel-based virtual machine,基于内核的虚拟机)、VMware(Virtual Machine ware,虚拟机器软件)等。
用户在使用虚拟化管理平台上的虚拟机时,经常会有从本地电脑传输文件到虚拟机内部的需求。目前来说,大多是通过给虚拟机配置网络后,通过视窗操作系统远程桌面或者xftp(一种文件传输工具)等来传输文件,这种方法的缺点是:文件传输的稳定性与网络的稳定性密切相关,如果网络不稳定则会影响文件传输,并且通过给虚拟机配置网络的方法存在一定的不安全性;另一种方法是提供一个共享文件夹,将相关文件通过网络协议上传到共享文件夹中,以供虚拟机内部访问和使用,但由于安全性问题,目前这种方式使用较少。此外,传统方法有时还需要将虚拟机关机再开机或重启,无法在线实现文件传输。
为此,在将文件上传至虚拟机的过程中,如何提高文件传输的稳定性和安全性,同时实现在线传输,以保证用户业务连续不中断,是本领域亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种将文件上传至虚拟机的方法、装置、设备及介质,能够提高文件传输的稳定性和安全性,同时实现在线传输,以保证用户业务连续不中断,其具体方案如下:
第一方面,本申请公开了一种将文件上传至虚拟机的方法,包括:
获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘;
接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,并根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘;
将所述目标虚拟磁盘虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的目标临时目录;
在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前所述目标块设备挂载至所述目标虚拟机。
可选的,所述获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘,包括:
获取虚拟化管理平台在接收到用户上传的目标文件后,通过调用应用程序接口并基于目标虚拟机磁盘管理命令创建的虚拟磁盘。
可选的,所述虚拟磁盘的格式包括写时复制格式和裸格式。
可选的,所述目标参数包括用于表明所述目标虚拟机的操作系统类型为视窗操作系统的第一目标参数以及用于表明所述目标虚拟机的操作系统类型为Linux操作系统的第二目标参数。
可选的,所述接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,包括:
接收所述虚拟化管理平台发送的所述第一目标参数;
相应的,所述根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘,包括:
根据所述第一目标参数将所述写时复制格式下的所述虚拟磁盘转换为新技术文件系统格式下的所述虚拟磁盘,得到所述目标虚拟磁盘;
或,所述接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,包括:
接收所述虚拟化管理平台发送的所述第二目标参数;
相应的,所述根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘,包括:
根据所述第二目标参数将所述裸格式下的所述虚拟磁盘转换为第四代扩展文件系统格式下的所述虚拟磁盘,得到所述目标虚拟磁盘。
可选的,所述将所述目标块设备挂载至与所述目标虚拟机对应的目标临时目录之前,还包括:
获取所述虚拟化管理平台根据所述目标虚拟机的身份标识号创建的所述目标临时目录。
可选的,所述在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前所述目标块设备挂载至所述目标虚拟机,包括:
在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,通过调用目标虚拟化管理工具将当前所述目标块设备挂载至所述目标虚拟机。
第二方面,本申请公开了一种将文件上传至虚拟机的装置,包括:
虚拟磁盘获取模块,用于获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘;
格式转换模块,用于接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,并根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘;
第一挂载模块,用于将所述目标虚拟磁盘虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的目标临时目录;
第二挂载模块,用于在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前所述目标块设备挂载至所述目标虚拟机。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的将文件上传至虚拟机的方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的将文件上传至虚拟机的方法。
可见,本申请提出一种将文件上传至虚拟机的方法,包括:获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘;接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,并根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘;将所述目标虚拟磁盘虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的目标临时目录;在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前所述目标块设备挂载至所述目标虚拟机。综上可见,本申请中的虚拟化管理平台在接收到用户上传的目标文件后自动创建虚拟磁盘,然后,本申请根据目标虚拟机的操作系统类型对所述虚拟磁盘进行格式转换,以使转换后的目标虚拟机能够被相应的操作系统所识别,进一步的,本申请将目标虚拟机虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的目标目录,最后,在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前的目标块设备挂载至所述目标虚拟机,以实现将所述目标文件上传至所述目标虚拟机,可见,本申请无需提前为虚拟机配置好网络,也无需对虚拟机进行重启,提高了文件传输的稳定性和安全性,保证了用户业务连续不中断,减少了运维人员的运维压力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种将文件上传至虚拟机的方法流程图;
图2为本申请公开的一种具体的将文件上传至虚拟机的方法流程图;
图3为本申请公开的另一种具体的将文件上传至虚拟机的方法流程图;
图4为本申请公开的一种将文件上传至虚拟机的装置结构示意图;
图5为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
从本地电脑传输文件到虚拟机有两种方法,第一种是通过给虚拟机配置网络后,通过视窗操作系统远程桌面或者xftp工具等来传输文件,这种方法的缺点是:文件传输的稳定性与网络的稳定性密切相关,如果网络不稳定则会影响文件传输,并且通过给虚拟机配置网络的方法存在一定的不安全性;另一种方法是提供一个共享文件夹,将相关文件通过网络协议上传到共享文件夹中,以供虚拟机内部访问和使用,但由于安全性问题,目前这种方式使用较少。此外,传统方法有时还需要将虚拟机关机再开机或重启,无法在线实现文件传输。
进一步的,对于目前主流的基于硬件辅助的虚拟化架构来说,主要是通过KVM内核模块来模拟CPU(Central Processing Unit/Processor,中央处理器)和内存设备,而IO(Input/Output,输入输出)设备(例如网卡、磁盘等)则是通过QEMU(Quick EMUlator,虚拟操作系统模拟器)技术来模拟,并在此基础上结合形成了QEMU-KVM技术(一种服务器虚拟化技术,负责提供对CPU、内存和各种IO设备的模拟),实现了服务器的虚拟化。
对于每个虚拟机来说,其在物理机上的表现就是一个QEMU-KVM进程,并可以通过qemu-img(一个开源的虚拟机磁盘管理命令,可以对虚拟磁盘进行生命周期管理)来管理虚拟机的虚拟磁盘。而上层的虚拟化管理平台,一般是通过应用程序接口对底层的KVM虚拟机进行管理,包括开机关机、添加磁盘、移除磁盘等虚拟机生命周期管理相关的操作,具体则是通过virsh(一个虚拟化管理工具,用于管理虚拟化环境中的虚拟机和管理程序)命令来实现,这是一个完全在命令行文本模式下运行的用户态工具,多用于管理员通过脚本程序来实现虚拟化自动部署和管理。
基于上述原理,本申请实施例提出一种将文件上传至虚拟机的方案,能够提高文件传输的稳定性和安全性,同时实现在线传输,以保证用户业务连续不中断。
本申请实施例公开了一种将文件上传至虚拟机的方法,参见图1和图2所示,该方法包括:
步骤S11:获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘。
本实施例中,用户通过客户端登录虚拟化管理平台的界面,并选择本地电脑的文件,上传到虚拟化管理平台的相应窗口。具体的,用户在登录虚拟化管理平台的界面后,发出上传文件的指令,虚拟化管理平台在接收到文件上传的指令后,弹出上传文件窗口,以便用户将目标文件上传至该窗口。
进一步的,虚拟化管理平台调用应用程序接口(Application ProgramInterface,API),并基于目标虚拟机磁盘管理命令,即qemu-img命令在底层创建一个虚拟磁盘,具体命令为:
qemu-img create-f qcow2/raw disk_uuid 10G。
其中,所述虚拟磁盘的格式包括写时复制格式(qcow2)和裸格式(raw),所述虚拟磁盘的大小为10G。
本实施例,获取虚拟化管理平台在接收到用户上传的目标文件后,通过调用应用程序接口并基于目标虚拟机磁盘管理命令创建的虚拟磁盘。
步骤S12:接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,并根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘。
本实施例中,虚拟化管理平台会同步将目标虚拟机的操作系统类型作为目标参数传至底层,所述目标参数包括用于表明所述目标虚拟机的操作系统类型为视窗操作系统(windows操作系统)的第一目标参数以及用于表明所述目标虚拟机的操作系统类型为Linux操作系统的第二目标参数。
在一种具体的实施方式中,接收所述虚拟化管理平台发送的所述第一目标参数;相应的,所述根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘,包括:根据所述第一目标参数将所述写时复制格式下的所述虚拟磁盘转换为新技术文件系统格式(ntfs格式)下的所述虚拟磁盘,得到所述目标虚拟磁盘。具体命令为:mkfs.ntfs disk_uuid。
在第二种具体的实施方式中,接收所述虚拟化管理平台发送的所述第二目标参数;相应的,所述根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘,包括:根据所述第二目标参数将所述裸格式下的所述虚拟磁盘转换为第四代扩展文件系统格式(ext4文件系统)下的所述虚拟磁盘,得到所述目标虚拟磁盘。具体命令为:mkfs.ext4disk_uuid。
步骤S13:将所述目标虚拟磁盘虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的目标临时目录。
上述实施例中,在对虚拟磁盘格式化后,得到了目标虚拟磁盘,本实施例中,将该目标虚拟磁盘虚拟为目标块设备,以便以块设备的形式挂载到目标临时目录上。
步骤S14:在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前所述目标块设备挂载至所述目标虚拟机。
需要指出的是,虚拟化管理平台首先将用户上传的目标文件传输到该临时目录,进一步的,本实施例在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前所述目标块设备挂载至所述目标虚拟机,这样一来,用户可在虚拟机内部读取该磁盘内部的文件。
可见,本申请提出一种将文件上传至虚拟机的方法,包括:获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘;接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,并根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘;将所述目标虚拟磁盘虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的目标临时目录;在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前所述目标块设备挂载至所述目标虚拟机。综上可见,本申请中的虚拟化管理平台在接收到用户上传的目标文件后自动创建虚拟磁盘,然后,本申请根据目标虚拟机的操作系统类型对所述虚拟磁盘进行格式转换,以使转换后的目标虚拟机能够被相应的操作系统所识别,进一步的,本申请将目标虚拟机虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的目标目录,最后,在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前的目标块设备挂载至所述目标虚拟机,以实现将所述目标文件上传至所述目标虚拟机,可见,本申请无需提前为虚拟机配置好网络,也无需对虚拟机进行重启,提高了文件传输的稳定性和安全性,保证了用户业务连续不中断,减少了运维人员的运维压力。
本申请实施例公开了一种具体的将文件上传至虚拟机的方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图3所示,具体包括:
步骤S21:获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘。
步骤S22:接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,并根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘。
其中,关于步骤S21、步骤S22更加具体的过程参见前述公开的实施例所示,在此不做具体赘述。
步骤S23:获取所述虚拟化管理平台根据所述目标虚拟机的身份标识号创建的所述目标临时目录。
本实施例中,虚拟化管理平台根据虚拟机的身份标识号(Identity document,ID),在底层创建一个目标临时目录,如/tmp/虚拟机id,即:mkdir/tmp/虚拟机uuid。
步骤S24:将所述目标虚拟磁盘虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的所述目标临时目录。
进一步的,将所述目标虚拟磁盘虚拟成目标块设备,并将所述目标块设备挂载至所述目标临时目录,即mount-o loop disk_uuid/tmp/虚拟机id。
步骤S25:在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,通过调用目标虚拟化管理工具将当前所述目标块设备挂载至所述目标虚拟机。
本实施例中,虚拟化管理平台将用户上传的目标文件,传输到物理机的/tmp/虚拟机id目录下。进一步的,本实施例通过调用目标虚拟化管理工具(virsh attach-disk),将当前块设备在线添加给目标虚拟机。
这样一来,用户打开虚拟机控制台后可以看到该目标虚拟磁盘以vdx或sdx的盘符存在,无需再对所述目标虚拟磁盘格式化。此外,对于Linux操作系统,需要通过mount命令(用于挂载Linux操作系统外的文件)将所述目标虚拟磁盘挂载到相应目录,即可读取此前用户在虚拟化管理平台上传的目标文件。例如:mount/dev/vdb/mnt,即可在/mnt下找到目标文件。
这样一来,本申请提出了一种从虚拟化管理平台上传目标文件到目标虚拟机的优化方法,用户通过访问虚拟化管理平台并执行相关操作,平台自动调用应用程序接口在底层创建一个临时的虚拟磁盘,根据虚拟机操作系统类型将其格式化后,将其以一个普通块设备的形式挂载到临时目录,将用户在虚拟化管理平台上传的文件传输到该临时目录下,最后通过目标虚拟化管理工具将该虚拟磁盘在线挂载给虚拟机,用户即可在操作系统内看到该虚拟磁盘内的文件。并且当用户使用完毕后,还可自动移除、删除该磁盘文件。可见,使用此方法可方便快捷地帮助用户从本地电脑上传文件到虚拟机内部,且无需提前为虚拟机配置好网络,可用于刚安装完操作系统的调试阶段,且该过程无需虚拟机重启,基本不需要在操作系统内做太多操作,减少了运维人员的运维压力,降低了运维成本。
可见,本申请提出一种将文件上传至虚拟机的方法,包括:获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘;接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,并根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘;获取所述虚拟化管理平台根据所述目标虚拟机的身份标识号创建的所述目标临时目录;将所述目标虚拟磁盘虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的所述目标临时目录;在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,通过调用目标虚拟化管理工具将当前所述目标块设备挂载至所述目标虚拟机。综上可见,本申请中的虚拟化管理平台在接收到用户上传的目标文件后自动创建虚拟磁盘,然后,本申请根据目标虚拟机的操作系统类型对所述虚拟磁盘进行格式转换,以使转换后的目标虚拟机能够被相应的操作系统所识别,进一步的,本申请将目标虚拟机虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的目标目录,最后,在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前的目标块设备挂载至所述目标虚拟机,以实现将所述目标文件上传至所述目标虚拟机,可见,本申请无需提前为虚拟机配置好网络,也无需对虚拟机进行重启,提高了文件传输的稳定性和安全性,保证了用户业务连续不中断,减少了运维人员的运维压力。
相应的,本申请实施例还公开了一种将文件上传至虚拟机的装置,参见图4所示,该装置包括:
虚拟磁盘获取模块11,用于获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘;
格式转换模块12,用于接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,并根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘;
第一挂载模块13,用于将所述目标虚拟磁盘虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的目标临时目录;
第二挂载模块14,用于在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前所述目标块设备挂载至所述目标虚拟机。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请提出一种将文件上传至虚拟机的装置,包括:虚拟磁盘获取模块11,用于获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘;格式转换模块12,用于接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,并根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘;第一挂载模块13,用于将所述目标虚拟磁盘虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的目标临时目录;第二挂载模块14,用于在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前所述目标块设备挂载至所述目标虚拟机。综上可见,本申请中的虚拟化管理平台在接收到用户上传的目标文件后自动创建虚拟磁盘,然后,本申请根据目标虚拟机的操作系统类型对所述虚拟磁盘进行格式转换,以使转换后的目标虚拟机能够被相应的操作系统所识别,进一步的,本申请将目标虚拟机虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的目标目录,最后,在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前的目标块设备挂载至所述目标虚拟机,以实现将所述目标文件上传至所述目标虚拟机,可见,本申请无需提前为虚拟机配置好网络,也无需对虚拟机进行重启,提高了文件传输的稳定性和安全性,保证了用户业务连续不中断,减少了运维人员的运维压力。
在一些具体实施例中,所述虚拟磁盘获取模块11,具体可以包括:
虚拟磁盘获取单元,用于获取虚拟化管理平台在接收到用户上传的目标文件后,通过调用应用程序接口并基于目标虚拟机磁盘管理命令创建的虚拟磁盘。
在一些具体实施例中,所述虚拟磁盘的格式包括写时复制格式和裸格式。
在一些具体实施例中,所述目标参数包括用于表明所述目标虚拟机的操作系统类型为视窗操作系统的第一目标参数以及用于表明所述目标虚拟机的操作系统类型为Linux操作系统的第二目标参数。
在一些具体实施例中,所述格式转换模块12,具体可以包括:
第一目标参数接收单元,用于接收所述虚拟化管理平台发送的所述第一目标参数;
相应的,所述格式转换模块12,具体可以包括:
第一格式转换单元,用于根据所述第一目标参数将所述写时复制格式下的所述虚拟磁盘转换为新技术文件系统格式下的所述虚拟磁盘,得到所述目标虚拟磁盘;
在一些具体实施例中,所述格式转换模块12,具体可以包括:
第二目标参数接收单元,用于接收所述虚拟化管理平台发送的所述第二目标参数;
相应的,所述格式转换模块12,具体可以包括:
第二格式转换单元,用于根据所述第二目标参数将所述裸格式下的所述虚拟磁盘转换为第四代扩展文件系统格式下的所述虚拟磁盘,得到所述目标虚拟磁盘。
在一些具体实施例中,所述第一挂载模块13之前,进一步还可以包括:
目标临时目录获取单元,用于获取所述虚拟化管理平台根据所述目标虚拟机的身份标识号创建的所述目标临时目录。
在一些具体实施例中,所述第二挂载模块14,具体可以包括:
第二挂载单元,用于在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,通过调用目标虚拟化管理工具将当前所述目标块设备挂载至所述目标虚拟机。
进一步的,本申请实施例还提供了一种电子设备。图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、显示屏23、输入输出接口24、通信接口25、电源26和通信总线27。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现以下步骤:
获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘;
接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,并根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘;
将所述目标虚拟磁盘虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的目标临时目录;
在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前所述目标块设备挂载至所述目标虚拟机。
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
获取虚拟化管理平台在接收到用户上传的目标文件后,通过调用应用程序接口并基于目标虚拟机磁盘管理命令创建的虚拟磁盘。
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
所述虚拟磁盘的格式包括写时复制格式和裸格式。
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
所述目标参数包括用于表明所述目标虚拟机的操作系统类型为视窗操作系统的第一目标参数以及用于表明所述目标虚拟机的操作系统类型为Linux操作系统的第二目标参数。
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
接收所述虚拟化管理平台发送的所述第一目标参数;
相应的,所述根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘,包括:
根据所述第一目标参数将所述写时复制格式下的所述虚拟磁盘转换为新技术文件系统格式下的所述虚拟磁盘,得到所述目标虚拟磁盘;
或,所述接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,包括:
接收所述虚拟化管理平台发送的所述第二目标参数;
相应的,所述根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘,包括:
根据所述第二目标参数将所述裸格式下的所述虚拟磁盘转换为第四代扩展文件系统格式下的所述虚拟磁盘,得到所述目标虚拟磁盘。
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
获取所述虚拟化管理平台根据所述目标虚拟机的身份标识号创建的所述目标临时目录。
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,通过调用目标虚拟化管理工具将当前所述目标块设备挂载至所述目标虚拟机。
另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源26用于为电子设备20上的各硬件设备提供工作电压;通信接口25能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口24,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括计算机程序221,存储方式可以是短暂存储或者永久存储。其中,计算机程序221除了包括能够用于完成前述任一实施例公开的由电子设备20执行的将文件上传至虚拟机的方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的将文件上传至虚拟机的方法。
关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种将文件上传至虚拟机的方法、装置、设备、存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种将文件上传至虚拟机的方法,其特征在于,包括:
获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘;
接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,并根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘;
将所述目标虚拟磁盘虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的目标临时目录;
在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前所述目标块设备挂载至所述目标虚拟机。
2.根据权利要求1所述的将文件上传至虚拟机的方法,其特征在于,所述获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘,包括:
获取虚拟化管理平台在接收到用户上传的目标文件后,通过调用应用程序接口并基于目标虚拟机磁盘管理命令创建的虚拟磁盘。
3.根据权利要求2所述的将文件上传至虚拟机的方法,其特征在于,所述虚拟磁盘的格式包括写时复制格式和裸格式。
4.根据权利要求3所述的将文件上传至虚拟机的方法,其特征在于,所述目标参数包括用于表明所述目标虚拟机的操作系统类型为视窗操作系统的第一目标参数以及用于表明所述目标虚拟机的操作系统类型为Linux操作系统的第二目标参数。
5.根据权利要求4所述的将文件上传至虚拟机的方法,其特征在于,所述接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,包括:
接收所述虚拟化管理平台发送的所述第一目标参数;
相应的,所述根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘,包括:
根据所述第一目标参数将所述写时复制格式下的所述虚拟磁盘转换为新技术文件系统格式下的所述虚拟磁盘,得到所述目标虚拟磁盘;
或,所述接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,包括:
接收所述虚拟化管理平台发送的所述第二目标参数;
相应的,所述根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘,包括:
根据所述第二目标参数将所述裸格式下的所述虚拟磁盘转换为第四代扩展文件系统格式下的所述虚拟磁盘,得到所述目标虚拟磁盘。
6.根据权利要求1所述的将文件上传至虚拟机的方法,其特征在于,所述将所述目标块设备挂载至与所述目标虚拟机对应的目标临时目录之前,还包括:
获取所述虚拟化管理平台根据所述目标虚拟机的身份标识号创建的所述目标临时目录。
7.根据权利要求1至6任一项所述的将文件上传至虚拟机的方法,其特征在于,所述在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前所述目标块设备挂载至所述目标虚拟机,包括:
在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,通过调用目标虚拟化管理工具将当前所述目标块设备挂载至所述目标虚拟机。
8.一种将文件上传至虚拟机的装置,其特征在于,包括:
虚拟磁盘获取模块,用于获取虚拟化管理平台在接收到用户上传的目标文件后创建的虚拟磁盘;
格式转换模块,用于接收所述虚拟化管理平台发送的用于表明目标虚拟机的操作系统类型的目标参数,并根据所述目标参数对所述虚拟磁盘进行格式转换,得到目标虚拟磁盘;
第一挂载模块,用于将所述目标虚拟磁盘虚拟为目标块设备,并将所述目标块设备挂载至与所述目标虚拟机对应的目标临时目录;
第二挂载模块,用于在所述虚拟化管理平台将所述目标文件传输至所述目标临时目录后,将当前所述目标块设备挂载至所述目标虚拟机。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的将文件上传至虚拟机的方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的将文件上传至虚拟机的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311327078.XA CN117376341A (zh) | 2023-10-13 | 2023-10-13 | 一种将文件上传至虚拟机的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311327078.XA CN117376341A (zh) | 2023-10-13 | 2023-10-13 | 一种将文件上传至虚拟机的方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117376341A true CN117376341A (zh) | 2024-01-09 |
Family
ID=89388580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311327078.XA Pending CN117376341A (zh) | 2023-10-13 | 2023-10-13 | 一种将文件上传至虚拟机的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117376341A (zh) |
-
2023
- 2023-10-13 CN CN202311327078.XA patent/CN117376341A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109525624B (zh) | 一种容器登录方法、装置及存储介质 | |
US8627310B2 (en) | Capturing multi-disk virtual machine images automatically | |
US8924954B2 (en) | Application software installation method and application software installation apparatus | |
US9003001B2 (en) | Bios parameter virtualization via BIOS configuration profiles | |
CN101398770B (zh) | 迁移一个或多个虚拟机的系统和方法 | |
US8909912B2 (en) | Apparatus and method for configuring a target machine with captured operational state comprising a static machine profile and a dynamic machine state to continue operations of a source machine | |
US10061665B2 (en) | Preserving management services with self-contained metadata through the disaster recovery life cycle | |
JP5893029B2 (ja) | クラウド・コンピューティング環境においてハイパーバイザの制御を可能にする方法 | |
EP2765508A1 (en) | Installation method and installation device for application software | |
EP2019358A1 (en) | A method and a system for the creation and deployment of a virtual machine appliance on virtualised servers | |
US20100325624A1 (en) | Method and System for Application Portability | |
CN105765534A (zh) | 虚拟计算系统和方法 | |
CN104144173A (zh) | 一种基于分布式虚拟服务技术的校园云平台系统和方法 | |
CN107632937B (zh) | 一种对虚拟机集群进行测试的方法、装置、可读存储介质 | |
US9223606B1 (en) | Automatically configuring and maintaining cluster level high availability of a virtual machine running an application according to an application level specified service level agreement | |
CN102447723A (zh) | 客户端虚拟化架构 | |
US9558076B2 (en) | Methods and systems of cloud-based disaster recovery | |
US20120240181A1 (en) | Techniques for securing a checked-out virtual machine in a virtual desktop infrastructure | |
US11886902B2 (en) | Physical-to-virtual migration method and apparatus, and storage medium | |
US8458693B2 (en) | Transitioning from static to dynamic cluster management | |
CN105338048A (zh) | 一种虚拟桌面基础架构下的文件传输方法和系统 | |
US10223218B2 (en) | Disaster recovery of managed systems | |
US20190205109A1 (en) | Computer system, baseboard management controller, and os installation method | |
US8930967B2 (en) | Shared versioned workload partitions | |
CN107861761B (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 |