華為文檔創建虛擬機步驟
配置bios支持虛擬化
2、檢查系統是否支持虛擬化
3、安裝虛擬化相關組件,并啟動
yum install -y qemu virt-install virt-manager libvirt-daemon-qemu edk2-aarch64.noarch virt-viewer
systemctl start libvirtd
systemctl enable libvirtd
4、創建橋接網絡接口并配置網橋
為了使虛擬機可以與外部進行網絡通信,需要為虛擬機配置網絡環境。KVM虛擬化支持Linux網橋、Open vSwitch網橋等多種類型的網橋。如圖所示,數據傳輸路徑為“虛擬機 -> 虛擬網卡設備 -> Linux網橋或Open vSwitch網橋 -> 物理網卡”。創建網橋,除了為虛擬機配置虛擬網卡設備外,為主機創建網橋是連接虛擬化網絡的關鍵。
本節給出搭建Linux網橋和Open vSwitch網橋的方法,使虛擬機連接到網絡,用戶可以根據情況選擇搭建網橋的類
搭建Linux網橋 ?
以物理網卡eth0綁定到Linux網橋br0的操作為例,使用root用戶執行如下命令搭建Linux網橋:
確保已安裝 bridge-utils,用于管理網絡橋接
yum -y install bridge-utils
配置物理接口 enp125s0f1
cp /etc/sysconfig/network-scripts/ifcfg-enp125s0f0 .
echo 'DEVICE=enp125s0f0
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0'>/etc/sysconfig/network-scripts/ifcfg-enp125s0f0
配置橋接接口 br0
echo 'DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.8.60
NETMASK=255.255.255.0
GATEWAY=192.168.8.1
DNS1=114.114.114.114
DNS2=8.8.8.8'>/etc/sysconfig/network-scripts/ifcfg-br0
重啟網卡
sudo systemctl restart NetworkManager
4、創建虛擬化磁盤
[root@localhost ~]# ls /mnt/
[root@localhost ~]# mkdir -p /mnt/data/vm/images/
[root@localhost ~]# virsh pool-define-as vmPool --type dir --target /mnt/data/vm/images/
定義池 vmPool
[root@localhost ~]# virsh pool-build vmPool
構建池 vmPool
[root@localhost ~]# virsh pool-start vmPool
池 vmPool 已啟動
[root@localhost ~]# virsh pool-autostart vmPool
池 vmPool 標記為自動啟動
5、準備虛擬機配置文件
創建虛擬機需要虛擬機配置文件。假設配置文件為 master.xml ,以虛擬機 hostname 為 k8smaster0 的節點為例,參考配置如下:
vim /mnt/data/vm/xml/master0.xml
關鍵修改項(確保每個虛擬機唯一):
由于虛擬機相關配置必須唯一,新增虛擬機需要適配修改如下內容,保證虛擬機的唯一性:
● name:虛擬機 hostname,建議盡量小寫。例中為 k8smaster0
● nvram:nvram的句柄文件路徑,需要全局唯一。例中為 /var/lib/libvirt/qemu/nvram/k8smaster0.fd
● disk 的 source file:虛擬機磁盤文件路徑。例中為 /mnt/vm/images/master0.img
● interface 的 mac address:interface 的 mac 地址。例中為 52:54:00:00:00:80 要每臺都不一樣吧
● 37 行:切換成橋接模式,關聯橋接網卡
<domain type='kvm'><name>k8smaster0</name><memory unit='GiB'>8</memory><vcpu>8</vcpu><os><type arch='aarch64' machine='virt'>hvm</type><loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw</loader><nvram>/var/lib/libvirt/qemu/nvram/k8smaster0.fd</nvram></os><features><acpi/><gic version='3'/></features><cpu mode='host-passthrough'><topology sockets='2' cores='4' threads='1'/></cpu><iothreads>1</iothreads><clock offset='utc'/><on_poweroff>destroy</on_poweroff><on_reboot>restart</on_reboot><on_crash>restart</on_crash><devices><emulator>/usr/libexec/qemu-kvm</emulator><disk type='file' device='disk'><driver name='qemu' type='qcow2' iothread="1"/><source file='/mnt/data/vm/images/master0.img'/><target dev='vda' bus='virtio'/><boot order='1'/></disk><disk type='file' device='cdrom'><driver name='qemu' type='raw'/><source file='/mnt/data/vm/iso/openEuler-24.03-LTS-SP2-aarch64-dvd.iso'/><readonly/><target dev='sdb' bus='scsi'/><boot order='2'/></disk><interface type='bridge'><mac address='52:54:00:00:00:80'/><source bridge='br0'/><model type='virtio'/></interface><console type='pty'/><video><model type='virtio'/></video><controller type='scsi' index='0' model='virtio-scsi'/><controller type='usb' model='ehci'/><input type='tablet' bus='usb'/><input type='keyboard' bus='usb'/><graphics type='vnc' listen='0.0.0.0'/></devices><seclabel type='dynamic' model='dac' relabel='yes'/>
</domain>
6、創建并啟動虛擬機
virsh define master0.xml
virsh list --all
virsh start master0
獲取vnc端口號
ss -anpt|grep qemu-kvm
五、VNC連接創建好的虛擬機并安裝系統
因為 centos7 默認網卡發生改變,我們需要修改內核參數,使用 eth0 作為網卡
配置虛擬機靜態IP
echo 'TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=eui64
NAME=enp3s0
UUID=91f1574f-e9f1-413a-8a92-52a25dc4005d
DEVICE=enp3s0
ONBOOT=yes
IPADDR=192.168.8.61
NETMASK=255.255.255.0
GATEWAY=192.168.8.1'>/etc/sysconfig/network-scripts/ifcfg-enp3s0