libvirt

libvirt

支持的虛擬化KVM XEN Qemu LXC OpenVZ

安裝

yum install libvirt libvirt-client libvirt-manager (python-virtinst or virt-install)
yum install -y virt-* libvirt bridge-utils qemu-img qemu-kvm

systemctl restart libvirtd.service

/etc/libvirt/qemu/networks/default.xml  #被鏈接到啟動(dòng)目錄的腳本
/etc/libvirt/qemu/networks/autostart/   #libvirtd服務(wù)啟動(dòng)時(shí)運(yùn)行的腳本

virt-install

一般選項(xiàng)
    -n NAME  --name=NAME        #指定虛擬機(jī)名稱(chēng)
    -r MEMORY   --ram=MEMORY    #指定虛機(jī)內(nèi)存大小MB
    --vcpus=VCPUS[,maxvcpus=MAX][,sockets=][,cores=][,threads=]
        最大cpu個(gè)數(shù)卷玉,套接字?jǐn)?shù)哨颂,核心數(shù),線程數(shù)
    --cpu=CPU                   #cpu模式及特性
    
安裝方法
    -c  --cdrom=CDROM           #指定安裝介質(zhì)為光盤(pán)
    -l  --location=URL          #支持FTP相种,http威恼,nfs
    --pxe                       #網(wǎng)絡(luò)裝機(jī)
    --livecd                    #不依賴(lài)磁盤(pán)的操作系統(tǒng)
    --os-type=                  #操作系統(tǒng)類(lèi)型
    --os-variant=               #操作系統(tǒng)版本
    --boot=BOOTS                #指定引導(dǎo)次序
    
存儲(chǔ)配置
    --disk=DISKOPTIS            #指定存儲(chǔ)設(shè)備及其屬性
        device  設(shè)備類(lèi)型    cdrom、disk寝并、floppy 默認(rèn)disk
        bus     磁盤(pán)總線類(lèi)型    ide scsi usb virtio 
        perms   訪問(wèn)權(quán)限    rw  ro  sh  默認(rèn)rw
        size    新建磁盤(pán)大小GB
        cache   緩存模型
        format  磁盤(pán)映像格式    raw qcow2 vmdk
        sparse  使用稀疏格式
    --nodisks                   #不使用本地磁盤(pán)在livecd模式中使用

網(wǎng)絡(luò)配置
    -w NETWORK --network=NETWORK,opt1=xx    #網(wǎng)絡(luò)接口及其屬性
        bridge=BRIDGE           #指定連接到那個(gè)橋接設(shè)備
        network=NAME            #連接至指定網(wǎng)絡(luò)
        model                   #網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng) virtio箫措、e1000
        mac                     #52:54:00 手動(dòng)指定mac 否則自動(dòng)生成
    --nonetworks                #不使用網(wǎng)絡(luò)功能
    
圖形配置
    --graphics TYPE,opt=xx      #指定虛機(jī)啟動(dòng)后訪問(wèn)接口及其屬性
        TYPE                    #vnc、sdl
        port                    #監(jiān)聽(tīng)的端口
        listen                  #監(jiān)聽(tīng)在那個(gè)ip 默認(rèn)127.0.0.1
            可以修改/etc/libvirt/qemu.conf調(diào)整默認(rèn)值

設(shè)備選項(xiàng)
    
虛擬化選項(xiàng)
    -v  --hvm       #指定完全虛擬化
    -p              #指定使用半虛擬化
    --virt-type     #指定是使用hypervisor  查看可以使用的# virsh capabilities
    
其他
    --autostart     #是否隨物理機(jī)啟動(dòng)啟動(dòng)
    --print-xml     #創(chuàng)建不需要安裝過(guò)程的虛機(jī)衬潦,顯示生成的xml文件
    --force         #禁止命令進(jìn)入交互模式
    --dry-run       #
    -d --debug      #顯示debug信息
    --import        #使用現(xiàn)有磁盤(pán)印象構(gòu)建
    
/etc/libvirt/qemu       #虛擬機(jī)xml配置文件

bridge配置

#!/bin/bash
#添加網(wǎng)橋到物理網(wǎng)絡(luò)
ip a | grep br0 && echo yes >> /dev/null || brctl addbr br0
ip addr del 192.168.150.15/24 dev em1
ip link set dev em1 master br0
ip addr add 192.168.150.15/24 dev br0
ip link set br0 up || ip link set br0 up
route add default gw 192.168.150.253 dev br0

創(chuàng)建虛擬機(jī)示例

virt-install --name cirros034-2 --vcpu 2 --ram 512 \
--disk=/var/image/cirros-0.3.4-x86_64-disk.img,bus=virtio,size=5,format=qcow2,sparse \
--vnc --vnclisten 0.0.0.0 \
--autostart --import \
--network bridge=br0

