一 什么是KVM虚拟机:

KVM虚拟机

Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。

KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。

二 确认CPU指令集:

# 硬件的BIOS要打开支持虚拟化选项, 虚拟机软件也要打开响应选项
[root@srv-1 ~]# grep -E "vmx|svm" /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap xsaveopt arat
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap xsaveopt arat [root@srv-1 ~]# grep -E "vmx|svm" /proc/cpuinfo | wc -l
2

三 安装KVM工具包:

# 3.1 安装并启动依赖和网卡:
yum install -y qemu-kvm qemu-kvm-tools libvirt virt-manager virt-install
systemctl start libvirtd
systemctl enable libvirtd # 3.2 安装成功后启动一个NAT网卡:
[root@srv-1 ~]# ifconfig virbr0 #生成NAT网卡
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:04:7f:4e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 # 3.2 virbr0 网络配置文件:
[root@srv-1 ~]# grep "192.168.122.1" /etc/libvirt/ -R
/etc/libvirt/qemu/networks/autostart/default.xml: <ip address='192.168.122.1' netmask='255.255.255.0'>
/etc/libvirt/qemu/networks/default.xml: <ip address='192.168.122.1' netmask='255.255.255.0'>

四 创建NAT网络虚拟机:

# 4.1 )  虚拟机磁盘保存路径:
[root@srv-1 ~]# ll /var/lib/libvirt/images/ # 默认保存虚拟机磁盘的路径
total 0 # 4.2 ) 磁盘格式介绍:
raw: 制定多大就创建多大,直接占用制定大小的空间。 性能最好,占用空间最大,可以进行格式转换
cow: 写时拷贝的镜像格式,不支持窗口模式,从某种意义上已经被废弃,目前被qcow格式所取代。
qcow: 一代的qemu的cow格式,刚刚出现的时候有比较好的特性,但性能和RAW格式迪比还是有很大的差距,目前已经被新版本的qcow2取代。
qcow2: 是openstack默认也是比较推荐的格式,将差异保存在一个文件,比较比较小而且做快照也比较小,空间的动态增长的.
vmdk: vmware 搞得格式 # 4.3 ) 创建磁盘或者转换磁盘格式命令:
[root@srv-1 ~]# qemu-img create -f raw /var/lib/libvirt/images/centos.raw 10G
Formatting '/var/lib/libvirt/images/centos.raw', fmt=raw size=10737418240
[root@srv-1 ~]# ll -h /var/lib/libvirt/images/centos.raw 10G
ls: cannot access 10G: No such file or directory
-rw-r--r-- 1 root root 10G May 12 14:45 /var/lib/libvirt/images/centos.raw # 4.4 ) 上传ISO镜像到系统:
wget http://mirrors.aliyun.com/centos/7.8.2003/isos/x86_64/CentOS-7-x86_64-Minimal-2003.iso # 4.5 ) 安装系统:
[root@srv-1 src]# virt-install --virt-type=kvm --name linux36 --ram 1024 --vcpus 2 --cdrom=/data/src/CentOS-7-x86_64-Minimal-2003.iso --disk path=/var/lib/libvirt/images/centos.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole Starting install...
Domain installation still in progress. You can reconnect to
the console to complete the installation process. ** 参数:
--name NAME
--vcpus VCPUS
--memory MEMORY
--cdrom CDROM
--disk DISK
--network NETWORK
--graphics vnc
--virt-type=kvm,qemu,xen # 4.6 ) 下载 vnc viewer:
https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-6.20.113-Windows.exe
安装以后, 连接本地的IP地址和5900端口即可出现安装界面.如果有多台虚拟机那就会占用更多的5900以后的端口, 可以选最大的那个 一般就是最新的安装界面 # 如果安装过程中需要重启会产生错误
[root@srv-1 src]# virt-install --virt-type=kvm --name linux36 --ram 1024 --vcpus 2 --cdrom=/data/src/CentOS-7-x86_64-Minimal-2003.iso --disk path=/var/lib/libvirt/images/centos.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
ERROR Guest name 'linux36' is already in use.
** 解决办法:
[root@srv-1 src]# virsh undefine linux36
Domain linux36 has been undefined # 4.7 ) 图形管理界面:
yum install qemu-kvm qemu-img virt-manager acpid libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer -y virt-manager

磁盘格式介绍 引用: http://blogs.sutdylinux.net

CentOS-7-x86_64-Minimal 地址: http://mirrors.aliyun.com/centos/7.8.2003/isos/x86_64/CentOS-7-x86_64-Minimal-2003.iso

