導航:首頁 > 程序命令 > kvm管理命令行

kvm管理命令行

發布時間:2022-06-30 03:44:18

㈠ 如何在linux中用命令行工具管理KVM虛擬環境

在Linux中用命令行工具管理KVM虛擬環境的步驟:

㈡ 如何在Linux中用命令行工具管理KVM虛擬環境

第一步: 配置存儲池

Virsh命令行工具是一款管理virsh客戶域的用戶界面。virsh程序能在命令行中運行所給的命令以及它的參數。

本節中,我們要用它給我們的KVM環境創建存儲池。想知道關於這個工具的更多信息,用以下這條命令。

# man virsh


  1. 用virsh帶pool-define-as的命令來定義新的存儲池,你需要指定名字、類型和類型參數。

  2. 本例中,我們將名字取為Spool1,類型為目錄。默認情況下你可以提供五個參數給該類型:

  3. source-host

  4. source-path

  5. source-dev

  6. source-name

  7. target

  8. 對於目錄類型,我們需要用最後一個參數「target」來指定存儲池的路徑,其它參數項我們可以用「-」來填充。

  9. # virsh pool-define-as Spool1 dir - - - - "/mnt/personal-data/SPool1/"

創建新存儲池

2. 查看環境中我們所有的存儲池,用以下命令。

# virsh pool-list --all


列出所有存儲池

3. 現在我們來構造存儲池了,用以下命令來構造我們剛才定義的存儲池。

# virsh pool-build Spool1


構造存儲池

4. 用帶pool-start參數的virsh命令來激活並啟動我們剛才創建並構造完成的存儲池。

# virsh pool-start Spool1


激活存儲池

5. 查看環境中存儲池的狀態,用以下命令。

# virsh pool-list --all

㈢ 如何在Debian或Ubuntu上從命令行使用KVM

眼下有幾種不同的方法可以管理在KVM虛擬機管
理程序上運行的虛擬機。比如說,virt-manager就是一種廣受歡迎的基於圖形用戶界面(GUI)的前端工具,可用來管理虛擬機。不過,如果你想在
無外設伺服器上使用KVM,那麼基於GUI的解決方案並非理想方案。這時候,virsh就派得上用場。virsh是一種命令行工具,可用於管理來賓虛擬機
(guest
VM)。就其底層而言,virsh依賴libvirtd服務,該服務可以控制幾種不同的虛擬機管理程序,其中包括KVM、Xen、QEMU、LXC和
OpenVZ。

如果你想讓虛擬機的配置和管理實現自動化,virsh等命令行管理界面也大有用處。此外,virsh支持多種虛擬機管理程序,這就意味著你可以通過同一個virsh界面,管理不同的虛擬機管理程序。

我在本教程中將演示如何在Debian或Ubuntu上使用virsh,從命令行運行KVM。

第一步:證實主機支持硬體虛擬化

作為第一步,證實主機的處理器配備硬體虛擬化擴展機制(比如英特爾VT或AMD-V),KVM需要這樣的機制。下面這個命令就能證實一點。

$ egrep '(vmx|svm)' --color /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 syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts nopl
xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3
cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand
hypervisor lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi
ept vpid fsgsbase smep

如果輸出結果並不含有vmx或svm標記,這意味著主機的處理器沒有支持硬體虛擬化的功能。因而,你就無法在主機上使用KVM。證實了主機處理器隨帶vmx或svm後,接下來繼續安裝KVM。

第二步:安裝KVM

使用apt-get,安裝KVM及相關的用戶空間工具。

$ sudo apt-get install qemu-kvm libvirt-bin

下一步,將你的用戶ID添加到libvirt群組,那樣你就能以非root普通用戶的身份,管理虛擬機了。作為上面安裝KVM的一部分,必須創建libvirt群組。

$ sudo adser [youruserID] libvirt

重新裝入更新後的群組成員信息,如下所示。看到要求輸入密碼的提示後,輸入你的登錄密碼。

$ exec su -l $USER

這時候,你應該能夠以普通用戶的身份運行virsh了。為了測試一下,不妨試一試下面這個命令,它會列出可用的虛擬機(目前沒有一個虛擬機)。要是你沒有遇到許可權錯誤,這意味著到目前為止,一切正常。

$ virsh --connect qemu:///system list Id Name State

㈣ 如何使用KVM libvirt命令管理虛擬機

在Ubuntu系統上安裝KVM組件服務
使用如下命令:
$ sudo apt-get install kvm qemu
$ sudo apt-get install virtinst python-libvirt virt-viewer virt-manager
安裝橋接網卡
$ sudo apt-get install bridge-utils

