实验环境如下:
虚拟机版本:VMware 12.5.7
虚拟机需要开启虚拟化,如下图:
系统版本:CentOS Linux release 7.5.1804 (Core)
[root@localhost ~]# cat /etc/redhat-release # 查看系统版本
查看本机是否支持虚拟化:
linux系统中,可以通过检查/proc/cpuinfo文件中的CPU特性标志(flags)来查看CPU目前是否支持硬件虚拟化。在x86和x86_64平台中,Intel系列CPU支持虚拟化的标志位vmx。在AMD系列CPU的标志位svm。可以使用命令查看CPU的标志(flags)从而知道CPU是否支持虚拟化。
[root@localhost ~]# egrep 'vmx|svm' /proc/cpuinfo
如下图表示支持虚拟化:
安装KVM
[root@localhost ~]# yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install -y
启动KVM并设置开机自启动
[root@localhost ~]# systemctl enable libvirtd && systemctl start libvirtd
创建用于桥接的网卡br0:
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 BOOTPROTO=static IPV6INIT=yes IPV6_AUTOCONF=yes ONBOOT=yes TYPE=Bridge DELAY=0 IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.2 DNS1=192.168.1.2
用本机enss33网卡与br0网卡进行桥接。
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 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=ens33 UUID=29376e6e-0b10-4327-b770-858bb444fb0b DEVICE=ens33 ONBOOT=yes #IPADDR=192.168.1.100 #NETMASK=255.255.255.0 #GATEWAY=192.168.1.2 #DNS1=192.168.1.2 BRIDGE=br0 # 桥接的网卡
配置完成后重启网络并查看:
[root@localhost ~]# systemctl restart network [root@localhost ~]# ifconfig
创建镜像文件目录和虚拟机硬盘存放目录如下:
[root@localhost ~]# mkdir /opt/ISO/ /opt/kvm_image/
ISO:目录由于存放:系统镜像文件。
Kvm_image:用于存放虚拟机硬盘文件。
创建虚拟机
使用命令行的方式创建虚拟机
[root@localhost kvm_image]# virt-install --name=kvm_test --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/opt/ISO/CentOS-7-x86_64-DVD-1804.iso --disk path=/opt/kvm_image/centos7.raw,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"
查看物理机CPU的个数:
# 查看CPU的物理个数 cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc –l # 查看CPU的逻辑个数 cat /proc/cpuinfo | grep "processor" | wc -l
如果一切顺利你会看到如下:
我们先输入1,设置语言环境。
设置完成后如下:
输入2回车后这时,我们来到如下:
接下来设置区域
选择好区域后,设置地区,我们这里选择上海。
设置完成后,我们会看到如下:
格式化磁盘:
使用标准分区:
分区完成后,设置root密码:
创建完成后如下所示:
关于如何创建标准用户,就不演示了,比较简单,接下来直接输入b,开始安装系统。安装完成后,回车退出安装,进入系统。
重启后到达登录界面:
登录成功后,查看下当前网络:
当前eth0网卡还没有地址执行如下命令:
这样便获取到了IP地址,但不能每次都手动获取地址,编辑网卡配置文件:
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=dhcp 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=4c9fa0dc-6e40-4500-8fdc-191008439271 DEVICE=eth0 ONBOOT=yes # 开机后自动获取地址
以上便是使用命令行的方式创建虚拟机。
使用VNC的方式创建虚拟机
安装VNC客户端
[root@localhost ~]# yum -y install tigervnc
创建虚拟机
[root@localhost ~]# virt-install --name=vnc_test --os-variant=rhel7 --memory=512 --vcpus=2 --cdrom=/opt/ISO/CentOS-7-x86_64-DVD-1804.iso --disk path=/opt/kvm_image/centos7_vnc.raw,size=10 --bridge=br0 --vnc --vnclisten=0.0.0.0 --vncport=6666 --noautoconsole
如果一切顺利你会看到如下:
查看端口:
这时我们登录centos 7桌面环境,或者在Windows上安装VNC Viewer,用于安装虚拟机。
关于系统安装步骤这里就不演示了。
常用命令:
virsh list --all # 列出所有虚拟主机 virsh list # 列出正在运行的虚拟主机 virsh shutdown kvm-1 # 停止虚拟主机 virsh start kvm-1 # 开启虚拟机 virsh autostart kvm-1 # 设置虚拟机跟随系统一起启动 virsh autostart --disable kvm-1 # 禁止虚拟机跟随系统一起启动 virsh suspend kvm-1 # 挂起虚拟机 virsh resume kvm-1 # 恢复挂起的虚拟机 # 删除虚拟机执行如下: virsh shutdown kvm-1 # 停止虚拟主机 virsh destory kvm-1 # 销毁虚拟主机 virsh undefine kvm-1 # 删除虚拟主机 虚拟机删除后,根据情况决定是否删除虚拟机的硬盘。