KVM基本功能

前言:本來想寫出關于KVM的精品文章,然而學的時間不夠長,理解也不夠透徹。所以有關KVM的高級功能只能等下一次在寫。本次只涉及到KVM的基礎核心功能,平時經常會使用的功能.

一、環境準備:

1、BIOS啟用Virtualication。

2、在linux系統上查看系統是否支持硬件虛擬化。Intel系列CPU支持虛擬化標識為vmx,AMD系列CPU標識為svm

[root@kvm ~]# egrep –color "svm|vmx" /proc/cpuinfo

flags              : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx f16c hypervisor lahf_lm arat epb pln pts dts tpr_shadow vnmi ept vpid fsgsbase smep

3、安裝kvm軟件包。

yum install qemu-kvm libvirt  python-virtinst  -y  

ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm

二、客戶機管理

1、安裝客戶機。

qemu-img create  -f raw /opt/kvm_demo/CentOS.raw 5G  #創建一個5G的raw格式的虛擬磁盤
virt-install --virt-type kvm --name kvm-demo --ram 512 --cdrom=/dev/sr0 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel6 --disk path=/opt/kvm_demo/CentOS.raw  #系統會默認開啟5900端口,然后通過VNC安裝

2、修改客戶機磁盤大小

qemu-img resize /opt/kvm_demo/CentOS1.raw +1G   #修改磁盤文件大小,resize不支持qcow2的磁盤格式。
virsh define <domain>  #這個domain為使用這個磁盤文件的domain
#重啟客戶機,即可

3、修改客戶機內存

virsh edit kvm-demo   #kvm-demo 為domain名稱
#修改數字,memory為最大分配內存。currentMemory為啟動時候分配給客戶機的內存。一般兩者同時修改。
<memory unit='KiB'>524288</memory>
  <currentMemory unit='KiB'>524288</currentMemory>

4、克隆虛擬機

復制xml文件,和磁盤文件。然后修改這幾項。

<   <name>kvm-demo</name>
<   <uuid>3f1bcefa-76f7-0482-d36a-70a91ff7ae5c</uuid>
---
>   <name>kvm-demo1</name>
>   <uuid>3f1bcefa-76f7-0482-d36a-70a91ff7ae5d</uuid>
24c24
<       <source file='/opt/kvm_demo/CentOS.raw'/>
---
>       <source file='/opt/kvm_demo/CentOS1.raw'/>
60c60
<       <mac address='52:54:00:cd:cc:2d'/>
---
>       <mac address='52:54:00:cd:cc:2e'/>
 
virsh define new.xml
virsh start new_domain_name
#在客戶機里面,刪除70-persistent-net.rules 
#修改ifcfg-eth0: 刪除UUID,MAC,然后可以使用

5、轉換磁盤格式

qemu-img convert -c -f raw -O qcow2 source dest

6、創建磁盤快照

snapshot [-l | -a snapshot | -c snapshot | -d snapshot] filename

7、創建橋接模式的虛擬機

默認network創建的為NAT模式的網絡,地址范圍一般在192.168.122.2~192.168.122.254之間。使用橋接模式

brctl addbr br0    #添加橋
brctl addif br0 eth0   #將eth0綁定到br0上面
brctl stp br0 on       #將br0設置為啟用stp協議
ifconfig eth0 0        #將eth0的IP設置為0
dhclient br0           #將br0的網絡配置好  
qemu-img create -f raw /opt/test.raw 5G
virt-install -n test -r 800  --vcpus=2 -c /dev/sr0 --os-type=linux   --os-variant=rhel6   --disk=/opt/test.raw  --network bridge=br0 --graphics vnc,listen=0.0.0.0 -v
#重點在于--network bridge=br0,然后安裝虛擬機,修改防火墻規則即可。

三、附錄:使用qemu-kvm管理虛擬機

1、使用qemu-kvm安裝Guest

基于libvirt的工具如virt-managervirt-install提供了非常便捷的虛擬機管理接口,但它們事實上上經二次開發后又封裝了qemu-kvm的工具。因此,直接使用qemu-kvm命令也能夠完成此前的任務。

2、qemu-kvm命令

RHEL6上,qemu-kvm位于/usr/libexec目錄中。由于此目錄不屬于PATH環境變量,故無法直接使用,這樣也阻止了可以直接使用qemu作為創建并管理虛擬機。如若想使用qemu虛擬機,可以通過將/usr/libexec/qemu-kvm鏈接為/usr/bin/qemu實現。

