西部開源學習筆記《unit 15》

######################################

######## unit15.系統虛擬機管理 #######

######################################


########1.安裝#########

安裝方式:

(1)圖形界面安裝

(2)命令行安裝

[root@foundation19 ~]# virt-install \         ##安裝虛擬機

> --name westos \                             ##虛擬機名稱指定爲westos

> --ram 1000 \                                ##內存

> --file /var/lib/libvirt/images/westos.img \ ##硬盤文件

> --file-size 8 \                             ##硬盤文件大小

                                             (當用已有的磁盤文件創建虛擬機時不用寫這一行)

> --cdrom /home/kiosk/Downloads/rhel-server-7.1-x86_64-dvd.iso

                                              ##指定安裝源(表示通過鏡像文件來安裝虛擬機的方式)

(3)shell腳本安裝

vim /bin/vmcreate                             ##創建名爲vmcreate的文件在/bin/下(當shell腳本編譯完之後,vmcreate將成爲命令)

#!/bin/bash                                 ##命令運行環境的指定

--name $1 \                                  ##虛擬機名稱指定,$1表示腳本命令後的第一串字符

--ram 1000 \                                 ##內存

--file /var/lib/libvirt/images/$1.img \      ##硬盤大小

--file-size 8 \                              ##硬盤文件大小

--cdrom /home/kiosk/Downloads/rhel-server-7.1-x86_64-dvd.iso & 

                                             ##指定安裝源,&表示將命令打入後臺運行


測試:

sh vmcreate test                             ##創建名爲test的虛擬機(sh表示執行腳本)

chmod +x vmcreate                            ##先賦予執行權限(因爲系統默認創建的文件的權限爲644)

vmcreate test                                ##創建名爲test的虛擬機



########2.管理#########

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表示前端管理文件(當.xml文件不在默認目錄下,可以使用該方法啓動虛擬機)(此種方法啓動之後不會在默認目錄再生成.xml文件了)

virsh define vmname.xml                      ##永久恢復指定vm(當.xml文件不在默認目錄下,可以使用該方法啓動虛擬機)(此種方法啓動之後會在默認目錄再生成.xml文件)

virsh undefine vmname                        ##刪除vm的前端管理文件,不會刪除存儲

(只會刪除默認路徑/etc/libvirt/qume/下的.img文件,非默認路徑的不會刪除)



#######3.創建虛擬機的快照######

注意:創建快照最好先將被創建的虛擬機關閉,並將.xml文件刪除。(以防止誤操作母盤,導致快照無法使用)

(1)命令行創建

qemu-img create -f qcow2 -b test.qcow2 node1.qcow2    ##此處的.qcow2爲相對路徑,需要在/var/liblibvirt/images/下執行,或者寫爲絕對路徑也可以

du -sh node1.qcow2                                    ##顯示快照的文件大小(快照的大小會隨着用戶的使用而增加)

(2)shell腳本創建

vim /bin/nodecreate                     ##如果自己寫的vmctl腳本存在/var/lib/libvirt/images/下,只能在該目錄下才能執行。

                                          所以建議將腳本放在/bin/下。

                                          通過echo $PATH可以查看該目錄下的環境變量。


#!/bin/bash

echo poweroff $1 ...

virsh destroyc $1 &>/dev/null

echo delete $1.xml ...

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

======以上部分只是創建了快照的磁盤管理文件,還要把前端管理文件創建纔算完成快照的創建======

echo create $1 vm ...

virt-install \

--name $2 \

--ram 1000 \

--disk /var/lib/libvirt/images/$2.qcow2 \

--import &>/dev/null &         ##表示用已有的磁盤文件來創建虛擬機,注意:此行最後的&表示打入後臺運行


測試:

sh nodecreate test node1       ##以test爲基礎創建快照(sh表示執行腳本)

chmod +x nodecreate            ##先賦予執行權限(因爲系統默認創建的文件的權限爲644)

nodecreate test node1          ##以test爲基礎創建快照


##注意:不能給快照創建快照


補充:

1..img或者.qcow2文件爲磁盤管理文件,.xml爲前端管理文件。兩個文件都在纔可以恢復虛擬機。

2..img與.qcow2文件格式不同,但區別是?

3.磁盤管理文件必須在系統默認的/var/lib/libvirt/images/下,否則虛擬機則無法正常啓動。而前端管理文件則不要求,但默認會在/etc/libvirt/qemu/下。

4.在圖形化界面刪除虛擬機時,如果不勾選刪除磁盤文件則可以恢復,恢復方法如下:

當前端管理文件被刪除時,可以在安裝虛擬機時選擇用已有的硬盤管理文件(improt exiting disk image)來安裝,系統會自動生成前端管理文件




shell腳本:(經典案例)

創建腳本westos.sh。命令後跟apple,輸出banana;命令後跟banana,輸出apple;命令後跟其他,輸出"ERRO:please input apple|banana after westos.sh"。

腳本創建如下:

vim /bin/westos.sh

#!/bin/bash

case "$1" in

            apple)

            echo banana

            ;;

            banana)

            echo apple

            ;;

            *)

            echo "ERROR:please input apple|banana after westos.sh"

esac


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章