KVM虚拟化--安装部署kvm

序:需要自行准备一台安装部署好Linux操作系统的虚拟机,这里利用的镜像是centos7,有需要的友友们可自行下载。

镜像文件:CentOS-7-x86_64-DVD-2009

链接: https://pan.baidu.com/s/1OuPfDEUGZH41JxID6RrXAw 提取码: msth

目录

一、配置KVM环境

1、关闭防火墙

2、关闭selinux保护

3、测试与外网的连通性

4、清除原有镜像源

5、挂载镜像到/media目录

6、配置本地yum源,创建并编写dvd.repo目录

7、清除缓存并建立元数据

8、查看镜像仓库

9、下载相关软件

10、查看虚拟环境

11、启动kvm

二、安装KVM虚拟机

1、选择安装

2、选择利用本地镜像安装

3、选择本地镜像

4、设置内存和CPU大小

5、设置磁盘大小

6、设置主机名,并安装虚拟机

7、安装kvm虚拟机--centos 7.0

8、选择系统安装语言

9、选择支持语言

10、选择安装软件

11、配置磁盘分区,这里进行自动分区

12、打开并配置网络信息,设置主机名

13、配置完成后,开始安装

14、设置管理员用户root的密码,普通用户的账号和密码

15、接受许可证

三、登录KVM虚拟机---centos7.0并测试与物理主机的连通性

1、查看物理主机的网卡信息

2、centos7.0虚拟机测试与物理主机的连通性

一、配置KVM环境

1、关闭防火墙

[root@kvm ~]# systemctl stop firewalld.service

[root@kvm ~]# systemctl disable firewalld.service

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@kvm ~]# systemctl status firewalld.service

● firewalld.service - firewalld - dynamic firewall daemon

Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)

Active: inactive (dead)

Docs: man:firewalld(1)

May 09 04:08:05 localhost systemd[1]: Starting firewalld - dynamic firewall daemon...

May 09 04:08:06 localhost systemd[1]: Started firewalld - dynamic firewall daemon.

Hint: Some lines were ellipsized, use -l to show in full.

2、关闭selinux保护

[root@kvm ~]# vi /etc/selinux/config

[root@kvm ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of three two values:

# targeted - Targeted processes are protected,

# minimum - Modification of targeted policy. Only selected processes are protected.

# mls - Multi Level Security protection.

SELINUXTYPE=targeted

[root@kvm ~]# setenforce 0

[root@kvm ~]# getenforce

Permissive

3、测试与外网的连通性

[root@kvm ~]# ping aliyun.com -c4

PING aliyun.com (106.11.249.99) 56(84) bytes of data.

64 bytes from 106.11.249.99 (106.11.249.99): icmp_seq=1 ttl=128 time=23.6 ms

64 bytes from 106.11.249.99 (106.11.249.99): icmp_seq=2 ttl=128 time=37.4 ms

64 bytes from 106.11.249.99 (106.11.249.99): icmp_seq=3 ttl=128 time=37.1 ms

64 bytes from 106.11.249.99 (106.11.249.99): icmp_seq=4 ttl=128 time=27.4 ms

--- aliyun.com ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3007ms

rtt min/avg/max/mdev = 23.691/31.452/37.497/6.031 ms

4、清除原有镜像源

[root@kvm ~]# cd /etc/yum.repos.d/

[root@kvm yum.repos.d]# ls

CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo

CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo docker-ce.repo

[root@kvm yum.repos.d]# rm -rf *.repo

[root@kvm yum.repos.d]# ls

[root@kvm yum.repos.d]#

5、挂载镜像到/media目录

[root@kvm yum.repos.d]# mount /dev/cdrom /media/

mount: /dev/sr0 is write-protected, mounting read-only

[root@kvm yum.repos.d]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/centos-root 17G 4.3G 13G 25% /

devtmpfs 1.9G 0 1.9G 0% /dev

tmpfs 1.9G 0 1.9G 0% /dev/shm

tmpfs 1.9G 13M 1.9G 1% /run

tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup

/dev/sda1 1014M 170M 845M 17% /boot

tmpfs 378M 8.0K 378M 1% /run/user/42

tmpfs 378M 52K 378M 1% /run/user/0

/dev/sr0 8.8G 8.8G 0 100% /media

6、配置本地yum源,创建并编写dvd.repo目录

[root@kvm yum.repos.d]# vi dvd.repo

[root@kvm yum.repos.d]# cat dvd.repo

[kvm]

name=kvm

baseurl=file:///media

gpgcheck=0

enabled=1

7、清除缓存并建立元数据

[root@kvm yum.repos.d]# yum clean all && yum makecache

Loaded plugins: fastestmirror, langpacks

Cleaning repos: kvm

Cleaning up everything

Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos

Cleaning up list of fastest mirrors

Loaded plugins: fastestmirror, langpacks

Determining fastest mirrors

kvm | 3.6 kB 00:00:00

(1/4): kvm/group_gz | 166 kB 00:00:00

(2/4): kvm/primary_db | 5.9 MB 00:00:00

(3/4): kvm/filelists_db | 6.9 MB 00:00:00

(4/4): kvm/other_db | 2.5 MB 00:00:00

Metadata Cache Created

若出现以下问题,则表示进程被占用

[root@kvm ~]# yum clean all && yum makecache

Loaded plugins: fastestmirror, langpacks

Existing lock /var/run/yum.pid: another copy is running as pid 15291.

Another app is currently holding the yum lock; waiting for it to exit...

The other application is: PackageKit

Memory : 153 M RSS (570 MB VSZ)

Started: Sat May 10 10:48:55 2025 - 02:14 ago

State : Sleeping, pid: 15291

Another app is currently holding the yum lock; waiting for it to exit...

The other application is: PackageKit

Memory : 153 M RSS (570 MB VSZ)

Started: Sat May 10 10:48:55 2025 - 02:16 ago

State : Sleeping, pid: 15291

解决方法

[root@kvm yum.repos.d]# kill -9 15291

[root@kvm yum.repos.d]# systemctl stop packagekit

8、查看镜像仓库

[root@kvm yum.repos.d]# yum repolist

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

repo id repo name status

kvm kvm 9,911

repolist: 9,911

9、下载相关软件

[root@kvm yum.repos.d]# yum -y install qemu-kvm openssl libvirt virt-manager

[root@kvm yum.repos.d]# rpm -q qemu-kvm openssl libvirt virt-manager

qemu-kvm-1.5.3-156.el7.x86_64

openssl-1.0.2k-12.el7.x86_64

libvirt-3.9.0-14.el7.x86_64

virt-manager-1.4.3-3.el7.noarch

10、查看虚拟环境

[root@kvm ~]# systemctl start libvirt

Failed to start libvirt.service: Unit not found.

[root@kvm ~]# systemctl start libvirtd

[root@kvm ~]# systemctl enable libvirtd

[root@kvm ~]# systemctl status libvirtd

● libvirtd.service - Virtualization daemon

Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)

