Linux學習 十五單元

系統虛擬機管理
一、安裝
1. #!/bin/bash ##命令運行環境的指定
virt-install \ ##安裝虛擬機
--name $1 \ ##虛擬機名稱指定,$1表示腳本後的第一串字符
--ram 1000 \ ##內存
--file /var/lib/libvirt/images/$1.img \ ##硬盤文件
--file-size 8 \ ##硬盤文件大小

--cdrom /var/ftp/pub/iso/rhel-server-7.1-x86_64-dvd.iso &  ##安裝源指定

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表示前端管理文件
virsh define vmname.xml ##永久恢復vm
virsh undefine  vmname ##刪除vm的前端管理,不會刪除存儲

文件快照

讀快照文件是讀源文件,對快照文件修改不會影響源文件。

(一)手動方式進行快照

1.文件快照

下面進行舉例,假定已存在虛擬機westos,該虛擬機不能進行重置否則會被刪除,可以通過,命令將其從前端隱藏。

 virsh undefine westos   ##將虛擬機westos從前端隱藏

(A)以相對路徑進行快照

  cd/var/lib/libvirt/images/

 ls   ##查看是虛擬機westos

 qemu-img create -f qcow2 -b westos.qcow2 first.qcow2

  其中create  #創建文件

    -f qcow2   #指定文件類型qcow2

    -b westos.qcow2 first.qcow2   #對westos.qcow2生成first.qcow2

(B)以絕對路徑進行快照,root下

 qemu-img create -f qcow2 -b /var/lib/libvirt/westos.qcow2  /var/lib/libvirt/first.qcow2

3.在前端中進行添加快照生成虛擬機:cd文件選擇westos.qcow2,然後進行安裝

運行虛擬機first,其內容的修改不會影響westos.若破壞了first虛擬機,刪除後再重次新快照,即相當於重置了westos

(二)命令方式進行快照

若是剛操作完上面的實驗,需要還原鏡像,選擇image

virsh destory westos  #強行關閉虛擬機

1.vim /mnt/vm_westos.sh   #寫腳本,此時只能在/mnt/目錄下運行運行該目錄下文件

 * #!/bin/bash

  virsh destory $1      #強行關閉虛擬機$1

  virsh undefine $1     #將已存在的虛擬機$1 從前端刪除

  qemu-img create -f qcow2 -b /var/lib/libvirt/images/$1.qcow2/var/lib/libvirt/images/$2.qcow2   #腳本中必須用絕對路徑,快照

 *virt-install \         #  創建虛擬機,但需要手動安裝

  --name $2 \            #

  --ram 1024 \           #

  --file /var/lib/libvirt/$2.qcow2 \  不用重新定義大小,因爲是已經存在的文件快照

  --import &    導入已存在

   wq

2.chmod +x /mnt/vm_westos.sh  #添加執行權限

3./mnt/vm_westos.sh 已存在的文件名稱 快照文件名稱  只能在/mnt/下調用該命令

4.mv /mnt/vm_westos.sh /bin/  #移動至/bin/下,則在任何情形下均可調用

5.vm_westos.sh westos linux #刪除快照文件或虛擬機westos,再對linux進行快照,重新生成westos

(三)若破壞了快照文件,可以直接刪除快照文件再重新快照,可以編寫重啓腳本。

1.vim /bin/vm_reset.sh

 #!/bin/bash

 virsh destory $1 

  rm-fr /var/lib/libvirt/images/$1.qcow2  ##刪除損壞的快照文件

 qemu create -f /var/lib/libvirt/images/$2.qcow2/var/lib/libvirt/images/$1.qcow2    ##原始光盤文件進行快照,用$2 來恢復$1

 virsh start $1

  wq

2.vm_reset.sh 文件名 ##重啓

四、自動安裝

在root下,安裝軟件kickstart

1.df  ##查看yum源是否掛載

2.yum search kickstart   ##查找是否有kickstart軟件,找其軟件包

  yuminstall system-config-kickstart.noarch -y #下載軟件

3.system-kickstart.noarch  #運行

  進行設置,再進行保存,保存路徑/var/www/html/文件名.cfg  #可以進行共享

4.vim /var/www/html/文件名.cfg  

  添加以下指令:  %packages

               @base   #表示是一個文件的組,必須是已存在的組.若無@,則爲字符串

               gcc

               %end

                wq

  yumgroups list   #查看存在的組

5.kickstart ?查錯

自動安裝軟件/虛擬機

6.vim /bin/文件名.sh 

 #!/bin/bash

 virt-install \

 --name $1 \

 --ram 1024 \

 --file /var/lib/libvirt/images/$1.qcow2 \

 --file-size 8 \

 --extra-args "ks=http://172.25.254.20/文件名.cfg"  #安裝源指向172.25.254.20/文件名.cfg

  wq

7.chmod +x /bin/文件名.sh

8.文件名.sh 名稱   ##自動安裝系統,不需手動設置

五、dhcp動態獲取

1.yum search dhcp    #找出dhcp的軟件包software

2.yum install dhcp -y   #下載軟件

3.vim /etc/dhcp/dhcpd.conf   #編寫dhcp的配置文件

 A.根據其內容提示:see /.../,在終端進行查看,操作如下:

  cp/.../ /etc/dhcp/dhcpd.conf

 overwrite y   #選擇覆蓋文件

 B.36行以下及27與28行刪除,30-33行進行修改:提供的IP地址範圍,客戶網關,及子網掩碼。7、8 行表示公司的名稱及提供的IP地址廣播號

4.systemctl start dhcpd  #開啓dhcp服務

  文件名.sh 名稱 #進行測試,可以完成安裝

 systenmctl stop dhcpd  #關閉服務

  文件名.sh 名稱 #不能完成安裝,因爲無法獲得ip

5.cat /var/lib/dhcpd.lease  #可以查看ip分配情況

  在前端的NIC處可以查看ip來源   



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