簡述安裝KVM

****************大家好,我是霸王卸甲,今天給大家帶來的是安裝KVM。。。

    kvm:Kernel-based Virtual Machine的簡稱,是一個開源的系統虛擬化模塊,自Linux 2.6.20之後集成在Linux的各個主要發行版本中。它使用Linux自身的調度器進行管理,所以相對於Xen,其核心源碼很少。KVM目前已成爲學術界的主流VMM之一。

KVM的虛擬化需要硬件支持(如Intel VT技術或者AMD V技術)。是基於硬件的完全虛擬化。而Xen早期則是基於軟件模擬的Para-Virtualization,新版本則是基於硬件支持的完全虛擬化。但Xen本身有自己的進程調度器,存儲管理模塊等,所以代碼較爲龐大。廣爲流傳的商業系統虛擬化軟件VMware ESX系列是基於軟件模擬的Full-Virtualization。

查看CPU是否支持VT技術:
#cat /proc/cpuinfo | egrep 'vmx|svm'   
flags : fpu vme de pse tsc msr pae mce cx8 apicmtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2
ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx tm2 ssse3 cx16
xtpr pdcm dca sse4_1 lahf_lm dts tpr_shadow vnmi flexpriority

需求內核(rhel6以上):

uname -r

2.6.32-358.el6.x86_64

安裝軟件:
rhel6:

yum groupinstall "Virtualization" "Virtualization Client" "Virtualization Platform" "Virtualization Tools" -y

rhel7:
# yum install *virt*  *qemu* -y
# yum install  libvirt  qemu-kvm virt-manager -y

啓動服務:
rhel6:

/etc/init.d/libvirtd start

rhel7:
# systemctl start libvirtd 

查看kvm模塊加載:

lsmod | grep kvm

    kvm_intel              53484  3 
    kvm                   316506  1 kvm_intel

# 

圖形模式安裝guest os
#virt-manager

存儲池:
1.創建基於文件夾的存儲池(目錄)

mkdir -p /data/vmfs

2.定義存儲池與其目錄
   # virsh pool-define-as vmdisk --type dir --target /data/vmfs
3.創建已定義的存儲池
    (1)創建已定義的存儲池
        # virsh pool-build vmdisk
    (2)查看已定義的存儲池,存儲池不激活無法使用。
        #virsh pool-list --all
4.激活並自動啓動已定義的存儲池
    # virsh pool-start vmdisk
    # virsh pool-autostart vmdisk         
    這裏vmdisk存儲池就已經創建好了,可以直接在這個存儲池中創建虛擬磁盤文件了。
5.在存儲池中創建虛擬機存儲卷
    (1)在存儲池中創建虛擬機存儲卷
        # virsh vol-create-as vmdisk oeltest03.qcow2 20G --format qcow2
    (2)根據創建的虛擬機存儲卷安裝虛擬機
        #virt-install --name=oeltest03 --os-variant=RHEL6 --ram 1024 --vcpus=1 --disk path=/data/vmfs/oeltest03.qcow2,format=qcow2,size=20,bus=virtio  --accelerate --cdrom /data/iso/oel63x64.iso --vnc --vncport=5910  --vnclisten=0.0.0.0 --network bridge=br0,model=virtio –noautoconsole

注1:KVM存儲池主要是體現一種管理方式,可以通過掛載存儲目錄,lvm邏輯卷的方式創建存儲池,虛擬機存儲卷創建完成後,剩下的操作與無存儲卷的方式無任何區別了。
注2:KVM存儲池也要用於虛擬機遷移任務。

6.存儲池相關管理命令
(1)在存儲池中刪除虛擬機存儲卷

virsh vol-delete --pool vmdisk oeltest03.qcow2

(2)取消激活存儲池
    # virsh pool-destroy vmdisk
(3)刪除存儲池定義的目錄/data/vmfs
    # virsh pool-delete vmdisk
(4)取消定義存儲池
    # virsh pool-undefine vmdisk

到此kvm存儲池配置與管理操作完畢。

命令方式安裝虛擬機:
一般在創建虛擬機前,如果需要橋接虛擬機,就需要創建橋接網口,具體看自己的需求。創建一個虛擬機,可以通過virt-manager來完成,圖形化界面,但是這個功能不全,不能隨心所欲,例如,需要將虛擬機創建在不同的位置上,畢竟默認的存儲是在/var/lib/libvirt/images下,無法進行存儲的管理,所以,在創建虛擬機之前,需要先創建一個存儲池。

