KVM構建及管理 、 virsh控制工具 、 鏡像管理 、 虛擬機快建技術

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

#virsh nodeinfo         //查看KVM節點(服務器)信息
#virsh list --all     //列出虛擬機
#virsh dominfo 虛擬機名稱                 // 查看虛擬機詳細信息
#virsh autoatart [--disable] 虛擬機名稱     //設置虛擬機隨機自啓
#virsh start/reboot/shutdown 虛擬機名稱     //設置虛擬機開機/重啓/關機
#virsh destroy 虛擬機名稱                 //設置虛擬機強制關機

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

 在Linux中KVM虛擬機,組成:   

 – xml配置文件(虛擬機描述文件):定義虛擬機的名稱、UUID、CPU、內
存、虛擬磁盤、網卡等各種參數設置
 
   /etc/libvirt/qemu/*.xml

 – 磁盤鏡像文件:保存虛擬機的操作系統及文檔數據,
鏡像路徑取決於xml配置文件中的定義

    /var/lib/libvirt/images

[root@room9pc14 桌面]# ls /etc/libvirt/qemu/        //查看虛擬機描述文進(xml文件)
[root@room9pc14 桌面]# ls /var/lib/libvirt/images/    //查看磁盤鏡像文件

[root@room9pc14 桌面]# du -sh /var/lib/libvirt/images/
 
  細節:  模版虛擬機example,注意刪除 Channel 設備

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


通過example虛擬機生成新的虛擬機

在真機進行操作:
1.關閉虛擬機example
#virsh destroy example
2.複製磁盤鏡像 文件
#cd /var/lib/libvirt/images    //切換到磁盤文件存放的路徑下
#ls                    //查看都有哪些磁盤文件
#qemu-img info example.qcow2    //查看磁盤文件信息
image: example.qcow2
file format: qcow2
virtual size: 9.0G (9663676416 bytes)
disk size: 3.2G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: true
#cp example.qcow2 test01.qcow2
3.複製虛擬機描述文件
#cd /etc/libvirt/qemu/
[root@room9pc14 qemu]# cp example.xml test01.xml
[root@room9pc14 qemu]# vim test01.xml  
   虛擬機名稱、UUID、虛擬機磁盤文件、網卡MAC

[root@room9pc14 qemu]# uuidgen

4. 導入新虛擬機信息
# virsh define /etc/libvirt/qemu/test01.xml     #導入虛擬機信息
# virsh list --all

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


導出xml配置文件
  – 查看:virsh dumpxml 虛擬機名
  – 備份:virsh dumpxml 虛擬機名 > 虛擬機名.xml


對虛擬機的配置進行調整
   – 編輯: virsh   edit   虛擬機名

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

 COW寫時複製,快速重建虛擬機

1.虛擬機的磁盤文件,快速生成

• Copy On Write,寫時複製
  – 直接映射原始盤的數據內容
  – 當原始盤的舊數據有修改時,在修改之前自動將舊數據存
入前端盤
  – 對前端盤的修改不回寫到原始盤

2.qemu-img 通過 -b 選項複用指定原始盤

– qemu-img create -f qcow2 -b   原始盤      前端盤

1.關閉虛擬機
[root@room9pc14 /]# virsh destroy example

2.生成前端盤
# qemu-img create -f qcow2 -b /var/lib/libvirt/images/example.qcow2   /var/lib/libvirt/images/test02.qcow2

3.生成新的虛擬機描述文件
[root@room9pc14 /]# cd /etc/libvirt/qemu/
[root@room9pc14 qemu]# cp example.xml test02.xml
[root@room9pc14 qemu]# vim test02.xml

   虛擬機名稱、UUID、虛擬機磁盤文件、網卡MAC

[root@room9pc14 qemu]# uuidgen

4. 導入新虛擬機信息
# virsh define /etc/libvirt/qemu/test02.xml     #導入虛擬機信息
# virsh list --all
###########################################################
離線訪問虛擬機
• 使用 guestmount 工具
– 支持離線掛載 raw、qcow2 格式虛擬機磁盤
– 可以在虛擬機關機的情況下,直接修改磁盤中的文檔
– 方便對虛擬機定製、修復、腳本維護

# guestmount -a /var/lib/libvirt/images/example.qcow2 -i /mnt/


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

1)生產環境可以標記 /.unconfigured ,方便新虛擬機
的配置(相當於出廠設置,提示用戶初始化)


#######################################################
搭建新的教學環境

1.在真機生成兩臺虛擬機
[root@room9pc14 桌面]# clone-vm7
Enter VM number: 8
[root@room9pc14 桌面]# clone-vm7
Enter VM number: 9

2.修改虛擬機名稱,一個A  另一個B

  虛擬機A:
    主機名:svr7.tedu.cn
  IP地址:192.168.4.7/24

  虛擬機B:
    主機名:pc207.tedu.cn
  IP地址:192.168.4.207/24

3.Yum倉庫的搭建
   

     真機  Yum服務端,Web共享光盤所有內容
[root@room9pc14 桌面]# mkdir  /var/www/html/rhel7
[root@room9pc14 桌面]# ls  /var/www/html/rhel7
[root@room9pc14 桌面]# mount  /ISO/rhel-server-7.2-x86_64-dvd.iso    /var/www/html/rhel7

[root@room9pc14 桌面]# ls  /var/www/html/rhel7
[root@room9pc14 桌面]# firefox   127.0.0.1/rhel7
[root@room9pc14 桌面]# vim /etc/fstab

/ISO/rhel-server-7.2-x86_64-dvd.iso   /var/www/html/rhel7  iso9660  defaults  0  0

[root@room9pc14 桌面]# umount /var/www/html/rhel7/
[root@room9pc14 桌面]# ls /var/www/html/rhel7/
[root@room9pc14 桌面]# mount -a
[root@room9pc14 桌面]# ls /var/www/html/rhel7/



     客戶端:虛擬機A與虛擬機B

 虛擬機A
 [root@svr7 ~]# vim /etc/yum.repos.d/dvd.repo
 [dvd]
 name=dvd
 baseurl=http://192.168.4.254/rhel7
 enabled=1
 gpgcheck=0

 [root@svr7 ~]# yum repolist




  用與遠程拷貝數據,網絡的不同主機之間

  scp  本地的路徑    用戶名@對方的IP地址:對方的路徑

  scp  /etc/yum.repos.d/dvd.repo  [email protected]:/etc/  yum.repos.d


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




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