1. 程式人生 > >VMware上安裝kvm

VMware上安裝kvm

1.5 mon png spa bios virtio inf inux 配置信息

一. 在VMware上安裝kvm

  1. 開啟VMware虛擬機cpu的虛擬化
    技術分享圖片
  2. 進入虛擬機centos7系統,查看cpu信息是否開啟虛擬化
    grep -E ‘(vmx|svm)’ /proc/cpuinfo
    出現如下,表示開啟cpu虛擬化成功:
    技術分享圖片
  3. 安裝軟件包
    yum -y install qemu-kvm libvirt virt-install
    解釋:qemu-kvm 用來用戶管理使用kvm的包
    libvirt 用來系統管理kvm的工具
    virt-install 用來安裝kvm虛擬機的工具
  4. 啟動libvirtd服務,會產生一個虛擬網卡
    systemctl start libvirtd
    systemctl enable  libvirtd

    查看虛擬網卡是否生成
    技術分享圖片

  5. 準備磁盤和鏡像,準備安裝kvm虛擬機
    raw格式:
    第一步生成磁盤文件:
    qemu-img create -f raw /opt/CentOS-7-x86_64.raw 10G
    第二步在宿主機裏面上傳一個鏡像文件
    第三步創建虛擬機:

    virt-install --virt-type kvm --name CentOS-7-x86_64 --ram 1024 --cdrom=/tmp/CentOS-7.2-x86_64-DVD-1511.iso --disk path=/opt/CentOS-7-x86_64.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

    解釋:--virt-type 指定格式為kvm
    --name 指定虛擬機名字
    --ram 指定虛擬機內存大小 單位M
    --cdrom 指定鏡像文件路徑
    --disk path 指定磁盤文件路徑
    --network 指定網絡模式

    qcow2格式:

    創建虛擬機磁盤
    qemu-img create -f qcow2 /tmp/test.qcow2 10G
    創建虛擬機

    virt-install --virt-type kvm --name CentOS-7-x86_64 --ram 1024 --cdrom=/tmp/CentOS-7.2-x86_64-DVD-1511.iso --disk /tmp/CentOS-7-x86_64.qcow2,foramt=qcow2 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
  6. 在win上用VNC連接
    輸入完成創建虛擬機的命令後,會看到以下提示
    技術分享圖片
    然後迅速用vnc連接虛擬機,輸入ip為宿主機ip,默認端口5900
    技術分享圖片
    按tab鍵,輸入net.ifnames=0 biosdevname=0
    這個是用來設置默認網卡名的,如eth0,這裏不設置的話默認網卡名很亂
    然後就可以正常安裝系統了
  7. 宿主機查看虛擬機狀態
    virsh list --all
    技術分享圖片
    virsh start rh7-1 開啟虛擬機
    virsh start|reboot|shutdown 虛擬機名稱
    查看KVM節點(服務器)信息:virsh nodeinfo
    查看指定虛擬機的信息:virsh dominfo 虛擬機名稱
    強制關閉指定的虛擬機virsh destroy 虛擬機名稱
    virsh autostart nsd #設置虛擬機開機自起動
    virsh autostart --disable nsd #關閉自起動
    虛擬機描述文件默認路徑: /etc/libvirt/qemu
    查看磁盤鏡像文件信息qemu-img info /var/lib/libvirt/images/nsd.qcow2
    如果用shutdown關閉不掉,需要在KVM中安裝 acpi 服務,並且開啟 acpd 服務
    yum -y install acpid
    /etc/init.d/acpid start

ip ad li 查看虛擬機ip

二. libvirt 服務

技術分享圖片

三. CPU熱添加

  1. 虛擬機要和宿主機用的系統版本一致才可以熱添加
  2. 查看虛擬機的配置信息xml
    cat /etc/libvirt/qemu/rh7-1.xml
    不能直接vim修改,需要使用virsh edit rh7-1 命令修改
    將<vcpu placement=‘static‘>1</vcpu> 修改為
    <vcpu placement=‘auto‘ current="1">4</vcpu>
    然後保存退出,修改xml文件需要重啟kvm虛擬機,才能生效。
  3. 重啟完後執行:
    virsh setvcpus rh7-1 --live

四. 內存熱添加

  1. 修改xml文件,調整最大內存
    virsh edit rh7-1
    <memory unit=‘KiB‘>2048576</memory>

    將2048576改為合適的值

  2. 重啟kvm虛擬機
  3. 查看當前內存
    virsh qemu-monitor-command rh7-1 --hmp --cmd info balloon
    修改內存
    virsh qemu-monitor-command rh7-1 --hmp --cmd balloon 512

五. 網絡
技術分享圖片

  1. 橋接(可以讓我們遠程ssh連接)
    1) brctl show 查看橋接信息
    技術分享圖片
    這樣的橋接不能直接用xshell連接的,需要做一個橋接,讓虛擬機的網段和宿主機一樣,這樣才能連接
    2) 新建一個橋接網卡(用腳本的方式)
    #!/bin/bash
    brctl addbr br0
    brctl addif br0 eth0
    ip addr del dev eth0 10.201.1.33/24
    ifconfig br0 10.201.1.33/24 up
    route add default gw 10.201.1.254

    3) 修改KVM虛擬機的xml,讓它使用br0橋接網卡

    virsh edit rh7-1 
    <interface type=‘bridge‘>
      <source bridge=‘br0‘/>

    重啟虛擬機
    進入虛擬機,修改網卡信息

技術分享圖片
六. KVM優化

  1. CPU緩存優化:
    因為一個KVM在宿主機上就是一個進程,只要是進程就要受CPU調度,如果一開始這個進程運行在cpu0上,那麽這個進程的cpu緩存也在cpu0上。一旦這個進程被cpu調度到cpu1上去,那麽cpu0上的緩存就用不到了,就會出現緩存miss。降低性能。
    可以通過綁定進程和cpu的方式來解決這個問題:
    taskset -cp 1 25718
    1代表cpu編號
    25718代表進程PID
  2. 內存優化:
    1) 大頁內存(默認開啟)
    cat /sys/kernel/mm/transparent_hugepage/enabled
    2) KSM內存合並
    [ksmd] linux默認開啟的進程

  3. I/O優化
    1) virtio:Linux默認內核自帶的,可以優化IO,win需要手動安裝
    2) Linux IO調度算法:
    查看當前調度算法:dmesg | grep -i scheduler
    cat /sys/block/sda/queue/scheduler
    2.6 內核:默認:CFQ
    3.10內核:默認:Deadline

如果硬盤為SSD硬盤,則一定要使用Noop算法,發揮它最大的性能。
數據庫如果不是SSD硬盤,建議用Deadline

  1. virt-install 安裝虛擬機
    不使用swap分區
    只分一個/
    不使用LVM等。

七. 添加硬盤

  1. 新建一塊硬盤:
    qemu-img create -f qcow2 /vhost/testdisk.img 20G
  2. 修改xml文件, 在<dick></dick>後增加一塊磁盤信息
    virsh edit centos7
    技術分享圖片
    其中source file應填寫新建鏡像文件的位置信息
  3. 重啟虛擬機
    進入虛擬機後使用fdisk -l命令可以看到一塊新的磁盤/dev/sdb
  4. 格式化磁盤
  5. 掛載磁盤
    八. 在原有硬盤基礎上擴容
    qemu-img resize test01.qcow2 +2G
    技術分享圖片

VMware上安裝kvm