KVM構建及管理

1、虛擬化概述

虛擬化(英語:Virtualization)是一種資源管理技術,是將計算機的各種實體資源,如服務器、網絡、內存及存儲等,予以抽象、轉換後呈現出來,打破實體結構間的不可切割的障礙,使用戶可以比原本的組態更好的方式來應用這些資源。這些資源的新虛擬部份是不受現有資源的架設方式,地域或物理組態所限制。

• virtualization 資源管理

– x個物理資源 --> y個邏輯資源

– 實現程度:完全、部分、硬件輔助(CPU)


案例:創建新的虛擬機nsd:搭建本地Yum倉庫

(1)服務端:掛載光盤

[root@localhost 桌面]# mount /dev/cdrom /mnt

(2)客戶端:書寫一個配置文件/etc/yum.repos.d/*.repo

[root@localhost 桌面]# vim  /etc/yum.repos.d/abc.repo

    [abc]

    name=abc

    baseurl=file:///mnt

    enabled=1

    gpgcheck=0

[root@localhost 桌面]# yum repolist

2、yum軟件組管理

• 使用RHEL7軟件倉庫的預設分組

– yum groups list [hidden] [組名]...

– yum groups info [組名]...

– yum groups install [組名]...

– yum groups remove [組名]

 

3、安裝虛擬化服務器平臺

• 主要軟件組

Virtualization\ Client           #虛擬化客戶端

Virtualization\ Platform       #虛擬化平臺

Virtualization\ Hypervisor   #虛擬化管理器

Virtualization\ Tools           #虛擬化工具

[root@localhost 桌面]# yum -y groups install 

Virtualization\ Client 

Virtualization\ Platform 

Virtualization\ Hypervisor 

Virtualization\ Tools

虛擬化服務:libvirtd

真機操作:

• 查看KVM節點(服務器)信息

  – virsh nodeinfo

• 列出虛擬機

  – virsh list [--all]

• 查看指定虛擬機的信息

  – virsh dominfo 虛擬機名稱

• 運行|重啓|關閉指定的虛擬機

  – virsh start|reboot|shutdown 虛擬機名稱

• 強制關閉指定的虛擬機

  – virsh  destroy  虛擬機名稱

 

[root@room9pc14 桌面]# virsh autostart nsd    #設置開機自起動

[root@room9pc14 桌面]# virsh dominfo nsd

[root@room9pc14 桌面]# virsh autostart --disable nsd #關閉自起動

[root@room9pc14 桌面]# virsh dominfo nsd

 

libvirtd 爲管理虛擬機提供服務接口

[root@kvmsvr ~]# systemctl  restart  libvirtd

[root@kvmsvr ~]# systemctl  enable  libvirtd

 

使用virt-manager客戶端工具調出KVM圖形管理器


4、KVM虛擬機的組成

1)xml配置文件(虛擬機描述文件):定義虛擬機的名稱、UUID、CPU、內

存、虛擬磁盤、網卡等各種參數設置

虛擬機描述文件默認路徑: /etc/libvirt/qemu

 

2)磁盤鏡像文件:保存虛擬機的操作系統及文檔數據,

鏡像路徑取決於xml配置文件中的定義

磁盤鏡像文件 默認路徑: /var/lib/libvirt/images/

查看磁盤鏡像文件信息

qemu-img info /var/lib/libvirt/images/nsd.qcow2 

 

5、手動快速創建一臺虛擬機

(1)創建新的磁盤文件

[root@room9pc14 桌面]# cd /var/lib/libvirt/images/

[root@room9pc14 images]# cp nsd.qcow2  test01.qcow2

(2)寫新的虛擬機描述文件

[root@room9pc14 images]# cd /etc/libvirt/qemu/

[root@room9pc14 qemu]# cp nsd.xml test01.xml

[root@room9pc14 qemu]# vim test01.xml 

修改name、刪除UUID整行、修改磁盤文件路徑、刪除MAC整行

(3)導入虛擬機信息

[root@room9pc14 /]# virsh define /etc/libvirt/qemu/test01.xml

[root@room9pc14 /]# virsh list --all

[root@room9pc14 /]# virsh start test01

 

(4)導出xml配置文件

  – 查看:virsh  dumpxml  虛擬機名

  – 備份:virsh  dumpxml  虛擬機名  >  虛擬機名.xml

 

(5)編輯虛擬機設置

• 對虛擬機的配置進行調整

– 編輯:  virsh   edit   虛擬機名

            導出、修改、導入

刪除虛擬機

– virsh undefine 虛擬機名

# virsh undefine test01

# rm -rf /var/lib/libvirt/images/test01.qcow2


6、COW技術原理

Copy On Write 寫時複製

– 直接映射原始盤的數據內容

– 對前端盤的修改不回寫到原始盤

(1) 快速創建qcow前端盤

qemu-img 通過 -b 選項複用指定後端盤

qemu-img create -f qcow2 -b 後端盤   前端盤

 

cd /var/lib/libvirt/images/

qemu-img create -f qcow2   -b nsd.qcow2  new01.qcow2

qemu-img info new01.qcow2

(2)常見新的虛擬機描述文件

cd /etc/libvirt/qemu/

cp nsd.xml new01.xml

vim new01.xml

修改name、刪除UUID整行、修改磁盤文件路徑指定前端盤、刪除MAC整行 

(3)導入新的虛擬機

virsh  define  /etc/libvirt/qemu/new01.xml

 

案例:

1.新建兩臺虛擬機

[root@room9pc14 桌面]# clone-vm7 

Enter VM number: 1

[root@room9pc14 桌面]# clone-vm7 

Enter VM number: 2

2.在真機上操作,隨真機的啓動而啓用

[root@room9pc14 桌面]# virsh autostart A

[root@room9pc14 桌面]# virsh autostart B

3.以root身份進入虛擬機,配置兩臺虛擬機的網絡地址參數,密碼123456

虛擬機A:

IP地址:192.168.4.7/24

主機名:svr7.tedu.cn

虛擬機B:

IP地址:192.168.4.207/24

主機名:pc207.tedu.cn

4.真機利用Web服務提供Yum源(共享光盤所有內容)

[root@room9pc14 桌面]# ifconfig private1

[root@room9pc14 桌面]# rpm -q httpd

httpd-2.4.6-40.el7.x86_64

 

# mkdir  /var/www/html/rhel7

# mount  /ISO/rhel-server-7.2-x86_64-dvd.iso  /mnt/

# cp -r  /mnt/*   /var/www/html/rhel7/

# firefox http://127.0.0.1/rhel7

# firefox http://192.168.4.254/rhel7

5.虛擬機A與虛擬機B指定Yum位置

[root@svr7 ~]# vim /etc/yum.repos.d/rhel7.repo

   [rhel7]

   name=rhel7 

   baseurl=http://192.168.4.254/rhel7

   enabled=1

   gpgcheck=0

[root@pc207 ~]# vim /etc/yum.repos.d/rhel7.repo

   [rhel7]

   name=rhel7 

   baseurl=http://192.168.4.254/rhel7

   enabled=1

   gpgcheck=0

6. 設置防火牆trusted與關閉SELinux

[root@svr7 ~]# firewall-cmd --set-default-zone=trusted

[root@svr7 ~]# setenforce 0   #當前修改爲寬鬆模式

[root@svr7 ~]# getenforce 

Permissive

[root@svr7 ~]# vim /etc/selinux/config 

SELINUX=permissive


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