virt-install --name cirros --vcpu 2 --ram 2048 \
--network bridge=br0,model=virtio \
--disk=/var/image/cirros-0.3.4-x86_64-disk.img,format=qcow2,size=5,perms=rw,bus=virtio \
--disk=/var/image/cirros.img,size=10,format=qcow2,perms=rw,bus=virtio,sparse \
--vnc --vnclisten 0.0.0.0 
--import --autostart --force
#cpu 
virt-install --name centos1810 --vcpus=2,maxvcpus=6 --ram 4096 \
--network bridge=br0,model=virtio,mac=52:54:00:00:00:00 \
--disk=/var/image/centos_1810.img,format=qcow2,bus=virtio,size=10,sparse \
--cdrom /data/CentOS-7-x86_64-DVD-1810.iso \
--vnc --vnclisten 0.0.0.0 \
--autostart --force

基礎(chǔ)管理命令

 virsh list --all           #查看所有虛擬機(jī)
 virsh shutdown cirros      #關(guān)閉指定虛擬機(jī)
 virsh destroy cirros       #強(qiáng)制關(guān)閉
 virsh start cirros         #開(kāi)啟虛擬機(jī)
 virsh undefine cirros      #取消定義域 刪除虛擬機(jī)
    --storage                   #刪除關(guān)聯(lián)的卷
    --remove-all-storage        #刪除所有存儲(chǔ)卷
    --delete-snapshot           #刪除所有卷的快照
    --snapshots-metadata        #刪除快照元數(shù)據(jù)
    
 virsh autostart cirros     #設(shè)置虛擬機(jī)跟隨物理機(jī)啟動(dòng)
 
 virsh dominfo cirros       #查看虛擬機(jī)基本信息
 virsh vncdisplay cirros    #查看虛擬機(jī)vnc端口
 virsh edit cirros          #編輯虛擬機(jī)xml配置

域的基本管理

# virsh help domain     # 查看domain的命令liebiao

1斤蔓、附加磁盤(pán)設(shè)備

qemu-img create -f qcow2 -o size=20G,preallocation=metadata /var/image/centos_1810_20G.qcow2         #創(chuàng)建磁盤(pán)
 
qemu-img info /var/image/centos_1810.img
    
virsh attach-disk --help    #附加磁盤(pán)命令
        --persistent     永久生效
        --config         下一次啟動(dòng)生效
        --type           指定磁盤(pán)類(lèi)型
        --driver         指定磁盤(pán)驅(qū)動(dòng)
        --print-xml      顯示xml配置,命令不生效
virsh attach-disk --domain centos1810 --source /var/image/centos_1810_20G.qcow2 --target vdb --targetbus virtio    #添加磁盤(pán)并指定總線類(lèi)型

    
virsh detach-disk --help    #拆除磁盤(pán)命令
        --persistent     永久生效
        --config         下一次啟動(dòng)生效
virsh detach-disk centos1810 --target vdb

   

2镀岛、附加新的網(wǎng)絡(luò)

virsh attach-interface --help   #附加網(wǎng)絡(luò)命令
    --config
    --model    #接口模塊
    --persistent
    
virsh attach-interface --domain centos-2004-database01 --type bridge --source br0 --model virtio --persistent

virsh detach-interface --help   #分離網(wǎng)絡(luò)
    --config
    --persistent
    --mac           #指定卸載網(wǎng)卡的mac
virsh detach-interface --domain centos-2004-database01 --type bridge --mac 52\:54\:00\:14\:ac\:37 --persistent

3弦牡、運(yùn)行狀態(tài)相關(guān)

virsh cpu-stats cirros          #域占用物理cpu的狀態(tài)
virsh dumpxml cirros            #域xml信息
    --migratable    #提供一個(gè)適合遷移的xml
virsh reboot cirros             #重啟一個(gè)域

virsh save cirros /var/image/cirros.save    #保存一個(gè)正在運(yùn)行的域的ram狀態(tài)到指定文件
virsh restore /var/image/cirros.save        #從文件保存的狀態(tài)中還原域

virsh suspend --domain cirros   #掛起域,暫停在內(nèi)存中
virsh resume cirros             #恢復(fù)域

virsh vcpucount cirros          #域cpu數(shù)
virsh vcpuinfo cirros           #域cpu基本信息

virsh vcpupin --help            #控制域cpu親和性 綁定vcpu到cpu
virsh setvcpus --help           #改變vcpu的數(shù)量,被最大CPU數(shù)限制

virsh setvcpu --help            #連接或分離vcpu

virsh blkiotune cirros          #獲取或設(shè)置virtio參數(shù)
virsh domiflist cirros          #列出所有虛擬接口網(wǎng)卡
virsh dominfo cirros            #域信息

virsh nodeinfo                  #節(jié)點(diǎn)信息
virsh sysinfo                   #hypervisor信息
virsh uri                       #訪問(wèn)接口
virsh version                   #版本信息
virsh iface-list --all          #列出宿主機(jī)物理網(wǎng)絡(luò)接口
virsh iface-bridge --help       #創(chuàng)建網(wǎng)橋設(shè)備并連接至物理網(wǎng)絡(luò)設(shè)備
virsh iface-unbridge --help     #拆下接口漂羊,刪除橋

