CentOS 7.9操作系統部署KVM軟件和配置指南,包括如何創建一個虛擬機。
步驟 1: 檢查硬件支持
首先,確認您的CPU支持虛擬化技術,并且已在BIOS中啟用:
egrep -c '(vmx|svm)' /proc/cpuinfo
如果輸出大于0,則表示支持虛擬化。
步驟 2: 安裝KVM及相關工具
-
1.更新軟件包列表:
yum update -y
-
2.安裝KVM及相關工具:
yum groupinstall "Virtualization Host" -y
yum install qemu-kvm libvirt virt-install virt-viewer -y
-
3.啟動并設置開機啟用libvirtd服務:
systemctl start libvirtdsystemctl enable libvirtd
-
4.驗證安裝是否成功:
virsh list --all
如果命令執行沒有錯誤信息,說明安裝成功。
步驟 3: 創建虛擬機
您可以使用virt-install命令行工具或virt-manager圖形界面來創建虛擬機。這里我先介紹命令行方式:
使用virt-install創建虛擬機
提前上傳IOS文件到/home/vm_ios目錄下
virt-install \--name= syty-k8s-vm \--memory= 16384 \--vcpus=8 \--disk path= /home/vm-disk/centos7-vm.qcow2,size=100 \--network network=default \--os-type=linux \--os-variant= rhel7.0 \--cdrom= /home/vm_ios/CentOS-7-x86_64-DVD-2009.iso \--graphics vnc,listen=0.0.0.0 \--noautoconsole
請根據實際情況修改參數,如內存大小、CPU核心數、磁盤路徑、網絡配置、操作系統類型及變體等。此命令會創建一個名為syty-k8s-vm的虛擬機,分配16GB內存和8個CPU核心,使用100GB的磁盤空間,并通過VNC提供圖形界面支持。
查看syty-k8s-vm虛擬機VNC端口號:
virsh dumpxml syty-k8s-vm | grep vnc
使用VNC連接上之后接著按指示裝系統。
注意事項
- 資源分配:確保為新的虛擬機合理分配資源,以免影響現有服務的性能。
- 網絡配置:默認情況下,KVM會創建NAT網絡。如果需要更復雜的網絡設置,如橋接網絡,請參考之前的建議進行配置。
安裝好之后查看新創建的虛擬機
virsh list --all
修改虛擬機網絡,使其支持橋接
- 先修改宿主機網絡,創建br0橋接網卡。
我的宿主機目前用的是em1這個網卡,
接下來備份這個網卡配置文件
cp /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/ifcfg-em1-2-12
查看宿主機網卡當前配置
[root@store ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=em1DEVICE=em1ONBOOT=yesIPADDR=xxxxxxxxxxxNETMASK=255.255.255.0#GATEWAY=xxxxxxxDNS1=xxxxxx
按照下列信息修改/etc/sysconfig/network-scripts/ifcfg-em1網卡配置文件
[root@store ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=em1DEVICE=em1ONBOOT=yesBRIDGE=br0 #橋接網卡名
創建橋接網卡配置文件將原先ifcfg-em1網卡配置文件的IP信息寫到ifcfg-br0中
[root@store ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0DEVICE=br0TYPE=BridgeBOOTPROTO=staticIPADDR=xxxxxxNETMASK=255.255.255.0#GATEWAY=xxxxxxx? # 如果需要,取消注釋并填寫正確的網關地址DNS1=xxxxxxxxxONBOOT=yesDELAY=0
然后重啟網絡
systemctl restart network
查看網絡狀態
systemctl status network
輸入ifconfig發現em1已經沒有IP信息了,并且出現了br0這個橋接網卡名稱
- 修改虛擬機配置
如果虛擬機開著機,那就先關機
virsh shutdown syty-k8s-vm
關機后編輯虛擬機
virsh edit syty-k8s-vm
修改虛擬機關于網卡配置那部分
? <interface type='bridge'><mac address='52:54:00:28:30:0e'/><source bridge='br0'/><model type='virtio'/><address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/></interface>
修改后開啟虛擬機
virsh start syty-k8s-vm
修改虛擬機IP為靜態
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="stable-privacy"NAME="eth0"UUID="ac2141c8-5eb5-4993-ad5d-3a27296d0fb3"DEVICE="eth0"ONBOOT="yes"IPV6_PRIVACY="no"IPADDR="xxxxx"NETMASK="255.255.255.0"GATEWAY="xxxxxx"DNS1="xxxxxxxxxx"
最后一步ping一下百度域名看看能不能訪問外網并正確解析
備份原有的CentOS-Base.repo文件
原有的默認源倉庫地址已經無法訪問,需要修改成其他可用源
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
下列以阿里云為例
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
baseurl=https://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
baseurl=https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
baseurl=https://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
清除Yum緩存并重新生成緩存
yum clean allyum makecache
安裝vim工具
能正常安裝說明配置的阿里云源倉庫地址沒問題。自此KVM虛擬機可用。