Linux云计算虚拟化-KVM桌面虚拟化技术

柔光的暖阳◎ 2022-12-22 09:11 268阅读 0赞

文章目录

  • Linux云计算虚拟化-KVM桌面虚拟化技术
      1. 什么是虚拟化?
      1. 部署kvm虚拟环境【类似于vmware】
      1. 配置kvm网络桥接功能
      1. 创建kvm虚拟机
      1. 配置kvm虚拟机上网
      1. kvm虚拟机常用命令

Linux云计算虚拟化-KVM桌面虚拟化技术

1. 什么是虚拟化?

虚拟化技术:
①仿真虚拟化:对系统硬件没有要求,性能最低。如:vmware。
②半虚拟化:虚拟机可以使用真机物理硬件,性能高,但需要修改内核。如:xen。rhel5以上自带xen,需要安装对应的内核。
③全虚拟化:直接使用物理硬件,性能高。如:kvm。rhel6支持kvm。

KVMkernel-based virtual machine,基于linux内核的虚拟机。kvm的虚拟化需要硬件支持(Intel VT技术或AMD V技术),是基于硬件的完全虚拟化。在kvm模型中,每台kvm虚拟机都是一个由linux调度程序管理的标准进程,可以在用户空间启动客户机操作系统。支持创建linux、windows虚拟机。
在这里插入图片描述

查看cpu是否支持虚拟化技术http://detail.zol.com.cn/1257/1257000/param.shtml
可以看到,是支持的。
在这里插入图片描述
在这里插入图片描述

2. 部署kvm虚拟环境【类似于vmware】

①检查vmware虚拟机的cpu是否支持虚拟化,这里要勾上。
在这里插入图片描述

  1. [root@server ~]# cat /proc/cpuinfo |grep vmx

在这里插入图片描述
②安装kvm虚拟化服务

  1. # 安装虚拟化服务及其管理工具
  2. yum install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libvirt-python -y
  3. # qemu-kvm kvm主程序,kvm虚拟化模块
  4. # virt-manager kvm图形化管理工具
  5. # libvirt 虚拟化服务
  6. # libguestfs-tools 虚拟机的系统管理工具
  7. # virt-install # 安装虚拟机的实用工具、
  8. # libvirt-python # python调用libvirt虚拟化服务的api接口库文件
  9. # 开启虚拟化服务,并设置开机自启
  10. [root@server ~]# systemctl start libvirtd
  11. [root@server ~]# systemctl enable libvirtd
  12. [root@server ~]# systemctl is-enabled libvirtd
  13. enabled
  14. # 查看是否正确加载kvm模块
  15. [root@server ~]# lsmod | grep kvm
  16. kvm_intel 183621 0
  17. kvm 586948 1 kvm_intel
  18. irqbypass 13503 1 kvm

③使用virt-manager虚拟系统管理器

  1. # 查看是否支持中文
  2. [root@server ~]# echo $LANG
  3. zh_CN.UTF-8

在这里插入图片描述

3. 配置kvm网络桥接功能

  1. # 安装桥设备工具
  2. [root@server ~]# yum install -y bridge-utils
  3. [root@server ~]# cd /etc/sysconfig/network-scripts/
  4. [root@server network-scripts]# ls ifcfg-*
  5. ifcfg-ens32 ifcfg-lo
  6. [root@server network-scripts]# cp ifcfg-ens32 ifcfg-br0
  7. [root@server network-scripts]# vim ifcfg-ens32 # 使用桥设备上网
  8. BRIDGE="br0" # 最后一行加上这句,ens32绑定到桥接设备br0上,如果ens32配置的是静态IP地址,还需要把网络配置信息删除掉。即IP地址、子网掩码、网关地址、DNS去掉。
  9. [root@server network-scripts]# vim ifcfg-br0 # 桥设备有IP地址,可以正常上网
  10. # 清空原来的内容
  11. DEVICE="br0"
  12. NM_CONTROLLED="yes"
  13. BOOTPROTO=none # 如果是dhcp,最后四个元素要去掉。
  14. ONBOOT=yes
  15. TYPE="Bridge"
  16. IPADDR=192.168.10.10
  17. NETMASK=255.255.255.0
  18. GATEWAY=192.168.10.1
  19. DNS1=192.168.10.1
  20. [root@server network-scripts]# systemctl restart network
  21. # 可以看到,桥设备br0已经建立,绑定在桥设备上的网卡有ens32。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 创建kvm虚拟机

