python虚拟机优化_KVM虚拟机管理及性能优化
KVM虛擬機管理及性能優化
本章接上一篇文章繼續為大家講解,如何使用KVM的操作命令,對虛擬機進行管理(虛擬機開啟關閉、掛起恢復、刪除虛擬機、通過備份配置文件重新恢復刪除的虛擬機)、KVM文件管理(磁盤格式轉換、對磁盤文件查看、修改等)、虛擬機的克隆、虛擬機快照。以及最后給大家介紹 KVM性能優化的三個調優思路、和系統調優工具
使用KVM命令集管理虛擬機
KVM關機開機命令
# virsh -h //查看命令幫助
# virsh list --all //查看虛擬機狀態
# virsh shutdown CentOS7.4-x86_64 //關閉虛擬機
# virsh start CentOS7.4-x86_64 //啟動虛擬機
# virsh destroy CentOS7.4-x86_64 //強制關機
# virsh create /etc/libvirt/qemu/CentOS7.4-x86_64.xml //通過配置文件啟動虛擬機
掛起和恢復
# virsh suspend CentOS7.4-x86_64 //掛起虛擬機
# virsh resume CentOS7.4-x86_64 //恢復虛擬機
設置隨宿主機開機自啟動
# virsh autostart CentOS7.4-x86_64
導出虛擬機配置
# virsh dumpxml CentOS7.4-x86_64 > /etc/libvirt/qemu/test01.xml
刪除虛擬機
# virsh shutdown CentOS7.4-x86_64 //先關閉
# virsh undefine CentOS7.4-x86_64 //再刪除
通過備份恢復刪除的虛擬機
# cd /etc/libvirt/qemu/
# mv test01.xml CentOS7.4-x86_64
# virsh define CentOS7.4-x86_64 //重新定義虛擬機
修改配置文件
# virsh edit CentOS7.4-x86_64
# vim /etc/libvirt/qemu/CentOS7.4-x86_64.xml
KVM文件管理
通過文件管理可以直接查看、修改、復制虛擬機的內部文件。例如:系統因為配置問題無法啟動時,可以直接修改虛擬機的文件。虛擬機的磁盤文件有 raw和 qcow2 兩種格式。 KVM默認格式是raw,raw格式性能最好、速度最快,其缺點是不支持一些新的功能,如鏡像、Zlib磁盤壓縮、AES加密等。
這里介紹本地yum安裝的libguestfs-tools后產生的命令行工具(這個工具可以查看qcow2格式的磁盤文件)
1:轉換raw格式磁盤文件至qcow2格式
# yum install libguestfs-tools -y //安裝命令行工具
# qemu-img info /vdir/CentOS-7.4-x86_64.img //查看當前磁盤格式
關機后 磁盤轉換成qcow2格式
# virsh shutdown CentOS7.4-x86_64
# qemu-img convert -f raw -O qcow2 /vdir/CentOS-7.4-x86_64.img /vdir/CentOS-7.4-x86_64.qcow2
2:修改xml配置文件
修改格式的類型 把raw 改為qcow2
# virsh edit CentOS7.4-x86_64 //編輯xml配置文件
/usr/libexec/qemu-kvm
#修改qcow2
#修改qcow2
3:命令使用
virt-cat 命令類似cat
virt-edit 命令用于編輯文件,用法與vim基本一致
virt-df 命令用于查看虛擬機磁盤信息
# virt-cat -a /vdir/CentOS-7.4-x86_64.qcow2 /etc/hostname //查看虛擬機主機名
# virt-df -h CentOS7.4-x86_64 //查看虛擬機掛載磁盤信息
# virt-edit -a /vdir/CentOS-7.4-x86_64.qcow2 /etc/resolv.conf //編輯DNS客戶機配置文件
虛擬機克隆
克隆一個虛擬機名字為test01
# virt-clone -o CentOS7.4-x86_64 -n test01 -f /vdir/test01.qcow2 //從 CentOS7.4-x86_64 克隆 test01
虛擬機快照
創建快照、查看快照、恢復快照、刪除快照
# virsh start test01
# virsh snapshot-create test01 //創建快照
# virsh snapshot-current test01 //查看快照版本信息
# virsh snapshot-list test01 //查看快照信息
# virsh snapshot-revert test01 1533636617 //恢復虛擬機至1533636617
# virsh snapshot-delete test01 1533636876 //刪除快照
KVM的性能優化思路及步驟
KVM采用全虛擬化技術,全虛擬化要由一個軟件來模擬硬件層,故有一定的損耗,特別是I/O,因此需要優化。
1:CPU優化
所有guestcpu 不要超過物理機的CPU總數,建議復制主機CPU配置。
2:內存優化
1) :KSM(相同頁合并)開啟KSM會將相同的內存合并
內存分配的最小單位是 page(頁面),默認大小是4KB。可以將host機內容相同的內存合并,以節省內存的使用,特別是在虛擬機操作系統都一樣的情況下,肯定會有很多內容相同的內存值,開啟了KSM,則會將這些內存合并為一個,當然這個過程會有性能損耗,所有開啟與否,需要考慮使用場景。
# cd /sys/kernel/mm/ksm/ //這個目錄可查看內存頁共享的情況
# ll //查看
pages_shared 記錄了KSM共享的總頁面數
pages_sharing 文件中記錄了當前共享頁面數
# echo 1 > run //臨時開啟KSM
或者可以在/etc/rc.local 添加 echo 1 > /sys/kernle/mm/ksm/ 開機自啟動
# cat run //查看KSM是否開啟 0為關閉 1為開啟
# echo 1000 > pages_to_scan // 決定每次查看多少個頁面 默認100 最大不超過2000 越大越好
2) :對內存設置限制
為了防止某個虛擬機無節制的使用資源
# virsh memtune test01 //查看虛擬機test01 內存限制
設置強制最大內存
virsh memtune test01 --hard-limit 1024000 --live //設置強制最大內存100MB 在線生效
3) :大頁后端內存(開啟->設置大頁數量->掛載)
提升大頁后端內存,減少客戶機消耗的內存并提高TLB命中率從而提升KVM性能
我先解釋什么叫大頁。
所謂的大頁指的是內存的大頁面。當然,有大頁面必然有對應的小頁面… 我們知道內存采用的是分頁機制,當初這個機制提出的時候,計算機的內存大小也就幾十M,所以當時內存默認的頁面大小都是4KB,那么這個4KB 也就是所謂的小頁面。但是隨著計算機的硬件發展,現在的內存基本上都是幾十G 甚至上百G了,雖然,如果還是4KB小頁的方式,那么必然會存在一些問題。那么會有哪些問題呢?操作系統如果還是小頁存在,那么將會產生較多的TLB Miss和缺頁中斷,從而大大影響性能。
# cat /proc/meminfo //查看內存信息,無可用大頁
# echo 25000 > /proc/sys/vm/nr_hugepages //指定大頁需要的內存頁面數(臨時生效)
# sysctl -w vm.nr_hugepages=25000 //效果和上面一樣(永久生效)
# cat /proc/meminfo | grep HugePage
編輯虛擬機的XML配置文件來使用大頁分配內存
# virsh destroy test01 //關閉虛擬機
# virsh edit test01 //編輯xml配置文件
2097152
//添加使用大頁
1
# mount -t hugetlbfs /dev/hugepages/ //掛載hugetlbfs文件系統
# systemctl restart libvirtd.service //重啟服務
# virsh start test01 //開啟虛擬機
3:I/O優化
控制每臺虛擬機對磁盤資源的消耗
調整I/O的權重 ,權重越高寫入磁盤的優先級越高。
# virsh blkiotune test01 //查看權重
# virsh blkiotune test01 --weight 500 //設置權重500 范圍在100~1000
# virsh blkiotune --help //查看使用幫助
系統調優工具
用來監控和收集系統各個組件的數據,并依據數據提供的信息動態調整系統設置,達到動態優化系統的目的。
# yum install tuned -y //安裝tuned工具
# systemctl start tuned.service //啟動tuned工具
# tuned-adm active //查看當前優化方案
# tuned-adm list //查看預先設定好的優化方案
總結
以上是生活随笔為你收集整理的python虚拟机优化_KVM虚拟机管理及性能优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2400内存,amd主板的加速秘籍
- 下一篇: python readlines慢_为什