KVM(Kernel-based Virtual Machine)是基于内核的虚拟机。
KVM本质是Linux内核中的虚拟化功能模块kvm.ko,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。是开源软件。
在KVM虚拟化方案中,KVM主要用于管理CPU和内存的虚拟化,IO设备的虚拟化则由QEMU来完成。KVM借助了QEMU的源码。
虚拟化平台管理工具 - LibvirtLibvirt是一套由C语言开发的API,主要目标是提供一种通用并且稳定的软件层,来管理物理主机上多种不同的虚拟化方式和虚拟主机,并支持远程管理。
Libvirt是Linux上的虚拟化库,Libvirt也是一个开源项目,它是一个非常强大的虚拟化平台管理工具,被管理的虚拟化平台可以是KVM,也可以是Xen、VMware以及Hyper-V等。
安装KVM
配置yum源
mount /dev/cdrom /mnt/
[root@yw yum.repos.d]# cat abc.repo
[abc]
name = abc
baseurl = file:///mnt/
gpgcheck = 0
[root@yw ~]# yum groups install "Virtualization*"
了解虚拟化网络类型
仅主机:
VMnet1(虚拟交换机)虚拟机之间能够互通,默认情况下不能出外网。 为了安全起见本地环境之间才能互通。
你想在本地搭建集群,节点的是手工绑定静态IP,还想去上外网,如果你选择桥接,wife是无线网络,无线网络可以获取IP地址,更换了网络环境。不同网段之间,就通不了外网了。最好选择NAT。
NAT:
桥接:
虚拟机可以通过桥接上外网。依赖于物理网络环境,未来创建的虚拟机网段会和桥接的网段相同。
KVM图形化指定虚拟机存储
图形化创建的虚拟机默认磁盘是存放在该目录下
[root@cen82 ~]# ls /var/lib/libvirt/images/
centos701.qcow2
能否手工指定存储路径呢?在指定的路径下首先创建虚拟机所用的磁盘
[root@cen82 ~]# qemu-img create -f qcow2 /data/centos701.qcow2 20g
Formatting '/data/centos701.qcow2', fmt=qcow2 size=21474836480 cluster_size=65536 lazy_refcounts=off refcount_bits=16
[root@cen82 ~]# ls /data/
centos701.qcow2
之后,通过图形化创建虚拟机的时候可以选择刚才
手工创建的存储磁盘 centos701.qcow2
KVM命令行创建虚拟机
qemu-img create -f qcow2 /disk/centos3.qcow2 10g
virt-install \
--name ecs03 \
--memory 2048 \
--vcpus 1 \
--disk path=/disk/centos3.qcow2 \
--location /iso/CentOS-7.6.1810-x86_64-DVD.iso \
--network network=default \
--noautoconsoleKVM命令行创建虚拟机-kickstart全自动安装
1. 安装httpd
yum install -y httpd
2. 启动服务
systemctl start httpd
systemctl enable httpd开机自启动
3. 防火墙关闭
systemctl stop firewalld
systemctl disable firewalld
4.生成kickstart文件
yum install -y system-config-kickstart.noarch 安装工具
5.修改repo里面的repoid
[root@yw yum.repos.d]# vim abc.repo
[root@yw yum.repos.d]# cat abc.repo
[development]
name = abc
baseurl = file:///mnt/
gpgcheck = 0
system-config-kickstart --启动工具,注意禁用udev命名规则
net.ifnames=0 biosdevname=0 cnotallow=ttyS0 并通过 virsh console xxx 方式连接到虚拟机里面,相当于插上了一根console线。
6.将文件保存到/var/www/html/abc/下面
这时候通过网页即可访问到
http://192.168.142.132/abc/ks.cfg
7.创建硬盘,启动虚拟机
qemu-img create -f qcow2 /disk/centos4.qcow2 15g
virt-install \
--name ecs04 \
--memory 2048 \
--vcpus 1 \
--disk path=/disk/centos4.qcow2 \
--location /root/iso/CentOS-7-x86_64-DVD-2003.iso \
--network network=default \
--noautoconsole \
-x ks=http://192.168.142.132/abc/ks.cfg
8. 插入console线,到时候就可以登录查看IP地址。
[root@cen82 ks]# virsh console centos705
Connected to domain centos705
Escape character is ^]
CTRL + ]
KVM基本命令:
virsh --help 查看帮助
virsh list --all 列出所有虚拟机(包括正在运行的和关闭的)
virsh list 列出所有虚拟机(仅运行中的)
virsh start centos705 --启动虚拟机
virsh shutdown centos705 -- 关闭虚拟机
virsh reboot centos705 --重启虚拟机
如果虚拟机关不了,强制关闭,非正常关闭
virsh destroy centos705
清除配置
virsh undefine centos705
标签:虚拟化,--,qcow2,虚拟机,KVM,virsh From: https://blog.51cto.com/u_16321614/11944769