KVM虚拟机安装需要选择磁盘镜像的格式,通常的选择有两种:
raw
:raw格式是原始镜像,会直接当做一个块设备给虚拟机来使用,I/O性能比qcow2高,但不支持快照;qcow2
:支持镜像快照,zlib磁盘压缩,AES加密等;无论哪种格式,磁盘的利用率来说,都是一样的,因为实际占用的块数量都一样。但是raw的虚拟机会比qcow2的虚拟机IO效率高一些,所以根据实际的应用环境来选择磁盘镜像的格式。
KVM虚拟机网络配置的两种方式:
NAT模式
:让人虚拟机访问主机、互联网或者本地网络上的资源的简单方法,但是不能从网络或其他的客户弃访问客户机。Bridge模式
:主机与主机之间,客户机与主机之间的 通信都很容易,使虚拟机成为网络中具有独立的IP的主机。[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"
NAME="ens33"
UUID="0c1dba98-b71c-4c07-8544-43f7ae256b78"
DEVICE="ens33"
ONBOOT="yes"
BRIDGE="br0" ///添加br0
IPADDR=192.168.182.100
GATEWAY=192.168.182.182.1
NETMASK=255.255.255.0
DNS1=8.8.8.8
DNS2=114.114.114.114
[root@localhost ~]# cd /etc/sysconfig/network-scripts/ ///进入到network目录
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-br0 ///复制ens33的网卡信息
TYPE="Bridge" ///类型改为桥接
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="br0"
ONBOOT="yes"
IPADDR=192.168.182.100 ///不改
GATEWAY=192.168.182.182.1
NETMASK=255.255.255.0
DNS1=8.8.8.8
DNS2=114.114.114.114
[root@localhost network-scripts]# systemctl restart network
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:0c:29:9b:36:9e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global noprefixroute br0
valid_lft forever preferred_lft forever
PS:如何安装失败,查看/var/log/messge日志,是否没有安装 brctl 工具
PS:配置成功后,ens33的IP会滑到br0上,ens33看不到IP地址
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@localhost ~]# cat /proc/cpuinfo | egrep 'vmx|svm'
[root@localhost ~]# lsmod | grep kvm
kvm_intel 183621 0
kvm 586948 1 kvm_intel
irqbypass 13503 1 kvm
PS:这表明已经加载,如果没有加载则执行以下命令加载KVM
[root@localhost ~]# modprobe kvm
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install kvm libvirt python-virtinst qemu-kvm virt-viewer tunctl bridge-utils avahi dmidecode qemu-kvm-tools virt-manager qemu-img virt-install net-tools libguestfs-tools -y
[root@localhost ~]# systemctl start libvirtd && systemctl enable libvirtd
[root@localhost ~]# mkdir -p /data/kvm/iso
[root@localhost ~]# cd /data/iso
[root@localhost iso]# cp /dev/cdrom centos76.iso ///先把iso镜像开启
[root@localhost iso]# ls
centos76.iso
[root@localhost ~]# virt-install --name=kvm1 --ram=52428 --vcpus=1 --disk path=/data/kvm/centos01.img,size=4,bus=virtio --accelerate --cdrom /data/iso/centos76.iso --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole
开始安装......
正在分配 'centos01.img' | 4.0 GB 00:00
域安装仍在进行。您可以重新连接
到控制台以便完成安装进程。
--name
:指定虚拟机名称--ram
:分配内存大小--vcpus
:分配CPU核心数,最大与实体机CPU核心数相同--disk
:指定虚拟机镜像,size指定分配大小单位为G--network
:网络类型,此处用的是默认,一般用的是bridge桥接--accelerate
:加速--cdrom
:指定安装镜像iso--vnc
:启用VNC远程管理,一般安装系统都要启用--vncport
:指定VNC监控端口,默认端口号是5900,端口不能重复用--vnclisten
:指定VNC绑定IP,设置为0.0.0.0--no-acpi
:官方推荐使用