文章目录
设置环境
系统-- centos7 ip-- 10.0.0.42
检查cpu是否支持虚拟化
vmx ## ( for Intel CPU )
svm ## (for AMD CPU )
KVM其实已经在Centos7内置到系统内核,无需安装。
[root@ c7-42 ~]# egrep -o '(vmx|svm)' /proc/cpuinfo
vmx
vmx
检查cpu是否开启虚拟化
在linux平台下,我们可以通过dmesg Igrep kvm命令来查看。
[root@ c7-42 ~]# dmesg |grep kvm 为空则开启
如果CPU没有开启虚拟化的话,显示如下:
[root@ c7-42 ~]# dmesg |grep kvm
kvm: digabled by bios
安装
[root@ c7-42 ~]# yum install qemu-kvm qemu-kvm-tools libvirt -y
● libvirt 用来管理kvm
● kvm属于内核态,不需要安装。但是需要一 些类似于依赖的
● qemu
启动libvirt
[root@ c7-42 ~]# systemctl start libvirtd.service
[root@ c7-42 ~]# systemctl enable libvirtd.service
启动之后我们可以使用ifconfig进行查看, libvirtd已经为我们安装了一个桥接网卡
[root@ c7-42 ~]# ip a
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:04:d8:ce brd ff:ff:ff:ff:ff:ff
7: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOWN group default qlen 1000
link/ether fe:54:00:9a:b1:6b brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fe9a:b16b/64 scope link
valid_lft forever preferred_lft forever
创建虚拟机
准备虚拟机硬盘
需要系统iso镜像
需要安装- -个vnc的客户端来连接
上传镜像
提示:如果使用rz.上传镜像可能会出现错误,所以我们使用dd命令, 复制系统的镜像。只需要挂载上光盘即可。
[root@ c7-42 ~]# cd /opt/
[root@ c7-42 opt]# dd if=/dev/cdrom of=/opt/Cent0S-7-x86_64-Minima1-1810.iso
创建磁盘
提示: qemu-img软件包是我们安装qemu-kvm-tools依赖给安装上的
[root@ c7-42 opt]# qemu-img create -f qcow2 /opt/c73.qcow2 6G
Formatting '/opt/c73.qcow2', fmt=qcow2 size=6442450944 encryption=off cluster_size=65536 lazy_refcounts=off
[root@ c7-42 opt]# ll
total 940228
-rw-r--r-- 1 qemu qemu 197120 May 18 14:26 c73.qcow2
-rw-r--r-- 1 qemu qemu 962592768 May 13 22:59 CentOS-7-x86_64-Minimal-1810.iso
-f 制定虚拟机格式
/opt/Centos 存放路径
6G代表镜像大小
磁盘格式介绍
raw—裸磁盘不支持快照
qcowe2—支持快照。Openstack使用的方式推荐使用这个。 注意:关闭虚拟机后操作。
安装虚拟机
[root@ c7-42 opt]# yum -y install virt-install
[root@ c7-42 opt]# virt-install --virt-type=kvm --name=c73 --vcpus=1 -r 1024 --cdrom=/opt/CentOS-7-x86_64-Minimal-1810.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel7 --disk path=/opt/c73.qcow2,size=6,format=qcow2
[root@ c7-42 opt]# virsh list --all
Id Name State
----------------------------------------------------
2 c73 running
[root@ c7-42 opt]# netstat -ntlp|grep 5900
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 3271/qemu-kvm
VNC连接虚拟机
安装
安装完之后vnc会断开在虚拟机执行
[root@ c7-42 opt]# virsh list --all
Id Name State
----------------------------------------------------
- c73 shut off
[root@ c7-42 opt]# virsh start c73
Domain c73 started
重新连接vnc
查看网桥和br0网卡
[root@ c7-42 ~]# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.52540004d8ce yes virbr0-nic
vnet0
[root@ c7-42 ~]# ifconfig virbr0
virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:04:d8:ce txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
手动添加临时br0网卡
[root@ c7-42 ~]# yum -y install bridge-utils #安装所需要的组件
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/3): epel/x86_64/updateinfo | 1.0 MB 00:00:02
(2/3): updates/7/x86_64/primary_db | 1.3 MB 00:00:05
(3/3): epel/x86_64/primary_db | 6.8 MB 00:00:07
Package bridge-utils-1.5-9.el7.x86_64 already installed and latest version
Nothing to do
[root@ c7-42 ~]# brctl addbr br0 #手动添加临时br0网卡
[root@ c7-42 ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000000000000 no
virbr0 8000.52540004d8ce yes virbr0-nic
vnet0
[root@ c7-42 ~]# brctl addif br0 ens33 #执行这个操作会导致xshell与宿主机断开连接
[root@ c7-42 ~] ip addr del dev ens33 10.0.0.42/24 #删除ens33的IP地址
[root@ c7-42 ~] ifconfig br0 10.0.0.42/24 up #配置br0的ip地址并启动设备
[root@ c7-42 ~] route add default gw 10.0.0.254 #重新加入默认网关
重新连接xshell查看是否生效
[root@ c7-42 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.254 0.0.0.0 UG 0 0 0 br0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 ens37
172.16.0.0 0.0.0.0 255.255.0.0 U 0 0 0 ens37
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[root@ c7-42 ~]# ping -c 1 qq.com
PING qq.com (58.250.137.36) 56(84) bytes of data.
64 bytes from 58.250.137.36 (58.250.137.36): icmp_seq=1 ttl=128 time=47.8 ms
--- qq.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 47.825/47.825/47.825/0.000 ms
手动配置永久生效网卡
[root@ c7-42 ~]# cd /etc/sysconfig/network-scripts/
[root@ c7-42 network-scripts]# cp ifcfg-ens33 /root
[root@ c7-42 network-scripts]# vim ifcfg-ens33
[root@ c7-42 network-scripts]# cat ifcfg-ens33
DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=no
#配置br0网卡
[root@ c7-42 network-scripts]# cat> ifcfg-br0<<EOF
> DEVICE=br0
> TYPE=Bridge
> ONBOOT=yes
> BOOTPROTO=static
> IPADDR=10.0.0.42
> NETMASK=255.255.255.0
> GATEWAY=10.0.0.254
> NM_CONTROLLED=no
> EOF
#重启网络
[root@ c7-42 network-scripts]# systemctl restart network
在vnc配置虚拟机网卡
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.100
PREFIX=24
GATEWAY=10.0.0.254
DNS1=223.5.5.5
DNS2=1.1.1.1
#重启网络
[root@localhost ~]# systemctl restart network
查看网卡
安装xorg-x11
#查看sshd是否开启X11转发
[root@ c7-42 ~]# grep X11Forwarding /etc/ssh/sshd_config --colour
X11Forwarding yes
# X11Forwarding no
[root@ c7-42 ~]# yum -y install xorg-x11-font-utils.x86_64 xorg-x11-server-utils.x86_64 xorg-x11-utils.x86_64 xorg-x11-xauth.x86_64 xorg-x11-xinit.x86_64 xorg-x11-drv-ati-firmware
安装libvirt
#libvirt是管理虚拟机的API库,支持kvm虚拟机,可以管理Xen等方案下的虚拟机
[root@ c7-42 ~]# yum -y install virt-manager libvirt libvirt-Python python-virtinst libvirt-client virt-viewer mesa-libglapi
#因为此主机是服务器,没有图形化界面,如需virt-manager图形化安装安装虚拟机,需要安装x-Windows
[root@ c7-42 ~]# yum -y install libXdmcp libXmu libxkbfile xkeyboard-config xorg-x11-xauth xorg-x11-xkb-utils
配置xshell
安装Xming后,打开xshell,在连接属性的tunneing中勾选Forwarding x11 connection to选项,可以正常打开virt-manager图形界面。
启动virt-manager
#断开xshell,重启连接可以自动弹出kvm管理软件
[root@ c7-42 ~]# virt-manager
[root@ c7-42 ~]# libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
#如果出现乱码,可以安装此工具
[root@ c7-42 ~] yum -y install dejavu-sans-mono-fonts
点击鼠标右键,关闭虚拟机
双击c73虚拟机
查看虚拟机详细信息
配置网卡,为桥接状态
调配虚拟机开机自启
设置完成,返回图形化界面。
启动虚拟机
虚拟机启动成功
连接xshell
测试外网,部署成功!