1. 程式人生 > >KVM文件管理及性能優化

KVM文件管理及性能優化

快照 直接 大頁 查看 edi yum let stat run

  • KVM文件管理
  • 通過文件管理可以直接查看、修改、復制虛擬機的內部文件。例如:系統因為配置問題無法啟動時,可以直接修改虛擬機的文件。虛擬機的磁盤文件有 raw和 qcow2 兩種格式。 KVM默認格式是raw,raw格式性能最好、速度最快,其缺點是不支持一些新的功能,如鏡像、Zlib磁盤壓縮、AES加密等

    文件管理

    轉換磁盤格式
    # qemu-img info /vdir/c01.raw //查看當前磁盤格式
    # virsh shutdown c01  //轉換磁盤格式前必須先關閉虛擬機
    # qemu-img convert -f raw -O qcow2 /vdir/c01.raw /vdir/c01.qcow2  //將raw格式轉換為qcow2格式
    # qemu-img info /vdir/c01.qcow2  

    技術分享圖片
    技術分享圖片
    技術分享圖片

    修改c01的配置文件
    # virsh edit c01  //修改虛擬機信息

    技術分享圖片

    # yum install libguestfs-tools -y //安裝命令工具
    # virt-cat -a /vdir/c01.qcow2 /etc/hostname    //查看虛擬機主機名
    # virt-df -h c01   //查看掛載狀況
    # virt-edit -a /vdir/c01.qcow2 /etc/resolv.conf   //編輯DNS客戶機配置文件

    技術分享圖片
    技術分享圖片
    技術分享圖片

    創建克隆

    # virsh shutdown c01  //創建克隆前先關閉虛擬機
    # virt-clone -o c01 -n test01 -f /vdir/test01.qcow2   //創建c01的克隆虛擬機

    技術分享圖片

    虛擬機快照

    # virsh start c01   //創建快照前開啟虛擬機
    # virsh snapshot-create c01  //創建快照
    # virsh snapshot-current c01   //查看當前快照
    # virsh snapshot-list c01   //查看快照信息
    # virsh snapshot-create c01  //再創建一個快照
    # virsh snapshot-revert c01 1533966938 //恢復快照
    # virsh snapshot-delete c01 1533966938  //刪除快照
    # virsh snapshot-list c01

    技術分享圖片
    技術分享圖片

    KVM性能優化

    內存優化

    KSM(相同頁合並)開啟KSM會將相同的內存合並
    內存分配的最小單位是 page(頁面),默認大小是4KB。可以將host機內容相同的內存合並,以節省內存的使用。

    # cd /sys/kernel/mm/ksm/     //可查看內存頁共享
      pages_shared  //KSM共享的總頁面數
      pages_sharing  //當前共享頁面數
    # echo 1 > run     //臨時開啟
    # cat run   //查看KSM是否開啟  0為關閉   1為開啟
    # echo 1000 > pages_to_scan       // 決定每次查看多少個頁面  默認100  最大不超過2000   越大越好

    技術分享圖片

    內存限制

    為了防止某個虛擬機無節制的使用資源

    # virsh memtune c01    //查看內存限制
    # virsh memtune c01 --hard-limit 4096000000 --live   //強制最大限制為4G
    # virsh memtune c01

    技術分享圖片
    技術分享圖片

    大頁後端內存

    大頁指的是內存的大頁面。內存采用的是分頁機制,內存默認的頁面大小都是4KB,4KB 也就是所謂的小頁面。但是隨著計算機的硬件發展,現在的內存基本上都是幾十G 甚至上百G了,雖然,如果還是4KB小頁的方式,那麽必然會存在一些問題,影響性能。

    # cat /proc/meminfo  //查看內存
    # echo 25000 > /proc/sys/vm/nr_hugepages  //大頁需要的內存頁面數
    # cat /proc/meminfo | grep HugePages

    技術分享圖片
    技術分享圖片
    技術分享圖片

    編輯虛擬機的XML配置文件來使用大頁分配內存
    # virsh edit c01    //編輯xml配置文件
        <currentMemory unit=‘KiB‘>2097152</currentMemory>
        <memoryBacking><hugepages/></memoryBacking>     //添加使用大頁
        <vcpu placement=‘static‘>1</vcpu>

    技術分享圖片

    I/O優化

    控制每臺虛擬機對磁盤資源的消耗

    調整I/O的權重權重越高寫入磁盤的優先級越高

    # virsh blkiotune c01  //查看權重
    # virsh blkiotune c01 --weight 500  //設置權重為500
    # virsh blkiotune c01

    技術分享圖片

    系統調優工具

    用來監控和收集系統各個組件的數據,並依據數據提供的信息動態調整系統設置,達到動態優化系統的目的

    # yum install tuned -y  //安裝tuned工具
    # service tuned start   //開啟
    # tuned-adm active    //查看當前狀態
    # tuned-adm list   //查看解決方案

    技術分享圖片

    KVM文件管理及性能優化