CN103677961A - 一种设置虚拟机主机名的方法 - Google Patents

一种设置虚拟机主机名的方法 Download PDF

Info

Publication number
CN103677961A
CN103677961A CN201310714340.6A CN201310714340A CN103677961A CN 103677961 A CN103677961 A CN 103677961A CN 201310714340 A CN201310714340 A CN 201310714340A CN 103677961 A CN103677961 A CN 103677961A
Authority
CN
China
Prior art keywords
host name
virtual machine
serial port
host
order
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
Application number
CN201310714340.6A
Other languages
English (en)
Inventor
莫展鹏
杨松
季统凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud Technology Co Ltd
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 G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201310714340.6A priority Critical patent/CN103677961A/zh
Publication of CN103677961A publication Critical patent/CN103677961A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及云计算技术领域,特别是指一种设置虚拟机主机名的方法。本发明首先制作一个包含一个虚拟串口的虚拟机镜像并默认运行一个串口服务;然后在宿主机上使用上述的镜像创建虚拟机;宿主机利用串口工具向虚拟机的串口发送预定的设置主机名串口命令;虚拟机的串口服务监听指定的虚拟串口,解析接收到的串口命令;如果解析出来的主机名有效,则虚拟机的串口服务根据解析得到的信息设置主机名;如果解析出来的命令不正确或主机名无效,则向宿主机回发失败信息。同时宿主机实时的通过串口通信在hypervisor外部获取虚拟机的主机名。本发明解决了虚拟机主机名设置时间长、成功率低的问题;可以用于虚拟机主机名的设置。

Description

