#内核版本和系统版本
[root@xa-radb-02 ~]# uname -a
Linux xa-radb-02 4.19.90-24.4.v2101.ky10.x86_64 #1 SMP Mon May 24 12:14:55 CST 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@xa-radb-02 ~]# cat /etc/kylin-release
Kylin Linux Advanced Server release V10 (Sword)
#查看 X86架构服务器 是否支持虚拟化,值大于0表示支持
[root@xa-radb-02 ~]# egrep -c '(vmx|svm)' /proc/cpuinfo
128
#arm架构服务器 查看是否支持虚拟化,参见:https://blog.csdn.net/weixin_46031767/article/details/129497194
#确保BIOS里开启虚拟化功能,即查看是否加载KVM模块
[root@xa-radb-02 ~]# lsmod | grep kvm
kvm_amd 106496 100
ccp 102400 1 kvm_amd
kvm 753664 1 kvm_amd
irqbypass 16384 43 kvm
#如果没有加载,运行以下命令:
[root@localhost ~]# modprobe kvm
[root@localhost ~]# lsmod | grep kvm
# 桥接网络,kylin V10没有network.service服务
# 如果没有brctl命令(用来管理网桥的工具),则需要安装bridge-utils ,
[root@localhost ~]# yum -y install bridge-utils
[root@localhost ~]# cp ifcfg-enp11s0f0 ifcfg-br0
[root@localhost ~]# more ifcfg-enp11s0f0
# Generated by dracut initrd
NAME="enp11s0f0"
DEVICE="enp11s0f0"
ONBOOT=yes
NETBOOT=yes
IPV6INIT=yes
#BOOTPROTO=static
#IPADDR=192.168.0.18
#PREFIX=22
#GATEWAY=192.168.3.254
#DNS1=114.114.114.114
TYPE=Ethernet
BRIDGE=br0
[root@localhost ~]# cat ifcfg-br0
# Generated by dracut initrd
NAME="br0"
DEVICE="br0"
ONBOOT=yes
NETBOOT=yes
IPV6INIT=yes
BOOTPROTO=static
IPADDR=192.168.0.18
PREFIX=22
GATEWAY=192.168.3.254
DNS1=114.114.114.114
TYPE=Bridge
### 重启网卡服务,Kylin V10没有network.service服务
[root@localhost ~]# systemctl restart network
#Kylin V10没有network.service服务,配置好后可以重启服务器
#通过重启的方式来重启网络
[root@localhost ~]# reboot
#查看网卡
[root@xa-radb-02 ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.e8611f3eed33 no p29p1
#查看ip信息
[root@xa-radb-02 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: p29p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
link/ether e8:61:1f:3e:ed:33 brd ff:ff:ff:ff:ff:ff
3: p29p2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether e8:61:1f:3e:ed:34 brd ff:ff:ff:ff:ff:ff
4: enp36s0f3u1u2c2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether ce:3b:0c:8a:60:99 brd ff:ff:ff:ff:ff:ff
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether e8:61:1f:3e:ed:33 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.42/22 brd 192.168.3.255 scope global noprefixroute br0
valid_lft forever preferred_lft forever
inet6 fe80::ea61:1fff:fe3e:ed33/64 scope link
valid_lft forever preferred_lft forever
#安装软件
yum install libvirt* qemu* -y
或
yum install qemu-kvm libvirt virt-install virt-manager libvirt-client virt-clone -y
Centos/redhat
yum install qemu-kvm libvirt virt-install libvirt-python virt-manager libvirt-client virt-clone -y
#启动服务器并设置开机自启
#设置开机自启
systemctl enable libvirtd
systemctl start libvirtd
#安装virt-manager或者vnc
yum install -y virt-manager
Kylin V10安装VNC参考链接
查看服务状态:systemctl status libvirtd
virsh list 出现下面内容则安装成功
命令行安装虚拟机: (kvm安装kylin系统的虚拟机时需要同意“认证许可”,如果vnc无法显示页面则在命令行virsh console 虚拟机名称
方式同意认证)
#安装工具
# yum install -y virt-install
#安装kvm虚机,修改实例名字(name),内存大小(ram),cpu核数(vcpus),虚机磁盘存放路径(path),磁盘格式(format),磁盘大小(size),iso文件位置(cdrom),vnc端口(vncport),桥接网络(bridge)
virt-install --name=ceph1 --ram 32768 --vcpus=8 --disk path=/kvm/kvms/ceph1.qcow2,format=qcow2,size=100,bus=virtio --accelerate --cdrom /kvm/rhel-server-7.9-x86_64-dvd.iso --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole
#####
name: kvm虚机实例显示名称
[root@xa-radb-02 ~]# virsh list
Id 名称 状态
----------------------
8 ceph1 运行中
ram 实例分配内存大小
vcpus: cpu核数
disk: 磁盘,实例客户机存储的媒体
size: 磁盘大小。默认GB
formate: 磁盘的映像格式,raw,qcow2,vmdk等
bus: 等于target.bus 磁盘总线类型,'ide', 'sata', 'scsi', 'usb', 'virtio' or 'xen'
cdrom: 指定iso镜像文件
noautoconsole: 不要自动尝试连接到客户端控制台
#使用 man virt-install 查看更多详细参数
#安装好后使用VNC连接实例安装系统并完成其他配置
[root@xa-radb-01 kvms]# virt-install --name=ceph1 --ram 32768 --vcpus=8 --disk path=/kvm/kvms/ceph1.qcow2,format=qcow2,size=100,bus=virtio --accelerate --cdrom /kvm/rhel-server-7.9-x86_64-dvd.iso --vnc --vncport=5900 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole
Starting install...
Allocating 'ceph1.qcow2' | 100 GB 00:00:00
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
--network bridge=br0,model=virtio
安装虚拟机时,model默认类型为rtl8139。(使用rtl8139类型可能会出现虚拟机卡顿、卡死需要重启的问题。推荐使用virtio)
`rtl8139` 和 `virtio` 是两种不同的网卡类型,主要有以下区别:
1. **性能差异:**
- `rtl8139` 是一种基于软件的实现,性能相对较低。它模拟了一个 Realtek RTL8139 网卡。
- `virtio` 是一种高性能的虚拟化网络设备,提供了专用于虚拟机的驱动程序,与底层宿主系统的网络设备进行更有效的交互。
2. **驱动程序支持:**
- `rtl8139` 通常无需额外的驱动程序,因为它的驱动程序通常已经包含在大多数操作系统中。
- `virtio` 则需要虚拟机中安装相应的 virtio 驱动程序,这通常提供了更好的性能和功能支持。
3. **性能特性:**
- `rtl8139` 可能在高负载下表现不佳,并且不支持一些现代的虚拟化特性。
- `virtio` 具有更好的性能,支持多队列和直接 I/O (IOV),这些功能有助于提高网络性能。
4. **主机和客户机兼容性:**
- `rtl8139` 是一种通用的模拟设备,可能在各种虚拟化平台上都能使用,但它可能无法发挥一些高级特性。
- `virtio` 通常需要对应虚拟化平台的支持,并且在某些平台上可能需要手动配置。
在大多数情况下,建议选择 `virtio` 网卡类型,因为它通常提供更好的性能和功能支持。然而,如果你在特定环境中遇到兼容性问题,或者对性能要求不高,`rtl8139` 也是一个可行的选择。