存儲池:
存儲池(Storage pools)是放置虛擬機的存儲位置,可以是本地的,也可以是網絡存儲,本實例放置在卷(Volume)上。

在創建卷之前,先要創建存儲池,存儲池可以建立在好幾種方式的存儲上,現在主要建立一個基於目錄的存儲池。

首先創建了一個LVM,步驟如下:
1.使用lvcreate命令,創建一個名爲lv_kvm,大小爲250G的邏輯卷,卷組名爲VolGroup(VolGroup是已經創建好的卷組,創建方法在上一篇文章中)
#lvcreate -L 250G -n lv_kvm VolGroup
2.使用mkfs.ext4命令在邏輯卷lvdata1上創建ext4文件系統.
#mkfs.ext4 /dev/VolGroup/lv_kvm
3.將創建好的文件系統/lv_kvm掛載到/kvm上.(創建好之後,會在/dev/mapper/生成一個軟連接名字爲"卷組-邏輯卷")
#mount /dev/VolGroup/lv_kvm /kvm
4.建立存儲池的目錄
#mkdir /kvm/images
5.配置SELinux文件上下文,這個主要是打開SELinux設定,不然虛擬機無法訪問存儲文件(沒有深究原因)
#semanage fcontext -a -t virt_image_t /kvm/images
6.創建基於文件夾(目錄)的存儲池
#virsh pool-define-as kvm_images --type dir --target /kvm/images
7.查看創建的存儲池信息

virsh pool-list --all

    Name                 State      Autostart 
    -----------------------------------------
    default              inactive   yes
    kvm_images      inactive   no

停止默認存儲池:
    # virsh pool-destroy  default
    Pool default destroyed

8.啓動存儲池

virsh pool-start kvm_images

    # virsh pool-list --all
    Name                 State      Autostart 
    -----------------------------------------
    default              inactive   yes       
    kvm_images           active     no

9.創建了存儲池後,就可以創建一個卷,這個卷是用來做虛擬機的硬盤
#virsh vol-create-as --pool kvm_images --name TAF05.img --capacity 10G --format qcow2
10.在存儲捲上安裝虛擬主機
10.1 配置bridge方式:
創建橋接器

cat /etc/sysconfig/network-scripts/ifcfg-br0

    DEVICE=br0
    NM_CONTROLLED=no
    TYPE=Bridge
    BOOTPROTO=static
    IPADDR=192.168.0.230
    PREFIX=24
    GATEWAY=192.168.1.254
    DNS1=8.8.8.8
    ONBOOT=yes
    USERCTL=no
    DELAY=0

    將物理接口橋接到橋接器
    # cat /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    NM_CONTROLLED=no
    TYPE=Ethernet
    BOOTPROTO=static
    ONBOOT=yes
    USERCTL=no
    BRIDGE=br0

    重啓加載網絡服務
    # service network restart

    查看當前橋接情況 
    # brctl show 
 10.2 安裝
    # virt-install --connect qemu:///system -n vm3 -r 512 -f /virhost/vmware/vm2.img -s 7 --vnc --os-type=linux --os-variant=rhel6 --vcpus=1 --network bridge=br0 -c /var/ftp/soft/rhel6u4.iso

完全文本方式安裝:

#virt-install --connect qemu:///system -n vm7 -r 2024 --disk path=/var/lib/libvirt/images/vm7.qcow2,size=10 --os-type=linux --os-variant=centos7.0 --vcpus=1 --location=ftp://10.18.42.251/centos7u4 -x console=ttyS0 --nographics

-n 虛擬機名字
-r 內存 必須2個G以上

1.取消安裝ctrl+] 然後在ctrl+c
2.取消安裝之後,虛擬機名字必須改,鏡像名字必須改
3.磁盤鏡像名字不需要手動圖形創建了,直接指定名字就可以
4.宿主機剩餘內存必須要大一點
yum -y update
排錯:
安裝過程中:
手動配置IP地址
到url位置找不到路徑,要返回去手動選擇url,重新配置url爲ftp://192.168.100.230/rhel6u4,這裏的ip不要寫127.0.0.1而是br0的ip

==================
根據配置文件創建虛擬機:
1.需要有磁盤文件:

cp vm1.img vm2.img

2.需要有配置文件:配置文件需要修改必要的東西

cp vm1.xml vm2.xml

3.創建虛擬機:

virsh define /etc/libvirt/qemu/vm2.xml

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章