Centos 7 下的KVM虚拟机的更多相关文章

  1. centos7.4下的KVM虚拟机安装使用

    本来是用的vmware,不过后来想试下KVM,想着装个ZSTACK也行,结果zstack使用网络安装没搞明白,把物理机系统毁了,这下彻底完蛋了,只好还装个centos了,但是又不想用VMWARE就想起 ...

  2. CentOS 7.5 安装KVM虚拟机(Windows)

    一.KVM环境搭建1.检测系统是否支持cat /proc/cpuinfo | egrep 'vmx|svm' KVM是基于x86虚拟化扩展(Intel VT 或者 AMD-V)技术的虚拟机软件,所以查 ...

  3. Centos7下搭建KVM虚拟机

    PRE-INSTALL ============================================================= kvm相关安装包及其作用 qemu-kvm 主要的K ...

  4. CentOS 7.5 安装KVM虚拟机(Linux)

    1.认识理解KVM虚拟机 Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linu ...

  5. 云计算概述及Centos7下安装kvm虚拟机

    云计算(cloud computing)是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源 云计算到底是什么? 按定义:云计算指的是一种使用模式,是基 ...

  6. Centos 7下VMware三台虚拟机Hadoop集群初体验

    一.下载并安装Centos 7 传送门:https://www.centos.org/download/    注:下载DVD ISO镜像 这里详解一下VMware安装中的两个过程 网卡配置 是Add ...

  7. CentOS 7下的KVM网卡配置为千兆网卡

    在KVM下可以生成两种型号的网卡,RTL8139和E1000,其实应该是底层生成不同芯片的网卡,而不是附带宿主机网卡是什么型号就是什么型号的,其中默认为100兆网卡,即RTL8319的螃蟹卡,另一种是 ...

  8. KVM 虚拟机的热迁移

    热迁移:顾名思义在虚拟机不关机的情况下将KVM虚拟机进行迁移 准备工作:两台KVM虚拟机,一台nfs虚拟机,centos7.4系统 主机 IP地址 主机名 KVM01 10.00.11 kvm01 K ...

  9. [图文] Fedora 28 使用 Virt-Manager 创建 KVM 虚拟机以及 配置 KVM 虚拟机

    实验说明: 往后的许多实验都将以Linux平台下的 KVM虚拟机为主,所以不可少的就是 Virt-Manager 虚拟机管理器. 本章将对如何安装和使用Virt-Manager管理器进行讲解,并且会对 ...

随机推荐

  1. 使用docker与宿主机文件互相拷贝

    1.从容器里面拷文件到宿主机 示例:容器名为s2-061_struts2_1,要从容器里面拷贝的文件路为:/usr/local/tomcat/webapps/test/js/test.js, 现在要将 ...

  2. 数组问题:a[i][j] 和 a[j][i] 有什么区别?

    本文以一个简单的程序开头--数组赋值: int LEN = 10000; int[][] arr = new int[LEN][LEN]; for (int i = 0; i < LEN; i+ ...

  3. WinUI 3 Preview 3 发布了,再一次试试它的性能

    1. WinUI 3 在微软 Build 2020 开发者大会上,WinUI 团队宣布可公开预览的 WinUI 3 Preview 1,它让开发人员可以在 Win32 中使用 WinUI.最终 XAM ...

  4. 【Pyhton 】 装饰器

    # -*- coding:utf8 -*-# Author : Mr·Yang''' 装饰器,带参数装饰器,装饰器中带参数''' import time# 普通装饰器'''def time_decor ...

  5. JavaSE02-基本语法

    1.注释 注释是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要. Java中的注释分为三种: 单行注释.单行注释的格式是使用//,从//开始至本行结尾的文字将作为 ...

  6. 史上最全单链表的增删改查反转等操作汇总以及5种排序算法(C语言)

    目录 1.准备工作 2.创建链表 3.打印链表 4.在元素后面插入元素 5.在元素前面增加元素 6.删除链表元素,要注意删除链表尾还是链表头 7.根据传入的数值查询链表 8.修改链表元素 9.求链表长 ...

  7. vue第三单元(webpack的应用-能根据具体的需求构建对应的开发环境)

    第三单元(webpack的应用-能根据具体的需求构建对应的开发环境) #课程目标 理解什么是单页面应用. 掌握单页面和多页面的差异. 了解单页面的实现原理. 掌握模块化的方式实现webpack配置,区 ...

  8. 详细讲解docker容器和镜像的区别

    当我对Docker技术还是一知半解的时候,我发现理解Docker的命令非常困难.于是,我花了几周的时间来学习Docker的工作原理,更确切地说,是关于Docker统一文件系统(the union fi ...

  9. python极简代码之检测元素组成是否相同

    可以检测两个字符串的组成是不是一样的,可以检测两个列表的元素是否一样,可以检测集合里的元素是否一致,可以检测字典里的值是否一致: 1 # !usr/bin/env python3 2 # *-* co ...

  10. python初学者-计算1-99奇数的和

    s = 0 for i in range(1,100,2): s = s + i print(s)