0


Linux基础 - 虚拟化介绍(KVM)

‍‍🏡博客主页: Passerby_Wang的博客_CSDN博客-系统运维,云计算,Linux基础领域博主

🌐所属专栏:『Linux基础』

🌌上期文章: Linux基础 - 服务管理(systemd)

📰如觉得博主文章写的不错或对你有所帮助的话,还望大家多多支持呀! 关注、点赞、收藏、评论。

一、概述

    虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

    虚拟化的资源管理,是将一个或多个物理资源整合或分解为一个或多个逻辑资源,其实现程度分为完全、部分、硬件辅助等。

二、常见的虚拟化厂商及产品

系列

常见PC/服务器端版本

VMware

VMware Workstation、vSphere

Microsoft

VirtualPC、Hyper-V

RedHat

KVM、RHEV

Oracle

Oracle VM VirtualBox

Citrix

Xen

三、安装虚拟化服务器平台(KVM)

1、主要软件包

qemu-kvm #为kvm提供底层仿真支持

libvirt-daemon #libvirtd守护进程,管理虚拟机

libvirt-client #用户端软件,提供客户端管理命令

libvirt-daemon-driver gemu #libvirtd 连接gemu的驱动

virt-manager #图形管理工具

2、准备工作

1)准备一台设备(这里博主准备一台Centos7的服务器)

2)关闭SELinux、防火墙(可能导致虚拟机内部无法通信)

3)安装KVM相关包,命令如下

yum -y install kvm bridge-utils virt-v2v libgesttfs-tools libcanberra-gtk2 qemu-kvm.x86_64 qemu-kvm-tools.86_64 libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 lsbvirt-java.noarch libvirt-python.x86_64 libiscsidbus-devel virt-clone tunctl virt-manager python-virtinst virt-vieeer virt-top dejavu-lgc-sans-fonts nfs-utils epel-release

3、启动libvirtd服务端

libvirtd 为管理虚拟机提供服务接口,提供DNS、DHCP等功能

1)命令

systemctl restart libvirtd

systemctl restart libvirtd

2)实例

[root@wangwu ~]# systemctl restart libvirtd

[root@wangwu ~]# systemctl restart libvirtd

4、打开管理工具

1)命令

virt-manager

2)实例

[root@wangwu ~]# virt-manager

5、点击图标创建一台新的虚拟机

6、选择安装操作系统的方式,这里选择“Local install media (ISO image or CDROM)”后,点击“ForWard”

注:

1)Local install media (ISO image or CDROM)

本地安装介质(ISO镜像或CDROM)

2)Network Install(HTTPFTPor NFS)

网络安装(HTTP、FTP或NFS)

3)Network Boot(PXE)

网络引导(PXE)

4)Import existing disk image

导入现有磁盘镜像

7、查找安装介质,选择“Use ISO image”,点击“Browse...”选择ISO镜像位置后点击“ForWard”

注:

1)Use CDROM or DVD

使用光盘或 DVD

2)Use ISO image

使用ISO镜像

3)Automatically detect operating system based on install media

自动检测操作系统上的基础安装介质

8、设置内存大小和CPU数量,设置完毕后点击“ForWard”

9、创建虚拟磁盘,勾选“Enable storage for this virtual machine”,创建并设置磁盘容量,点击“ForWard”

注:

1)Enable storage for this virtual machine

为虚拟机启用存储

2)Create a disk image for the virtual machine

为虚拟机创建磁盘映像

3)Select or create custom storage

选择或创建自定义存储

10、准备开始安装,设置好虚拟机名称,点击“Finish”

注:

1)Name:虚拟机名称

2)OS:系统名称

3)Install:安装操作系统方式

4)Memory:内存大小

5)CPUs:处理器数量

6)Storage:存储容量与位置

7)Customize configuration before install:安装前自定义配置

8)Network selection:网络设置

四、操作虚拟机

1、使用virsh命令工具

virsh命令工具提供管理各虚拟机的命令接口,支持交互模式,包括查看、创建、停止、关闭等功能。

1)常用格式

virsh 控制指令 虚拟机名称 参数

2)命令

virsh

3)实例

[root@wangwu~]#virsh #启动virsh命令工具

欢迎使用virsh,虚拟化的交互式终端

输入:'help'来获得命令的帮助信息