使用qemu命令創建虛擬機的虛擬磁碟文件
使用如下命令創建一個10G的磁碟空間用於安裝和允許虛擬機
$qemu-img create -f qcow2 lion.disk 10G

創建虛擬機Domain配置文件用於創建虛擬機實例
使用vim命令創建lionServer.xml配置文件,輸入如下內容:
<domain type='kvm' id='1'>
<name>lion</name>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='pc-i440fx-xenial'>hvm</type>
<boot dev='cdrom'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/home/hxb/image/lion.disk'/>
<backingStore/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
<disk type='file' device='cdrom'>
<source file='/home/hxb/iso/ubuntu.iso' />
<target dev='hdb' bus='ide'/>
</disk>
<controller type='usb' index='0'>
<alias name='usb'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pci-root'>
<alias name='pci.0'/>
</controller>
<controller type='ide' index='0'>
<alias name='ide'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<interface type='network'>
<mac address='52:54:00:7d:4d:d1'/>
<source network='br1' bridge='virbr1'/>
<target dev='vnet0'/>
<model type='virtio'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<source path='/dev/pts/3'/>
<target port='0'/>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/3'>
<source path='/dev/pts/3'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'>
<listen type='address' address='0.0.0.0'/>
</graphics>
<sound model='ich6'>
<alias name='sound0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<alias name='video0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>
<alias name='balloon0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</memballoon>
</devices>
<seclabel type='dynamic' model='apparmor' relabel='yes'>
<label>libvirt-d828c766-9826-99a9-f495-67a3a55a5643</label>
<imagelabel>libvirt-d828c766-9826-99a9-f495-67a3a55a5643</imagelabel>
</seclabel>
</domain>

使用virsh命令創建新的虛擬機實例
使用如下命令:
定義虛擬機domain,
$virsh define lionServer.xml
啟動虛擬機lion
$virsh start lion

顯示系統中的虛擬機列表
$virsh list

在創建的虛擬機實例lion上安裝操作系統
打開VirtualManager工具,打開虛擬機管理工具,選擇lion虛擬機進行連接。
連接虛擬機lion成功後,進行系統的安裝。

完成虛擬機lion的系統安裝後,需要進行虛擬機domain的配置修改,將系統引導從cdrom切換到硬碟hd,重啟虛擬機後,既可以正常登陸lion虛擬機。
使用如下命令進行boot配置修改:
$ virsh edit lion
...
<os>
<type arch='x86_64' machine='pc-i440fx-xenial'>hvm</type>
<boot dev='cdrom'/>
</os>
...
將 <boot dev='cdrom'/> 修改為 <boot dev='hd'/>

如何刪除創建的lion虛擬機
1)關閉lion虛擬機
$ virsh shutdown lion
2) 刪除lion虛擬機
$virsh destroy lion
3) 取消lion domain的定義
$virsh undefine lion

㈤ 如何在Linux中用命令行工具管理KVM虛擬環境

在Linux中用命令行工具管理KVM虛擬環境的步驟:
第一步: 配置存儲池

Virsh命令行工具是一款管理virsh客戶域的用戶界面。virsh程序能在命令行中運行所給的命令以及它的參數。本節中,要用它給KVM環境創建存儲池。想知道關於這個工具的更多信息,用以下這條命令。
# man virsh

1、用virsh帶pool-define-as的命令來定義新的存儲池,需要指定名字、類型和類型參數。本例中,將名字取為Spool1,類型為目錄。默認情況下可以提供五個參數給該類型:
source-host
source-path
source-dev
source-name
target
對於目錄類型,需要用最後一個參數「target」來指定存儲池的路徑,其它參數項可以用「-」來填充。
# virsh pool-define-as Spool1 dir - - - - "/mnt/personal-data/SPool1/"

2、 查看環境中所有的存儲池,用以下命令。
# virsh pool-list --all

3、現在來構造存儲池了,用以下命令來構造剛才定義的存儲池。
# virsh pool-build Spool1

4、用帶pool-start參數的virsh命令來激活並啟動剛才創建並構造完成的存儲池。
# virsh pool-start Spool1

5、查看環境中存儲池的狀態,用以下命令。
# virsh pool-list --all
會發現Spool1的狀態變成了已激活。
6、對Spool1進行配置,讓它每次都能被libvirtd服務自啟動。
# virsh pool-autostart Spool1

