虛擬機器值libvirt解析

來源:互聯網
上載者:User

標籤:方便   實現   情境   強制   相互   虛擬機器啟動   軟體集   邏輯   實施   

1.什麼是libvirt
虛擬雲實現的三部曲:虛擬化技術實現-->虛擬機器管理-->叢集資源管理(雲管理)。各種不同的虛擬化技術都提供了基本的管理工具。比如,啟動,停用,配置,串連控制台等。**這樣在構建雲管理的時候就存在兩個問題:*** 1) 如果採用混合虛擬技術,上層就需要對不同的虛擬化技術調用不同管理工具,很是麻煩。* 2) 虛擬化技術發展很迅速,系統虛擬化和容器虛擬化均在發展和演化中。可能有新的虛擬化技術更加符合現在的應用情境,需要遷移過去。這樣管理平台就需要大幅改動。為了適應變化,我們慣用的手段是分層,使之相互透明,在虛擬機器和雲管理中設定一個抽象管理層。libvirt就是扮演的這個角色。有了它,上面兩個問題就迎刃而解。libvirt提供各種API,供上層來管理不同的虛擬機器。Libvirt是管理虛擬機器和其他虛擬化功能,比如儲存管理,網路管理的軟體集合。它包括一個API庫,一個精靈(libvirtd)和一個命令列工具(virsh);libvirt本身構建於一種抽象的概念之上。libvirt的主要目標是為各種虛擬化工具提供一套方便、可靠的編程介面,用一種單一的方式管理多種不同的虛擬化提供方式。
2.Libvirt主要支援的功能

虛擬機器管理: 包括不同的領域生命週期操作,比如:啟動、停止、暫停、儲存、恢複和遷移。支援多種裝置類型的熱插拔操作,包括:磁碟、網卡、記憶體和CPU。

遠程機器支援: 只要機器上運行了libvirt 
daemon,包括遠程機器,所有的libvirt功能就都可以訪問和使用。支援多種網路遠程傳輸,使用最簡單的SSH,不需要額外配置工作。

儲存管理: 任何運行了libvirt daemon的主機都可以用來管理不同類型的儲存:建立不同格式的檔案鏡像(qcow2、vmdk、raw等)、掛接NFS共用、列出現有的LVM卷組、建立新的LVM卷組和邏輯卷、對未處理過的磁碟裝置分區、掛接iSCSI共用,等等等等。因為libvirt可以遠程工作,所有這些都可以通過遠程主機使用。

網路介面管理: 任何運行了libvirt daemon的主機都可以用來管理物理和邏輯的網路介面。虛擬NAT和基於路由的網路:任何運行了libvirt daemon的主機都可以用來管理和建立虛擬網路。

3.libvirt的工具virsh的使用:

下面是virsh的常用命令方法: 
(instancename 為虛擬機器執行個體名)

virsh list                                #顯示本地活動虛擬機器virsh list –all                           #顯示本地所有的虛擬機器(活動的+不活動的)virsh define ubuntu.xml                   #通過設定檔定義一個虛擬機器(這個虛擬機器還不是活動的)virsh start instancename                  #啟動名字為ubuntu的非活動虛擬機器virsh create ubuntu.xml                   # 建立虛擬機器(建立後,虛擬機器立即執行,成為活動主機)virsh suspend instancename                # 暫停虛擬機器virsh resume instancename                 # 啟動暫停虛擬機器virsh shutdown instancename               # 正常關閉虛擬機器virsh destroy instancename                # 強制關閉虛擬機器virsh dominfo instancename                #顯示虛擬機器的基本資料virsh domname 2                           # 顯示id號為2的虛擬機器名virsh domid instancename                  # 顯示虛擬機器id號virsh domuuid instancename                # 顯示虛擬機器的uuidvirsh domstate instancename               # 顯示虛擬機器的目前狀態virsh dumpxml instancename                # 顯示虛擬機器的當前設定檔(可能和定義虛擬機器時的配置不同,因為當虛擬機器啟動時,需要給虛擬機器分配id號、uuid、vnc連接埠號碼等等)virsh setmem instancename 512000          #給不活動虛擬機器設定記憶體大小virsh setvcpus instancename 4             # 給不活動虛擬機器設定cpu個數virsh edit instancename                   # 編輯設定檔(一般是在剛定義完虛擬機器之後
4.libvirt 支援的虛擬技術:

目前支援的虛擬化技術包括:xen,qemu,kvm,lxc,openvz,virtualbox,test,storage,user mod linux ,主流的虛擬化技術基本都支援了。

5..Libvirt語言綁定

libvirt庫用C(支援 C++)實現,且包含對Python的直接支援。不過它還支援大量語言綁定。目前已經對Ruby、Java語言,Perl和 OCaml實施了綁定。libvirt支援最流行的系統程式設計語言(C和C++)、多種指令碼語言。因此,不管您側重何種語言,都可以方便的應用Libvirt。

虛擬機器值libvirt解析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.