虛擬化 1、環境 Centos7.3 關閉selinux,關閉防火牆 2、虛擬化環境配置 2.1 kvm部署安裝 1、 VMware 配置橋接模式 2、bios開啟虛擬機,以本地台式機為例, 重啟動電腦,一直按Del鍵,進入BIOS設置。詳情參考https://jingyan.baidu.com/a ...
虛擬化
1、環境
Centos7.3
關閉selinux,關閉防火牆
2、虛擬化環境配置
2.1 kvm部署安裝
1、 VMware 配置橋接模式
2、bios開啟虛擬機,以本地台式機為例,
重啟動電腦,一直按Del鍵,進入BIOS設置。詳情參考https://jingyan.baidu.com/article/4e5b3e190066c091901e2482.html
查看是否支持虛擬機
#egrep '(vmx|svm)' --color=always /proc/cpuinfo
3、配置epel yum源
4、安裝kvm軟體包
yum install qemu-kvm qemu-kvm-tools libvirt virt-manager virt-install openssh-askpass –y
//qeum 虛擬化軟體,可以虛擬不同的CPU,以及模擬網卡、音效卡、PCI設備等
//libvirt 用於管理KVM的工具
//virt-install 命令行安裝虛擬機工具
//virt-manager 圖形化管理虛擬機工具
//openssh-askpass 遠程連接KVM主機
5、啟動libvirt管理KVM工具
# systemctl enable libvirtd.service
# systemctl start libvirtd.service
上傳ios文件到對應目錄,創建/opt/images(可以自定義位置)目錄放置磁碟空間文件
預設kvm配置文件位置
/etc/libvirt/qemu/
磁碟空間
KVM
虛擬機中有兩種磁碟格式:
raw格式: 直接占用物理磁碟, 寫入快, 性能優, 但占用空間(預設格式)
Qcow2格式: 使用多少占多少磁碟, 支持壓縮、快照、鏡像
2.2 創建kvm虛擬機
Xshell 使用命令
宿主機使用Virt-manager命令進入圖形化界面安裝
註意當使用virt-manager管理工具管理虛擬機時可能會出現鍵盤輸入的鍵與顯示的鍵不同這種現象
此時只須修改虛擬機詳情中的VNC欄中Keymap屬性,將內容修改成en-us
修改完成後需要重新啟動虛擬機
若在虛擬機運行時修改不成功,可將虛擬機關閉,然後在虛擬機關閉狀態下修改即可
步驟一:新建名為rhel7.2的虛擬機
1)在“虛擬系統管理器”中單擊左上方“創建新虛擬機”按鈕(如圖-3所示)。
圖-3
2)彈出“新建虛擬機”嚮導,選擇“本地安裝介質”(如圖-4所示),單擊“前進”。
圖-4
3)接下來“定位安裝介質”,請正確指定RHEL7系統的ISO光碟鏡像文件位置(如圖-5所示),確認自動識別到操作系統類型,單擊“前進”。
圖-5
4)選擇記憶體和CPU設置,建議為虛擬機分配記憶體不小於1024MB(如圖-6所示),單擊“前進”。
圖-6
5)為虛擬機啟用存儲,例如分配一個40GiB的磁碟(如圖-7所示),單擊“前進”。
圖-7
6)為虛擬機命名,設為rhel7.2(如圖-8所示),單擊“完成”。
圖-8
步驟二:為虛擬機rhel7.2安裝操作系統
1)確認新虛擬機從光碟引導
上述設置全部完成後,將會自動開啟新虛擬機,併進入安裝過程(如圖-9所示)。
圖-9
2)完成後續手動安裝過程
具體過程與普通安裝相同,註意禁用防火牆、禁用SELinux機制。
3)確認安裝結果
新裝的虛擬機rhel7.2可以正常啟動、登錄。
在“虛擬系統管理器”中也能夠看到此虛擬機(如圖-10所示)。
圖-10
關閉selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
關閉防火牆(測試開發環境)
systemctl stop firewalld.service
systemctl disable firewalld
時間同步
yum install -y wget ntpdate net-tools
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
/usr/sbin/ntpdate cn.pool.ntp.org
echo "0 */3 * * * /usr/sbin/ntpdate cn.pool.ntp.org; /sbin/hwclock -w >/dev/null" >>/var/spool/cron/root
添加阿裡雲yun源和epel源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
修改最大進程數和最大文件打開數
vi /etc/security/limits.conf
* soft nproc 65535
* hard nproc 65535 * soft nofile 65536 * hard nofile 65536
noproc 是代表最大進程數
nofile 是代最大文件打開數
關閉當前shell,重新打開就生效,不需要重啟系統
清空/etc/issue /etcissue.net,去除系統及內核版本登錄前的屏幕顯示
echo > /etc/issue
echo > /etc/issue.net
3、KVM虛擬機的管理主要是通過virsh命令對虛擬機進行管理。
1. 查看KVM虛擬機配置文件及運行狀態
(1) KVM虛擬機預設配置文件位置: /etc/libvirt/qemu/
autostart目錄是配置kvm虛擬機開機自啟動目錄。
(2) virsh命令幫助
# virsh –help
3.1 常用命令
1)virsh nodeinfo:查看KVM節點(伺服器)信息
2)virsh list –all 查看kvm虛擬機狀態
3)virsh start oeltest01 KVM虛擬機開機
4)virsh shutdown oeltest01 KVM虛擬機關機
5)virsh destroy oeltest01 強制關閉電源
6)virsh reboot oeltest01 將指定的虛擬機重啟
7)virsh create /etc/libvirt/qemu/wintest01.xml通過配置文件啟動虛擬機
8)virsh autostart oeltest01 配置開機自啟動虛擬機
9)virsh autostart —disable Name /關閉虛擬機隨系統啟動
10)virsh dumpxml wintest01 > /etc/libvirt/qemu/wintest02.xml 導出KVM虛擬機配置文件
11)virsh undefine wintest01 該命令只是刪除wintest01的配置文件,並不刪除虛擬磁碟文件12)virsh dominfo 虛擬機名稱:查看指定虛擬機的信息
13)virsh edit wintest01 編輯KVM虛擬機配置文件
14)virsh suspend oeltest01 掛起伺服器
15) virsh resume oeltest01 恢復伺服器
3.2 VM虛擬機擴容
KVM虛擬機中有兩種磁碟格式:
raw格式: 直接占用物理磁碟, 寫入快, 性能優, 但占用空間
Qcow2格式: 使用多少占多少磁碟, 支持壓縮、快照、鏡像
註意:raw不支持快照, Qcow2支持快照, 但兩者文件類型是可以相互間轉換
無論磁碟是raw qcow2格式, 擴展思路如下
1.新添加一塊磁碟加入至需要擴容的虛擬主機
2.使用lvm邏輯捲管理方式進行擴展
1.查看當前KVM虛擬機所使用的虛擬磁碟
[root@kvm-node1 ~]# virsh domblklist centos7u4-node1
Target Source
------------------------------------------------
vda /data/centos7u4-node1.qcow2
2.創建一塊qcow2虛擬磁碟
[root@kvm-node1 ~]# qemu-img create -f qcow2 /data/centos7u4-node1-disk2.qcow2 10G
3.線上添加虛擬磁碟
//線上添加
[root@kvm-node1 ~]# virsh attach-disk centos7u4-node1 /data/centos7u4-node1-disk2.qcow2 vdb --cache=none --subdriver=qcow2
Disk attached successfully
//查看新增磁碟狀態
[root@kvm-node1 ~]# virsh domblklist centos7u4-node1
Target Source
------------------------------------------------
vda /data/centos7u4-node1.qcow2
vdb /data/centos7u4-node1-disk2.qcow2
//修改配置文件,防止重啟kvm後新加磁碟丟失, 新增如下配置
[root@kvm-node1 ~]# virsh edit centos7u4-node1
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/data/centos7u4-node1-disk2.qcow2'/>
<target dev='vdb' bus='virtio'/>
</disk>
4.通過vnc連接KVM虛擬機進行磁碟擴容
5.擴容步驟如下,直接把vdb全部加到邏輯分區裡面
mkfs.xfs /dev/sdb #格式化新硬碟
pvcreate /dev/vdb #初始化物理捲
vgextend centos /dev/vdb #將初始化過的分區加入到虛擬捲組centos (捲和捲組的命令可以通過 vgdisplay )
lvextend -l +100%FREE /dev/centos/root 擴展已有捲的容量是通過vgdisplay查看的free的大小)
xfs_growfs /dev/centos/root # CentOS 7 下麵 由於使用的是 XFS,
resize2fs /dev/mapper/centos-root # CentOS 6 下麵 由於使用的是 XFS
3.3 VM虛擬機性能調整
調大記憶體、增加cpu個數
1、關閉虛機
# virsh shutdown vm
2、編輯虛擬機配置文件,調整
# virsh edit test01
找到“memory”和“vcpu”標簽,將
<name>test01</name>
<uuid>2220a6d1-a36a-4fbb-8523-e078b3dfe795</uuid>
<memory unit='KiB'> 1048576</memory>
<currentMemory unit='KiB'> 1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
改為:
<name>centos73</name>
<uuid>2220a6d1-a36a-4fbb-8523-e078b3dfe795</uuid>
<memory unit='KiB'> 2097152</memory>
<currentMemory unit='KiB'> 2097152</currentMemory>
<vcpu placement='static'>2</vcpu>
3、重定義使配置生效
# virsh define /etc/libvirt/qemu/test01.xml
4、開啟虛擬機
# virsh start test01
調整前虛擬機信息
調整後虛擬機信息
3.4 kvm克隆
3.4.1 KVM主機本機虛擬機直接克隆
(克隆機器必須是關機狀態)
virt-clone -o z7-013-251-template -n test01 -f /kvm/test01.img
說明:以z7-013-251-template做為源,克隆test01虛擬機,並創建名稱為test01虛擬機,使用磁碟文件/kvm/test01.img
#virsh start test01 #啟動test01
配置開機自啟動虛擬機
# virsh autostart test01
virt-manager進入克隆的虛擬機,修改克隆機器的IP地址(事先ping一下,確認IP可以使用,不要和其他IP衝突), 修改hostname主機名等
測試模板機(修改時區,時間同步,關閉selinux,關閉防火牆,關閉postfix服務)
3.4.2 通過圖形化界面克隆
在宿主伺服器中輸入命令virt-manager,喚出圖形界面
打開操作界面,右擊現有的虛擬機進行克隆
虛擬機命名規則:
test-014-004-gaia—測試
dev-016-004-gaia—開發
u 打開修改配置,相應網段的地址,選擇相應vlan
u 在宿主機上修改磁碟文件名稱
# mv /kvm/z7-013-253-disk-001-clone.img /kvm/test01.img
# sed -i 's@/kvm/z7-013-253-disk-001-clone.img@/kvm/test01.img@' /etc/libvirt/qemu/test01.xml
然後啟動虛擬機
進入克隆的虛擬機,修改克隆機器的IP地址等
3.5 刪除虛擬機或者圖形化界面操作
1) 關閉虛擬機:virsh destroy test01
2) 刪除虛擬機文件(在/var/lib/libvirtd/下的相關文件)
3)刪除定義:virsh undefine test01
4)virsh autostart --disable test01
3.6 kvm虛擬機遷移
遷移就是虛擬機在關機狀態下,拷貝虛擬機虛擬磁碟文件與配置文件到目標虛擬主機中,實現的遷移。
跨宿主機遷移
(1) 確定虛擬機關閉狀態
(2) 準備遷移test01虛擬機,查看該虛擬機配置的磁碟文件
# [root@kvm213 ~]# virsh domblklist test01
Target Source
------------------------------------------------
vda /kvm/test01.img
(3) 導入虛擬機配置文件
#virsh dumpxml test01 > /root/test01.xml
(4) Scp 拷貝配置文件和虛擬磁碟文件到目標虛擬主機對應位置上
目標虛擬主機上
查看虛擬機磁碟文件,目錄結構與源虛擬主機一致。
定義註冊虛擬主機
virsh define /etc/libvirt/qemu/test01.xml
啟動虛擬主機並確認
3.7 kvm虛擬機快照備份
要使用鏡像功能,磁碟格式必須為qcow2
(1) 查看磁碟格式
#qemu-img info test01.img
(2) 對虛擬機進行快照管理
# virsh snapshot-create test01
查看虛擬機鏡像快照的版本
#virsh snapshot-list test01
查看當前虛擬機鏡像快照的版本
#virsh snapshot-current test01
(3) 恢復虛擬機快照,必須關閉虛擬機
執行恢復,並確認恢復版本
# virsh snapshot-revert test01 版本號
(4) 刪除虛擬機快照
#virsh snapshot-delete test01 版本號