千家信息网

CentOS7.2怎么部署KVM虚拟机

发表于:2025-01-26 作者:千家信息网编辑
千家信息网最后更新 2025年01月26日,这篇文章主要介绍了CentOS7.2怎么部署KVM虚拟机的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CentOS7.2怎么部署KVM虚拟机文章都会有所收获,下面我们一起
千家信息网最后更新 2025年01月26日CentOS7.2怎么部署KVM虚拟机

这篇文章主要介绍了CentOS7.2怎么部署KVM虚拟机的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CentOS7.2怎么部署KVM虚拟机文章都会有所收获,下面我们一起来看看吧。

centos版本:64位 7.2 1511

一、安装kvm

1. 验证cpu是否支持kvm;如果结果中有vmx(intel)或svm(amd)字样,就说明cpu的支持的。

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

2. 关闭selinux,将 /etc/sysconfig/selinux 中的 selinux=enforcing 修改为 selinux=disabled

3. 最小安装的centos安装一些最基本的包(可选项,因为我是刚安装好的centos,所以为了下面方便点,先把一些必要的工具安装下)

yum install epel-release net-tools vim unzip zip wget ftp -y

4. 安装kvm及其依赖项

yum install qemu-kvm libvirt virt-install bridge-utils -y

5. 验证安装结果,下图说明已经成功安装了

lsmod | grep kvm

6. 开启kvm服务,并且设置其开机自动启动

systemctl start libvirtdsystemctl enable libvirtd

7. 查看状态操作结果,如下图所示,说明运行情况良好

systemctl status libvirtdsystemctl is-enabled libvirtd

8. 配置网桥模式,先将 /etc/sysconfig/network-scripts/ 目录下的网卡配置文件备份一份(不要备在当前目录以及子目录下,其他目录随意)

a. 创建 ifcfg-br0 文件,内容如下:

bootproto=staticdevice=br0type=bridgenm_controlled=noipaddr=192.168.1.95netmask=255.255.255.0gateway=192.168.1.1dns1=61.177.7.1dns2=8.8.8.8

b. 移除掉原来的 ifcfg-enp0s25 ,重新创建该文件,内容如下:

bootproto=nonedevice=enp0s25nm_controlled=noonboot=yesbridge=br0

c. 重启网络服务

systemctl restart network

使用 ifconfig 验证操作结果,多了一块网卡br0,现在访问 think8848-srv02 使用 192.168.1.95 就可以了。

二、安装虚拟机

1. 准备操作系统安装镜像文件,在本文中将使用和宿主环境一样的centos7.2,把该文件放到 /home/iso 目录下

2. 创建虚拟机文件存放的目录

mkdir -p /home/kvm-bak

3. 使用 virt-install 创建虚拟机

复制代码 代码如下:


virt-install -n think8848-kvmbase -r 2048 --disk /home/kvm-bak/think8848-kvmbase.img,format=qcow2,size=20 --network bridge=br0 --os-type=linux --os-variant=rhel7.2 --cdrom /home/iso/centos-7-x86_64-dvd-1511.iso --vnc --vncport=5910 --vnclisten=0.0.0.0

操作结果显示:

不要理会里面提示的错误,接着往下走

4. 打开防火墙上的5910端口

firewall-cmd --zone=public --add-port=5910/tcp --permanentfirewall-cmd --reload

5. 使用vnc连接该虚拟机,进行虚拟机操作系统的安装,直接到vnc官网上下载最新版的vnc viewer即可

a. vnc viewer

b. 新建连接,提供宿主ip、端口号(在virt-install创建过程中指定的),以及名称

c. 在expert页签中,将colorlevel的值由原来的 pal8 修改为 rgb222 ,点击ok按钮保存

d. 如果你像我一样,边操作边还在做笔记,等你双击连接的名称后,安装界面都准备好了

接下来就安装centos吧,过程略。

6. 安装完centos,系统要求重启,这时候虚拟机没有重启(也不知是因为什么问题),vnc也连不上,先在宿主机上查看虚拟机状态,显示think8848-kvmbase为关闭状态

virsh list --all

7. 手动启动虚拟机

virsh start think8848-kvmbase

再次使用vnc连接,发现已经可以连进去了

三、简单配置kvm虚拟机

1. 网桥配置,这里值得一提的是,如果你在虚拟机中安装centos过程中,配置了合适的网格参数,那么这时虚拟机里应该就可以使用网络了。如果当时就采用系统安装包的默认参数,未启用网卡,那么此时你需要启动虚拟机的网卡,先看下虚拟机网卡的配置文件列表,貌似和普通电脑安装没啥区别,网卡的配置文件是 ifcfg-eth0

再查看 ifcfg-eth0配置文件,和普通电脑安装的也没啥区别,按照要求呢,貌似在一些文章中介绍,说需要添加一行配置 nm_controlled=no ,我没添加也没发现有什么问题。

