Centos7.3 搭建KVM 命令安装VM虚拟机
操作系统:centos7.3
一、安装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 libvirtd systemctl enable libvirtd
7. 查看状态操作结果,如下图所示,说明运行情况良好
systemctl status libvirtd
systemctl is-enabled libvirtd
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就可以了。
*注释:如果有防火墙的话在防火墙添加虚拟机IP地址策略 允许源地址访问目标地址。
1.加入IP地址
2.创建策略。 允许源地址访问目标地址。
二、安装虚拟机
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 写保护,将以只读方式挂载
2. 创建虚拟机文件存放的目录
mkdir -p /data/kvm-bak
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开始执行安装
选择地区时间
选则之后c保存
自动返回主页面
选则硬盘
选则到硬盘 c保存
全新安装 C保存
选则添加IP地址和添加主机名称
输入 回车
添加IP地址
选则ipv4
添加IP地址回车
添加netmask gateway c 保存
添加密码
B开始执行安装
安装完成
宿主机直接连接到虚拟机
4.等待重启虚拟机,虚拟机起开之后直接远程就ok了 。
三、virt-clone克隆虚拟机
使用 virt-clone 克隆njvm01为新的虚拟机(虚拟机需要先关闭)
virt-clone -o njvm02 -n njvm03 -f /data/kvm-img/njvm03.img
克隆完查看 所有的虚拟机以及状态
virsh list --all
删除虚拟机njvm01
virsh undefine njvm01
virsh destroy njvm01
######### 取消定义 删除以后要找到虚拟机文件路径吧虚拟机文件也删除掉#########
[root@nkgtsv01 data]# virsh shutdown njvm01
域 njvm01 被关闭
[root@nkgtsv01 data]# virsh start njvm02
域 njvm02 已开始
[root@nkgtsv01 data]# virsh list --all
克隆完以后因为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
IPADDR=192.168.1.121改为我们想要的IP地址
保存退出
service network restart
重启网络
重新链接
virsh autostart njvm21
虚拟机 njvm21 开机启动