Centos7.3 搭建KVM 命令安装VM虚拟机
操作系统:centos7.3
一、安装KVM
1. 验证CPU是否支持KVM;如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。
egrep '(vmx|svm)' /proc/cpuinfo
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915094952551-65878560.png)
2.关闭SELinux,将 /etc/sysconfig/selinux 中的 SELinux=enforcing 修改为 SELinux=disabled
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095007009-590661057.png)
3. 最小安装的CentOS安装一些最基本的包(可选项,因为我是刚安装好的CentOS,所以为了下面方便点,先把一些必要的工具安装下)
yum install epel-release net-tools vim unzip zip wget ftp -y
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095020692-2070584215.png)
4. 安装KVM及其依赖项
yum install qemu-kvm libvirt virt-install bridge-utils -y
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095101363-671765701.png)
5. 验证安装结果,下图说明已经成功安装了
lsmod | grep kvm
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095119426-999500709.png)
6. 开启kvm服务,并且设置其开机自动启动
systemctl start libvirtd systemctl enable libvirtd
7. 查看状态操作结果,如下图所示,说明运行情况良好
systemctl status libvirtd
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095128968-2071232432.png)
systemctl is-enabled libvirtd
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095138039-772037711.png)
8. 配置网桥模式,先将 /etc/sysconfig/network-scripts/ 目录下的网卡配置文件备份一份
a. 创建 ifcfg-br0 文件,(创建的br0文件的IP地址要和物理网卡的IP地址一致,命令 ipconfig查看物理网卡将不会显示IP)内容如下:
[root@bogon ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 BOOTPROTO=none DEFROUTE=yes ONBOOT=yes TYPE=Bridge IPV4_FAILURE_FATAL=yes IPADDR=192.168.1.130 NETMASK=255.255.255.0 GATEWAY=192.168.1.254 DNS1=221.6.4.66 DELAY=0 USERCE=no
ZONE=public
b.修改原网卡配置
vim /etc/sysconfig/network-scripts/ifcfg-eno1s TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" DEFROUTE="yes" IPV4_FAILURE_FATAL="YES" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="eno1" UUID="bb40d726-8d67-4187-90c3-eb61e1b42d61" DEVICE="eno1" ONBOOT="yes" IPADDR="192.168.1.130" NETAMSK=255.255.255.0 GATEWAY="192.168.1.254" DNS1="221.6.4.66" IPV6_PRIVACY="no" BRIDGE=br0
c. 重启网络服务
systemctl restart network
使用 ifconfig 验证操作结果,多了一块网卡br0,现在访问 think8848-srv02 使用 192.168.1.120就可以了。
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095146954-1077561840.png)
*注释:如果有防火墙的话在防火墙添加虚拟机IP地址策略 允许源地址访问目标地址。
1.加入IP地址
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095154816-867131655.png)
2.创建策略。 允许源地址访问目标地址。
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095217184-1458322976.png)
二、安装虚拟机
1. 准备操作系统安装镜像文件,在本文中将使用和宿主环境一样的CentOS7.2,把该文件放到 /home/iso 目录下
挂在U盘
[root@nkgtsv01 ~]# yum install fuse-ntfs-3g -y [root@nkgtsv01 ~]# ls /mnt/ udisk usb [root@nkgtsv01 ~]# ls /mnt/udisk/ CentOS-7.2-x86_64-DVD-1611.iso CentOS-7-x86_64-DVD-1708.iso maven_storey2.zip [root@bogon data]# mkdir -p /data/iso [root@bogon data]# ls iso kvm-bak network [root@nkgtsv01 ~]# mount -o loop /mnt/udisk/CentOS-7-x86_64-DVD-1708.iso /data/iso/ mount: /dev/loop0 写保护,将以只读方式挂载
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095225559-1929465529.png)
2. 创建虚拟机文件存放的目录
mkdir -p /data/kvm-bak
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095231177-1279164696.png)
3.使用 virt-install 创建虚拟机
virt-install --virt-type=kvm --name=njkvm07 --vcpus=4 --memory=6000 --location=/data/iso/CentOS-7-x86-64-DVD-1708.iso --disk path=/data/kvm-images/njkvm07.qcow2,size=200,format=qcow2 --network bridge=br0 --graphics none --extra-args='console=ttyS0' --force
执行完这段命令
感叹号为待选项
c保存 q退出 b开始执行安装
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095239003-1985063030.png)
选择地区时间
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095245939-1661213289.png)
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095258989-134348712.png)
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095315006-5400244.png)
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095400658-1306536471.png)
选则之后c保存
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095424080-580835075.png)
自动返回主页面
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095432059-1067784822.png)
选则硬盘
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095438509-566691120.png)
选则到硬盘 c保存
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095453669-648448147.png)
全新安装 C保存
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095501167-1994465391.png)
选则添加IP地址和添加主机名称
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095518754-609680754.png)
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095531150-1778689733.png)
输入 回车
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095545379-983525391.png)
添加IP地址
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095626630-787313026.png)
选则ipv4
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095633414-721660976.png)
添加IP地址回车
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095639446-319719660.png)
添加netmask gateway c 保存
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095647848-268749203.png)
添加密码
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095656182-1883593356.png)
B开始执行安装
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095705251-981965710.png)
安装完成
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095715998-796875301.png)
宿主机直接连接到虚拟机
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095722738-398009704.png)
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095728424-236302166.png)
4.等待重启虚拟机,虚拟机起开之后直接远程就ok了 。
三、virt-clone克隆虚拟机
使用 virt-clone 克隆njvm01为新的虚拟机(虚拟机需要先关闭)
virt-clone -o njvm02 -n njvm03 -f /data/kvm-img/njvm03.img
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095735425-1044040023.png)
克隆完查看 所有的虚拟机以及状态
virsh list --all
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095742698-2049773849.png)
删除虚拟机njvm01
virsh undefine njvm01
virsh destroy njvm01
######### 取消定义 删除以后要找到虚拟机文件路径吧虚拟机文件也删除掉#########
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095751734-60879187.png)
[root@nkgtsv01 data]# virsh shutdown njvm01
域 njvm01 被关闭
[root@nkgtsv01 data]# virsh start njvm02
域 njvm02 已开始
[root@nkgtsv01 data]# virsh list --all
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095758942-1356891478.png)
克隆完以后因为IP地址还是njvm01的IP地址所以我们要修改IP地址
开启我们克隆的虚拟机
远程登陆上去
[root@nkgtsv-vm01 ~]# cd /etc/sysconfig/network-scripts/ [root@nkgtsv-vm01 network-scripts]# ls ifcfg-eth0 ifdown-ppp ifup-eth ifup-sit ifcfg-lo ifdown-routes ifup-ippp ifup-Team ifdown ifdown-sit ifup-ipv6 ifup-TeamPort ifdown-bnep ifdown-Team ifup-isdn ifup-tunnel ifdown-eth ifdown-TeamPort ifup-plip ifup-wireless ifdown-ippp ifdown-tunnel ifup-plusb init.ipv6-global ifdown-ipv6 ifup ifup-post network-functions ifdown-isdn ifup-aliases ifup-ppp network-functions-ipv6 ifdown-post ifup-bnep ifup-routes [root@nkgtsv-vm01 network-scripts]# vi ifcfg-eth0
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095830002-185626210.png)
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095820639-121196655.png)
IPADDR=192.168.1.121改为我们想要的IP地址
保存退出
service network restart
重启网络
重新链接
virsh autostart njvm21
虚拟机 njvm21 开机启动
![](https://img2020.cnblogs.com/blog/2022973/202009/2022973-20200915095841566-435429317.png)