#yyds干货盘点# Centos7安装kvm虚拟机(使用virtinstall管理)
Posted 峰啊疯了
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点# Centos7安装kvm虚拟机(使用virtinstall管理)相关的知识,希望对你有一定的参考价值。
1 KVM是什么
KVM(Kernelbased Virtual Machine, 即内核级虚拟机) 是一个开源的系统虚拟化模块。它使用Linux自身的调度器进
行管理,所以相对于Xen,其核心
源码很少。目前KVM已成为学术界的主流VMM之一,它包含一个为处理器提供底层虚拟化 可加载的核心模块
kvm.ko(kvmintel.ko 或 kvmamd.ko)。kvm
还需要一个经过修改的QEMU 软件(qemukvm),作为虚拟机上层控制和界面。KVM的虚拟化需要硬件支持(如 Intel
VT技术或者AMD V技术)。是基于硬件的
完全虚拟化。 KVM可以运行多个其本身运行未改动的镜像的虚拟机,例如Windows,Mac OS X ,每个虚拟机都
有各自的虚拟硬件,比如网卡、硬盘核图形适配
器等。
KVM和QEMU的关系
QEMU是个独立的虚拟化解决方案,从这个角度它并不依赖KVM。而KVM是另一套虚拟化解决方案,不过因为这
个方案实际上只实现了内核中对处理器(Intel VT)
, AMD SVM)虚拟化特性的支持,换言之,它缺乏设备虚拟化以及相应的用户空间管理虚拟机的工具,所以它借用
了QEMU的代码并加以精简,连同KVM一起构成了
另一个独立的虚拟化解决方案:KVM+QEMU。
2 kvm相关安装包及其作用
qemukvm 主要的KVM程序包
pythonvirtinst 创建虚拟机所需要的命令行工具和程序库
virtmanager GUI虚拟机管理工具
virttop 虚拟机统计命令
virtviewer GUI连接程序,连接到已配置好的虚拟机
libvirt C语言工具包,提供libvirt服务
libvirtclient 虚拟客户机提供的C语言工具包
virtinstall 基于libvirt服务的虚拟机创建命令
bridgeutils 创建和管理桥接设备的工具
3 安装kvm
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 kvmintel
[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
crwrwrw. 1 root kvm 10, 232 1月 29 11:56 /dev/kvm
4 安装
yum install y qemukvm qemukvmtools
yum install y libvirt
yum install y virtinstall
yum install y pythonurllib3
虚拟机安装日志查看
/var/log/libvirt/qemu/centos7_15.log
以下选择的类型是 virttype kvm 和之前测试的不一样
qemuimg create f raw /home/vm/centos7_15.raw 500G
virtinstall \\
virttype kvm \\
name centos7_15 \\
vcpus 8 \\
memory 32768 \\
cdrom=/home/vm/CentOS7x86_64Minimal1511.iso \\
disk path=/home/vm/centos7_15.raw \\
network bridge=br0 \\
graphics vnc,listen=0.0.0.0 \\
ostype=linux \\
osvariant=rhel7
注意:
以上选择的virttype是kvm,如果选择的是qemu,会报内存分配错误 tcmalloc: large alloc 2013265920 bytes ==
访问外部网络
iptables t nat A POSTROUTING s 192.168.33.0/24 o eno1 j MASQUERADE
外网访问内部
iptables t nat A PREROUTING i eno1 d 172.16.2.164 p tcp dport 53325 j DNAT todestination 192.168.33.15:22
以上是关于#yyds干货盘点# Centos7安装kvm虚拟机(使用virtinstall管理)的主要内容,如果未能解决你的问题,请参考以下文章
#yyds干货盘点#如何解决kvm虚拟机内部ping 不通百度