'quit'退出

virsh #

2、查看虚拟化信息

查看KVM节点(服务器)信息

1)命令

virsh nodeinfo

2)实例

[root@wangwu ~]# virsh nodeinfo #查看KVM节点(服务器)信息

CPU 型号: x86_64

CPU: 1

CPU 频率: 2600 MHz

CPU socket: 1

每个 socket 的内核数: 1

每个内核的线程数: 1

NUMA 单元: 1

内存大小: 1,048,576 KiB

列出虚拟机状态

1)命令

virsh list --all

2)实例

[root@wangwu ~]# virsh list --all #列出所有虚拟机的状态

Id Name  State

6 centos7.0 shut off

查看指定虚拟机的信息

1)命令

virsh dominfo 虚拟机名称

2)实例

[root@wangwu ~]# virsh dominfo centos7.0        #查看centos7.0虚拟机的信息

Id: 6

名称: centos7.0

UUID: 78fa5915-c060-4731-b4c5-bd4aaaea8fee

OS 类型: hvm

状态: running

CPU: 1

CPU 时间: 28.7s

最大内存: 1048576 KiB

使用的内存: 1048576 KiB

持久: 是

自动启动: 禁用

管理的保存: 否

安全性模式: none

安全性 DOI: 0

3、虚拟机开关机操作

启动|重启|关闭 指定的虚拟机

1)命令

virsh start 虚拟机名称

virsh reboot 虚拟机名称

virsh shutdown 虚拟机名称

2)实例

[root@wangwu ~]# virsh start centos7.0  #启动centos7.0虚拟机

Domain centos7.0 started

[root@wangwu ~]# virsh list #验证

Id Name    State

6  centos7.0  running
[root@wangwu ~]# virsh shutdown centos7.0  #关闭centos7.0虚拟机

Domain centos7.0 is being shutdown

[root@wangwu ~]# virsh list --all  #验证

Id Name    State

- centos7.0  shut off

强制关闭指定的虚拟机

1)命令

virsh destroy 虚拟机名称

2)实例

[root@wangwu ~]# virsh destroy centos7.0 #强制关闭centos7.0虚拟机

Domain centos7.0 destroyed

[root@wangwu ~]# virsh list --all  #验证

Id Name    State

- centos7.0  shut off

将指定的虚拟机设为|取消开机自动运行

1)命令

virsh autostart 虚拟机名称

virsh autostart --disable 虚拟机名称

2)实例

[root@wangwu ~]# virsh autostart centos7.0 # 设置centos7.0虚拟机自启动           

 Domain centos7.0 marked as autostarted

[root@wangwu ~]# virsh dominfo centos7.0 #验证

Id:

Name: centos7.0

... ... ...

Autostart: enable

... ... ...
[root@wangwu ~]# virsh autostart --disable centos7.0 # 取消centos7.0虚拟机自启动  

Domain centos7.0 unmarked as autostarted

[root@wangwu ~]# virsh dominfo centos7.0 #验证

Id:

Name: centos7.0     

... ... ...

Autostart: disable

... ... ...

五、使用xml文件管理虚拟机

1、xml配置文件

1)介绍

xml配置文件定义了一个虚拟机的名称、UUID、CPU、内存、虚拟磁盘、网卡等各种参数设置,默认位于/etc/libvirt/qemu/虚拟机名.xml

2)相关命令

virsh dumpxml 虚拟机名 #查看xml配置文件

virsh dumpxml 虚拟机名 > 虚拟机名.xml #备份xml配置文件

virsh edit 虚拟机名 #编辑xml配置文件对虚拟机的配置进行调整

virsh define xml配置文件 #根据修改后的独立xml文件定义新虚拟机

virsh undefine 虚拟机名 #通过删除xml文件删除虚拟机

3)实例(创建、修改、删除虚拟机)

创建虚拟机

[root@wangwu ~]# uuidgen #生成新的UUID值

89d57c2c-5eef-4e30-8b6c-e58851564f84

[root@wangwu ~]# virsh edit centos7.0 #编辑虚拟机centos7.0的配置并生成新的虚拟机

<domain type='kvm'>

<name>wangwu</name> #新的虚拟机名称

<uuid>89d57c2c-5eef-4e30-8b6c-e58851564f84</uuid> #输入新的UUID值

