2019独角兽企业重金招聘Python工程师标准>>>

Centos7.4安装kvm虚拟机(使用virt-manager管理)

之前介绍了使用WebVirtMgr或Openstack来部署及管理kvm虚拟机,下面简单介绍centos7.4下使用virt-manager部署及管理kvm虚拟机的做法:

0)KVM是什么

1

2

3

4

5

6

7

8

9

10

KVM(Kernel-based Virtual Machine, 即内核级虚拟机) 是一个开源的系统虚拟化模块。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心

源码很少。目前KVM已成为学术界的主流VMM之一,它包含一个为处理器提供底层虚拟化 可加载的核心模块kvm.ko(kvm-intel.ko 或 kvm-amd.ko)。kvm

还需要一个经过修改的QEMU 软件(qemu-kvm),作为虚拟机上层控制和界面。KVM的虚拟化需要硬件支持(如 Intel VT技术或者AMD V技术)。是基于硬件的

完全虚拟化。 KVM可以运行多个其本身运行未改动的镜像的虚拟机,例如Windows,Mac OS X ,每个虚拟机都有各自的虚拟硬件,比如网卡、硬盘核图形适配

器等。

 

KVM和QEMU的关系

QEMU是个独立的虚拟化解决方案,从这个角度它并不依赖KVM。而KVM是另一套虚拟化解决方案,不过因为这个方案实际上只实现了内核中对处理器(Intel VT)

, AMD SVM)虚拟化特性的支持,换言之,它缺乏设备虚拟化以及相应的用户空间管理虚拟机的工具,所以它借用了QEMU的代码并加以精简,连同KVM一起构成了

另一个独立的虚拟化解决方案:KVM+QEMU。

1)kvm相关安装包及其作用

1

2

3

4

5

6

7

8

9

qemu-kvm          主要的KVM程序包

python-virtinst   创建虚拟机所需要的命令行工具和程序库

virt-manager      GUI虚拟机管理工具

virt-top          虚拟机统计命令

virt-viewer       GUI连接程序,连接到已配置好的虚拟机

libvirt           C语言工具包,提供libvirt服务

libvirt-client    虚拟客户机提供的C语言工具包

virt-install      基于libvirt服务的虚拟机创建命令

bridge-utils      创建和管理桥接设备的工具

2)centos7安装VNC环境

1

请参考:http://www.cnblogs.com/kevingrace/p/5821450.html

3)安装kvm

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

1)检查cpu是否支持虚拟化

[root@kevin ~]# grep vmx /proc/cpuinfo

如果有vmx信息输出,就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机。

2)确保BIOS里开启虚拟化功能,即查看是否加载KVM模块

[root@kevin ~]# lsmod | grep kvm

kvm_intel             170086  0

kvm                   566340  1 kvm_intel

irqbypass              13503  1 kvm

=========================================================

如果没有加载,运行以下命令:

[root@kevin ~]# modprobe kvm

[root@kevin ~]# modprobe kvm-intel

[root@kevin ~]# lsmod | grep kvm

kvm_intel             170086  0

kvm                   566340  1 kvm_intel

irqbypass              13503  1 kvm

=========================================================

内核模块导出了一个名为/dev/kvm的设备,这个设备将虚拟机的的地址空间独立于内核或者任何应用程序的地址空间。

[root@kevin ~]# ll /dev/kvm

crw-rw-rw-. 1 root kvm 10, 232 1月  29 11:56 /dev/kvm

3)桥接网络

如果没有brctl命令(用来管理网桥的工具),则需要安装bridge-utils ,

[root@kevin ~]# yum -y install bridge-utils

[root@kevin ~]# systemctl restart network

配置KVM的网桥模式

[root@kevin ~]# cd /etc/sysconfig/network-scripts/

[root@openstack network-scripts]# cp ifcfg-eno1 ifcfg-br0

[root@openstack network-scripts]# cat ifcfg-br0

TYPE="Bridge"                                        //这一行修改为Bridge

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="no"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="br0"                                           //修改设备名称为br0

#UUID="fdbad04f-dae3-440e-8a8b-01d6a7bc9fe0"         //这一行注释

DEVICE="br0"                                         //修改设备为br0

ONBOOT="yes"

IPADDR="192.168.10.210"

PREFIX="24"

GATEWAY="192.168.10.1"

DNS1="8.8.8.8"

[root@openstack network-scripts]# cat ifcfg-eno1

TYPE="Ethernet"

BRIDGE=br0                                           //添加这一行

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="no"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="eno1"

UUID="fdbad04f-dae3-440e-8a8b-01d6a7bc9fe0"

DEVICE="eno1"

ONBOOT="yes"

#IPADDR="192.168.10.210"                          //注释掉这几行

#PREFIX="24"

#GATEWAY="192.168.10.1"

#DNS1="8.8.8.8"

重启网卡服务

[root@openstack network-scripts]# systemctl restart network

查看网卡

