kvm安装配置

操作系统版本:CentOS Linux release 7.5.1804 (Core)
内核版本:3.10.0-862.el7.x86_64
1、安装
安装以下软件。
yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install vnc -y
 
2、启动服务
启动kvm服务。
service libvirtd start
 
3、配置宿主机网卡,创建br桥
cd /etc/sysconfig/network-scripts/

此处假设宿主机网卡名称为ifcfg
-enp1s0。复制创建br0配置文件。 cp ifcfg-enp1s0 ifcfg-br0
 
 配置br0桥。
 vim ifcfg-br0

   配置内容如下:

    TYPE=Bridge 
    BOOTPROTO=static
    BROWSER_ONLY=no
    DEFROUTE=yes
    DEVICE=br0
    ONBOOT=yes
    IPADDR=192.168.43.205
    NETMASK=255.255.255.0
    GATEWAY=192.168.43.1
    DNS1=114.114.114.114
  解析如下:
    TYPE=Bridge:说明网卡模式为桥接模式
    BOOTPROTO=static:使用静态ip配置
    IPADDR=192.168.43.205:ip地址
    NETMASK=255.255.255.0:子网掩码
    GATEWAY=192.168.43.1:网关
    DNS1=114.114.114.114:设置dns
 配置ifcfg-enp1s0网卡。
 vim ifcfg-enp1s0
 
 配置内容如下:
    TYPE=Ethernet
    DEVICE=enp1s0
    ONBOOT=yes
    BRIDGE=br0
  解析:
  TYPE=Ethernet:网卡类型为以太网卡
  BRIDGE=br0:指明桥接网卡名称
 
重启网卡服务。
service network restart

4、创建虚拟机。

4.1、创建硬盘,此处使用qcow2作为硬盘格式。
qemu-img create -f qcow2 /data/vitual-img/kvm-mysql-18.18.100.4-data.img 500G

解析:
    create -f qcow2:创建磁盘并指定硬盘文件系统格式
    /data/vitual-img/kvm-mysql-18.18.100.4-data.img:指定硬盘文件存储目录
    500G:指定硬盘大小
 
4.2、创建虚拟机
virt-install --name kvm-liushaoqiang-192.168.40.91 --ram 32768 --vcpus=4 --cdrom /data/iso/CentOS-7-x86_64-Minimal-1804.iso --disk path=/data/vitual-img/kvm-liushaoqiang-192.168.40.91-system.img,format=qcow2,bus=virtio --bridge=br0 --vnc --vncport=5992 --vnclisten=0.0.0.0

解析:
    --name kvm-liushaoqiang-192.168.40.91:指定创建虚拟机的名称
    --ram 32768:指定虚拟机内存,默认按MB计算
    --vcpus=4:指定虚拟机cpu核心数量
    --cdrom /data/iso/CentOS-7-x86_64-Minimal-1804.iso:指定启动文件,以cdrom iso镜像启动
    --disk path=/data/vitual-img/kvm-liushaoqiang-192.168.40.91-system.img,size=40,format=qcow2,bus=virtio:指定磁盘位置,格式为qcow2,虚拟化方式为virtio(半虚拟化方式)
    --bridge=br0:指定网络模式为桥接,桥接网卡为br0
    --vnc --vncport=5992 --vnclisten=0.0.0.0:指定虚拟机远程vnc地址以及端口
执行完以上命令后,即可使用vnc连接宿主机的地址以及vncport进行虚拟机的安装。此处列出操作系统安装步骤。
 
5、kvm常用命令

以下命令均在虚拟机的宿主机上执行。

5.1、强制关闭虚拟机

virsh destroy kvm-mysql-18.18.100.4

解析:
kvm-mysql-18.18.100.4:虚拟机名称,不是虚拟机的hostname。

5.2、彻底删除虚拟机

virsh undefine kvm-mysql-18.18.100.4

5.3、关闭虚拟机

virsh shutdown kvm-mysql-18.18.100.4

备注:需要在虚拟机上安装acpid,同时启动该服务。否则无法使用virsh shutdown远程关闭虚拟机。

5.4、启动虚拟机

virsh start kvm-mysql-18.18.100.4

5.5、查看虚拟机列表

virsh list --all

解析:
list:不加--all无法查看该宿主机上所有虚拟机,只能列出当前处于运行状态的虚拟机
--all:列出该宿主机上所有虚拟机

5.6、虚拟机新增磁盘

virsh attach-disk --domain kvm-mysql-18.18.100.4 --source /data/vitual-img/kvm-mysql-18.18.100.4-data.img --target sda --cache none

解析:
--domain kvm-mysql-18.18.100.4:指定虚拟机名称
--source /data/vitual-img/kvm-mysql-18.18.100.4-data.img:指定要挂载的磁盘目录以及所在位置
--target sda:指明该磁盘挂载的虚拟机之后,在虚拟机上的磁盘位置
--cache none:无缓存

备注:
1、只有raw模式的磁盘才可直接挂载,qcow2格式的磁盘需要远程映射才可挂载。
2、系统重启,使用该命令挂载磁盘会丢失。

5.7、虚拟机卸载磁盘

virsh detach-disk kvm-mysql-18.18.100.4 --target sda

解析:
kvm-mysql-18.18.100.4:指定虚拟机名称
--target sda:指明虚拟机上磁盘挂载点

5.8、查看img磁盘信息

qemu-img info kvm-mysql-18.18.100.4-data.img

5.9、在虚拟机关闭状态下,将文件复制到虚拟机内部

virt-copy-in -d kvm-mysql-18.18.100.4 change_ip.sh /etc/rc.d

解析:
-d kvm-mysql-18.18.100.4:指定虚拟机名称
change_ip.sh:在宿主机上的文件名称,建议使用绝对地址
/etc/rc.d:虚拟机内部目录
原文地址:https://www.cnblogs.com/crysmile/p/9483088.html