环境
操作系统:CentOS 7.0
IP地址:192.168.0.102
1、安装qemu-kvm,libvirt
# qemu-kvm创建虚拟机硬盘,libvirt管理虚拟机
yum install -y qemu-kvm libvirt
2、安装virt-install
# 用来创建虚拟机
yum install -y virt-install
3、启动 librvirt
libvirt在安装完成后,默认已经创建了一个NAT类型的网络,并且已经设置好了NAT的一系列规则,DHCP等,这个网络会给宿主机创建一张virbr0网卡,用于宿主机与虚拟机互通。
# 启动libvirt,此时ifcofnig,查看多了一块virbr0的网卡,ip为 192.168.122.1,virsh命令可以用
systemctl start libvirtd
# 设为开机启动
systemctl enable libvirtd
4、网络配置
# 配置桥接网卡
cd /etc/sysconfig/network-scripts/
vi ifcfg-br0
# 配置内容
DEVICE=br0 # 桥接网卡名称
TYPE=Bridge # 类型桥接
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.0.102 # 此处的IP为本地的物理IP,通过ifconfig查看
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
配置物理网卡
vi ifcfg-ens33
# 配置如容
DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0 # 设置网络桥接的名称
NM_CONTROLLED=yes
重启网络
systemctl restart network
查看网络
[root@centos7 network-scripts]# ifconfig
# 结果
br0: flags=4163 mtu 1500
inet 192.168.0.102 netmask 255.255.255.0 broadcast 192.168.0.255……
ens33: flags=4163 mtu 1500
ether 00:0c:29:47:ec:83 txqueuelen 1000 (Ethernet)……
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10……
virbr0: flags=4099 mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:ab:d0:6c txqueuelen 1000 (Ethernet)……
# 查看网络
brctl show
# 显示如下
bridge name bridge id STP enabled interfaces
br0 8000.000c2947ec83 no ens33
virbr0 8000.525400abd06c yes virbr0-nic
# 到此,先ping下百度,如果通,表示配置正确
报错:
cat /var/log/messages | grep "libssl"
# libssl错误
version libssl.so.10 not defined in file libssl.so.10 with link time reference
# 升级
yum install -y openssl-1.0.2k*
5、安装虚拟机
安装方式:在服务器上只完成虚拟机的配置信息和镜像的引导,系统的安装通过VNC远程登录系统进行
virt-install \
--name=kvm001 --ram 1024 --vcpus=1 \
--disk path=/home/raw/kvm001.raw,size=10,format=raw,bus=virtio \
--cdrom=/mnt/CentOS-7-x86_64-Minimal-1810.iso --network bridge=br0,model=virtio \
--graphics vnc,listen=0.0.0.0 --noautoconsole
--name #虚拟机名称
--ram #分配给虚拟机的内存,单位MB
--vcpus #分配给虚拟机的cpu个数
--cdrom #指定CentOS镜像ISO文件路径
--disk #指定虚拟机raw文件路径
size #虚拟机文件大小,单位GB
bus #虚拟机磁盘使用的总线类型,为了使虚拟机达到好的性能,这里使用virtio
cache #虚拟机磁盘的cache类型
--network bridge #指定桥接网卡
model #网卡模式,这里也是使用性能更好的virtio
--graphics #图形参数
打开 5900 端口
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5900:5902 -j ACCEPT #打开VNC远程端口
在window下载TightVNC Viewer,进行远程安装
6、启动虚拟机
# 列出所有虚拟机
virsh list --all
Id 名称 状态
----------------------------------------------------
- kvm001 关闭
# 启动kvm001虚拟机
virsh start kvm001
# 设置自启动
virsh autostart kvm001
# 其它操作
----------------------------------------------------
virsh autostart --disable kvm001 # 关闭自启动
virsh shutdown kvm001 # 关闭虚拟机
virsh dominfo kvm001 # 显示虚拟机的基本信息
virsh dumpxml kvm001 # 显示虚拟机的配置文件
7、如果安装时没记住IP,可以通过以下方法找到,然后再配置静态IP
virsh dumpxml kvm002 | grep mac
# 结果
/machine
hvm
#记录mac地址
arp -a | grep 52:54:00:89:67:66 #查询IP
# 结果
? (192.168.0.100) at 52:54:00:89:67:66 [ether] on br0 #找到IP
# 找不到的话,执行以下,全局扫描IP段
yum install -y namp
nmap -sP 192.168.0.1/24
8、修改虚拟机名称
# 1、关机
virsh shutdown kvm001
# 2、把名称改为kvm100
virsh domrename kvm001 kvm100
# 3、修改磁盘文件名称
mv /home/raw/kvm001.raw /home/raw/kvm100.raw
# 4、修改配置文件
virsh edit kvm100
# 修改内容
# 5、开机
virsh start kvm100
9、删除虚拟机
# 强制关闭虚拟机
virsh destroy kvm001
# 删除定义虚拟机
virsh undefine kvm001
# 查找虚拟机文件
find / -name kvm002*
/var/log/libvirt/qemu/kvm002.log
/home/raw/kvm002.raw
# 删除
find / -name kvm002* | xargs rm -rf