序:需要自行准备一台安装部署好Linux操作系统的虚拟机,这里利用的镜像是centos7,有需要的友友们可自行下载。
镜像文件:CentOS-7-x86_64-DVD-2009
链接: https://pan.baidu.com/s/1OuPfDEUGZH41JxID6RrXAw 提取码: msth
目录
三、登录KVM虚拟机---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