環境
作業系統:CentOS 7.0
IP位址:192.168.0.102
1、安裝qemu-kvm,libvirt
# qemu-kvm建立虛拟機硬碟,libvirt管理虛拟機
yum install -y qemu-kvm libvirt
2、安裝virt-install
# 用來建立虛拟機
yum install -y virt-install
3、啟動 librvirt
libvirt在安裝完成後,預設已經建立了一個NAT類型的網絡,并且已經設定好了NAT的一系列規則,DHCP等,這個網絡會給主控端建立一張virbr0網卡,用于主控端與虛拟機互通。
# 啟動libvirt,此時ifcofnig,檢視多了一塊virbr0的網卡,ip為 192.168.122.1,virsh指令可以用
systemctl start libvirtd
# 設為開機啟動
systemctl enable libvirtd
4、網絡配置
# 配置橋接網卡
cd /etc/sysconfig/network-scripts/
vi ifcfg-br0
# 配置内容
DEVICE=br0 # 橋接網卡名稱
TYPE=Bridge # 類型橋接
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.0.102 # 此處的IP為本地的實體IP,通過ifconfig檢視
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
配置實體網卡
vi ifcfg-ens33
# 配置如容
DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0 # 設定網絡橋接的名稱
NM_CONTROLLED=yes
重新開機網絡
systemctl restart network
檢視網絡
[root@centos7 network-scripts]# ifconfig
# 結果
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.102 netmask 255.255.255.0 broadcast 192.168.0.255……
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:47:ec:83 txqueuelen 1000 (Ethernet)……
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>……
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:ab:d0:6c txqueuelen 1000 (Ethernet)……
# 檢視網絡
brctl show
# 顯示如下
bridge name bridge id STP enabled interfaces
br0 8000.000c2947ec83 no ens33
virbr0 8000.525400abd06c yes virbr0-nic
# 到此,先ping下百度,如果通,表示配置正确
報錯:
cat /var/log/messages | grep "libssl"
# libssl錯誤
version libssl.so.10 not defined in file libssl.so.10 with link time reference
# 更新
yum install -y openssl-1.0.2k*
5、安裝虛拟機
安裝方式:在伺服器上隻完成虛拟機的配置資訊和鏡像的引導,系統的安裝通過VNC遠端登入系統進行
virt-install \
--name=kvm001 --ram 1024 --vcpus=1 \
--disk path=/home/raw/kvm001.raw,size=10,format=raw,bus=virtio \
--cdrom=/mnt/CentOS-7-x86_64-Minimal-1810.iso --network bridge=br0,model=virtio \
--graphics vnc,listen=0.0.0.0 --noautoconsole
--name #虛拟機名稱
--ram #配置設定給虛拟機的記憶體,機關MB
--vcpus #配置設定給虛拟機的cpu個數
--cdrom #指定CentOS鏡像ISO檔案路徑
--disk #指定虛拟機raw檔案路徑
size #虛拟機檔案大小,機關GB
bus #虛拟機磁盤使用的總線類型,為了使虛拟機達到好的性能,這裡使用virtio
cache #虛拟機磁盤的cache類型
--network bridge #指定橋接網卡
model #網卡模式,這裡也是使用性能更好的virtio
--graphics #圖形參數
打開 5900 端口
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5900:5902 -j ACCEPT #打開VNC遠端端口
在window下載下傳TightVNC Viewer,進行遠端安裝
6、啟動虛拟機
# 列出所有虛拟機
virsh list --all
Id 名稱 狀态
----------------------------------------------------
- kvm001 關閉
# 啟動kvm001虛拟機
virsh start kvm001
# 設定自啟動
virsh autostart kvm001
# 其它操作
----------------------------------------------------
virsh autostart --disable kvm001 # 關閉自啟動
virsh shutdown kvm001 # 關閉虛拟機
virsh dominfo kvm001 # 顯示虛拟機的基本資訊
virsh dumpxml kvm001 # 顯示虛拟機的配置檔案
7、如果安裝時沒記住IP,可以通過以下方法找到,然後再配置靜态IP
virsh dumpxml kvm002 | grep mac
# 結果
<partition>/machine</partition>
<type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
<mac address='52:54:00:89:67:66'/> #記錄mac位址
arp -a | grep 52:54:00:89:67:66 #查詢IP
# 結果
? (192.168.0.100) at 52:54:00:89:67:66 [ether] on br0 #找到IP
# 找不到的話,執行以下,全局掃描IP段
yum install -y namp
nmap -sP 192.168.0.1/24
# 1、關機
virsh shutdown kvm001
# 2、把名稱改為kvm100
virsh domrename kvm001 kvm100
# 3、修改磁盤檔案名稱
mv /home/raw/kvm001.raw /home/raw/kvm100.raw
# 4、修改配置檔案
virsh edit kvm100
# 修改内容
<source file='/home/raw/kvm100.raw'/>
# 5、開機
virsh start kvm100
# 強制關閉虛拟機
virsh destroy kvm001
# 删除定義虛拟機
virsh undefine kvm001
# 查找虛拟機檔案
find / -name kvm002*
/var/log/libvirt/qemu/kvm002.log
/home/raw/kvm002.raw
# 删除
find / -name kvm002* | xargs rm -rf