CentOS 7搭建KVM虚拟化环境

一、在CentOS 7上搭建KVM虚拟化环境,可以依照以下步骤进行操作:

1. 检查系统是否支持虚拟化

首先,需要确认你的CPU支持虚拟化技术。可以通过以下命令进行检查:

cat /proc/cpuinfo | grep vmx

如果输出中包含vmx,则表示CPU支持Intel的VT-x虚拟化技术;如果输出包含svm,则表示CPU支持AMD-V虚拟化技术。

2. 安装KVM及相关软件包

使用yum包管理器安装KVM及其依赖的软件包:

yum install qemu-kvm qemu-img libvirt libvirt-python virt-manager libvirt-client virt-install -y
  • libvirt作用:虚拟机的管理软件

  • virt-install、virt-clone作用:虚拟机的安装工具和克隆工具

  • virt-manager作用:虚拟机的图形化管理软件

  • qemu-kvm、qemu-img作用:管理虚拟机的虚拟磁盘

3. 启动虚拟化模块

加载KVM内核模块:

modprobe kvm

4. 启动libvirt服务并设置开机自启

启动libvirtd服务,并设置为开机自启:

systemctl start libvirtd
systemctl enable libvirtd

5. 配置网络

为了使虚拟机能够访问外部网络,需要配置网络。可以通过图形界面的virt-manager来配置,也可以手动编辑网络配置文件。

6. 创建物理桥接设备

如果你打算让虚拟机加入到现有的网络中,需要创建一个物理桥接设备。首先,查看网卡信息:

ifconfig

找到你想要桥接至局域网的网卡名称,然后关闭NetworkManager服务(如果正在运行):

chkconfig NetworkManager off
service NetworkManager stop

创建桥接设备:

virsh iface-bridge <网卡名称> <桥接名称>

例如,如果你的网卡名称是ens33,想要创建的桥接名称是br0,则命令如下:

virsh iface-bridge ens33 br0

7. 进入图形化界面

使用virt-manager可以进入KVM的图形化管理界面:

virt-manager

8. 创建存储池和虚拟机

创建存储池用于存放虚拟机的磁盘映像文件:

mkdir -p /kvm/pool

创建虚拟机,可以使用virt-install命令或者通过virt-manager图形界面进行创建。

9. 挂载镜像进行测试

如果你有ISO镜像文件,可以将其挂载到指定的目录下,并使用它来创建虚拟机:

cp /dev/cdrom /kvm/iso/centos7.iso

然后,使用virt-install创建虚拟机,并指定ISO文件的位置。

10. 管理和使用虚拟机

通过virt-manager或者virsh命令行工具,你可以管理和使用虚拟机,例如启动、停止、重启虚拟机等。

列出虚拟机
  • 列出所有连接的虚拟机:

    virsh list
    

    这个命令会显示所有当前连接的虚拟机及其状态。

  • 列出虚拟机的详细信息:

    virsh list --all
    

    这个命令会提供关于每个虚拟机的详细信息,包括其配置和状态。

管理虚拟机
  • 导出虚拟机配置:导出指定虚拟机(VM)的 XML 配置文件。拥有xml配置文件和磁盘文件就可以将虚拟机恢复至任何地方,默认虚拟机配置文件存放在/etc/libvirt/qemu目录

    virsh dumpxml <虚拟机名称> > vm.xml
    

    这个命令会将虚拟机的 XML 配置保存到当前目录下的 vm.xml 文件中。

  • 创建新的虚拟机: 创建虚拟机通常需要一个XML配置文件,可以使用 virsh define 命令来加载这个文件:

    virsh define <XML文件路径>
    

    然后使用 virsh start 命令启动虚拟机:

    virsh start <虚拟机名称>
    
  • 删除虚拟机配置:删除一个虚拟机的定义和配置。不会删除虚拟机的磁盘文件或其他持久化数据,只会从 libvirt 的虚拟机列表中移除虚拟机的配置信息。

    命令的基本格式:

    virsh undefine <虚拟机名称>
    

    执行这个命令后,虚拟机的定义将从 libvirt 中移除。如果你想要同时删除虚拟机的磁盘文件和其他持久化数据,可以添加 --remove-all-storage 选项:

    virsh undefine <虚拟机名称> --remove-all-storage
    

    请注意,使用 --remove-all-storage 选项会删除虚拟机的所有磁盘文件和配置文件,这个操作是不可逆的。

  • 重命名虚拟机

    首先关闭虚拟机:

    virsh shutdown old-vm-name
    

    然后使用 virsh domrename 命令重命名虚拟机:

    virsh domrename old-vm-name new-vm-name
    
  • 启动虚拟机:

    virsh start <虚拟机名称>
    

    这个命令会启动指定的虚拟机。

  • 停止虚拟机:

    virsh shutdown <虚拟机名称>
    

    这个命令会优雅地关闭指定的虚拟机。如果需要强制关闭,可以使用 virsh destroy 命令。

  • 重启虚拟机:

    virsh reboot <虚拟机名称>
    

    这个命令会重启指定的虚拟机。

  • 暂停虚拟机:

    virsh suspend <虚拟机名称>
    

    这个命令会暂停虚拟机的执行。

  • 恢复虚拟机:

    virsh resume <虚拟机名称>
    

    这个命令会恢复之前被暂停的虚拟机。

管理虚拟机磁盘和网络
  • 附加磁盘到虚拟机:

    virsh attach-disk <虚拟机名称> --source <磁盘路径> --target <目标设备名称> --persistent
    

    这个命令会将一个新的磁盘附加到虚拟机上,并且配置为持久性更改。

  • 分离磁盘:

    virsh detach-disk <虚拟机名称> <目标设备名称>
    

    这个命令会从虚拟机中分离指定的磁盘。

  • 修改虚拟机网络设置:

    virsh edit <虚拟机名称>
    

    这个命令会打开虚拟机的XML配置文件,允许用户编辑网络设置或其他配置。

监控和诊断
  • 获取虚拟机信息:

    virsh dominfo <虚拟机名称>
    

    这个命令会显示虚拟机的详细信息,包括其硬件资源和状态。

  • 监控虚拟机资源使用情况:

    virsh vcpuinfo <虚拟机名称>
    

    这个命令会显示虚拟机的CPU使用情况。

  • 查看虚拟机日志:

    virsh console <虚拟机名称>
    

    这个命令会连接到虚拟机的控制台,允许用户查看虚拟机的输出和日志。

二、安装虚拟机

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom=/opt/CentOS-7.7-x86_64-DVD-1908.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
  • --virt-type kvm 虚拟化的类型(qemu)

  • --os-type=linux 系统类型

  • --os-variant rhel7 系统版本

  • --name centos7 虚拟机的名字

  • --memory 1024 虚拟机的内存

  • --vcpus 1 虚拟机cpu

  • --disk /opt/centos2.raw,format=raw,size=10 raw:10G 不支持做快照,性能好,qcow2:支持快照

  • --cdrom=/opt/CentOS-7.7-x86_64-DVD-1908.iso 虚拟机镜像

  • --network network=default 使用默认NAT的网络

  • --graphics vnc,listen=0.0.0.0 图形化输出到vnc服务端

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值