一种设置虚拟机主机名的方法
技术领域
本发明涉及云计算技术领域,特别是指一种设置虚拟机主机名的方法。 
背景技术
在云计算环境下,很多应用依赖于主机名而不是IP地址来区分虚拟主机的身份,比如hadoop之间的通信依赖于主机名与IP地址的绑定,而由于创建虚拟机时所用的镜像中主机名都已经被设置好,当虚拟机运行以后,会出现虚拟主机名重名的问题,这就需要对虚拟机主机名重新进行设置,目前,对虚拟机的主机名进行设置有两种办法: 
第一种是通过重新安装虚拟机的操作***来获取新的主机名,这种方法能避免网络重名,但是需要的时间比较长。 
第二种是通过登录到虚拟机的远程桌面,运行特定操作***的命令去设置虚拟机的主机名,这种方法有如下的缺点:1、不能对广播域内的所有虚拟机的主机名进行统一的规划,在虚拟机数量比较大的时候,设置的主机名出现重名的概率会大大增加;2、需要用户掌握不同操作***的配置方法,这种方式很不统一,容易出错。 
因此,需要一种快速可靠的设置虚拟机主机名的方法。 
发明内容
本发明解决的技术问题在于提供一种设置虚拟机主机名的方法,解决传统虚拟机主机名设置方法时间长,成功率低的问题。 
本发明解决上述技术问题的技术方案是: 
包括如下步骤: 
步骤1:制作一个包含一个虚拟串口的虚拟机镜像,并默认运行一个串口服务; 
步骤2:在宿主机上利用步骤1制作的虚拟机镜像创建虚拟机; 
步骤3:宿主机利用串口工具向虚拟机的串口发送预定的设置主机名串口命令; 
步骤4:虚拟机的串口服务监听指定的虚拟串口,解析接收到的串口命令;如果解析出来的主机名有效,执行步骤5;如果解析出来的命令不正确或主机名无效,则更新失败,执行步骤7; 
步骤5:虚拟机的串口服务根据解析得到的信息设置主机名; 
步骤6:如果正确设置了主机名,则向宿主机回发成功信息; 
步骤7:如果主机名设置失败,向宿主机回发失败信息; 
步骤8:宿主机实时的通过串口通信在hypervisor外部获取虚拟机的主机名,以实现宿主机对虚拟机主机名的有效监控。 
所述串口是指虚拟串口,并没有具体的设备,在物理服务器上表现为一个设备文件,在向虚拟串口发送命令时,只需要向物理机的设备文件写数据. 
所述的串口服务提供两个功能,第一是串口命令的监听功能,第二是串口命令的解析和实现功能; 
所述串口命令监听功能指的是轮询特定串口是否有数据发送过来,有则接收; 
所述串口命令解析和实现功能指的是将串口命令解析为主机名并且根据主 机名生成修改主机名的特定操作***的命令。 
所述修改主机名的特定操作***的命令,指的是Windows、RedHat Linux、Debian Linux下不同的修改主机名的操作***的方法; 
所述Windows下修改主机名的方法是执行 
wmic computersystem where caption=″gcloud″call rename gcloud1 
其中gcloud为虚拟机的修改前的主机名,gcloud1为修改后的主机名; 
所述RehHat Linux下修改主机名的命令是修改/etc/sysconfig/network文件,然后执行hostname命令; 
所述Debian Linux下修改主机名的命令是修改/etc/hostname文件,然后执行hostname命令。 
所述在hypervisor外部获取虚拟机的主机名,指的是串口服务在Windows下调用ipconfig/all命令或者Linux下调用hostname命令返回的结果通过串口返回到hypervisor外部。 
本发明的有益效果有: 
1、本发明的方法需要时间较短。 
2、本发明的方法能统一规划广播域内的虚拟机的主机名,避免出现重名的情况。 
3、不管虚拟机使用何种操作***,设置主机名的方式是一致的。 
4、本发明的方法能监控到篡改虚拟机主机名的攻击行为,提高虚拟机的安全性。 
附图说明
下面结合附图对本发明进一步说明: 
附图为本发明方法流程图。 
具体实施方式
如图1所示,本发明先制作一个虚拟机镜像,上面包含一个虚拟串口,并默认运行串口服务程序,本过程可以由libvirt.xml中定义的一个虚拟串口来实现,定义如下: 
Figure BDA0000443495310000042
这里定义了一个串口,端口号是0,并且映射到了物理机的/dev/pts/0设备文件上; 
串口服务中的串口命令监听功能启动以一个服务进程的方式运行于虚拟机等待宿主机传来的串口命令,代码如下: 
Figure BDA0000443495310000051
以上定义了一个listening函数,利用“while1”死循环调用recv_msg(port)监听指定的port端口。 
串口服务中串口命令解析和实现功能根据串口命令监听功能接收到的msg信息,调用process_msg(msg)进行msg消息的解析,代码如下: 
Figure BDA0000443495310000052
Figure BDA0000443495310000061
代码中的FUNCTION对应的宏定义表示预定义的串口命令中相关格式,串口服务中串口命令解析和实现功能解析成功以后,执行***的命令。 
Figure BDA0000443495310000062
具体的调用方法如下: 
(1)在宿主机上修改windows虚拟机主机名 
#/usr/share/gTunnel/sendSerial.py--sport/dev/pts/1--cmd string--msg′wmic computersystem where caption=″gcloud′′call rename gcloud1′--proc exec 
#注:gcloud为虚拟机的修改前的主机名,gcloud1为修改后的主机名,其 他参数不需要改变。 
(2)在宿主机上修改centos虚拟机主机名 
#/usr/share/gTunnel/sendSerial.py --sport/dev/pts/1--cmd string --msg′echo -ne″NETWORKING=yes\nHOSTNAME=gcloud1″>/etc/sysconfig/network;hostname gcloud1′--proc exec 
#注:gcloud1为虚拟机的修改后的主机名,其他参数不需要改变。 
(3)在宿主机上修改ubuntu以及debian虚拟机主机名。 
#/usr/share/gTunnel/sendSerial.py --sport/dev/pts/7--cmd string --msg′echo ″ubuntu1″>/etc/hostname;hostname-F/etc/hostname′--proc exec 。

Claims (7)

