工具
查看 MAC 地址 使用信息
1 2 3 4 5 6 7 8 9 10 11
| root@debian:~/kvm# cat show_mac_address_status.sh #!/bin/bash grep 'mac address' /etc/libvirt/qemu/*.xml|awk -F ": " '{print $2, $1}'| sort root@debian:~/kvm# root@debian:~/kvm# root@debian:~/kvm# root@debian:~/kvm# ./show_mac_address_status.sh <mac address='12:34:56:78:90:a1'/> /etc/libvirt/qemu/win10_21H2.xml <mac address='12:34:56:78:90:a2'/> /etc/libvirt/qemu/blog.xml <mac address='52:54:00:92:69:4d'/> /etc/libvirt/qemu/koolshare.xml root@debian:~/kvm#
|
查看 OS与发行版信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| root@debian:~/kvm# cat show_os_info.sh #!/bin/bash find /usr/share/osinfo/os/
root@debian:~/kvm# ./show_os_info.sh /usr/share/osinfo/os/ /usr/share/osinfo/os/debian.org /usr/share/osinfo/os/debian.org/debian-2.0.xml /usr/share/osinfo/os/debian.org/debian-8.xml /usr/share/osinfo/os/debian.org/debian-2.1.xml /usr/share/osinfo/os/debian.org/debian-4.xml /usr/share/osinfo/os/debian.org/debian-7.xml /usr/share/osinfo/os/debian.org/debian-1.2.xml /usr/share/osinfo/os/debian.org/debian-9.xml /usr/share/osinfo/os/debian.org/debian-3.xml /usr/share/osinfo/os/debian.org/debian-3.1.xml /usr/share/osinfo/os/debian.org/debian-1.3.xml
|
查看 VNC 端口使用情况
1 2 3 4 5 6 7 8 9 10 11 12
| root@debian:~/kvm# cat show_vnc_port_status.sh #!/bin/bash grep 'graphics.*vnc' /etc/libvirt/qemu/*.xml | awk -F ": " '{print $2, $1}'| sort
root@debian:~/kvm# root@debian:~/kvm# ./show_vnc_port_status.sh <graphics type='vnc' port='5920' autoport='no' listen='0.0.0.0'> /etc/libvirt/qemu/win10_21H2.xml <graphics type='vnc' port='5921' autoport='no' listen='0.0.0.0'> /etc/libvirt/qemu/koolshare.xml <graphics type='vnc' port='5922' autoport='no' listen='0.0.0.0'> /etc/libvirt/qemu/blog.xml root@debian:~/kvm# root@debian:~/kvm# root@debian:~/kvm#
|
重新定义一个 XML文件
1 2 3 4 5 6 7 8
| root@debian:~/kvm# cat redefine
NAME="win10_21H2" virsh destroy ${NAME} virsh define /etc/libvirt/qemu/${win10_21H2}.xml virsh start ${win10_21H2}
root@debian:~/kvm#
|
全新安装
Debian 11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| root@debian:~/kvm# cat kvm_install_blog.sh #!/bin/bash OS_DOMAIN='blog' OS_DISK="/home/OS_Disk_Image/${OS_DOMAIN}.disk" OS_IMG_DIR='/mnt/data/08_各种镜像/OS_Linux/'
virsh destroy $OS_DOMAIN > /dev/null 2>&1 virsh undefine $OS_DOMAIN > /dev/null 2>&1
rm -rf $OS_DISK rm -rf /var/log/libvirt/qemu/${OS_DOMAIN}.log rm -rf /etc/libvirt/storage
virt-install \ --virt-type=kvm \ --os-type=linux \ --os-variant=debian10 \ --name ${OS_DOMAIN} \ --cpu=host-passthrough \ --accelerate \ --autostart \ --ram 2048 \ --noautoconsole \ --vcpus sockets=1,cores=1,threads=1 \ --network mac=12:34:56:78:90:A2,bridge=br0,model=virtio \ --graphics vnc,listen=0.0.0.0,port=5922,password=chunli \ --disk path=${OS_DISK},size=40,format=raw,bus=virtio \ --cdrom ${OS_IMG_DIR}/debian/debian-11.2.0-amd64-DVD-1.iso \
root@debian:~/kvm#
|
Linux Console 控制台模板
1 2 3 4 5 6 7 8 9 10 11 12
| virt-install \ --virt-type=kvm \ --name=centos6 \ --memory=1024 \ --vcpus=1 \ --bridge=br0 \ --os-type=linux \ --location=/var/lib/libvirt/boot/CentOS-6.5-i386-bin-DVD1.iso \ --disk path=/var/lib/libvirt/images/centos6.disk,size=10 \ --console=pty,target_type=serial \ --graphics=none \ --extra-args="console=tty0 console=ttyS0"
|
Windows 10
建议安装专业版,企业版的管理功能用不上反而是累赘,消耗CPU资源.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| root@debian:~/kvm# cat kvm_install_win10_21H2.sh #!/bin/bash OS_DOMAIN='win10_21H2' OS_DISK="/home/OS_Disk_Image/${OS_DOMAIN}.disk" OS_IMG_DIR='/mnt/data/08_各种镜像/OS_windows/'
virsh destroy $OS_DOMAIN > /dev/null 2>&1 virsh undefine $OS_DOMAIN > /dev/null 2>&1
rm -rf $OS_DISK rm -rf /var/log/libvirt/qemu/${OS_DOMAIN}.log rm -rf /etc/libvirt/storage
virt-install \ --virt-type=kvm \ --os-type=windows \ --os-variant=win10 \ --name ${OS_DOMAIN} \ --cpu=host-passthrough \ --accelerate \ --autostart \ --ram 4096 \ --noautoconsole \ --vcpus sockets=1,cores=2,threads=2 \ --network mac=12:34:56:78:90:A1,bridge=br0,model=virtio \ --graphics vnc,listen=0.0.0.0,port=5920,password=chunli \ --disk path=${OS_DISK},size=80,format=raw,bus=virtio \ --disk path=${OS_IMG_DIR}/virtio-win/virtio-win-0.1.190_amd64.vfd,device=floppy \ --cdrom ${OS_IMG_DIR}/windows_10_2111/zh-cn_windows_10_business_editions_version_21h2_x64_dvd_93b4cb1a.iso \
root@debian:~/kvm#
|
windows_10 模板:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| virt-install \ --virt-type=kvm \ --os-type=windows \ --name code \ --accelerate \ --autostart \ --hvm \ --ram 8192 \ --vcpus sockets=1,cores=2,threads=2 \ --network bridge=br0,model=virtio \ --graphics vnc,listen=0.0.0.0,port=5920,password=chunli \ --disk path=/home/OS_Disk_Image/virtio-win-0.1.126_amd64.vfd,device=floppy \ --disk path=/home/OS_Disk_Image/windows_10_1809.disk,size=200,format=qcow2,bus=virtio \ --cdrom=/home/OS_Disk_Image/cn_windows_10_consumer_edition_version_1809_updated_sept_2018_x64_dvd_051b7719.iso \ --noautoconsole
|
windows 模板
兼容 CentOS Debian
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| virt-install \ --virt-type=kvm \ --os-type=windows \ --name win10 \ --accelerate \ --autostart \ --hvm \ --ram 4096 \ --vcpus sockets=1,cores=2,threads=2 \ --network bridge=br0,model=virtio \ --graphics vnc,listen=0.0.0.0,port=5920,password=chunli \ --disk path=/home/OS_Disk_Image/virtio-win-0.1.126_amd64.vfd,device=floppy \ --disk path=/home/OS_Disk_Image/win10.disk,size=80,format=raw,bus=virtio \ --cdrom=/mnt/data/08_各种镜像/OS_windows/windows_10_LTSC_2019/cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso \ --noautoconsole
|
win10 模板
经过测试对比, Windows10版本中 1709空闲时占用CPU最低, 1809占用CPU最高, 1903,LTSC 约30%
#VNC 也可以不设定密码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| virt-install \ --name win10_1709 \ --ram 4096 \ --os-type=windows \ --os-variant=win10 \ --virt-type=kvm \ --accelerate \ --autostart \ --noautoconsole \ --cpu=host \ --vcpus sockets=1,cores=2,threads=2 \ --graphics vnc,listen=0.0.0.0,port=5920 \ --boot cdrom \ --network bridge=br0,model=virtio \ --disk path=/home/OS_Disk_Image/win10_1709.disk,size=80,format=raw,bus=virtio \ --disk path=/mnt/data/08_各种镜像/OS_windows/virtio-win-0.1.126_amd64.vfd,device=floppy \ --disk path=/mnt/data/08_各种镜像/OS_windows/windows_10_1709/cn_windows_10_multi-edition_version_1709_updated_dec_2017_x64_dvd_100406696.iso,device=cdrom \
|
镜像导入
koolshare
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| root@debian:~/kvm# cat kvm_install_koolshare.sh virt-install \ --virt-type=kvm \ --os-type=linux \ --name koolshare \ --accelerate \ --autostart \ --ram 256 \ --vcpus sockets=1,cores=1,threads=1 \ --network bridge=br0,model=virtio \ --graphics vnc,listen=0.0.0.0,port=5921,password=chunli \ --import \ --disk path=/home/OS_Disk_Image/koolshare.disk,format=raw,bus=virtio \ --noautoconsole
root@debian:~/kvm#
|
软路由模板
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| [root@dell ~]# cat install_kvm_mikrotik.sh name=mikrotik RAM=256 ostype=linux osvariant=centos7.0
virsh destroy mikrotik sleep 1 virsh undefine mikrotik rm -rf /home/OS_Disk_Image/${name}.disk
virt-install \ --name $name \ --os-type=$ostype \ --os-variant=$osvariant \ --accelerate \ --autostart \ --hvm \ --ram $RAM \ --cpu=host \ --vcpus sockets=1,cores=2,threads=1 \ --network bridge=br0,model=virtio \ --network bridge=br1,model=virtio \ --graphics vnc,listen=0.0.0.0,port=5928,password=chunli \ --noautoconsol \ --cdrom=/home/OS_Disk_Image/mikrotik-6.44.6.iso \ --disk path=/home/OS_Disk_Image/${name}.disk,size=1,format=raw,bus=ide
[root@dell ~]#
|
物理机添加一块物理磁盘给虚拟机