... ... ...

#若修改name、uuid、disk、mac,会自动保存为新虚拟机
[root@wangwu ~]# virsh list --all             #验证

Id Name    State

- centos7.0  shut off #旧的虚拟机

- wangwu   shut off #新的虚拟机

删除虚拟机

[root@wangwu ~]# virsh undefine centos7.0

Domain centos7.0 has been undefined

#删除旧的虚拟机避免出现多个虚拟机的磁盘或MAC地址冲突
[root@wangwu ~]# virsh list --all             #验证

Id Name    State

- wangwu   shut off #新的虚拟机

修改虚拟机

[root@wangwu ~]# uuidgen #生成新的UUID值
56568905-bde4-4c4a-98b0-8a8f5bba1e88
[root@wangwu ~]# virsh edit wangwu    #编辑虚拟机centos7.0的配置并生成新的虚拟机
<domain type='kvm'>
<name>zhaolv</name>     #新的虚拟机名称
<uuid>56568905-bde4-4c4a-98b0-8a8f5bba1e88</uuid>    #输入新的UUID值
... ... ...
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/zhaolv.qcow2'/>    #输入新磁盘路径
... ... ...
</disk>
... ... ...
<interface type='network'>
<mac address='74:24:00:61:56:07'/>    #输入新的MAC地址
<source network='default'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03
' function='0x0'/>
</interface>
... ... ...
[root@wangwu ~]# virsh list --all             #验证
Id     Name        State
-     wangwu   shut off    #旧的虚拟机
-     zhaolv       shut off    #新的虚拟机

复制虚拟磁盘文件

[root@wangwu ~]# cd /var/lib/libvirt/images

[root@wangwu images]# cp wangwu.qcow2 zhaolv.qcow2

[root@wangwu images]# ls #验证

wangwu.qcow2 zhaolv.qcow2

六、虚拟化相关内容推荐

1、VMware 虚拟机下载与安装

VMware 虚拟机下载与安装_Passerby_Wang的博客-CSDN博客_vmware虚拟机下载目录一、下载二、安装一、下载1、打开官网地址https://www.vmware.com/cn.html(下载需要注册账号,注册地址Registration | VMware Customer Connect)2、登录账号后,搜索栏输入“VMware Workstation Pro”回车确认,也可滚动鼠标向下查找。3、选择适合自己的版本,这里点击“VMware Workstation 16.1.2Pro for Windows”跳转到下载页面。...https://blog.csdn.net/Passerby_Wang/article/details/120910719?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166789674316782425177098%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166789674316782425177098&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-3-120910719-null-null.nonecase&utm_term=vm&spm=1018.2226.3001.4450

2、VMware安装Centos 7(完整版图文教程)

VMware安装Ubuntu 16.04(完整版图文教程)_Passeby_Wang的博客-CSDN博客_vmware安装ubuntu使用虚拟机软件通过软件来模拟真实计算机的一类软件程序一台物理机可运行多个虚拟机每个虚拟机提供一个相对独立的操作系统环境https://py-wang.blog.csdn.net/article/details/123745479?spm=1001.2014.3001.5502

3、VMware安装Ubuntu 16.04(完整版图文教程)

VMware安装Centos 7(完整版图文教程)_Passerby_Wang的博客-CSDN博客_centos7 vmwareVMware安装Centos 7.5(完整版图文教程)超详细!!!https://blog.csdn.net/Passerby_Wang/article/details/121726704?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166789674316782425177098%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166789674316782425177098&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-121726704-null-null.nonecase&utm_term=vm&spm=1018.2226.3001.4450

4、VMware虚拟机安装Ubuntu时页面显示不全的解决方法

VMware虚拟机安装Ubuntu时页面显示不全的解决方法_Passerby_Wang的博客-CSDN博客_ubuntu显示不全一、问题描述二、解决方式-1三、解决方式-2https://py-wang.blog.csdn.net/article/details/124075121?spm=1001.2014.3001.5502

标签: linux 虚拟化 KVM

本文转载自: https://blog.csdn.net/Passerby_Wang/article/details/127816891
版权归原作者 Passerby_Wang 所有, 如有侵权,请联系我们删除。

“Linux基础 - 虚拟化介绍(KVM)”的评论:

还没有评论