# ln  -sv  /usr/lib/exec/qemu-kvm  /usr/bin/qemu-kvm

qemu-kvm命令使用格式為“qemu-kvm  [options]  [disk_image]”,其選項非常多,不過,大致可分為如下幾類。

       標準選項;

       USB選項;

       顯示選項;

       i386平臺專用選項;

       網絡選項;

       字符設備選項;

       藍牙相關選項;

       Linux系統引導專用選項;

       調試/專家模式選項;

       PowerPC專用選項;

       Sparc32專用選項;

考慮到篇幅及使用需要,這里介紹的選項主要涉及到標準選項、顯示選項、i386平臺專用選項及Linux系統引導專用選項等相關的選項。

4.1qemu-kvm的標準選項

qemu-kvm的標準選項主要涉及指定主機類型、CPU模式、NUMA、軟驅設備、光驅設備及硬件設備等。
       -name name #設定虛擬機名稱;
       -M machine #指定要模擬的主機類型,如Standard PC、ISA-only PC或Intel-Mac等,可以使用“qemu-kvm -M ?”獲取所支持的所有類型;
       -m megs    #設定虛擬機的RAM大??;
       -cpu model  #設定CPU模型,如coreduo、qemu64等,可以使用“qemu-kvm -cpu ?”獲取所支持的所有模型;
       -smp n[,cores=cores][,threads=threads][,sockets=sockets][,maxcpus=maxcpus] #設定模擬的SMP架構中CPU的個數等、每個CPU的核心數及CPU的socket數目等;PC機上最多可以模擬255顆CPU;maxcpus用于指定熱插入的CPU個數上限;
       -numa opts #指定模擬多節點的numa設備;
       -fda file
       -fdb file #使用指定文件(file)作為軟盤鏡像,file為/dev/fd0表示使用物理軟驅;
       -hda file  #第二塊磁盤位置
       -hdb file
       -hdc file
       -hdd file #使用指定file作為硬盤鏡像;
       -cdrom file #使用指定file作為CD-ROM鏡像,需要注意的是-cdrom和-hdc不能同時使用;將file指定為/dev/cdrom可以直接使用物理光驅;
       -drive option[,option[,option[,...]]] #定義一個硬盤設備;可用子選項有很多。
         file=/path/to/somefile #硬件映像文件路徑;
         if=interface           #指定硬盤設備所連接的接口類型,即控制器類型,如ide、scsi、sd、mtd、floppy、pflash及virtio等;
         index=index            #設定同一種控制器類型中不同設備的索引號,即標識號;
         media=media          #定義介質類型為硬盤(disk)還是光盤(cdrom);
         snapshot=snapshot    #指定當前硬盤設備是否支持快照功能:on或off;
         cache=cache           #定義如何使用物理機緩存來訪問塊數據,其可用值有none、writeback、unsafe和writethrough四個;
         format=format         #指定映像文件的格式,具體格式可參見qemu-img命令;
       -boot [order=drives][,once=drives][,menu=on|off] #定義啟動設備的引導次序,每種設備使用一個字符表示;不同的架構所支持的設備及其表示字符不盡相同,在x86 PC架構上,a、b表示軟驅、c表示第一塊硬盤,d表示第一個光驅設備,n-p表示網絡適配器;默認為硬盤設備;
       -boot order=dc,once=d

4.2 qemu-kvm的顯示選項

