KVM


CentOS 7

yum makecache

yum install -y kvm qemu-kvm libvirt python-virtinst

service libvirtd start

chkconfig libvirtd on

virsh iface-bridge eth0 br0

ethtool -K br0 gso off

ethtool -K br0 tso off

iptables -I INPUT -s 10.0.1.1 -p tcp -m tcp --dport 5900:5909 -j ACCEPT

# Create Linux KVM Host

virt-install --name doc --vcpus 1 --ram 1024 --cdrom /www/kvm/iso/CentOS-7-x86_64-Minimal-1810.iso --disk /www/kvm/disk/doc.img,size=10 --autostart --network bridge=br0 --noautoconsole --graphics vnc,listen=0.0.0.0,password=123456

# Create Win KVM Host

virt-install --name test --vcpus 2 --ram 4096 --cdrom /www/kvm/iso/cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso --disk /www/kvm/disk/test.img,size=100 --autostart --network bridge=br0 --noautoconsole --graphics vnc,listen=0.0.0.0,password=wenbor

###################################################

# 创建虚拟硬盘

qemu-img create -f qcow2 /www/vps/centos.qcow2 20G

# 快照

virsh snapshot-create-as centos centos_1

# 迁移

qemu-img create -f qcow2 /www/vps/redis.qcow2 100G

virsh migrate --live --persistent --undefinesource --verbose kvm qemu+ssh://192.168.1.10/system

# 压缩镜像文件

qemu-img convert -c -O qcow2 /www/old.qcow2 /www/new.qcow2

# 描述

virsh desc nginx2 --config --new-desc "IP : 1.1.1.1"

# 添加硬盘

virsh attach-disk win \
--source /www/kvm/image/win-disk.img \
--target vda \
--persistent

# 硬盘扩容
qemu-img resize test.img +100G

# 修改 CPU 数量

virsh setvcpus vps 2 --maximum --config
virsh setvcpu2 vps 2 --config

# 修改虚拟机内存

virsh setmaxmem vps 2097152 --config
virsh setmem vps 2097152--config

# 管理虚拟机文件

yum install -y libguestfs-tools

# 查看虚拟机文件

virt-cat -d vps /etc/hosts
virt-ls -d vps /etc
virt-copy-out -d vps /etc/hosts .
virt-copy-in -d vps /tmp/01 /tmp/02

CentOS 8

dnf install -y qemu-kvm libvirt virt-install libguestfs-tools

systemctl start --now libvirtd

#!/bin/bash
nmcli connection add type bridge autoconnect yes con-name br0 ifname br0
nmcli connection modify br0 ipv4.gateway 192.168.3.1
nmcli connection modify br0 ipv4.dns 192.168.3.1
nmcli connection del enp3s0
nmcli connection add type bridge-slave autoconnect yes con-name enp3s0 ifname enp3s0 master br0
reboot