virsh nwfilter-list             #filter網(wǎng)絡(luò)過(guò)濾
virsh net-list                  #用戶空間網(wǎng)絡(luò)

snapshot

virsh snapshot-create-as --domain cirros --name null --disk-only
    --name
    --disk-only                 #只對(duì)磁盤(pán)快照
    
virsh snapshot-list --domain cirros

virsh snapshot-revert --domain cirros --snapshotname null
    --children          #刪除快照和子集
    --children-only     #只刪除子集
    --metadata          #只刪除元數(shù)據(jù)
    

storage volume                  #指外部的網(wǎng)絡(luò)存儲(chǔ) 一般為ISCSI
virsh vol-list --help


virtio

kvm使用了硬件輔助虛擬化所以cpu的效率很高驾锰,不過(guò)在I/O方面是通過(guò)qemu純軟件的方式模擬io,每次虛擬機(jī)發(fā)起io請(qǐng)求時(shí)走越,kvm內(nèi)核模塊會(huì)攔截此次請(qǐng)求椭豫,處理請(qǐng)求后將其放入io共享頁(yè),后通知用戶空間的qemu進(jìn)程旨指。
qemu獲得io操作結(jié)果之后赏酥,模擬出本次的io操作再次將結(jié)果放回io共享頁(yè),同時(shí)通知kvm模塊谆构。
kvm模塊讀取qemu模擬的io操作返回給虛擬機(jī)

virtio是一個(gè)運(yùn)行在hypervisor上的一個(gè)api接口裸扶,讓虛機(jī)知道自己運(yùn)行在虛擬環(huán)境中,進(jìn)行io操作時(shí)通過(guò)virtio與hypervisor通信搬素,從而擁有更好的性能

磁盤(pán)快照

指定數(shù)據(jù)集合的一個(gè)完全可用拷貝姓言,改拷貝包括相應(yīng)數(shù)據(jù)在某個(gè)時(shí)間點(diǎn)的映像瞬项≌崽#快照可以是所表示的數(shù)據(jù)的一個(gè)副本何荚,也可以是數(shù)據(jù)的復(fù)制品。
快照是指保存在存儲(chǔ)設(shè)備中的數(shù)據(jù)的引用標(biāo)記和指針猪杭。

在建立磁盤(pán)快照時(shí)餐塘,并不需要拷貝數(shù)據(jù)本身,只是通知文件系統(tǒng)將目前有數(shù)據(jù)的磁盤(pán)區(qū)塊全部保留起來(lái)皂吮,不被覆寫(xiě)戒傻。這個(gè)通知只需要很短的時(shí)間。
接下來(lái)的文件的修改或任何新增蜂筹、刪除動(dòng)作需纳,均不會(huì)覆寫(xiě)數(shù)據(jù)原來(lái)所在的磁盤(pán)區(qū)塊,而是將修改的部分寫(xiě)入其他可用磁盤(pán)區(qū)塊中艺挪。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末不翩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子麻裳,更是在濱河造成了極大的恐慌口蝠,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件津坑,死亡現(xiàn)場(chǎng)離奇詭異妙蔗,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)疆瑰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)眉反,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人穆役,你說(shuō)我怎么就攤上這事寸五。” “怎么了孵睬?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,011評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵播歼,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我掰读,道長(zhǎng)秘狞,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,755評(píng)論 1 294
  • 正文 為了忘掉前任蹈集,我火速辦了婚禮烁试,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拢肆。我一直安慰自己减响,他們只是感情好靖诗,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,774評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著支示,像睡著了一般刊橘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上颂鸿,一...
    開(kāi)封第一講書(shū)人閱讀 51,610評(píng)論 1 305
  • 那天促绵,我揣著相機(jī)與錄音,去河邊找鬼嘴纺。 笑死败晴,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的栽渴。 我是一名探鬼主播尖坤,決...
    沈念sama閱讀 40,352評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼闲擦!你這毒婦竟也來(lái)了慢味?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,257評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤佛致,失蹤者是張志新(化名)和其女友劉穎贮缕,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體俺榆,經(jīng)...
    沈念sama閱讀 45,717評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡感昼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,894評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了罐脊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片定嗓。...
    茶點(diǎn)故事閱讀 40,021評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖萍桌,靈堂內(nèi)的尸體忽然破棺而出宵溅,到底是詐尸還是另有隱情,我是刑警寧澤上炎,帶...
    沈念sama閱讀 35,735評(píng)論 5 346
  • 正文 年R本政府宣布恃逻,位于F島的核電站,受9級(jí)特大地震影響藕施,放射性物質(zhì)發(fā)生泄漏寇损。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,354評(píng)論 3 330
  • 文/蒙蒙 一裳食、第九天 我趴在偏房一處隱蔽的房頂上張望矛市。 院中可真熱鬧,春花似錦诲祸、人聲如沸浊吏。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,936評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)找田。三九已至歌憨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間午阵,已是汗流浹背躺孝。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,054評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留底桂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,224評(píng)論 3 371
  • 正文 我出身青樓惧眠,卻偏偏與公主長(zhǎng)得像籽懦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子氛魁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,974評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容