CN106453616A - 一种基于文件的虚拟机与宿主机通信方法 - Google Patents
一种基于文件的虚拟机与宿主机通信方法 Download PDFInfo
- Publication number
- CN106453616A CN106453616A CN201611003509.7A CN201611003509A CN106453616A CN 106453616 A CN106453616 A CN 106453616A CN 201611003509 A CN201611003509 A CN 201611003509A CN 106453616 A CN106453616 A CN 106453616A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- file
- qemu
- communication
- content
- 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.)
- Withdrawn
Links
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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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
-
- 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]
Abstract
本发明涉及云计算与网络技术领域,特别是一种基于文件的虚拟机与宿主机通信方法。本发明首先是需要qemu‑guest‑agent工具让虚拟机与物理机保持串口通道通信,然后对文件内容进行加密,防止通信过程中出现编码问题,再通过qemu‑guest‑agent工具打开虚拟机里面一个可写的文件路径,最后将加密后的内容解密在写进文件内,从而达到物理机与虚拟机之间以文件形式通信。本发明解决了云平台可以更新虚拟机内部文件,更好地保持虚拟机功能的完整性和数据一致性,让客户已有的虚拟机不需要迁移业务的情况下更新虚拟机内部环境,增大了用户体验。
Description
技术领域
本发明涉及云计算与网络技术领域,特别是一种基于文件的虚拟机与宿主机通信方法。
背景技术
随着云计算行业日益发展,云平台上虚拟机越来越多,技术不断更新,对于已有的虚拟机更新是一个大困难,会带来以下问题:
一是虚拟机客户环境都是保密,运维人员手动更新文件到虚拟机几乎不可能,给系统升级带来困难。
二是人为操作会容易出现错误,让客户业务数据造成一定风险性。
三是虚拟机数量大,给运维升级带来很大的工作量。
四是虚拟机数量大,内部文件一致性难以保证。
为了提升云平台的可用性和稳定性,增强虚拟机功能的稳定性,需要一种基于文件的虚拟机与宿主机通信的方法,从而可以大批量更新虚拟机内部环境文件。
发明内容
本发明解决的技术问题在于提供一种基于文件的虚拟机与宿主机通信方法;解决云平台可以更新虚拟机内部文件,更好地保持虚拟机功能的完整性和数据一致性,让客户已有的虚拟机不需要迁移业务的情况下更新虚拟机内部环境,增大用户体验。
本发明解决上述技术问题的技术方案是:
包括如下步骤:
步骤1:创建一台qemu通信通道的虚拟机,通过libvirt配置channel绑定路径;
步骤2:安装qemu串口代理服务到虚拟机,并且启动;
步骤3:读取文件内容,然后对内容进行Base64加密;
步骤4:通过串口代理打开虚拟机内指定路径文件;
步骤5:将内容传输到虚拟机里面,并且通过Base64解密密文;
步骤5:写入虚拟机内指定路径文件;
步骤6:关闭文件流;
步骤7:文件上传完成。
所述qemu通信通道是宿主机与虚拟机以串口形式打开的一个通信通道;
所述libvirt是一种实现Linux虚拟化功能的Linux对外接口;
所述qemu串口代理服务是指一个运行在虚拟机内部的普通应用程序,服务名称默认为qemu-guest-agent;
所述Base64是指用于传输8Bit字节代码的编码方式,防止传输过程中乱码情况。
虚拟机与宿主机通过串口通道方式,基于文件形式来实现虚拟机与宿主机进行通信。
内容加密是为了能传输特殊字符或者文字,通过base64编码之后,转换为传输安全的密文到虚拟机,再进行解密来完成文件内容写入。
关闭文件流为了防止遗漏的文件线程导致下次文件无法修改,确保文件数据一致性和安全性。
本发明通过串口代理方式基于文件的方式进行宿主机与虚拟机之间通信,可以随时将宿主机的文件加密传输到虚拟机上,实现大量虚拟机内部环境脚本更新,本发明给运维人员的升级提供很大的便利性。云平台上的虚拟机也越来越多,如果需要更新所有虚拟机上的某一个脚本,这个问题也难以避免,本发明解决了云平台可以更新虚拟机内部文件,更好地保持虚拟机功能的完整性和数据一致性,让客户已有的虚拟机不需要迁移业务的情况下更新虚拟机内部环境,增大了用户体验,适应当前飞速发展的云计算需求。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明方法流程图。
具体实施方式
见图1所示,是本发明的基本流程;主要包括以下步骤:
步骤1:创建一台qemu通信通道的虚拟机,通过libvirt配置channel绑定路径;
步骤2:安装qemu串口代理服务到虚拟机,并且启动;
步骤3:读取文件内容,然后对内容进行Base64加密;
步骤4:通过串口代理打开虚拟机内指定路径文件;
步骤5:将内容传输到虚拟机里面,并且通过Base64解密密文;
步骤5:写入虚拟机内指定路径文件;
步骤6:关闭文件流;
步骤7:文件上传完成。
加密解密代码:
读文件命令:
virsh qemu-agent-command i-xxxxx′{″execute″:″guest-file-open″,
″arguments″:{″path″:″/tmp/testqga″,″mode″:″r″}}′
{″return″:1000}
virsh qemu-agent-command i-xxxxx′{″execute″:″guest-file-read″,″arguments″:{″handle″:1000}}′
{″return″:{″count″:5,″buf-b64″:″MjIyMgo=″,″eof″:true}}
virsh qemu-agent-command i-xxxxx′{″execute″:″guest-file-close″,″arguments″:{″handle″:1000}}′
{″return″:{}}
写文件命令:
virsh qemu-agent-command i-xxxxx′{″execute″:″guest-file-open″,
″arguments″:{″path″:″/tmp/testqga″,″mode″:″w+″}}′
{″return″:1002}
virsh qemu-agent-command i-xxxxx′{″execute″:″guest-file-write″,
″arguments″:{″handle″:1002,″buf-b64″:″YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=″}}′
{″return″:{″count″:26,″eof″:false}}
virsh qemu-agent-command i-xxxxx′{″execute″:″guest-file-close″,
″arguments″:{″handle″:1001}}′
{″return″:{}}
Claims (2)
1.一种基于文件的虚拟机与宿主机通信方法,其特征在于:包括如下步骤:
步骤1:创建一台qemu通信通道的虚拟机,通过libvirt配置channel绑定路径;
步骤2:安装qemu串口代理服务到虚拟机,并且启动;
步骤3:读取文件内容,然后对内容进行Base64加密;
步骤4:通过串口代理打开虚拟机内指定路径文件;
步骤5:将内容传输到虚拟机里面,并且通过Base64解密密文;
步骤5:写入虚拟机内指定路径文件;
步骤6:关闭文件流;
步骤7:文件上传完成。
2.根据权利要求1所述基于文件的虚拟机与宿主机通信的方法,其特征在于:
所述qemu通信通道是宿主机与虚拟机以串口形式打开的一个通信通道;
所述libvirt是一种实现Linux虚拟化功能的Linux对外接口;
所述qemu串口代理服务是指一个运行在虚拟机内部的普通应用程序,服务名称默认为qemu-guest-agent;
所述Base64是指用于传输8Bit字节代码的编码方式,防止传输过程中乱码情况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611003509.7A CN106453616A (zh) | 2016-11-15 | 2016-11-15 | 一种基于文件的虚拟机与宿主机通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611003509.7A CN106453616A (zh) | 2016-11-15 | 2016-11-15 | 一种基于文件的虚拟机与宿主机通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106453616A true CN106453616A (zh) | 2017-02-22 |
Family
ID=58207141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611003509.7A Withdrawn CN106453616A (zh) | 2016-11-15 | 2016-11-15 | 一种基于文件的虚拟机与宿主机通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106453616A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874503A (zh) * | 2018-06-05 | 2018-11-23 | 国云科技股份有限公司 | 一种云平台应用集群的配置代理更新方法 |
CN109684035A (zh) * | 2018-12-17 | 2019-04-26 | 武汉烽火信息集成技术有限公司 | 一种自适应的虚拟机和宿主机通信方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090193074A1 (en) * | 2006-05-18 | 2009-07-30 | Sanggyu Lee | Method for protecting client and server |
CN102368798A (zh) * | 2011-10-24 | 2012-03-07 | 深圳市智慧宇宙管理咨询有限公司 | 手机设置控制系统、方法、设置方法、装置及手机 |
CN103780683A (zh) * | 2014-01-08 | 2014-05-07 | 同济大学 | 一种在xia孤岛之间进行虚拟机在线迁移的方法 |
CN105872129A (zh) * | 2016-06-07 | 2016-08-17 | 国云科技股份有限公司 | 一种Linux虚拟机多网卡外网通信实现方法 |
CN106095528A (zh) * | 2016-06-07 | 2016-11-09 | 国云科技股份有限公司 | 一种检测虚拟机盘符的方法 |
-
2016
- 2016-11-15 CN CN201611003509.7A patent/CN106453616A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090193074A1 (en) * | 2006-05-18 | 2009-07-30 | Sanggyu Lee | Method for protecting client and server |
CN102368798A (zh) * | 2011-10-24 | 2012-03-07 | 深圳市智慧宇宙管理咨询有限公司 | 手机设置控制系统、方法、设置方法、装置及手机 |
CN103780683A (zh) * | 2014-01-08 | 2014-05-07 | 同济大学 | 一种在xia孤岛之间进行虚拟机在线迁移的方法 |
CN105872129A (zh) * | 2016-06-07 | 2016-08-17 | 国云科技股份有限公司 | 一种Linux虚拟机多网卡外网通信实现方法 |
CN106095528A (zh) * | 2016-06-07 | 2016-11-09 | 国云科技股份有限公司 | 一种检测虚拟机盘符的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874503A (zh) * | 2018-06-05 | 2018-11-23 | 国云科技股份有限公司 | 一种云平台应用集群的配置代理更新方法 |
CN109684035A (zh) * | 2018-12-17 | 2019-04-26 | 武汉烽火信息集成技术有限公司 | 一种自适应的虚拟机和宿主机通信方法及系统 |
CN109684035B (zh) * | 2018-12-17 | 2020-11-17 | 武汉烽火信息集成技术有限公司 | 一种自适应的虚拟机和宿主机通信方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8977842B1 (en) | Hypervisor enabled secure inter-container communications | |
CN103843006B (zh) | 用于向用户终端配备操作系统的方法和设备 | |
CN103605930B (zh) | 一种基于hook和过滤驱动的双重文件防泄密方法及系统 | |
US8694786B2 (en) | Virtual machine images encryption using trusted computing group sealing | |
US10509914B1 (en) | Data policy implementation in a tag-based policy architecture | |
US20070047735A1 (en) | Method, system and computer program for deploying software packages with increased security | |
US10567373B2 (en) | Establishing security over converged Ethernet with TCP credential appropriation | |
US20140173272A1 (en) | Cloud storage system, data encryption processing device and data encryption method in cloud storage system | |
CN107533471A (zh) | 通过禁用不必要的功能改进虚拟化应用性能 | |
JP7397557B2 (ja) | セキュア実行ゲスト所有者環境制御 | |
CN103885830A (zh) | 一种虚拟机跨数据中心动态迁移中的数据处理方法 | |
US20130305034A1 (en) | Anonymization of data within a streams environment | |
TWI744797B (zh) | 用於將安全客體之安全金鑰繫結至硬體安全模組之電腦實施方法、系統及電腦程式產品 | |
CN102244682A (zh) | 一种云计算环境下的隐蔽通信方法 | |
EP3935536B1 (en) | Secure execution guest owner controls for secure interface control | |
TW201600970A (zh) | 整合化系統羣及虛擬化和雲端運算系統的方法 | |
JP2023551527A (ja) | 準同型暗号化を使用したセキュアなコンピューティング・リソース配置 | |
KR101534566B1 (ko) | 클라우드 가상 데스크탑 보안 통제 장치 및 방법 | |
CN106453616A (zh) | 一种基于文件的虚拟机与宿主机通信方法 | |
CN115053222A (zh) | 通过主机与虚拟来宾之间的受控交互来创建隔离工作区的方法和系统 | |
JP2024503327A (ja) | セキュアなデータ移動 | |
US20210157935A1 (en) | Network interface with data protection | |
US9699146B1 (en) | Secure access to user data | |
CN108491725A (zh) | 一种提高云中虚拟机间通信安全的方法 | |
EP3553689B1 (en) | System and method for automatically securing sensitive data in public cloud using a serverless architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170222 |
|
WW01 | Invention patent application withdrawn after publication |