文章目录
安装KVM工具包
Ubuntu 18.04:
https://ubuntu.com/server/docs/virtualization-libvirt
# apt install qemu-kvm virt-manager libvirt-daemon-system
# kvm-ok #验证是否支持kvm
INFO: /dev/kvm exists
KVM acceleration can be used
CentOS .X:
# yum install qemu-kvm qemu-kvm-tools libvirt libvirt-client virt-manager virt-install
# systemctl start libvirtd
# systemctl enable libvirtd
# ifconfig virbr0 #验证是否生成NAT网卡virbr0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:89:c5:75 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
# grep "192.168.122.1" /etc/libvirt/ -R
/etc/libvirt/qemu/networks/autostart/default.xml: <ipaddress='192.168.122.1'
netmask='255.255.255.0'>
/etc/libvirt/qemu/networks/default.xml: <ip address='192.168.122.1'
netmask='255.255.255.0'>
创建br0桥接网卡:
创建bridge网络虚拟机:
桥接网络可以让运行在宿主机上的虚拟机使用和宿主机同网段IP,并且可以从外部直接访问到虚拟机,目前企业中大部分场景都使用桥接网络。
Ubuntu 18.04创建桥接网卡:
# cat /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
dhcp6: no
bridges:
br0:
dhcp4: no
dhcp6: no
addresses: [172.18.0.20/16]
gateway4: 172.18.0.1
nameservers:
addresses: [223.6.6.6]
interfaces:
- eth0
Centos 7.X创建桥接网卡
[root@s1 src]服务器远程连接不上
# pwd
/etc/sysconfig/network-scripts
# vim ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.10.10
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DNS1=114.114.114.114
# vim ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
NAME=eth1
DEVICE=eth1
ONBOOT=yes
BRIDGE=br0
# systemctl restart network
上传镜像并安装虚拟机:
[root@CentOS7 ~]#ll /usr/local/src/
total 4481024
-rw-r--r-- 1 qemu qemu 4588568576 Feb 4 16:26 CentOS-7-x86_64-DVD-1810.iso
#创建系统磁盘:
# qemu-img create -f qcow2 /var/lib/libvirt/images/centos7-bridge.qcow2 10G
Formatting '/var/lib/libvirt/images/centos7-bridge.qcow2', fmt=qcow2 size=10737418240
cluster_size=65536 lazy_refcounts=off refcount_bits=16
#命令行创建基于桥接的虚拟网络的虚拟主机
# virt-install --virt-type kvm --name centos7-bridge --ram 1024 --vcpus 2 --cdrom=/usr/local/src/CentOS-7-x86_64-DVD-1810.iso --disk path=/var/lib/libvirt/images/centos7-bridge.qcow2 --network bridge=bro --graphics vnc,listen=0.0.0.0 --noautoconsole
#打开虚拟机器,同时设置相应内核参数,磁盘分区等
# virt-manager
#查看本地虚拟主机列表
# virsh list
Id Name State
----------------------------------------------------
10 centos7-bridge running
You have new mail in /var/spool/mail/root
设置内核参数
基于虚拟管理界面中设置网卡为br0桥接网卡
打开虚拟机查看桥接网络是否分配
安装centos常用基础命令包
# yum install vim iotop bc gcc gcc-c++ glibc glibc-devel pcre \
pcre-devel openssl openssl-devel zip unzip zlib-devel net-tools \
lrzsz tree ntpdate telnet lsof tcpdump wget libevent libevent-devel \
bc systemd-devel bash-completion traceroute -y
创建NAT网络虚拟机:
创建一台虚拟机,并使用默认的NAT网络,可以使虚拟机连接外网。
#ll /usr/local/src/CentOS-7-x86_64-DVD-1810.iso #提前上传安装镜像
-rw-r--r-- 1 qemu qemu 4588568576 Feb 6 12:43 /usr/local/src/CentOS-7-x86_64-DVD-1810.iso
#qemu-img create -f qcow2 /var/lib/libvirt/images/centos.qcow2 10G #创建qcow2格式磁盘
Formatting '/var/lib/libvirt/images/centos.qcow2', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 lazy_refcounts=off
# 创建2V1U默认网络虚拟机
#virt-install --virt-type kvm --name centos7 --ram 1024 --vcpus 2 --cdrom=/usr/local/src/CentOS-7-x86_64-DVD-1810.iso --disk path=/var/lib/libvirt/images/centos.qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
Starting install...
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
#virt-manager
设置内核参数
查看网络分配
安装net-tools命令,并查看本机的当前IP地址是多少,目前自动获取到的IP地址是NAT分配的192.168.122.x地址
段,此ip地址可以从出外网访问但是无法从外网主从访问到此虚拟机上的相关服务。
kvm-动态迁移
设置主机间域名解析
#cat /etc/hosts
192.168.146.127 kvm-host2
192.168.146.107 kvm-host1
#添加目标主机
报错
安装程序包
yum install -y openssh-askpass
主机间实时迁移