1.一种设置虚拟机主机名的方法,其特征在于:包括如下步骤: 
步骤1:制作一个包含一个虚拟串口的虚拟机镜像,并默认运行一个串口服务; 
步骤2:在宿主机上利用步骤1制作的虚拟机镜像创建虚拟机; 
步骤3:宿主机利用串口工具向虚拟机的串口发送预定的设置主机名串口命令; 
步骤4:虚拟机的串口服务监听指定的虚拟串口,解析接收到的串口命令;如果解析出来的主机名有效,执行步骤5;如果解析出来的命令不正确或主机名无效,则更新失败,执行步骤7; 
步骤5:虚拟机的串口服务根据解析得到的信息设置主机名; 
步骤6:如果正确设置了主机名,则向宿主机回发成功信息; 
步骤7:如果主机名设置失败,向宿主机回发失败信息; 
步骤8:宿主机实时的通过串口通信在hypervisor外部获取虚拟机的主机名,以实现宿主机对虚拟机主机名的有效监控。 
2.根据权利要求1所述的设置虚拟机主机名的方法,其特征在于:所述串口是指虚拟串口,并没有具体的设备,在物理服务器上表现为一个设备文件,在向虚拟串口发送命令时,只需要向物理机的设备文件写数据。 
3.根据权利要求1所述的设置虚拟机主机名的方法,其特征在于:所述的串口服务提供两个功能,第一是串口命令的监听功能,第二是串口命令的解析和实现功能; 
所述串口命令监听功能指的是轮询特定串口是否有数据发送过来,有则接收; 
所述串口命令解析和实现功能指的是将串口命令解析为主机名并且根据主机名生成修改主机名的特定操作***的命令。 
4.根据权利要求2所述的设置虚拟机主机名的方法,其特征在于:所述的串口服务提供两个功能,第一是串口命令的监听功能,第二是串口命令的解析和实现功能; 
所述串口命令监听功能指的是轮询特定串口是否有数据发送过来,有则接收; 
所述串口命令解析和实现功能指的是将串口命令解析为主机名并且根据主机名生成修改主机名的特定操作***的命令。 
5.根据权利要求3所述的设置虚拟机主机名的方法,其特征在于:所述修改主机名的特定操作***的命令,指的是Windows、RedHat Linux、Debian Linux下不同的修改主机名的操作***的方法; 
所述Windows下修改主机名的方法是执行 
wmic computersystem where caption=″gcloud″call rename gcloud1 
其中gcloud为虚拟机的修改前的主机名,gcloud1为修改后的主机名; 
所述RehHat Linux下修改主机名的命令是修改/etc/sysconfig/network文件,然后执行hostname命令; 
所述Debian Linux下修改主机名的命令是修改/etc/hostname文件,然后执行hostname命令。 
6.根据权利要求4所述的设置虚拟机主机名的方法,其特征在于:所述修 改主机名的特定操作***的命令,指的是Windows、RedHat Linux、Debian Linux下不同的修改主机名的操作***的方法; 
所述Windows下修改主机名的方法是执行 
wmic computersystem where caption=″gcloud″call rename gcloud1 
其中gcloud为虚拟机的修改前的主机名,gcloud1为修改后的主机名; 
所述RehHat Linux下修改主机名的命令是修改/etc/sysconfig/network文件,然后执行hostname命令; 
所述Debian Linux下修改主机名的命令是修改/etc/hostname文件,然后执行hostname命令。 
7.根据权利要求1至6任一项所述的设置虚拟机主机名的方法,其特征在于:所述在hypervisor外部获取虚拟机的主机名,指的是串口服务在Windows下调用ipconfig/all命令或者Linux下调用hostname命令返回的结果通过串口返回到hypervisor外部。 
CN201310714340.6A 2013-12-20 2013-12-20 一种设置虚拟机主机名的方法 Pending CN103677961A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310714340.6A CN103677961A (zh) 2013-12-20 2013-12-20 一种设置虚拟机主机名的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310714340.6A CN103677961A (zh) 2013-12-20 2013-12-20 一种设置虚拟机主机名的方法

Publications (1)

Publication Number Publication Date
CN103677961A true CN103677961A (zh) 2014-03-26

Family

ID=50315618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310714340.6A Pending CN103677961A (zh) 2013-12-20 2013-12-20 一种设置虚拟机主机名的方法

Country Status (1)