7、最後來看看新的存儲池的信息吧。
# virsh pool-info Spool1

恭喜,Spool1已經准備好待命,接下來試著創建存儲卷來使用它。

第二步: 配置存儲卷/磁碟映像
現在輪到磁碟映像了,用qemu-img命令在Spool1中創建一個新磁碟映像。獲取更多細節信息,可以查看man手冊。
# man qemu-img

8、應該在qemu-img命令之後指定「create, check,…」等等操作、磁碟映像格式、想要創建的磁碟映像的路徑和大小。
# qemu-img create -f raw /mnt/personal-data/SPool1/SVol1.img 10G
9、通過使用帶info的qemu-img命令,你可以獲取到你的新磁碟映像的一些信息。

查看存儲卷信息
警告: 不要用qemu-img命令來修改被運行中的虛擬機或任何其它進程所正在使用的映像,那樣映像會被破壞。

現在是時候來創建虛擬機了。
第三步: 創建虛擬機
10、現在到最後一個環節了,在最後一步中,將用virt-install命令來創建虛擬機。virt-install是一個用來創建新的KVM虛擬機命令行工具,它使用「libvirt」管理程序庫。想獲取更多細節,同樣可以查看man手冊。
# man virt-install

要創建新的KVM虛擬機,需要用到帶以下所有信息的命令。
Name: 虛擬機的名字。
Disk Location: 磁碟映像的位置。
Graphics : 怎樣連接VM,通常是SPICE。
vcpu : 虛擬CPU的數量。
ram : 以兆位元組計算的已分配內存大小。
Location : 指定安裝源路徑。
Network : 指定虛擬網路,通常是virbr0網橋。

virt-install --name=rhel7 --disk path=/mnt/personal-data/SPool1/SVol1.img --graphics spice --vcpu=1 --ram=1024 --location=/run/media/dos/9e6f605a-f502-4e98-826e-e6376caea288/rhel-server-7.0-x86_64-dvd.iso --network bridge=virbr0

創建新的虛擬機
11、會看到彈出一個virt-vierwer窗口,像是在通過它在與虛擬機通信。

㈥ 如何在Linux中用命令行工具管理KVM虛擬環境

第一步: 配置存儲池
Virsh命令行工具是一款管理virsh客戶域的用戶界面,它能在命令行中運行所給的命令以及它的參數,我們要用它給我們的KVM環境創建存儲池,想知道關於這個工具的更多信息,用以下這條命令:
# man virsh

1.定義新的存儲池
可以用virsh帶pool-define-as的命令來定義新的存儲池,你需要指定名字、類型和類型參數,本例中,我們將名字取為Spool1,類型為目錄,默認情況下你可以提供五個參數給該類型:
source-host
source-path
source-dev
source-name
target

對於目錄類型,我們需要用最後一個參數「target」來指定存儲池的路徑,其它參數項我們可以用「-」來填充。
# virsh pool-define-as Spool1 dir - - - - "/mnt/personal-data/SPool1/"

2.查看創建的儲存池列表
查看環境中我們所有的存儲池,用以下命令:
# virsh pool-list --all

3.構造存儲池
現在我們來構造存儲池了,用以下命令來構造我們剛才定義的存儲池。
# virsh pool-build Spool1

4.激活並啟動存儲池
用帶pool-start參數的virsh命令來激活並啟動我們剛才創建並構造完成的存儲池。
# virsh pool-start Spool1

5.查看存儲池狀態
查看環境中存儲池的狀態,用以下命令:
# virsh pool-list --all

你會發現Spool1的狀態變成了已激活。
6.配置自動啟動
對Spool1進行配置,讓它每次都能被libvirtd服務自啟動。
# virsh pool-autostart Spool1

7. 查看最新信息
最後來看看我們新的存儲池的信息吧:
# virsh pool-info Spool1

可以看到,Spool1已經准備好待命,接下來我們試著創建存儲卷來使用它。
第二步: 配置存儲卷/磁碟映像
現在輪到磁碟映像了,用qemu-img命令在Spool1中創建一個新磁碟映像。獲取更多細節信息,可以查看man手冊。
# man qemu-img

1.創建存儲卷
我們應該在qemu-img命令之後指定「create, check,…」等等操作、磁碟映像格式、你想要創建的磁碟映像的路徑和大小。
# qemu-img create -f raw /mnt/personal-data/SPool1/SVol1.img 10G

