521当晚师妹向我告白竟是为了向我学习KVM虚拟化技术

目录

简介

结构

特性

环境准备

1.实验说明

2.检查硬件信息是否支持虚拟化 

3.必要服务的关闭

安装并配置KVM服务

1.安装kvm相关依赖包

2.启动libvirtd服务

3.创建虚拟机

4.KVM虚拟机管理

5.从本机登录KVM虚拟机

配置KVM的web管理界面

1.概述

2.安装配置cherrypy跟wok

3.web界面操作


师妹:在吗师哥我不想努力了,我想了想还是找你吧!韩:啊~,这样不太好吧  师妹:我已经想清楚了,跟着师哥能学到很多又炫有厉害的技术。对了师哥最近刚好看到了KVM虚拟化这块你能给我讲讲吗?韩:那我们开视频吧   (ps:视频打开后,黑黑的什么也看不到)师妹:那师哥你讲吧,我听着

简介

               KVM (全称是 Kernel-based Virtual Machine) 是 Linux 下 x86 硬件平台上的全功能虚拟化解决方案,包含一个可加载的内核模块 kvm.ko 提供和虚拟化核心架构和处理器规范模块。使用 KVM 可允许多个包括 Linux 和 Windows 每个虚拟机有私有的硬件,包括网卡、磁盘以及图形适配卡等。目前世面十分流行虚拟化技术,常见的两大主流就是Vmware跟Kvm的虚拟化技术。

结构

  • 设备驱动 /dev/kvm。
  • KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化的CPU上运行,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。

特性

  • 嵌入到Linux内核中(提高兼容性)
  • 代码级资源调用(提高性能)
  • 虚拟机就是一个进程(内存易于管理)
  • 直接支持NUMA技术(提高扩展性)
  • Red Hat收购了KVM
  • 保持开源发展模式
  • 更好的商业支持及服务保障

环境准备

1.实验说明

Centos 7.9 镜像   4核心8G  硬盘50G   主机名:kvm-node01  IP:10.10.10.130    ps:我这里是用VMware workstation这个桌面端虚拟化软件来实验的。与工作中的环境也几乎大同小异。

2.检查硬件信息是否支持虚拟化 

2.1 虚拟机设置

2.2 查看cpu是否支持虚拟化

[root@kvm-node01 ~]# grep -E '(vmx|svm)' /proc/cpuinfo

3.必要服务的关闭

3.1 永久关闭 setenforce

[root@kvm-node01 ~]# setenforce 0
[root@kvm-node01 ~]# vim /etc/selinux/config
SELINUX=disabled

3.2 永久关闭防火墙

[root@kvm-node01 ~]# systemctl  stop firewalld
[root@kvm-node01 ~]# systemctl  disable firewalld 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

安装并配置KVM服务

1.安装kvm相关依赖包

[root@kvm-node01 ~]# yum -y install  qeum-kvm qemu-kvm-tools virt-manager libvirt virt-install qemu-kvm

2.启动libvirtd服务

[root@kvm-node01 ~]# lsmod | grep kvm     #查看kvm模块
kvm_intel             188740  0 
kvm                   637515  1 kvm_intel
irqbypass              13503  1 kvm
[root@kvm-node01 ~]# systemctl  start libvirtd
[root@kvm-node01 ~]# systemctl  enable libvirtd

3.创建虚拟机

3.1 制作虚拟机镜像

 

[root@kvm-node01 ~]# qemu-img create -f qcow2 /opt/centos7.qcow2 10G    #创建硬盘
Formatting '/opt/centos7.qcow2', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 lazy_refcounts=off
-f:格式,这里使用qcow2格式   (常用raw和qcow2)
/opt/centos7.qcow2:磁盘存放路径
10G:磁盘的大小

[root@kvm-node01 ~]# dd if=/dev/cdrom of=/opt/centos7.iso  #这里我用的是系统自身的镜像,也可以重新挂载其它镜像制作
记录了18354176+0 的读入
记录了18354176+0 的写出
9397338112字节(9.4 GB)已复制,168.816 秒,55.7 MB/秒

3.2 图形化安装虚拟机

[root@kvm-node01 ~]# virt-install --name mykvm-site --virt-type kvm --ram 2048 --cdrom=/opt/centos7.iso --disk path=/opt/centos7.qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

开始安装......
域安装仍在进行。您可以重新连接
到控制台以便完成安装进程。

3.3 VNC连接进行安装(安装步骤略)

4.KVM虚拟机管理

4.1 查看、启动、编辑、删除虚拟机

