您好,登錄后才能下訂單哦!
博文大綱:
一、磁盤與快照管理
二、虛擬機克隆技術
三、虛擬機的網絡配置
這個段落主要介紹磁盤與快照的管理!
在KVM虛擬機中有兩種磁盤格式,分別是:
舉例說明:
[root@localhost ~]# qemu-img create 1234.raw 5G
//創建虛擬磁盤,名稱為1234.raw,大小為5G,創建磁盤默認格式為raw
[root@localhost ~]# qemu-img create -f qcow2 123.qcow2 5G
//創建虛擬磁盤,名稱為123.qcow2,大小為5G,創建時指定磁盤格式為qcow2
[root@localhost ~]# qemu-img info 1234.raw //查看1234.raw磁盤的詳細信息
[root@localhost ~]# qemu-img info 123.qcow2 //查看123.qcow2磁盤的詳細信息
//以上操作建議在一個創建的測試目錄中
以下操作將本地磁盤格式轉換為qcow2
[root@localhost ~]# cd /kvm/disk/ //KVM虛擬磁盤存放路徑
[root@localhost disk]# qemu-img info web01.raw //查看磁盤詳細信息
image: web01.raw
file format: raw //這里顯示的格式是raw
virtual size: 10G (10737418240 bytes)
disk size: 1.4G
[root@localhost disk]# virsh list --all //查看虛擬機列表,確認虛擬機是關閉的狀態
Id 名稱 狀態
----------------------------------------------------
- web01 關閉
[root@localhost disk]# qemu-img convert -f raw -O qcow2 web01.raw web01.qcow2
//將原本的磁盤格式raw轉換為qcow2,不過轉換之前需要保證KVM虛擬機是關閉的狀態
[root@localhost disk]# ls
web01.qcow2 web01.raw
//注意轉換之前的虛擬機磁盤依然存在
[root@localhost disk]# virsh edit web01
//修改虛擬機的磁盤文件格式,定位到driver name,修改為以下內容:
<driver name='qemu' type='qcow2'/>
<source file='/kvm/disk/web01.qcow2'/>
//將原本的磁盤類型raw更改為qcow2,這兩行都需修改
[root@localhost disk]# virsh start web01
//確認虛擬機可以開啟,證明磁盤文件更改沒有錯誤
[root@localhost disk]# virsh snapshot-create web01
//針對web01虛擬機創建快照
[root@localhost disk]# virsh snapshot-list web01
//查看虛擬機的快照信息
名稱 生成時間 狀態
------------------------------------------------------------
1575285097 2019-12-02 19:11:37 +0800 running
//名稱這一列表示為時間戳,從1970年到現在的時間,默認是秒數
[root@localhost disk]# virsh snapshot-revert web01 1575285097
//針對虛擬機恢復指定快照信息
[root@localhost disk]# qemu-img info web01.qcow2 //查看虛擬機轉換后的磁盤信息
image: web01.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 2.0G
cluster_size: 65536
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 1575285097 254M 2019-12-02 19:11:37 00:01:54.499
//從這里可以看出快照其實是存儲在虛擬機的磁盤中的,占用磁盤的空間
Format specific information:
compat: 1.1
lazy refcounts: false
[root@localhost disk]# virsh snapshot-delete web01 1575285097
//針對虛擬機刪除指定快照
針對KVM虛擬機的磁盤信息就先簡單介紹這么多,有機會還會繼續更新!
在KVM虛擬化平臺中,克隆主要分為以下三種:
- 手動克隆;
- 鏈接克隆;
- 完整自動克隆;
KVM虛擬機有兩個配置文件,通過克隆配置文件的方式來對虛擬機進行克隆,還有一個前提要求就是虛擬機必須處于關機的狀態。
操作如下:
[root@localhost ~]# cd /etc/libvirt/qemu/
[root@localhost qemu]# cp web01.xml web02.xml //使用最基礎的命令進行復制
[root@localhost qemu]# virsh dumpxml web01 > web03.xml //使用dumpxml工具進行生成
[root@localhost qemu]# ls
networks web01.xml web02.xml web03.xml
//確認xml文件確實存在,以上兩種方法都可以
[root@localhost qemu]# rm -rf web03.xml
//實驗環境所以就把這個文件刪除
[root@localhost qemu]# cd /kvm/disk/
[root@localhost disk]# cp web01.raw web02.raw
//進入指定目錄對虛擬機磁盤文件進行復制
[root@localhost disk]# vim /etc/libvirt/qemu/web02.xml
//修改虛擬機的xml文件
定義到第一個name字段更改內容如下:
<name>web02</name>
定義到第一個uuid字段進行刪除uuid整行!
定義到第一個mac address字段進行刪除整行!
[root@localhost disk]# cd /etc/libvirt/qemu
[root@localhost qemu]# virsh define web02.xml
//通過配置文件定義一個虛擬機(這個虛擬機還不是活動的)
注意:如果需要刪除使用“virsh define web02.xml ”但是只會刪除xml文件,并不會刪除磁盤文件!
[root@localhost qemu]# virsh list --all
Id 名稱 狀態
----------------------------------------------------
- web01 關閉
- web02 關閉
[root@localhost qemu]# virsh start web02 //開啟虛擬機,自行進行測試
鏈接克隆就是把其原本磁盤文件做一個鏈接而已!操作如下:
[root@localhost disk]# qemu-img create -f qcow2 -b web01.raw web02.qcow2
//針對原本的web01.raw生成一個新的磁盤文件web02.qcow2,添加“-b”選項的意思,就是鏈接的意思
[root@localhost disk]# qemu-img info web02.qcow2 //查看新創建的磁盤詳情
image: web03.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 196K //注意大小
cluster_size: 65536
backing file: web01.raw //表示最終使用的磁盤
Format specific information:
compat: 1.1
lazy refcounts: false
[root@localhost disk]# virsh edit web02
定義到driver name字段,
<driver name='qemu' type='qcow2'/> 修改為qcow2
<source file='/kvm/disk/web02.qcow2'/> 修改為web02.qcow2
[root@localhost disk]# virsh start web02 //進行開機測試,自行進行測試
針對以上兩種克隆方式,這種克隆方式就顯得過于簡單了!有一個硬性的要求就是需要關閉KVM虛擬機。
[root@localhost ~]# virt-clone --auto-clone -o web01 -n web03
//針對虛擬機web01自動生成web03虛擬機,如果不加-n指定名稱,將生成web01-clone。
[root@localhost ~]# virsh list --all
Id 名稱 狀態
----------------------------------------------------
- web01 關閉
- web02 關閉
- web03 關閉
[root@localhost ~]# virsh start web03 //開機自行進行測試
關于虛擬機的克隆就介紹這么多!
我們之所以在KVM虛擬機中創建多個虛擬機,是為了能夠給互聯網的用戶提供相應的服務。
那么首先我們介紹KVM虛擬機的兩個模式:
適用范圍:不允許互聯網進行訪問;
原理:NAT方式是KVM安裝完成之后的默認方式,它支持KVM宿主機和虛擬機之間的訪問,同時也支持虛擬機訪問互聯網,但不支持互聯網用戶對其進行訪問!
實現方式:
[root@localhost ~]# virt-clone --auto-clone -o web01 -n web02
//通過完整自動克隆的方式生成web02虛擬機
[root@localhost ~]# systemctl start firewalld
//保證防火墻是開啟的狀態
[root@localhost ~]# echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
//開啟路由轉發功能
[root@localhost ~]# firewall-cmd --add-port=5900/tcp --permanent
[root@localhost ~]# firewall-cmd --reload
//如果需要VNC對其進行操作,還需開啟5900端口
[root@localhost ~]# virsh start web02 //開啟web02虛擬機
進行驗證:
訪問互聯網沒有問題!
適用范圍:服務器主機虛擬化;
原理:即虛擬網橋的網絡連接方式,使互聯網用戶可以訪問到KVM的虛擬機;
實現方式:
[root@localhost ~]# systemctl stop NetworkManager //關閉網絡管理工具
[root@localhost ~]# virsh iface-bridge ens33 br0 //通過ens33生成br0
使用附加設備 br0 生成橋接 ens33 失敗 //提示失敗沒有關系
已啟動橋接接口 br0
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cat ifcfg-ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE="br0"
//可以查看到ens33的網卡幾乎沒有內容,就是橋接到br0而已
[root@localhost network-scripts]# cat ifcfg-br0
DEVICE="br0"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO="none"
IPADDR="192.168.1.7"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.254"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
DHCPV6C="no"
STP="on"
DELAY="0"
//發現原本屬于ens33的IP地址跑到了br0網卡上
[root@localhost ~]# brctl show //使用br專用命令進行查看
bridge name bridge id STP enabled interfaces
br0 8000.000c29855ef5 yes ens33
virbr0 8000.52540028f9c1 yes virbr0-nic
//可以看出ens33橋接到了br0網卡上
[root@localhost ~]# virsh edit web01 //使用edit工具編輯web01虛擬機的配置文件
定位到interface,修改一下內容:
<interface type='bridge'> 修改為bridge
<mac address='52:54:00:ef:a3:93'/>
<source bridge='br0'/> 修改為 bridge='br0'
[root@localhost ~]# virsh start web01 //啟動web01虛擬機
進行驗證:
關于KVM虛擬機網絡就介紹這么多!
———————— 本文至此結束,感謝閱讀 ————————
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。