2021-05-12 14:32:11
CentOS 7下搭建KVM虛擬機器環境
本文主要介紹如何在CentOS7的宿主機環境中搭建kvm虛擬機器,主要分為以下幾個步驟:
宿主機的網路設定
宿主機的軟體安裝和設定
虛擬機器模板的安裝
虛擬機器的克隆
虛擬機器的磁碟掛載
宿主機的網路設定
在這裡我們選擇虛擬機器的網路模式為橋接,這樣宿主機以外的其它同網段的節點可以直接存取虛擬機器。這裡只需要在宿主機上設定一個網橋就可以了。
網橋的設定很簡單。
1. 檢視當前宿主機網路設定所使用的網絡卡,選擇需要橋接的網絡卡。轉去宿主機的/etc/sysconfig/network-scripts目錄下。
2. 假如當前設定的物理網絡卡為eth0,我們將eth0的ip地址橋接出去。cp -a ifcfg-eth0 ifcfg-br0
3. 將ifcfg-eth0檔案中設定的ip地址、掩碼、閘道器、DNS等資訊統統刪掉,並增加一行BRIDGE=br0
4. 將ifcfg-br0檔案中的UUID IPV6的資訊統統刪掉,將TYPE修改為Bridge,NAME和DEVICE修改為br0. 修改完畢之後的內容範例如下。
5. 將網路服務重新啟動或者將宿主機重新啟動使得設定生效。使用ifconfig命令檢視ip地址資訊。
網橋設定內容範例
TYPE=Bridge
DEVICE=br0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.200
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
宿主機的軟體安裝和設定
在 軟體安裝的時候,如何可以連網的話安裝非常方便,只需要執行下列命令就可以了
yum -y install qemu-kvm libvirt virt-install bridge-utils
對於不能連網的情況,可以設定iso映象檔案為yum源進行軟體安裝(這裡需要注意的是對於軟體源的repo檔案,預設情況下是enabled=1,有些情況下需要的手動新增設定為enabled=0)。
安裝完畢之後,檢查模組是否已經載入
[root@centos7 ~]# lsmod | grep kvm
kvm_intel 170181 0
kvm 554609 1 kvm_intel
執行下列命令:
systemctl start libvirtd.service
systemctl enable libvirtd.service
虛擬機器模板的安裝
我們先建立一個虛擬機器,比如命令如下,。
virt-install --name vm_CentOS7 --ram 5120 --disk path=/var/lib/libvirt/images/vm_CentOS7/system.img,size=16
--vcpus 4 --graphics vnc
--cdrom /tmp/CentOS-7.0-1406-x86_64-DVD.iso
--os-variant none --netwrok bridge=br0
然後使用virtual Machine Manager進行作業系統安裝。
安裝完畢作業系統之後,我們進行軟體的安裝和設定
虛擬機器的克隆
將一個虛擬機器克隆完畢之後,就可以以此為模板進行克隆,其它虛擬機器就不必在一一進行建立,安裝作業系統等操作。虛擬機器克隆操作的程式碼如下:
#!/usr/bin/env bash
set -eux
set -o pipefail
vm_path="/var/lib/libvirt/images/vm_os"
for (( i = 0; i <= 9; i ++ ))
do
vm_dir=$vm_path/vm$i
if [ ! -d $vm_dir ]; then
mkdir -p $vm_dir
fi
virt-clone --connect qemu:///system --original vm00 --name vm$i --file $vm_dir/vm"$i"system.img
done
虛擬機器的磁碟掛載
虛擬機器掛載磁碟的命令是virsh attach-disk ,
解除安裝磁碟的命令是virsh detach-disk
同樣,為了批次操作方便,我們寫個指令碼來進行處理
#!/usr/bin/env bash
set -eux
set -o pipefail
vm_path="/var/lib/libvirt/images/vm_disk"
for (( i = 0; i <= 9; i ++ ))
do
vm_dir=$vm_path/vm$i
if [ ! -d $vm_dir ]; then
mkdir -p $vm_dir
fi
fallocate -l 15G $vm_dir/disk_15G.img
virsh attach-disk vm$i --source $vm_dir/disk_15G.img --target sdb --persistent
#virsh detach-disk --domain vm$i --target sdb --persistent
done
以上就是日常環境中建立虛擬機器的流程。
相關文章