Country Link
CN (1) CN103677961A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373417A (zh) * 2015-11-04 2016-03-02 浪潮(北京)电子信息产业有限公司 一种云计算下虚拟机管理的方法及***
CN105426230A (zh) * 2015-12-09 2016-03-23 湖南昇云科技有限公司 Kvm虚拟化平台下***自动修改计算机名的方法与***
CN105550567A (zh) * 2015-12-09 2016-05-04 国云科技股份有限公司 一种Windows虚拟机USB设备读写权限管控方法
US20200183948A1 (en) * 2018-12-07 2020-06-11 Capital One Services, Llc Provisioning compute and data resources within an elastic data warehouse system

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076155A1 (en) * 2003-10-01 2005-04-07 Lowell David E. Runtime virtualization and devirtualization of I/O devices by a virtual machine monitor
CN101493781A (zh) * 2008-01-24 2009-07-29 中国长城计算机深圳股份有限公司 一种虚拟机***及其启动方法
CN101557420A (zh) * 2009-03-31 2009-10-14 北京航空航天大学 虚拟机监控器高效网络通信的实现方法
EP2178268A2 (en) * 2008-10-17 2010-04-21 Hitachi Ltd. Method and apparatus for resource provisioning
CN102110009A (zh) * 2009-12-28 2011-06-29 ***通信集团公司 一种在虚拟化平台中部署应用的方法及虚拟平台管理器
CN102110071A (zh) * 2011-03-04 2011-06-29 浪潮(北京)电子信息产业有限公司 一种虚拟机集群***及其实现方法
CN102214118A (zh) * 2010-04-08 2011-10-12 ***通信集团公司 一种虚拟机控制方法、***及装置
CN102567075A (zh) * 2011-12-05 2012-07-11 中标软件有限公司 一种云计算环境中虚拟机上下文设置方法
CN102662727A (zh) * 2012-04-05 2012-09-12 北京天地云箱科技有限公司 虚拟机的创建方法及装置
CN103441867A (zh) * 2013-08-15 2013-12-11 国云科技股份有限公司 一种更新虚拟机内部网络资源配置的方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076155A1 (en) * 2003-10-01 2005-04-07 Lowell David E. Runtime virtualization and devirtualization of I/O devices by a virtual machine monitor
CN101493781A (zh) * 2008-01-24 2009-07-29 中国长城计算机深圳股份有限公司 一种虚拟机***及其启动方法
EP2178268A2 (en) * 2008-10-17 2010-04-21 Hitachi Ltd. Method and apparatus for resource provisioning
CN101557420A (zh) * 2009-03-31 2009-10-14 北京航空航天大学 虚拟机监控器高效网络通信的实现方法
CN102110009A (zh) * 2009-12-28 2011-06-29 ***通信集团公司 一种在虚拟化平台中部署应用的方法及虚拟平台管理器
CN102214118A (zh) * 2010-04-08 2011-10-12 ***通信集团公司 一种虚拟机控制方法、***及装置
CN102110071A (zh) * 2011-03-04 2011-06-29 浪潮(北京)电子信息产业有限公司 一种虚拟机集群***及其实现方法
CN102567075A (zh) * 2011-12-05 2012-07-11 中标软件有限公司 一种云计算环境中虚拟机上下文设置方法
CN102662727A (zh) * 2012-04-05 2012-09-12 北京天地云箱科技有限公司 虚拟机的创建方法及装置
CN103441867A (zh) * 2013-08-15 2013-12-11 国云科技股份有限公司 一种更新虚拟机内部网络资源配置的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373417A (zh) * 2015-11-04 2016-03-02 浪潮(北京)电子信息产业有限公司 一种云计算下虚拟机管理的方法及***
CN105426230A (zh) * 2015-12-09 2016-03-23 湖南昇云科技有限公司 Kvm虚拟化平台下***自动修改计算机名的方法与***
CN105550567A (zh) * 2015-12-09 2016-05-04 国云科技股份有限公司 一种Windows虚拟机USB设备读写权限管控方法
US20200183948A1 (en) * 2018-12-07 2020-06-11 Capital One Services, Llc Provisioning compute and data resources within an elastic data warehouse system

Similar Documents

Publication Publication Date Title
CN103441867B (zh) 一种更新虚拟机内部网络资源配置的方法
CN107493344B (zh) 一种Web访问Docker容器的方法及***
US20180262388A1 (en) Remote device deployment
WO2021203979A1 (zh) 运维处理方法、装置及计算机设备
CN103986786A (zh) 一种远程云桌面操作***
CN107800743B (zh) 云桌面***、云管理***和相关设备
CN107426335B (zh) 一种可自动生成云环境配置文件的***及使用方法
CN103347020B (zh) 一种跨应用认证访问的***及方法
CN112583815B (zh) 一种操作指令管理方法、装置
CN103281331A (zh) 一种windows客户端登陆远程服务器桌面的方法
CN103677961A (zh) 一种设置虚拟机主机名的方法
KR102533536B1 (ko) 사설 네트워크 간의 통신을 위한 방법, 장치, 전자 기기 및 저장 매체
TW201339850A (zh) 遠端桌面管理系統及方法
CN112583867A (zh) 智能家电设备的共享方法、装置、电子设备和介质
CN104461635A (zh) 一种***文件的安装方法和设备
CN105450748A (zh) 一种基于Openstack的物理机远程桌面的方法
CN105812413B (zh) 通信方法及设备
CN104283773A (zh) 一种微博控制物联网设备的***
CN106559236B (zh) 业务板的设备资源管理方法、装置、主控板及框式设备
CN103384246A (zh) 安全监察***登录助手方法
CN105407150A (zh) 应用程序远程控制方法
CN106875765B (zh) 一种基于vdi的电子教室实现方法及装置
CN108259477B (zh) 基于sdn的网络访问控制方法、装置和计算机设备
CN105635227A (zh) 一种基于串口服务器的点对点通信方法及***
US20140122437A1 (en) Dynamically provisioned storage server operating on a data communications network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140326