2. 配置在宿主端登录虚拟机shell。当然在宿主端也是可以通过ssh登录,但是直接登录貌似也是一个不错的方式。这个配置主要有两个步骤:

a. 编辑 /etc/default/grub 文件,对照如下:

编辑前:

编辑后:

文本内容:

grub_distributor="$(sed 's, release .*$,,g' /etc/system-release)"grub_default=savedgrub_disable_submenu=truegrub_terminal="console serial"grub_serial_command="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"grub_cmdline_linux="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb"grub_cmdline_linux_default="console=tty1 console=ttys0,115200"grub_disable_recovery="true"

b. 运行下面一行的代码

grub2-mkconfig -o /boot/grub2/grub.cfg

c. 重启虚拟机 reboot

d. 在宿主机上进入虚拟机控制台,想退出时使用 ctrl 键+ ] (左方括号)键退出。

virsh console think8848-kvmbase

四、迁移虚拟机

虚拟机建好后,最大的好处就是任由我们折腾,而不用担心重装系统的麻烦。所以一定要知道虚拟机怎么复制迁移,这里有两种情况,一种是本机上镜像复制,另一种是将本机镜像迁移到其他服务器上。

1. 本机复制

a. 先关闭虚拟机

virsh shutdown think8848-kvmbase

b. 在 /home 下新建文件夹 /home/kvm-img

mkdir -p /home/kvm-img

c. 使用 virt-clone 克隆think8848-kvmbase为新的虚拟机

复制代码 代码如下:


virt-clone -o think8848-kvmbase -n think8848-kvm01 -f /home/kvm-img/think8848-kvm01.img

克隆完成

使用 virsh list --all 查看

d. 开启think8848-kvm01,然后修改ip地址、主机名

virsh start think8848-kvm01virsh console think8848-kvm01#等虚拟机启动好后,用root登录hostname think8848-kvm01#编辑/etc/hostname文件,修改主机名为think8848-kvm01vi /etc/hostname#编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ipaddr

e. reboot 重启虚拟机,重启后刚才修改的内容已经生效了。

2. 将虚拟机镜像迁移到其他服务器上

a. 先将虚拟机的配置文件和镜像文件放到合适的位置(我搭了一台ftp服务器,方便测试时所有的文件传输,如下图所示)

b. 现在到服务器转战到think8848-srv01(ip:192.168.1.96),刚才虚拟机是在think8848-srv02(ip:192.168.1.95)上创建的。以下所有操作均是在think8848-srv01上进行的

c. 将ftp上的think8848-kvm01.img放到/home/kvm-img目录,将think8848-kvm01.xml放到/etc/libvirt/qemu目录中

d. 编辑think8848-kvm02.xml,将里面所有think8848-kvm01替换为think8848-kvm02,然后把uuid换为新的(直接使用这个在线工具生成吧)

e. 定义新虚拟机

virsh define /etc/libvirt/qemu/think8848-kvm02.xml

图中think8848-kvm01是我之前在宿主机中配置的虚拟机,恰好名称与之前的重复了。我在think8848-kvm01上没有安装ftp客户端,在新迁移的虚拟机里面安装了ftp,可以利用这个包验证虚拟机是否正确

ok,说明没有问题

f. 现在是时候再给新的虚拟机指定新主机名和ip了。刚才是我们重启生效的,这次我们不要重启了,先使用 systemctl restart network 使新ip生效,然后再 exit 注销用户使主机名生效,就可以了。

最后一个问题,如果在克隆或迁移后想使用vnc连接,那就需要重新指定vnc的端口号,将 /etc/libvirt/qemu/think8848-kvm02.xml 中的vnc端口号修改你需要的值即可。

关于"CentOS7.2怎么部署KVM虚拟机"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"CentOS7.2怎么部署KVM虚拟机"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

文件 配置 宿主 目录 内容 网卡 服务 代码 系统 结果 镜像 a. 主机 服务器 问题 登录 验证 口号 名称 状态 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 儿童网络安全教育项目 2018学校网络安全知识 银行 南宁 软件开发 数据库隐式转换造成索引失效 群晖网络存储服务器 手机网络安全知识视频 北京冬奥会实现网络安全保障 金蝶服务器存在但没有套账信息 公司表格自动生成数据库 如何在国泰安数据库上下载数据 关系型数据库的集合和表什么区别 网络安全备案是什么 最好的可视化数据库 密云区推广网络技术软件 ftp服务器代码 c oracle数据库 安全 三水网络安全找哪家 阿里巴巴西南网络技术有限公司 串口服务器是什么 网络安全管理问题与解决方案 河南金明源信息技术数据库 四叶草剧场服务器关闭是什么意思 您已违反网络安全 软件测试数据库相关的面试题 软件开发工作几年好找工作 上海购买网络技术转让价目表 阿里云云服务器ecs做啥的 软件开发税收优惠具体有哪些 网络安全工程师通用技能 计算机网络技术以太网软件
0