顯示選項用于定義虛擬機啟動后的顯示接口相關類型及屬性等。
       -nographic #默認情況下,qemu使用SDL來顯示VGA輸出;而此選項用于禁止圖形接口,此時,qemu類似一個簡單的命令行程序,其仿真串口設備將被重定向到控制臺;
       -curses    #禁止圖形接口,并使用curses/ncurses作為交互接口;
       -alt-grab   #使用Ctrl+Alt+Shift組合鍵釋放鼠標;
       -ctrl-grab  #使用右Ctrl鍵釋放鼠標;
       -sdl        #啟用SDL;
       -spice option[,option[,...]] #啟用spice遠程桌面協議;其有許多子選項,具體請參照qemu-kvm的手冊;
       -vga type   #指定要仿真的VGA接口類型,常見類型有:
            cirrus   #Cirrus Logic GD5446顯示卡;
            std     #帶有Bochs VBI擴展的標準VGA顯示卡;
            vmware #VMWare SVGA-II兼容的顯示適配器;
            qxl      #QXL半虛擬化顯示卡;與VGA兼容;在Guest中安裝qxl驅動后能以很好的方式工作,在使用spice協議時推薦使用此類型;
            none    #禁用VGA卡;
       -vnc display[,option[,option[,...]]] #默認情況下,qemu使用SDL顯示VGA輸出;使用-vnc選項,可以讓qemu監聽在VNC上,并將VGA輸出重定向至VNC會話;使用此選項時,必須使用-k選項指定鍵盤布局類型;其有許多子選項,具體請參照qemu-kvm的手冊;
       display:
               (1)host:N
                     172.16.100.7:1, 監聽于172.16.100.7主的5900+N的端口上
              (2) unix:/path/to/socket_file
              (3) none
       options#
              password   3 連接時需要驗正密碼;設定密碼通過monitor接口使用change
              reverse:    #“反向”連接至某處于監聽狀態的vncview上;
       -monitor stdio  #表示在標準輸入輸出上顯示monitor界面
       -nographic
              Ctrl-a, c: 在console和monitor之間切換
              Ctrl-a, h: 顯示幫助信息

四、總結

    1、這次博客沒有實例,上面的命令大家都能看懂,直接就可以實現了。

    2、我對KVM理解的不夠深,這次就是先開個頭,寫一下KVM,以后對KVM的理解更上一層樓之后,會再次總結的。

    3、對KVM的操作還是多動手,多嘗試幾次。

原創文章,作者:艾賀,如若轉載,請注明出處:http://www.www58058.com/8936

(0)
艾賀艾賀
上一篇 2015-10-22
下一篇 2015-10-27

相關推薦

  • ?Linux基礎知識之文件權限

    實驗環境:    Linux系統版本為CentOS6.8_x86_64版本,以root用戶和sjsir用戶遠程用xshell連接系統,進行試驗。 文本目錄:    1.文件的屬性    2.文件權限相關的命令    3.umask 新建文件和目錄的默認權限   &nbs…

    Linux干貨 2016-08-05
  • shell編程中的三種流程控制

    流程控制 v 一 、過程式編程語言: 1.順序執行 2.選擇執行 3.循環執行  條件選擇if 語句   選擇執行:   注意: :if 語句可 嵌套    單分支 if 判斷條件;then 條件為真的分支代碼 fi    雙分支 if 判斷條件; then …

    Linux干貨 2016-08-21
  • Windows和Linux關于一塊網卡綁定多個網絡地址的解決之道

    Windows和Linux關于一塊網卡綁定多個網絡地址的問題解決之道   在不同場合用不同ip地址訪問網絡,而且都是固定ip。是一件很頭疼的問題。不過,Windows和Linux系統都提供了解決方法。接下來我們先談Windows系統下操作,再說Linux如何操作。 一、Windows設置   1. 我以Windows7為例,首先鼠標左鍵點擊你電腦左下角有網絡…

    Linux干貨 2016-09-07
  • Linux Basics–part5

    1、顯示當前系統上root、fedora或user1用戶的默認shell ~]# grep “^\(root\|fedora\|user1\)” /etc/passwd | cut -d: -f7 或者 ~]# egrep “^(root|fedora|user1)” /etc/passwd | cut -d:…

    Linux干貨 2017-08-24
  • DNS常用配置解析反向解析

    什么是域名解析庫文件?     是指將我們訪問的域名解析成IP返回給本主機,然后本機拿著解析后IP去訪問服務器,而解析格式就放在域名解析庫文件中。DNS解析分為正向解析和反向解析    正向解析就是將域或域名解析成對應的IP地址,反之則相反,通過IP解析成域名 &nbs…

    Linux干貨 2017-05-31
  • vim快捷方式

    Vim是從 vi 發展出來的一個文本編輯器。代碼補全、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用,和Emacs并列成為類Unix系統用戶最喜歡的文本編輯器

    Linux干貨 2017-11-26

評論列表(1條)

  • stanley
    stanley 2015-10-27 23:13

    小伙子寫的非常不錯,字里行間看的出認真。和練肌肉一樣,加油

欧美性久久久久