KVM就夠了。
virt-install --name centos --ram 1024 --vcpus=1 --disk path=/home/3158cdn/images/node92.img,size=100 --network network:default --os-variant=rhel6 -l http://tel.mirrors.163.com/centos/6/os/x86_64/ --extra-args='console=tty0 console=ttyS0,115200n8'
安裝完成後,virtsh console centos
剩下的象操作實體機一樣
另外
--name 名字 -ram 內存大小 --vcpus 虛擬CPU --disk 虛擬硬碟選項 --network 網路接入模式
--os-variant=系統類型,這個也可以先成default -l 安裝源,這里採用了網路安裝源,
--extra-args='console=tty0 console=ttyS0,115200n8' 比較重要,沒它,你安完了無法console
如果想安完了,就自動連入,可以再加上--connect qemu:///system
『貳』 如何在KVM HA集群中增加虛擬機
使用KVM虛擬化配置高可用性集群不僅成本低,而且還能確保工作負載在主機發生故障的情況下正常運行。然而對於某些不熟悉相關流程的人來說,配置高可用集群可能很困難。
之前我們在《如何以有限預算構建KVM HA集群》文章中介紹了如何創建一個基礎集群並配置OCFS2共享文件系統。本文將介紹如何安裝虛擬機,將虛擬機添加到集群中並確保集群配置正常運行。
安裝KVM虛擬機
為安裝KVM虛擬機,虛擬主機需要運行libvirt服務。可以使用如下命令運行libvirt服務:systemctl start libvirtd; systemctl enable libvirtd。
開啟安裝有兩種方式,可以使用虛擬機管理器圖形工具或者virt-install命令行。如果能夠使用圖形環境,那麼virt-manager工具將非常有用,你也可以使用腳本創建虛擬機。
該命令指定了新虛擬機的所有屬性,虛擬機名為smallcent,虛擬機的名字非常重要,因為在你為虛擬機創建集群資源時會用到。示例為虛擬機分配了512MB的內存,4GB的硬碟位於/shared目錄下。請記住我們假定該目錄位於我們之前創建的OCFS2數據卷上。
上述步驟要用到互動式安裝。如果沒有終端連接到虛擬主機,那麼無法使用上述安裝類型而只能使用自動化安裝。你需要查閱相關文檔,了解如何配置AutoYast或Kickstart伺服器來完成自動化安裝。
為KVM虛擬機配置集群資源
為將虛擬機添加到集群中,你需要使集群能夠識別虛擬機配置。為實現該目標必須將虛擬機的XML配置mp為文本文件。首先,使用 virt-installvirsh list --allvirt-install命令確認虛擬機的名字。我們使用的虛擬機的名字為smallcent。因為集群需要訪問包含虛擬機定義的XML文件,所以你必須將其mp到共享存儲上。通過輸入命令vvirsh mpxml smallcent > /shared/smallcent.xml可以實現。
這時,你可以在集群中為虛擬機創建資源。VirtualDomain資源代理可以實現該目的。可以使用crm configure edit命令增加如下配置:
為使集群能夠管理資源,集群中的所有節點都必須能夠訪問XML配置文件。因此你需要將XML文件存放在共享存儲上。在之前的命令中已經使用 VirtualDomain 資源代理創建了一個名為smallcent的資源。為告知資源代理在哪兒查找hypervisor,我們在資源定義中包括了如下內容:hypervisor="qemu://system"。為使該配置生效,主機需要被配置為允許通過其他主機自動登錄。接下來,你需要表明集群能夠在哪兒查找用於管理資源的XML配置。
現在你可以使用crm_mon命令確認配置正在運行。如果所有配置都是正確的,現在應該擁有一個可操作的KVM高可用集群了。
『叄』 kvm 創建虛擬機qemu-kvm 和virt-install的區別
首先要了解qemu和libvirt。
QEMU(Quick Emulator) 是一個廣泛使用的開源計算機 模擬器和虛擬機。是一款免費的、開源的、純軟體實現的、可執行硬體虛擬化的 VMM。
libvirt是目前使用最為廣泛的對KVM虛擬機進行管理的工具和API,本質上是一些被提供的庫函數(C語言), 它引用了面向驅動的架構設計, 對所有的虛擬化技術都提供了相應的驅動和統一的介面, 用於管理物理機的虛擬機。 Libvirt 具有非常強的可擴展性, 可供本地或遠程的 virsh 調用。
qemu-kvm 命令屬於QEMU,virt-install命令屬於libvirt。libvirt調用qemu-kvm來管理虛擬機。如果Hypervisor是KVM,命令參數不一樣而已,沒區別。
『肆』 centos7創建kvm虛擬機有幾種方法
步驟
一、准備環境:
1、檢查是否支持虛擬化
Centos6.2_x864
KVM 需要有 CPU 的支持(Intel vmx 或 AMD svm),在安裝 KVM 之前檢查一下 CPU 是否提供了虛擬技術的支持:
egrep '^flags.*(vmx|svm)' /proc/cpuinfo有顯示, 有顯示則說明處理器具有VT功能
2、檢查BIOSS是否開啟虛擬化
二、安裝KVM相關軟體
1、復制即可(首先確認yum配置是否正常)
yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst
2、檢查kvm模塊是否安裝
[root@localhost ~]# lsmod |grep kvm
kvm_intel 55496 32
kvm 337772 1 kvm_intel
三、啟動服務並開機啟動
/etc/init.d/libvirtd
chkconfig libvirtd on
#以上就是KVM的安裝,很簡單。但是我們需要通過桌面去安裝系統和偶爾的配置。所以需要在Server端安裝桌面:Gnome
四、安裝gonme桌面 並配置VNC桌面連接到 virtual-server伺服器上
1、安裝virtual-server 桌面
yum -y groupinstall "Gnome" "Desktop"
如果不安裝桌面在使用svn登錄伺服器的時候會報錯:
2、安裝VNC-server端軟體
yum -y install vnc *vnc-server*
3、修改VNCServer主配置文件
vim /etc/sysconfig/vncservers
跳至最後並去掉倒數第二行注釋符,然後修改為
VNCSERVERS="1:root"
4、使用vncpasswd設置VNC登錄密碼
如下:輸入兩次密碼即可
[root@localhost ~]# vncpasswd
Password:
Verify:
[root@localhost ~]#
設置完密碼會在root宿主目錄下生成.vnc開頭的隱藏目錄,該目錄下面的文件就是root用戶的VNC桌面配置文件。打開xstartup配置桌面
#vim /root/.vnc/xstartup
將最後一行改為
gnome & #這將啟用gnome桌面
6、啟動vncserver服務並設置為開機啟動
/etc/init.d/vncserver start
chkconfig vncserver on
7、通過VNC客戶端連接virtual-server
下載一個小的VNC客戶端,如下圖:
輸入IP和埠,這個埠是在當時設置VNC-server時設置的!
結果如下:
五、配置橋接
這樣安裝完了之後就可以使用了,但是虛擬機不能和外面通信,只能和virtual-server內的虛擬機通信。
如果需要和外面的伺服器通信需要配置橋接很簡單。
臨時:設置橋接網卡:KVM#設置br0與eth0橋接brctl addif br0 eth0#清空eth0IP地址ifconfig eth0 0.0.0.0#設置br0地址ifconfig br0 192.168.7.241 255.255.252.0 up
永久:
永久設置DEVICE=br0ONBOOT=yesBOOTPROTO=staticTYPE=BridgeIPADDR=192.168.9.47NETMASK=255.255.248.0GATEWAY=192.168.8.1DEVICE=eth0ONBOOT=yesBOOTPROTO=staticTYPE=EthernetBRIDGE=br0
IPV6INIT=no
註:
在橋接網卡里設置是需要注意:TYPE=Bridge
在屋裡網卡要指定橋接的網卡名:BRIDGE=br0
『伍』 如何在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.創建過程
接下來就是虛擬機系統的安裝過程了,就不再贅述了。
『柒』 如何使用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
『捌』 KVM:virt-install創建虛擬機
grep -E 'vmx|svm' /proc/cpuinfo
#-E grep的擴展模式
#當前cpu是否支持硬體虛擬化
lsmod | grep kvm
#檢查是否載入kvm模塊,kvm只是一個linux模塊,在kvm安裝完成後整個linux系統會變成一個hypervisor(虛擬機管理層)。而qemu和virt、virsh相當於是兩個家族,qemu只支持命令行模式(創建、刪除、管理等操作),virt-install創建虛擬機,virsh只能管理虛擬機(無法創建),virt-manager提供web界面。
總結來說,libvirt家族和qemu家族都可以實現對虛擬機的生命周期管理,同一個目的不一樣的工具而已。
mkdir /home/vm
將CentOS-7-x86_64-Minimal-1810.iso上傳到此目錄下
virt-install -n centos3 -r 256 --disk /home/vm/ccc.img,format=qcow2,size=2 --network bridge=br0 --os-variant=rhel7.6 --cdrom /home/vm/CentOS-7-x86_64-Minimal-1810.iso --vnc --vncport=6666 --vnclisten=0.0.0.0
-n 虛擬機名字
-r 內存(默認單位MB)
--disk 制定磁碟(可以提前使用qemu-img創建,也可以在此處創建)
*使用qemu-img創建磁碟 qemu-img create -f qcow2 aaa.img 10G
--network 指定虛擬機使用的網路,這里使用br0,需要提前准備好此橋設備
--cdrom 指定鏡像文件
--vnc 設置vnc,指定vnc監聽埠和監聽地址
#上述命令輸入完成後直接回車即可
彈出上述告警框不用理會
此時查看宿主機打開埠,出現我們監聽的6666埠
使用vnc客戶端新建連接,ip地址填宿主機地址,埠6666,名稱就是虛擬機名稱
顏色級別設置成rgb222,然後點擊OK
雙擊連接圖標,進入安裝界面
注意:
1、在執行virt-install時一定要仔細,別漏了任何一個參數。我就是少了--vnc這個參數導致vnc怎麼也連不上
2、宿主機要跑虛擬機,確保cpu、內存資源足夠,否則安裝會出問題
『玖』 在linux上面如何用命令行創建kvm虛擬機
你好,在centos裡面用命令行創建kvm:
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
詳細的請看以下這篇文章把:http://www.linuxprobe.com/linux-command-management-kvm/