[root@kvm-node01 ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     mykvm-site                     关闭

[root@kvm-node01 ~]# virsh start mykvm-site
域 mykvm-site 已开始

[root@kvm-node01 ~]# virsh edit mykvm-site
##mykvm-site虚拟机的配置

[root@kvm-node01 ~]# virsh undefine mykvm-site  #删除虚拟机

4.2 修改虚拟机cpu个数(cpu可以热添加,不可以热减少。cpu数量不能高于物理机cpu个数)

[root@kvm-node01 ~]# virsh edit mykvm-site
<vcpu placement='auto' current='1'>2</vcpu>   #意思是当前cpu1个 最大为2个
[root@kvm-node01 ~]# virsh setvcpus mykvm-site 2 --live --config   #热添加cpu

#通过vnc在mykvm-site这台机器上执行热激活cpu1
echo 1 > /sys/devices/system/cpu/cpu1/online
[root@localhost ~] lscpu | grep CPU

4.3 修改内存

[root@kvm-node01 opt]# virsh  qemu-monitor-command mykvm-site --hmp --cmd info balloon  #查看当前内存
balloon: actual=2048
[root@kvm-node01 opt]# virsh  qemu-monitor-command mykvm-site --hmp --cmd balloon 600  #调整为600
[root@kvm-node01 opt]# virsh  qemu-monitor-command mykvm-site --hmp --cmd info balloon
balloon: actual=600
##内存也可以热调整,前提是内存小于虚拟机配置文件中设置的值也就是下面的值
<memory unit='KiB'>2097152</memory>   #当前最大为2G,也是就说不能调整超过2G

4.4 硬盘

[root@kvm-node01 opt]# qemu-img -help   #硬盘支持的格式
Supported formats: vvfat vpc vmdk vhdx vdi ssh sheepdog rbd raw host_cdrom host_floppy host_device file qed qcow2 qcow parallels nbd iscsi gluster dmg tftp ftps ftp https http cloop bochs blkverify blkdebug

全镜像模式:raw
稀疏模式:qcow2

#给mykvm-site新加一块硬盘
[root@kvm-node01 opt]# qemu-img create -f qcow2 /opt/centos-disk01.qcow2 10G 
Formatting '/opt/centos-disk01.qcow2', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 lazy_refcounts=off 
[root@kvm-node01 opt]# qemu-img info /opt/centos-disk01.qcow2 
image: /opt/centos-disk01.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
#下面这条命令的意思是把/opt/centos-disk01.qcow2这块盘添加到虚拟机mykvm-site中并且该硬盘在虚拟机中显示的名称为vdb
[root@kvm-node01 opt]# virsh attach-disk mykvm-site /opt/centos-disk01.qcow2 vdb
成功附加磁盘
##然后就是平常的操作,给这块硬盘分区格式化 挂载等

4.5  网络设置

[root@kvm-node01 opt]# brctl show   #查看网络信息
bridge name	bridge id		STP enabled	interfaces
virbr0		8000.525400d4eb48	yes		virbr0-nic
							vnet0
[root@kvm-node01 opt]# brctl addbr br0  #添加网桥  brctl delbr br0这条命令是删除网桥
[root@kvm-node01 opt]# brctl show 
bridge name	bridge id		STP enabled	interfaces
br0		8000.000000000000	no		
virbr0		8000.525400d4eb48	yes		virbr0-nic
							vnet0
[root@kvm-node01 opt]# brctl addif br0 ens33  #把主机的网卡添加到br0中

5.从本机登录KVM虚拟机

5.1 配置console

[root@kvm-node01 ~]# vim /etc/default/grub
6 GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet c    onsole=ttyS0"
[root@kvm-node01 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg   #更新grub2[root@kvm-node01 [root@kvm-node01 ~]# reboot  #重启

5.2 登录虚拟机

[root@kvm-node01 ~]# systemctl start serial-getty@ttyS0
[root@kvm-node01 ~]# virsh start mykvm-site
域 mykvm-site 已开始
[root@kvm-node01 ~]# virsh console mykvm-site
连接到域 mykvm-site
换码符为 ^]


CentOS Linux 7 (Core)
Kernel 3.10.0-862.el7.x86_64 on an x86_64

localhost login: 

如果出现下图这种情况(可以试试下面的解决方法):

配置KVM的web管理界面

1.概述

kvm是没有web管理页面的,在使用kvm虚拟化的时候一般需要借助于其他的管理系统或命令行模式,这样给小规模使用kvm带来非常的不便,而wok使用kimchi来管理kvm非常的方便,也很轻量级。 Wok基于cherrypy的web框架,可以通过一些插件来进行扩展,例如:虚拟化管理、主机管理、系统管理。它可以在任何支持HTML5的网页浏览器中运行。Kimchi是一个基于HTML5的KVM管理工具,是Wok的一个插件(使用Kimchi前一定要先安装了wok),通过Kimchi可以更方便的管理KVM。

2.安装配置cherrypy跟wok

[root@kvm-node01 ~]# wget https://github.com/kimchi-project/wok/releases/download/2.5.0/wok-2.5.0-0.el7.centos.noarch.rpm
[root@kvm-node01 ~]# wget https://github.com/kimchi-project/kimchi/releases/download/2.5.0/kimchi-2.5.0-0.el7.centos.noarch.rpm

[root@kvm-node01 ~]# yum -y install epel-release   #epel源,有些依赖这个源中存在
[root@kvm-node01 ~]# yum -y localinstall *.rpm
[root@kvm-node01 ~]# systemctl  daemon-reload
[root@kvm-node01 ~]# systemctl  start wokd
[root@kvm-node01 ~]# systemctl  enable wokd

3.web界面操作

3.1 在浏览器输入https://ip+8001,这个界面跟ESXI的界面十分相似,但没有ESXI的功能多

韩:怎么样,明白了吗? 师妹:师哥真厉害讲的很明白,你睡觉吧我先去洗澡了。 韩:就这?(表示对师妹规律生活作息的肯定)对了不是要找我吗   师妹:再说再说时候不早了  (ps:原来我才是小丑)

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖胖不胖、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值