当前位置: 首页 > news >正文

CentOS 7操作系统部署KVM软件和创建虚拟机

CentOS 7.9操作系统部署KVM软件和配置指南,包括如何创建一个虚拟机。

步骤 1: 检查硬件支持

首先,确认您的CPU支持虚拟化技术,并且已在BIOS中启用:

egrep -c '(vmx|svm)' /proc/cpuinfo

如果输出大于0,则表示支持虚拟化。

步骤 2: 安装KVM及相关工具

  1. 1.更新软件包列表

yum update -y
  1. 2.安装KVM及相关工具

yum groupinstall "Virtualization Host" -y

yum install qemu-kvm libvirt virt-install virt-viewer -y

  1. 3.启动并设置开机启用libvirtd服务

systemctl start libvirtd

systemctl enable libvirtd
  1. 4.验证安装是否成功

virsh list --all

如果命令执行没有错误信息,说明安装成功。

步骤 3: 创建虚拟机

您可以使用virt-install命令行工具或virt-manager图形界面来创建虚拟机。这里我先介绍命令行方式:

使用virt-install创建虚拟机

提前上传IOS文件到/home/vm_ios目录下

virt-install \

  --name= syty-k8s-vm \

  --memory= 16384 \

  --vcpus=8 \

  --disk path= /home/vm-disk/centos7-vm.qcow2,size=100 \

  --network network=default \

  --os-type=linux \

  --os-variant= rhel7.0 \

  --cdrom= /home/vm_ios/CentOS-7-x86_64-DVD-2009.iso \

  --graphics vnc,listen=0.0.0.0 \

  --noautoconsole

请根据实际情况修改参数,如内存大小、CPU核心数、磁盘路径、网络配置、操作系统类型及变体等。此命令会创建一个名为syty-k8s-vm的虚拟机,分配16GB内存和8个CPU核心,使用100GB的磁盘空间,并通过VNC提供图形界面支持。

查看syty-k8s-vm虚拟机VNC端口号:

virsh dumpxml syty-k8s-vm | grep vnc

使用VNC连接上之后接着按指示装系统。

注意事项

  • 资源分配:确保为新的虚拟机合理分配资源,以免影响现有服务的性能。
  • 网络配置:默认情况下,KVM会创建NAT网络。如果需要更复杂的网络设置,如桥接网络,请参考之前的建议进行配置。

安装好之后查看新创建的虚拟机

virsh list --all

修改虚拟机网络,使其支持桥接

  1. 先修改宿主机网络,创建br0桥接网卡。

我的宿主机目前用的是em1这个网卡,

接下来备份这个网卡配置文件

cp /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/ifcfg-em1-2-12

查看宿主机网卡当前配置

[root@store ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=em1

DEVICE=em1

ONBOOT=yes

IPADDR=xxxxxxxxxxx

NETMASK=255.255.255.0

#GATEWAY=xxxxxxx

DNS1=xxxxxx

按照下列信息修改/etc/sysconfig/network-scripts/ifcfg-em1网卡配置文件

[root@store ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=none

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=em1

DEVICE=em1

ONBOOT=yes

BRIDGE=br0 #桥接网卡名

创建桥接网卡配置文件将原先ifcfg-em1网卡配置文件的IP信息写到ifcfg-br0中

[root@store ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0

TYPE=Bridge

BOOTPROTO=static

IPADDR=xxxxxx

NETMASK=255.255.255.0

#GATEWAY=xxxxxxx  # 如果需要,取消注释并填写正确的网关地址

DNS1=xxxxxxxxx

ONBOOT=yes

DELAY=0

然后重启网络

systemctl restart network

查看网络状态

systemctl status network

输入ifconfig发现em1已经没有IP信息了,并且出现了br0这个桥接网卡名称

  1. 修改虚拟机配置

如果虚拟机开着机,那就先关机

virsh shutdown syty-k8s-vm

关机后编辑虚拟机

virsh edit syty-k8s-vm

修改虚拟机关于网卡配置那部分

  <interface type='bridge'>

      <mac address='52:54:00:28:30:0e'/>

      <source bridge='br0'/>

      <model type='virtio'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

    </interface>

修改后开启虚拟机

virsh start syty-k8s-vm

修改虚拟机IP为静态

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="static"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="eth0"

UUID="ac2141c8-5eb5-4993-ad5d-3a27296d0fb3"

DEVICE="eth0"

ONBOOT="yes"

IPV6_PRIVACY="no"



IPADDR="xxxxx"

NETMASK="255.255.255.0"

GATEWAY="xxxxxx"

DNS1="xxxxxxxxxx"

最后一步ping一下百度域名看看能不能访问外网并正确解析

备份原有的CentOS-Base.repo文件

原有的默认源仓库地址已经无法访问,需要修改成其他可用源

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

下列以阿里云为例

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
baseurl=https://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
baseurl=https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
baseurl=https://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

清除Yum缓存并重新生成缓存

yum clean all

yum makecache

安装vim工具

能正常安装说明配置的阿里云源仓库地址没问题。自此KVM虚拟机可用。

相关文章:

  • matlab-simulink难点记录1
  • Windows环境安装部署minimind步骤
  • Level DB --- two_level_iterator
  • win11安装wsl报错:无法解析服务器的名称或地址(启用wsl2)
  • 随机规划场景中的两类目标利润概率模型
  • 如何通过AI让PPT制作更轻松:从AI生成PPT到一键智能生成
  • C++11新特性之final
  • 【Erdas实验教程】007:图像融合(多波段+高光谱)
  • 介绍 Liquibase、Flyway、Talend 和 Apache NiFi:选择适合的工具
  • 故地重游:一眼是曾经,一眼是如今
  • 前端高级面试题
  • cmake Qt Mingw windows构建
  • mount 出现 2038 问题
  • Spring AI集成DeepSeek,实现流式输出
  • 如何使用border-image做大屏公共组件的边框
  • ICLR2022 | SETR | 提高视觉Transformers的对抗迁移性
  • 传统混合专家模型MoE架构详解以及python示例(DeepSeek-V3之基础)
  • VUE3环境搭建
  • ARINC 429详解
  • CentOS 7 企业级Redis 7部署指南
  • 英伟达:美国无法操纵监管机构在AI领域取胜,美企应专注创新而不是编造荒诞谣言
  • 中国海警局新闻发言人就日民用飞机侵闯我钓鱼岛领空发表谈话
  • 沈晓萍︱严金清:比斯坦因更早获得敦煌文物的无锡名士
  • 上海科创再出发:“造星”的城和“摘星”的人
  • 视频丨中国海警位中国黄岩岛领海及周边区域执法巡查
  • 奈雪的茶叫停“能喝奶茶就不要喝水”宣传,当地市监称不要误导消费者