KVM虚拟化技术

虚拟化与云计算的关系

  • 虚拟化是什么?
  1. 虚拟化是一种技术、顾名思义,就是将不可拆分的实体资源变成可以自由划分的逻辑资源,从而实现资源的整合、隔离、在分配,云计算就是利用了虚拟化技术的这个特点。

(大白话来说就是:虚拟化是用软件把一台物理服务器的CPU、内存、硬盘等资源切成多个相互隔离的小块,每块都能独立当一台完整电脑用,且可按需随时调整大小)

  • 云计算是什么?
  1. 云计算是一种服务模式(IAAS),其思想就是把各种资源整合起来,然后租给有需要的用户,其中的资源包括处理器(CPU)、内存、存储、网络和其它基本的计算资源。通常我们通过虚拟化手段把这些资源分割打包提供给用户使用。

(大白话来说就是:云计算就是先把一大堆CPU、内存、硬盘和网络用虚拟化切成很多小份,然后像水电一样按需租给用户用的服务模式。

一、实验

实验主机

主机名称IP地址配置
ecs192.168.88.1252 CPU, 4G mem

虚拟化平台安装

  • 内核模块管理命令
命令命令描述
lsmod查看已经加载的内核模块
modprobe加载一个内核模块
sysctl设置内核参数
rmmod卸载内核模块

1、部署虚拟化平台

  • 验证指令集
[root@ecs ~]# grep -Po "vmx|svm" /proc/cpuinfo
vmx
vmx

虚拟化服务

[root@ecs ~]# dnf install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu libvirt-daemon-driver-network dnsmasq
[root@ecs ~]# systemctl enable --now libvirtd
[root@ecs ~]# lsmod |grep kvm
kvm_intel             174841  6 
kvm                   578518  1 kvm_intel
irqbypass              13503  1 kvm
[root@ecs ~]# virsh version
Compiled against library: libvirt 8.0.0
Using library: libvirt 8.0.0
Using API: QEMU 8.0.0
Running hypervisor: QEMU 6.2.0

虚拟网桥

# 官网手册: https://libvirt.org/docs.html
[root@ecs ~]# vim /etc/libvirt/qemu/networks/vbr.xml
<network>
  <name>vbr</name>
  <forward mode='nat'/>
  <bridge name='vbr' stp='on' delay='0'/>
  <ip address='192.168.100.254' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.100.128' end='192.168.100.200'/>
    </dhcp>
  </ip>
</network>
# 创建网桥
[root@ecs ~]# virsh net-define /etc/libvirt/qemu/networks/vbr.xml
Network vbr defined from /etc/libvirt/qemu/networks/vbr.xml
# 设置开机自启动
[root@ecs ~]# virsh net-autostart vbr
Network vbr marked as autostarted
# 启动网桥
[root@ecs ~]# virsh net-start vbr
Network vbr started
# 验证状态
[root@ecs ~]# virsh net-list --all
 Name   State    Autostart   Persistent
-----------------------------------------
 vbr    active   yes         yes
 
[root@ecs ~]# ifconfig vbr # 验证
  • 网桥管理命令
命令命令描述
virsh net-list [--all]列出虚拟网络
virsh net-start启动虚拟网络设备
virsh net-destroy停止虚拟网络设备
virsh net-define根据 xml 文件创建虚拟网络
virsh net-undefine删除一个虚拟网络设备
virsh net-edit修改虚拟网络设备的配置
virsh net-autostart设置开机自启动

Linux 虚拟机

克隆磁盘

[root@ecs ~]# cp cirros.qcow2 /var/lib/libvirt/images/
[root@ecs ~]# cd /var/lib/libvirt/images/
[root@ecs ~]# qemu-img create -F qcow2 -f qcow2 -b cirros.qcow2 vmhost.img 20G
[root@ecs ~]# qemu-img info vmhost.img #查看信息

虚拟机配置文件

[root@ecs ~]# vim vmbase.xml
02: <name>vmhost</name>  # 必改配置
03: <memory unit="KB">1048576</memory>
04: <currentMemory unit="KB">1048576</currentMemory>
05: <vcpu placement="static">2</vcpu>
25: <source file="/var/lib/libvirt/images/vmhost.img" />  # 必改配置
29: <source bridge="vbr" />

创建虚拟机

[root@ecs ~]# virsh define vmbase.xml
[root@ecs ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     vmhost                         shut off
[root@ecs ~]# virsh start vmhost
Domain vmhost started
[root@ecs ~]# virsh console vmhost # 两次回车
Connected to domain vmhost
Escape character is ^]

login as 'cirros' user. default password: 'gocubsgo'. use 'sudo' for root.
cirros login: 
退出使用 ctrl + ]

管理命令(1)

命令命令描述
virsh list [--all]列出虚拟机
virsh start/shutdown启动/关闭虚拟机
virsh destroy强制停止虚拟机
virsh define/undefine创建/删除虚拟机
virsh console连接虚拟机的 console

管理命令(2)

命令命令描述
virsh edit修改虚拟机的配置
virsh autostart设置虚拟机自启动
virsh dominfo查看虚拟机摘要信息
virsh domiflist查看虚拟机网卡信息
virsh domblklist查看虚拟机硬盘信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值