[root@openstack network-scripts]# brctl show

bridge name bridge id   STP enabled interfaces

br0   8000.0894ef518b22 no    eno1

virbr0    8000.52540095d7c2 yes   virbr0-nic

查看ip信息

[root@openstack network-scripts]# ifconfig |head -20

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.10.210  netmask 255.255.255.0  broadcast 192.168.10.255

        inet6 fe80::a94:efff:fe51:8b22  prefixlen 64  scopeid 0x20<link>

        ether 08:94:ef:51:8b:22  txqueuelen 1000  (Ethernet)

        RX packets 856  bytes 52981 (51.7 KiB)

        RX errors 0  dropped 2  overruns 0  frame 0

        TX packets 120  bytes 23450 (22.9 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        ether 08:94:ef:51:8b:22  txqueuelen 1000  (Ethernet)

        RX packets 10077  bytes 793083 (774.4 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 1184  bytes 228415 (223.0 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        device interrupt 16 

eno2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        ether 08:94:ef:51:8b:23  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

[root@openstack network-scripts]# ping www.baidu.com

PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.

64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=1 ttl=55 time=2.08 ms

64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=2 ttl=55 time=1.80 ms

........

4)安装libvirt及kvm

libvirt是管理虚拟机的API库,不仅支持KVM虚拟机,也可以管理Xen等方案下的虚拟机。

[root@kevin ~]#  yum -y install libcanberra-gtk2 qemu-kvm.x86_64 qemu-kvm-tools.x86_64  libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64

libvirt-java.noarch  libvirt-python.x86_64 libiscsi-1.7.0-5.el6.x86_64  dbus-devel  virt-clone tunctl virt-manager libvirt libvirt-python python-virtinst

由于要用virt-manager图形化安装虚拟机,所以还需要安装X-window(这个在前面部署VNC环境里就已经安装了)

[root@kevin ~]# yum groupinstall "X Window System"

安装中文字符,解决界面乱码问题

[root@kevin ~]# yum install -y dejavu-lgc-sans-fonts

[root@kevin ~]# yum groupinstall -y "Fonts"

启用libvirt

[root@kevin ~]# systemctl enable libvirtd

[root@kevin ~]# systemctl start libvirtd

4)使用virt-manager管理kvm(通过VNC连接服务器)

1

2

3

4

5

提前将ISO系统镜像存放到服务器的一个目录里,比如/data/iso

[root@openstack ~]# mkdir /data/iso

[root@openstack ios]# ll

总用量 3356384

-rw-r--r--. 1 qemu qemu 3436937216 1月  29 11:41 win-server2008_R2.iso

5)解决KVM虚拟机在使用vnc连接时鼠标不同步的问题

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

在VNC界面中感觉virt-manager管理的虚拟机界面总是鼠标跟不上,指到哪儿也看不出来,界面上一直显示press control_l+a/t_l来移动鼠标!十分郁闷!

想要修改鼠标和宿主机界面同步方法如下:

[root@openstack ~]# cd /etc/libvirt/qemu

[root@openstack qemu]# ls

networks  test-win2008.xml

[root@openstack qemu]# cp test-win2008.xml /opt/

[root@openstack qemu]# vim test-win2008.xml               //在<devices>标签中添加下面这段配置

<devices>   

......                                      

  <input type='tablet' bus='usb'/>                        //即添加这句话即可!

......    

</devices>

[root@openstack qemu]# virsh define /etc/libvirt/qemu/test-win2008.xml

定义域 test-win2008(从 /etc/libvirt/qemu/test-win2008.xml)

然后重启虚拟机后,发现虚拟机中的鼠标就会好事了,打开VNC查看虚拟机界面后默认情况下虚拟机中的鼠标指针和实体机的鼠标指针就是重合的,且两者运动速度也是同步的,

这下就彻底解决了鼠标指针漂移/不同步的情况了!

6)重定向USB设备(即将宿主机上的USB设备指定到目标虚拟机上)。适合挂载银行前置机设备!

先将USB设备插到宿主机上,接着在virt-manager界面里打开虚拟机,然后虚拟机界面上栏里打开"虚拟机"->"重定向USB设备(R)"。(特别注意:如下选择将usb设备挂载到虚拟机上后,不要关闭这个挂载界面,否则usb挂载动作就会结束!)

查看虚拟机,发现指定的USB设备已经挂载到该虚拟机上了!

如果要卸载该虚拟机上挂载的这个USB设备,即在"重定向设备usb(R)"里将这个USB设备去掉,然后"确定"即可!

kvm虚拟机日常操作命令梳理:http://www.cnblogs.com/kevingrace/p/5570504.html

***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************

转载于:https://my.oschina.net/u/3367404/blog/3053472

