linux7虚拟化,基于CentOS7部署KVM虚拟化平台

什么是虚拟化
虚拟化就是把硬件资源从物理方式转变为逻辑方式,打破原有物理结构,使用户可以灵活管理这些资源,并且允许1台物理机上同时运行多个操作系统,以实现资源利用率最大化和灵活管理的一项技术。
虚拟化的优势
1:减少服务器的数量,降低硬件采购成本。
2:资源利用率最大化
3:降低机房空间、散热、用电消耗成本、
4:硬件资源可动态调整,提高企业IT业务灵活性。
5:高可用性
6:在不中断服务的情况下进行物理硬件调整。
7:降低管理成本。
8:具备更高效的灾备能力。
操作步骤
在虚拟机里添加一个40G的新磁盘(我虚拟机磁盘空间不够)
# fdisk /dev/sdb (磁盘管理操作指令:n p 1 回车...w)
# mkfs -t xfs /dev/sdb1 //格式化
# mkdir /vdir //创建一个目录挂载磁盘
# vim /etc/fstab
/dev/sdb1 /vdir xfs defaults 0 0
# mount -a //刷新挂载
linux7虚拟化,基于CentOS7部署KVM虚拟化平台
文章图片

部署KVM
安装KVM
qemu-kvm :KVM模块
qemu-kvm-tools : KVM调试工具
virt-manager : 图形界面管理虚拟机
libvir : 虚拟机管理工具
virt-install : 工具命令
# yum install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install -y
# egrep '(vmx|svm)' /proc/cpuinfo //查看是否支持虚拟化
linux7虚拟化,基于CentOS7部署KVM虚拟化平台
文章图片

qemu-img命令创建虚拟机的磁盘镜像
# qemu-img create -f raw /vdir/CentOS-7.4-x86_64.img 10G
//成功创建了10G大小的镜像,但是实际的镜像在磁盘上占用大小是0
# lsmod | grep kvm //检查KVM模块是否安装
# systemctl start libvirtd.service //开启服务
# systemctl stop firewalld.service
# setenforce 0
linux7虚拟化,基于CentOS7部署KVM虚拟化平台
文章图片

centos7的iso放入opt目录等待安装
从共享文件将安装镜像复制到 /opt目录
# mount.cifs //192.168.200.21/gx /gx
# cp CentOS-7-x86_64-DVD-1708.iso /opt
安装虚拟机
# virt-install --name CentOS7.4-x86_64 \
--virt-type kvm \
--ram 2048 \
--cdrom=/opt/CentOS-7-x86_64-DVD-1708.iso \
--disk path=/vdir/CentOS-7.4-x86_64.img \
--network network=default \
--graphics vnc,listen=0.0.0.0 \
--noautoconsole
linux7虚拟化,基于CentOS7部署KVM虚拟化平台
文章图片

windows上安装TightVNC Viewer
TightVNC Viewer 安装包:点击下载
使用TightVNC Viewer 连接服务器
使用TightVNC Viewer工具完成安装虚拟机
net.ifnames=0 biosdevname=0 //修改内核参数网卡为eth0
linux7虚拟化,基于CentOS7部署KVM虚拟化平台
文章图片

linux7虚拟化,基于CentOS7部署KVM虚拟化平台
文章图片

linux7虚拟化,基于CentOS7部署KVM虚拟化平台
文章图片

linux7虚拟化,基于CentOS7部署KVM虚拟化平台
文章图片

linux7虚拟化,基于CentOS7部署KVM虚拟化平台
文章图片

KVM操作命令
上图重启后 需要去centos 7 上开启这个虚拟机 才能使用VNC连接
# virsh shutdown CentOS7.4-x86_64 //关闭虚拟机
# virsh start CentOS7.4-x86_64 //启动虚拟机
# virsh list --all //查看虚拟机状态
linux7虚拟化,基于CentOS7部署KVM虚拟化平台
文章图片

虚拟机的删除与添加
# virsh shutdown CentOS7.4-x86_64 //先关闭
【linux7虚拟化,基于CentOS7部署KVM虚拟化平台】# virsh undefine CentOS7.4-x86_64 //再删除

    推荐阅读