1. 程式人生 > >linux系統學習第十二天-<<工程師技術>>

linux系統學習第十二天-<<工程師技術>>

linux工程師技術 linux管理員技術 linux雲計算工程師 深圳雲計算王森 雲計算運維工程師

虛擬化概述
? Virtualization 資源管理
– x個物理資源 --> y個邏輯資源
– 實現程度:完全、部分、硬件輔助(CPU)


手動新建一臺虛擬機:
虛擬機名字:example
網絡類型選擇:private1


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


? 使用 virt-manager 客戶端工具


在真機上操作:

? 查看KVM節點(服務器)信息
– virsh nodeinfo
? 列出虛擬機
– virsh list [--all]

? 查看指定虛擬機的信息
– virsh dominfo 虛擬機名稱
? 將指定的虛擬機設為開機自動運行
– virsh autostart [--disable] 虛擬機名稱

? 運行|重啟|關閉指定的虛擬機
– virsh start|reboot|shutdown 虛擬機名稱
? 強制關閉指定的虛擬機
– virsh destroy 虛擬機名稱

#######################################################
在虛擬機example中搭建本地Yum

1.掛載光盤
[root@A ~]# mount /dev/cdrom /dvd

2.客戶端文件

[root@A ~]# cat /etc/yum.repos.d/dvd.repo
[dvd]
name=dvd
baseurl=file:///dvd
enabled=1
gpgcheck=0

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

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

– yum groups list [hidden] [組名]...
– yum groups info [組名]...
– yum groups install [組名]...
– yum groups remove [組名]...


[root@A ~]# yum groups install

Virtualization\ Client
Virtualization\ Hypervisor
Virtualization\ Platform
Virtualization\ Tools

########################################################
桌面圖標

/usr/share/applications/


右擊-----圖標--------->復制到---------->home------->桌面


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

啟動libvirtd服務端
? libvirtd 為管理虛擬機提供服務接口


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

在Linux中KVM虛擬機,組成:

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

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

[root@room9pc14 桌面]# ls /etc/libvirt/qemu/
[root@room9pc14 桌面]# ls /var/lib/libvirt/images/

[root@room9pc14 桌面]# du -sh /var/lib/libvirt/images/

細節: 模版虛擬機example,註意刪除 Channel 設備

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

1.關閉example虛擬機
[root@room9pc14 桌面]# virsh destroy example
2.通過example虛擬機,磁盤文件復制一份
[root@room9pc14 桌面]# cd /var/lib/libvirt/images/
[root@room9pc14 images]# qemu-img info example.qcow2
[root@room9pc14 images]# cp example.qcow2 test01.qcow2
3.通過example虛擬機,復制虛擬機描述文件
[root@room9pc14 images]# cd /etc/libvirt/qemu/
[root@room9pc14 qemu]# ls
[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


##########################################################
虛擬機A
虛擬機B


linux系統學習第十二天-<<工程師技術>>