2.查看存儲卷信息
通過使用帶info的qemu-img命令,你可以獲取到你的新磁碟映像的一些信息。
警告: 不要用qemu-img命令來修改被運行中的虛擬機或任何其它進程所正在使用的映像,那樣映像會被破壞。
第三步: 創建虛擬機
1.創建
在最後一步中,我們將用virt-install命令來創建虛擬機,virt-install是一個用來創建新的KVM虛擬機命令行工具,它使用「libvirt」管理程序庫。想獲取更多細節,同樣可以查看man手冊:
# man virt-install

要創建新的KVM虛擬機,你需要用到帶以下所有信息的命令。
Name: 虛擬機的名字。
Disk Location: 磁碟映像的位置。
Graphics : 怎樣連接VM,通常是SPICE。
vcpu : 虛擬CPU的數量。
ram : 以兆位元組計算的已分配內存大小。
Location : 指定安裝源路徑。
Network : 指定虛擬網路,通常是virbr0網橋。
virt-install --name=rhel7 --disk path=/mnt/personal-data/SPool1/SVol1.img --graphics spice --vcpu=1 --ram=1024 --location=/run/media/dos/9e6f605a-f502-4e98-826e-e6376caea288/rhel-server-7.0-x86_64-dvd.iso --network bridge=virbr0

2.創建過程

接下來就是虛擬機系統的安裝過程了,就不再贅述了。

㈦ 怎樣在 ubuntu 和 debian 中通過命令行管理 KVM

眼下有幾種不同的方法可以管理在KVM虛擬機管理程序上運行的虛擬機。比如說,virt-manager就是一種廣受歡迎的基於圖形用戶界面(GUI)的前端工具,可用來管理虛擬機。不過,如果你想在無外設伺服器上使用KVM,那麼基於GUI的解決方案並非理想方案

㈧ kvm虛擬機裡面都有哪些常用命令

1.看看cpu是否支持kvm[root@localhost~]#grep-E-o'vmx|svm'/proc/cpuinfo#結果顯示vmx表示支持2.安裝kvm所需要的軟體包[root@localhost~]#yuminstallkvmkmod-kvmqemukvm-qemu-imgvirt-viewer3.安裝完,檢查模塊是否有載入[root@localhost~]#lsmod|grepkvmkvm_intel852560kvm2249282ksm.kvm_intel4.使用命令檢查kvm是否成功安裝[root@localhost~]#virsh-cqemu:///systemlistIdNameState

㈨ 怎樣在 Ubuntu 和 Debian 中通過命令行管理 KVM

第一步:確認你的硬體平台支持虛擬化
第一步,首先要確認你的 CPU 支持硬體虛擬化擴展(e.g.,Intel VT 或者 AMD-V),這是 KVM 對硬體的要求。下面的命令可以檢查硬體是否支持虛擬化。
第二步:安裝KVM
使用 apt-get 安裝 KVM 和相關的用戶空間工具。
$ sudo apt-get install qemu-kvm libvirt-bin

安裝期間,libvirtd 用戶組(在 debian 上是 libvirtd-qemu 用戶組)將會被創建,並且你的用戶 id 將會被自動添加到該組中。這樣做的目的是讓你可以以一個普通用戶而不是 root 用戶的身份去管理虛擬機。你可以使用 id 命令來確認這一點,下面將會告訴你怎麼去顯示你的組 id:
$ id <your-userID>

如果因為某些原因,libvirt(在 debian 中是 libvirt-qemu)沒有在你的組 id 中被找到,你也可以手動將你自己添加到對應的組中,如下所示:
在 ubuntu 上:
$ sudo adser [youruserID] libvirtd

在 debian 上:
$ sudo adser [youruserID] libvirt-qemu

按照如下命令重新載入更新後的組成員關系。如果要求輸入密碼,那麼輸入你的登陸密碼即可。
$ exec su -l $USER

這時,你應該可以以普通用戶的身份去執行 virsh 了。做一個如下所示的測試,這個命令將會以列表的形式列出可用的虛擬機(當前的列表是空的)。如果你沒有遇到許可權問題,那意味著到目前為止一切都是正常的。
$ virsh list
Id Name State

第三步:配置橋接網路
為了使 KVM 虛擬機能夠訪問外部網路,一種方法是通過在 KVM 宿主機上創建 Linux 橋來實現。創建之後的橋能夠將虛擬機的虛擬網卡和宿主機的物理網卡連接起來,因此,虛擬機能夠發送和接收由物理網卡傳輸的數據包。這種方式叫做網路橋接。
下面將告訴你如何創建並且配置網橋,我們創建一個網橋稱它為 br0。
首先,安裝一個必需的包,然後用命令行創建一個網橋。
$ sudo apt-get install bridge-utils
$ sudo brctl addbr br0