Active: active (running) since Sat 2025-05-10 11:03:27 EDT; 2h 40min ago

Docs: man:libvirtd(8)

https://libvirt.org

Main PID: 66410 (libvirtd)

CGroup: /system.slice/libvirtd.service

├─ 1698 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-s...

├─ 1699 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-s...

└─66410 /usr/sbin/libvirtd

[root@kvm ~]# virsh --version

3.9.0

[root@kvm ~]# ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm

[root@kvm ~]# ls -l /usr/libexec/qemu-kvm

-rwxr-xr-x. 1 root root 5302384 Apr 12 2018 /usr/libexec/qemu-kvm

11、启动kvm

二、安装KVM虚拟机

1、选择安装

2、选择利用本地镜像安装

3、选择本地镜像

## 需要提前用远程传输工具(WinSCP等),将相关镜像传输到宿主机上

[root@kvm ~]# ls | grep iso

CentOS-7-x86_64-DVD-2009.iso

4、设置内存和CPU大小

## 读者可自行按照需求进行配置

5、设置磁盘大小

## 读者可自行按照需求进行配置

6、设置主机名,并安装虚拟机

7、安装kvm虚拟机--centos 7.0

8、选择系统安装语言

9、选择支持语言

10、选择安装软件

## 读者可自行按照需求进行选择

11、配置磁盘分区,这里进行自动分区

## 读者可自行按照需求进行分区

12、打开并配置网络信息,设置主机名

## 读者可自行按照需求进行配置

13、配置完成后,开始安装

14、设置管理员用户root的密码,普通用户的账号和密码

15、接受许可证

三、登录KVM虚拟机---centos7.0并测试与物理主机的连通性

1、查看物理主机的网卡信息

C:\Users\lenovo>ip config

以太网适配器 VMware Network Adapter VMnet1:

连接特定的 DNS 后缀 . . . . . . . :

本地链接 IPv6 地址. . . . . . . . : fe80::332f:8b09:ddec:9f7c%19

IPv4 地址 . . . . . . . . . . . . : 192.32.10.1

子网掩码 . . . . . . . . . . . . : 255.255.255.0

默认网关. . . . . . . . . . . . . : 192.32.110.1

192.32.110.2

以太网适配器 VMware Network Adapter VMnet8:

连接特定的 DNS 后缀 . . . . . . . :

本地链接 IPv6 地址. . . . . . . . : fe80::784e:7ee0:4952:65ed%13

IPv4 地址 . . . . . . . . . . . . : 192.32.20.1

子网掩码 . . . . . . . . . . . . : 255.255.255.0

默认网关. . . . . . . . . . . . . : 192.168.220.2

2、centos7.0虚拟机测试与物理主机的连通性

[root@node ~]# ping 192.32.10.1 -c4

PING 192.32.10.1 (192.32.10.1) 56(84) bytes of data.

64 bytes from 192.32.10.1: icmp_seq=1 ttl=128 time=0.751 ms

64 bytes from 192.32.10.1: icmp_seq=2 ttl=128 time=0.985 ms

64 bytes from 192.32.10.1: icmp_seq=3 ttl=128 time=1.35 ms

64 bytes from 192.32.10.1: icmp_seq=4 ttl=128 time=0.789 ms

--- 192.32.10.1 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3018ms

rtt min/avg/max/mdev = 0.751/0.970/1.358/0.243 ms