1.准备一台虚拟机,配置如下

kvm启动虚拟机 kvm命令行启动虚拟机_kvm


2.安装kvm用户态模块

[root@localhost ~]# yum install qemu-kvm qemu-kvm-tools libvirt -y

3.启动libvirt

[root@localhost ~]# systemctl start libvirtd.service
[root@localhost ~]# systemctl enable libvirtd.service

4.ip a查看一下,libvirt已经为我们安装了一个桥接网卡

kvm启动虚拟机 kvm命令行启动虚拟机_桥接_02


5.创建虚拟机–上传镜像

kvm启动虚拟机 kvm命令行启动虚拟机_服务器_03

[root@localhost ~]# cd /opt/
[root@localhost opt]# dd if=/dev/cdrom of=/opt/CentOS-7-x86_64-Minimal-1810.iso #耐心等待时间较长

当看到这样,说明已经完成了

kvm启动虚拟机 kvm命令行启动虚拟机_kvm_04


6.创建磁盘

[root@localhost 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@localhost opt]# ll
total 4554948
-rw-r--r-- 1 root root     197120 May 13 16:38 c73.qcow2
-rw-r--r-- 1 root root 4664066048 May 13 16:31 CentOS-7-x86_64-Minimal-1810.iso

-f 定制虚拟机格式
/opt/Centos 存放路径
6G 代表大小

#磁盘格式介绍
raw--裸磁盘不支持快照
qcow2--支持快照,Openstack使用的方式推荐使用这个。注意关闭虚拟机后操作

#区别
全镜像格式(典型代表raw)。特点:设置多大就是多大,写入速度快,方便转换其他格式,性能最优,但是占用空间大。
稀疏格式(典型代表qcow2),其特点:支持压缩,快照,镜像,更小的储存空间(即用多少占多少)
qcow2 数据的基本组成单元是cluster
raw 性能比 qcow2 快
raw创建多大磁盘,就占用多大空间直接分配,qcow2动态的用多大占用多大空间。

7.安装虚拟机

[root@localhost opt]# yum install -y virt-install
[root@localhost opt]# virt-install --virt-type=kvm --name=c73 --vcpus=1 -r 1024 --cdrom=/opt/CentOS-7-x86_64-Minimal-1810.iso --network network=default --graphicsvnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel7 --disk path=/opt/c73.qcow2,size=6,format=qcow2

Starting install...
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
[root@localhost opt]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     c73                            running

[root@localhost opt]# netstat -lptnu | grep 5900 #默认端口5900
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      2923/qemu-kvm

8.用vnc链接虚拟机

kvm启动虚拟机 kvm命令行启动虚拟机_服务器_05


kvm启动虚拟机 kvm命令行启动虚拟机_kvm启动虚拟机_06


虚拟机安装完毕后是是关闭状态,重启一下c73即可

virsh start c73

9.配置桥接设备br0

[root@localhost ~]# yum -y install bridge-untils
[root@localhost ~]# brctl addbr br0
[root@localhost ~]# brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.000000000000	no
virbr0		8000.525400b21537	yes		virbr0-nic
							vnet0
[root@localhost ~]# brctl addif br0 ens33
执行此步后,会导致xshell与宿主机断开连接,以下操作在虚拟机里完成。

kvm启动虚拟机 kvm命令行启动虚拟机_桥接_07

此时宿主机的ip:10.0.0.42已经绑定到br0网卡;但是服务器重启就不能生效了
通过配置文件配置桥接设备永久生效,为KVM宿主机创建虚拟网卡,并将物理网卡作为桥设备
[root@c7-42 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 .
[root@c7-42 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=no
[root@c7-42 ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
[root@c7-42 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
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
[root@c7-42 ~]# systemctl restart network

通过VNC连接KVM虚拟机修改网卡配置
[root@c7-42 ~]# virsh list --all
[root@localhost ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     c73                            running

10.通过vnc连接的新虚拟机配置网卡

kvm启动虚拟机 kvm命令行启动虚拟机_CentOS_08


kvm启动虚拟机 kvm命令行启动虚拟机_CentOS_09

#注意:此时宿主机还需要通过图形化工具设置网卡为桥接方式,否则无法ping通网关和外网。

11.KVM图形管理工具(virt-manager)
virt-manager是用于管理KVM虚拟环境的主要工具,virt-manager默认设置下需要root用户才能使用该工具。当你想在KVM hypervisor服务器上托管虚拟机,由最终用户而非root用户访问这些虚拟机时并不是很便利。
virt-manager可以设置本机,同样也可以连接远程宿主机来管理。
利用virt-manager,xmanager,xshell启动界面来管理虚拟机,适合管理单机的KVM。
查看sshd是否开启X11转发

[root@localhost ~]# systemctl restart network

kvm启动虚拟机 kvm命令行启动虚拟机_kvm启动虚拟机_10


12.安装xorg-x11

[root@localhost ~]# yum install -y 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

13.安装libvirt

#libvirt是管理虚拟机的APL库,不仅支持KVM虚拟机,也可以管理Xen等方案下的虚拟机
[root@localhost ~]# yum -y install virt-manager libvirt libvirt-Python python-virtinst libvirt-client virt-viewer qemu-kvm mesa-libglapi
#因为我的主机是服务器,没有图形化界面,想要用virt-manager图形化安装虚拟机,还需要安装X-window。
[root@localhost ~]# yum -y install libXdmcp libXmu libxkbfile xkeyboard-config xorg-x11-xauth xorg-x11-xkb-utils
#开启libvirt服务
[root@localhost ~]# systemctl restart libvirtd.service
[root@localhost ~]# systemctl enable libvirtd.service

14.配置xshell

#安装好Xming后,打开xshell,在连接属性的tunneing中,勾选Forwarding X11 connection to 选项,可以正常打开virt-manager的图形界面。

kvm启动虚拟机 kvm命令行启动虚拟机_桥接_11


15.启动virt-manager

断开xshell会话,重新连接,输入命令:virt-manager,就可以自动弹出KVM管理软件
[root@localhost ~]# virt-manager

16.配置xming工具

kvm启动虚拟机 kvm命令行启动虚拟机_kvm_12


kvm启动虚拟机 kvm命令行启动虚拟机_kvm启动虚拟机_13


kvm启动虚拟机 kvm命令行启动虚拟机_服务器_14