下一步就是配置已經創建好的網橋,即修改位於 /etc/network/interfaces 的配置文件。我們需要將該橋接網卡設置成開機啟動。為了修改該配置文件,你需要關閉你的操作系統上的網路管理器(如果你在使用它的話)。跟隨操作指南的說明去關閉網路管理器。
關閉網路管理器之後,接下來就是通過修改配置文件來配置網橋了。
#auto eth0
#iface eth0 inet dhcp

auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0

在上面的配置中,我假設 eth0 是主要網卡,它也是連接到外網的網卡,同樣,我假設 eth0 將會通過 DHCP 協議自動獲取 ip 地址。注意,之前在 /etc/network/interfaces 中還沒有對 eth0 進行任何配置。橋接網卡 br0 引用了 eth0 的配置,而 eth0 也會受到 br0 的制約。
重啟網路服務,並確認網橋已經被成功的配置好。如果成功的話,br0 的 ip 地址將會是 eth0 自動分配的 ip 地址,而且 eth0 不會被分配任何 ip 地址。
$ sudo /etc/init.d/networking restart
$ ifconfig

如果因為某些原因,eth0 仍然保留了之前分配給了 br0 的 ip 地址,那麼你可能必須手動刪除 eth0 的 ip 地址。
第四步:用命令行創建一個虛擬機
對於虛擬機來說,它的配置信息被存儲在它對應的xml文件中。因此,創建一個虛擬機的第一步就是准備一個與虛擬機對應的 xml 文件。
第五步:使用命令行啟動虛擬機
在啟動虛擬機之前,我們需要創建它的初始磁碟鏡像。為此,你需要使用 qemu-img 命令來生成一個 qemu-kvm 鏡像。下面的命令將會創建 10 GB 大小的空磁碟,並且它是 qcow2 格式的。
$ qemu-img create -f qcow2 /home/dev/images/alice.img 10G

使用 qcow2 格式的磁碟鏡像的好處就是它在創建之初並不會給它分配全部大小磁碟容量(這里是 10 GB),而是隨著虛擬機中文件的增加而逐漸增大。因此,它對空間的使用更加有效。
現在,你可以通過使用之前創建的 xml 配置文件啟動你的虛擬機了。下面的命令將會創建一個虛擬機,然後自動啟動它。
$ virsh create alice.xml
Domain alice created from alice.xml

注意: 如果你對一個已經存在的虛擬機執行了了上面的命令,那麼這個操作將會在沒有任何警告的情況下抹去那個已經存在的虛擬機的全部信息。如果你已經創建了一個虛擬機,你可能會使用下面的命令來啟動虛擬機。
$ virsh start alice.xml

使用如下命令確認一個新的虛擬機已經被創建並成功的被啟動。
$ virsh list
Id Name State
----------------------------------------------------
3 alice running

同樣,使用如下命令確認你的虛擬機的虛擬網卡已經被成功的添加到了你先前創建的 br0 網橋中。
$ sudo brctl show

遠程連接虛擬機
為了遠程訪問一個正在運行的虛擬機的控制台,你可以使用VNC客戶端。
需要解決更多linux問題,詳情請看 http://www.linuxprobe.com/chapter-00.html
望採納

閱讀全文

與kvm管理命令行相關的資料

熱點內容
寶可夢做解壓視頻 瀏覽:594
威綸通觸摸屏編譯時內存不足 瀏覽:608
單片機採集電壓比較 瀏覽:948
程序員三年前工資多少 瀏覽:705
pc端c語言編譯工具 瀏覽:22
護理知識app怎麼做 瀏覽:29
我的世界伺服器如何跨版本 瀏覽:912
益盟正版主力識別公式源碼 瀏覽:491
溫州程序員兼職網站 瀏覽:718
csgo控制台命令大全指令表 瀏覽:730
小米盒子連接伺服器地址 瀏覽:366
文檔怎麼壓縮進一個文件夾 瀏覽:84
cnn新聞app從哪裡下載 瀏覽:71
殺戮命令精通 瀏覽:894
如何查魔獸世界角色在哪個伺服器 瀏覽:43
壓縮氣罐免責說明 瀏覽:912
為什麼sim連接不了伺服器 瀏覽:31
如何注冊豆瓣app 瀏覽:558
屏膜找圖演算法 瀏覽:538
我的世界伺服器怎麼給別人游戲幣 瀏覽:940