①挂载磁盘设备,用于存放kvm虚拟机的镜像文件。

  1. # 可以直接使用磁盘设备/dev/sdb,也可以使用其分区
  2. [root@server ~]# ls /dev/sdb
  3. /dev/sdb
  4. [root@server ~]# mkfs.xfs /dev/sdb
  5. meta-data=/dev/sdb isize=512 agcount=4, agsize=3276800 blks
  6. = sectsz=512 attr=2, projid32bit=1
  7. = crc=1 finobt=0, sparse=0
  8. data = bsize=4096 blocks=13107200, imaxpct=25
  9. = sunit=0 swidth=0 blks
  10. naming =version 2 bsize=4096 ascii-ci=0 ftype=1
  11. log =internal log bsize=4096 blocks=6400, version=2
  12. = sectsz=512 sunit=0 blks, lazy-count=1
  13. realtime =none extsz=4096 blocks=0, rtextents=0
  14. # 临时挂载/dev/sdb,这里挂载到kvm默认镜像文件下
  15. [root@server ~]# mount /dev/sdb /var/lib/libvirt/images/
  16. [root@server ~]# df -h
  17. 文件系统 容量 已用 可用 已用% 挂载点
  18. /dev/mapper/centos-root 8.0G 4.4G 3.7G 55% /
  19. devtmpfs 1.9G 0 1.9G 0% /dev
  20. tmpfs 1.9G 0 1.9G 0% /dev/shm
  21. tmpfs 1.9G 13M 1.9G 1% /run
  22. tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
  23. /dev/sda1 1014M 180M 835M 18% /boot
  24. tmpfs 378M 24K 378M 1% /run/user/0
  25. /dev/sdb 50G 33M 50G 1% /var/lib/libvirt/images
  26. # 永久挂载磁盘设备/dev/sdb
  27. [root@server ~]# blkid | grep /dev/sdb
  28. /dev/sdb: UUID="b8997424-a9b0-4391-b323-46af89abcf4b" TYPE="xfs"
  29. [root@server ~]# vim /etc/fstab
  30. UUID=b8997424-a9b0-4391-b323-46af89abcf4b /var/lib/libvirt/images xfs defaults 0 0
  31. [root@server ~]# mount -a

②上传centos7镜像

  1. # 该目录为kvm默认存放镜像的目录
  2. [root@server ~]# ls /var/lib/libvirt/images/
  3. [root@server ~]# cd /var/lib/libvirt/images/
  4. [root@server images]# ll
  5. 总用量 0
  6. [root@server images]# rz
  7. [root@server images]# ll
  8. 总用量 286720
  9. -rw-r--r--. 1 root root 293601280 6 20 07:49 CentOS-7-x86_64-DVD-1810.iso

③创建虚拟机

  1. [root@server ~]# virt-manager

新建虚拟机:
在这里插入图片描述
选择安装方式:
在这里插入图片描述
选择镜像:
在这里插入图片描述
配置内存和cpu:
在这里插入图片描述
配置磁盘空间:
在这里插入图片描述
设置虚拟机名称:
在这里插入图片描述
开始安装:
在这里插入图片描述
在这里插入图片描述
这里是最小化安装的镜像:
在这里插入图片描述

后续的安装,和vmware上装虚拟机一致,这里不多介绍。

5. 配置kvm虚拟机上网

①激活网卡:ONBOOT设置为yes
在这里插入图片描述
②重启网络服务并查看ip地址
在这里插入图片描述
③使用xshell连接kvm虚拟机
在这里插入图片描述
重启vmware虚拟机,由于已经设置了kvm虚拟机开机自启,故重启vmware虚拟机后会自动启动kvm虚拟机,无需手动启动。

6. kvm虚拟机常用命令

  1. # 列出正在运行的kvm虚拟机
  2. [root@server ~]# virsh list
  3. Id 名称 状态
  4. ----------------------------------------------------
  5. 3 centos7-kvm running
  6. # 列出所有的kvm虚拟机,包括已关闭的
  7. [root@server ~]# virsh list --all
  8. Id 名称 状态
  9. ----------------------------------------------------
  10. 3 centos7-kvm running
  11. # 关闭虚拟机
  12. [root@server ~]# virsh shutdown centos7-kvm
  13. centos7-kvm 被关闭
  14. # 开启虚拟机
  15. [root@server ~]# virsh start centos7-kvm
  16. centos7-kvm 已开始
  17. # 自动启动虚拟机
  18. [root@server ~]# virsh autostart centos7-kvm
  19. centos7-kvm标记为自动开始

如果遇到centos6使用virsh shutdown命令无法关闭虚拟机,可能是因为kvm虚拟机最小化安装centos6系统时默认没有安装acpid服务,所以不会处理shutdown发来的关机信号,需要手动安装并启动acpid服务。
安装步骤:
①配置网络
②配置yum源
③使用yum安装acpid服务【yum install -y acpid
④启动acpid服务【安装后默认开机自启

发表评论

表情:
评论列表 (有 0 条评论,268人围观)

还没有评论,来说两句吧...

相关阅读

    相关 kvm虚拟

    第1章 虚拟化的分类 1.1  全虚拟化与半虚拟化 全虚拟化  又叫硬件辅助虚拟化技术,最初所使用的虚拟化技术就是全虚拟化(Full Virtualizatio