系統虛擬機管理
安裝
首先我們以普通的圖形界面進行演示
//打開虛擬機管理工具點擊帶星星的電腦圖標
選擇第一個,這是以鏡像文件或光盤安裝
//因爲沒有光盤,選擇iso鏡像,並找到文件添加進去
選擇內存大小,cpu核數
選擇容量
虛擬機名稱
出現安裝選項
Install Centos7 安裝centos7
Test this media & install CentOS 7 測試安裝文件並安裝
Troubleshooting 故障修復
//選擇第一個,直接安裝
加載一些配置信息後,出現圖形安裝界面
第一個是安裝時的語言
然後出現一個有很多選擇的界面
- 在LOCALIZATION中,選擇自己的時間時區,鍵盤類型,支持的語言(語言中,如果有可能用中文,一定要選擇,不然後面即是切換到中文也是亂碼)
下面要選擇的就是SOFTWARE SELECTION 軟件安裝
//這裏選擇最簡安裝,而且不添加任何附加包
下來是INSTALLATION DESTINATION 磁盤分盤
//選擇手動分盤
標準格式,就分三個,
/boot系統啓動200M
swap系統運行500M(swap 一般比內存大兩倍 32G內存以上的內存,要大四倍)
/根,剩餘空間全部給根
然後退出安裝就完成了。
- 過程中,需要手動添加root用戶的密碼
用腳本自動化安裝
man virt-install //查看virt-install的說明文檔
//可以發現很多所有的參數都是可以用命令配置的
用腳本將命令綜合實現系統的安裝。
#!/bin/bash ##命令運行環境的指定
virt-install \ ##安裝虛擬機
--name $1 \ ##虛擬機名稱指定,$1表示腳本後的第一串字符
--ram 1024 \ ##內存
--file /var/lib/libvirt/images/$1.img \ ##硬盤文件
--file-size 8 \ ##硬盤文件大小
--cdrom /iso/rhel-server-7.2-x86_64-dvd.iso & ##安裝源指定
- 但是這其實也只是將安裝界面之前的簡單配置如名稱,cpu,內存,鏡像等的配置好,進入後還是有會進入圖形安裝界面,不是真正的自動化。所以,是*半自動化*。
//如圖,並沒有直接完全安裝
管理
/var/lib/libvirt/images/*.qcow2存放的是虛擬機的全部配置文件
*.xml 存放的是虛擬機的前端管理軟件
virt-manager ##開啓圖形管理工具
virt-viewer vmname ##顯示虛擬機,vmname表示虛擬機名稱
virsh list ##列出正在運行的vm
virsh list --all ##列出所有vm
virsh start vmname ##運行指定vm
virsh shutdown vmname ##正常關閉指定vm
virsh destroy vmname ##強行結束指定vm
virsh create vmname.xml ##臨時恢復指定vm,vmname表示前端管理文件
virsh define vmname.xml ##永久恢復vm
virsh undefine vmname ##刪除vm的前端管理,不會刪除存儲
列出正在運行的虛擬機:
正常關閉指定的虛擬機:
刪除指定虛擬機的前端管理:
虛擬機快照
快照是對真實虛擬機在某個時間點的“拷貝”,這個“拷貝”並不是對其文件的複製,而是保持磁盤文件和系統內存在該時間點的狀態,以便在出現故障後虛擬機能夠恢復到該時間點。如果對某個虛擬機創建了多個快照,那麼就可以有多個可恢復的時間點。
快照隨着虛擬機對磁盤文件的寫操作而增長。當虛擬機需要修改原來的磁盤文件的數據塊時,這些修改會被保存到快照文件中。當在快照文件中的已經修改過的數據塊需要被再次修改時,這些修改將覆蓋快照文件中的數據塊,此時,快照文件大小不會改變。因此,快照文件的大小永遠不會超過原來的真實虛擬機文件的大小。
用法:
qemu-img create -f qcow2 -b vm2.qcow2 node1.qcow2
修改,將一個已經創建好的快照變爲一個新的
#!/bin/bash
virsh destroy $1 &> /dev/null
virsh undefine $1 &> /dev/null
qemu-img create -f qcow2 -b /var/lib/libvirt/images/$1.qcow2 /var/lib/libvirt/images/$2.qcow2 &> /dev/null
virt-install \
--name $2 \
--ram 1000 \
--disk /var/lib/libvirt/images/$2.qcow2 \
--import &> /dev/null &
簡單的直接創建一個快照:
實現:
可以發現,非常快,直觀的看,幾秒就完成了一個新的虛擬機創建