Centos7.4安装kvm虚拟机(使用virt-manager管理)相关推荐

  1. openstack的qcow2镜像制作、linux系统中安装kvm虚拟机并导出为qcow2虚拟机、virt-manager制作qocw2镜像和转为raw格式——2.6w字超详细说明所有流程。

    文章目录 说明 环境准备 虚拟机中安装kvm虚拟机 1.确保支持cpu虚拟化 2.安装qemu-kvm.libvirt.virt-install包和权限调整 3.开启libvirtd服务病开机自启 4 ...

  2. 在CentOS7上运行KVM虚拟机

    在CentOS7上运行KVM虚拟机 准备工作 检查CPU特性 安装一些基础软件包(非必须) 安装KVM及相关工具 验证安装结果 启动服务并设置为开机自动运行 创建网络环境 使用KVM虚拟机 下载操作系 ...

  3. 安装kvm虚拟机报错,could not open disk ,imagePermission denied的解决

          安装kvm虚拟机报错,could not open disk ,imagePermission              denied的解决 某次使用virt-install 命令安装虚拟 ...

  4. Centos 5.8 安装KVM虚拟机学习笔记

    KVM虚拟机简介      KVM(Kernel-based Virtual Machine)的简称,是一个开源的全虚拟化的解决方案.自从Linux2.6.20之后集成在Linux的各个发行版中,KV ...

  5. CentOS7文本模式下配置及安装KVM虚拟机

    一.准备工作:        在安装和配置kvm虚拟机之前,首先确保kvm软件已经被正确安装,如果没有安装,请参考如下几步操作:          第一步:检查CPU是否支持vmx相关指令,如果执行结 ...

  6. CentOS7上安装KVM部署虚拟机

    一.虚拟机部署前准备 安装KVM 宿主机 准备一台虚拟机并安装centos系统 配置基本要求:内存2G,处理器2核,硬盘10G,支持虚拟化. 挂载新加硬盘 # fdisk -l # fdisk /de ...

  7. CentOS7安装KVM虚拟机

    检测是否支持KVM KVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM.有返回结果,如果结果中 ...

  8. CentOS7.2部署KVM虚拟机

    学习了关于PostGis.OSM数据以及Mapnik相关内容,接下来将利用假期重点学习PostgreSQL-XL和瓦片服务器集群技术,因此先把环境搭好.计划采用KVM来充分利用家里不太宽裕的" ...

  9. 2018年第13周-虚拟化技术理解(内含Centos7上安装KVM)

    虚拟化技术简介 说道KVM,那必须先提虚拟化技术,我网上查的资料,貌似大家对虚拟化的一些术语没有达成统一的标准,如:仿真.完全虚拟化.超虚拟化.操作系统级虚拟化. 其实我觉得这些术语没有统一,也仅仅是 ...

最新文章

  1. 扎金花游戏 PHP 实现代码之大小比赛
  2. 一个IT时代的终结:109岁的IBM将分拆为两家公司
  3. 继续教育自动听课软件_绵阳继续教育 自动挂机学习软件 v2019.5.31
  4. linux下大文件裁剪,Linux系统裁剪(2)之Linux系统裁剪
  5. linux落字效果代码,Linux 用echo输出带特效的字体
  6. 如何自动翻译字幕文件(机翻)
  7. ueditor+秀米
  8. Postgresql临时表
  9. Java-Controller引起的Ambiguous mapping问题解决
  10. 综合能源管理电力市场改革的主要问题及分析_能谱网
  11. glusterfs创建分布式卷
  12. win10 休眠设置无效_win10怎么设置不休眠?win10休眠设置教程--系统之家
  13. 《愤怒的小鸟》全系列游戏——风靡全国,空降奴改:愤怒的小猪来袭~(版本二)
  14. 开发3D游戏建模都需要哪些软件?软件繁多,如何从中挑选学习?
  15. arm64_linux head.S的执行流程(3.18)- 12.msm8996 地址空间布局
  16. 康威定律对架构设计的指导意义
  17. PHP 开发与代码审计(总结)
  18. 一般企业应用上云架构实践
  19. QQ浏览器F12弹出新窗口问题
  20. 计算机使用痕迹,彻底清除电脑使用痕迹的方法

热门文章

  1. 今晚8点直播 | 微软亚洲研究院副院长刘铁岩:机器学习技术前沿与未来展望
  2. 【经验分享】TinyMind 多标签图像分类竞赛小试牛刀——by:for the dream
  3. AI一分钟|阿里被曝拟参与旷视新一轮6亿美元融资;MIT设计自动力机器人,与人类卵细胞大小无异...
  4. 技术 | 苹果最新博文剑指汉字手写识别!专家回应:并没有技术含量
  5. 推荐一个分布式JVM监控工具,非常实用!
  6. Spring官方为什么建议构造器注入?
  7. 为什么 HashMap 加载因子一定是0.75?而不是0.8,0.6?
  8. 稳~阿里程序员常用的 15 款开发者工具
  9. JVM 史上最最最完整深入解析(12000 字噢)
  10. 面试官:谈谈你对 Spring AOP 的了解?请加上这些内容,绝对加分!