黄沙百战穿金甲,不破楼兰终不还。这篇文章主要讲述#yyds干货盘点# Centos7安装kvm虚拟机(使用virt-install管理)相关的知识,希望能为你提供帮助。
1 KVM是什么
KVM(Kernel-based Virtual Machine, 即内核级虚拟机) 是一个开源的系统虚拟化模块。它使用Linux自身的调度器进2 kvm相关安装包及其作用
行管理,所以相对于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。
qemu-kvm 主要的KVM程序包3 安装kvm
python-virtinst 创建虚拟机所需要的命令行工具和程序库
virt-manager GUI虚拟机管理工具
virt-top 虚拟机统计命令
virt-viewer GUI连接程序,连接到已配置好的虚拟机
libvirt C语言工具包,提供libvirt服务
libvirt-client 虚拟客户机提供的C语言工具包
virt-install 基于libvirt服务的虚拟机创建命令
bridge-utils 创建和管理桥接设备的工具
1)检查cpu是否支持虚拟化4 安装
[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
yum install -y qemu-kvm qemu-kvm-tools
yum install -y libvirt
yum install -y virt-install
yum install -y python-urllib3
虚拟机安装日志查看
/var/log/libvirt/qemu/centos7_15.log
以下选择的类型是 --virt-type kvm 和之前测试的不一样
qemu-img create -f raw /home/vm/centos7_15.raw 500G
virt-install \\
【#yyds干货盘点# Centos7安装kvm虚拟机(使用virt-install管理)】--virt-type kvm \\
--name centos7_15 \\
--vcpus 8 \\
--memory 32768 \\
--cdrom=/home/vm/CentOS-7-x86_64-Minimal-1511.iso \\
--disk path=/home/vm/centos7_15.raw \\
--network bridge=br0 \\
--graphics vnc,listen=0.0.0.0 \\
--os-type=linux \\
--os-variant=rhel7
注意:
以上选择的virt-type是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 --to-destination 192.168.33.15:22
推荐阅读
- 鸿蒙轻内核源码分析(虚拟文件系统VFS)
- FFHLinux下配置小熊派-鸿蒙·叔设备开发(南向)的开发环境
- 磁盘读写测试--基于dd工具
- #yyds干货盘点#jackson学习之六(常用类注解)
- Teleport堡垒机介绍
- #yyds干货盘点# Python网络爬虫之js逆向之远程调用(rpc)免去抠代码补环境简介
- go语言学习--注释
- Shell标准输入输出和错误
- awk-printf 语句自定义函数