您好,登錄后才能下訂單哦!
一、安裝kvm虛擬化
[root@localhost media]# yum -y groupinstall "GNOME Desktop" #安裝GNOME桌面環(huán)境 [root@localhost media]# yum -y install qemu-kvm #KVM模塊 [root@localhost media]# yum -y install qemu-kvm-tools #KVM調(diào)試工具,可不安裝 [root@localhost media]# yum -y install virt-install #構(gòu)建虛擬機(jī)的命令行工具 [root@localhost media]# yum -y install qemu-img #qemu組件,創(chuàng)建磁盤、啟動(dòng)虛擬機(jī)等 [root@localhost media]# yum -y install bridge-utils #網(wǎng)絡(luò)支持工具 [root@localhost media]# yum -y install libvirt #虛擬機(jī)管理工具 [root@localhost media]# yum -y install virt-manager #圖形界面管理虛擬機(jī) [root@localhost media]# yum -y install libguestfs-tools #用來管理虛擬機(jī)磁盤格式 [root@localhost ~]# ls -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target #將系統(tǒng)默認(rèn)運(yùn)行的target更改為graphical.target,若不執(zhí)行該命令,重啟時(shí)可能會(huì)報(bào)錯(cuò)。
2、安裝完畢后,需重啟系統(tǒng),執(zhí)行下面命令對(duì)系統(tǒng)進(jìn)行檢查:
[root@localhost ~]# cat /proc/cpuinfo | grep vmx #查看Intel的CPU是否支持虛擬化,若是AMD的CPU,需 “cat /proc/cpuinfo | grep smv” [root@localhost ~]# lsmod | grep kvm #檢查KVM模塊是否安裝 kvm_intel 170181 0 kvm 554609 1 kvm_intel irqbypass 13503 1 kvm [root@localhost ~]# systemctl start libvirtd #啟動(dòng)libvirtd服務(wù) [root@localhost ~]# systemctl enable libvirtd #設(shè)置該服務(wù)為開機(jī)自啟
3、在命令行模式中創(chuàng)建虛擬機(jī)
[root@kvm kk]# mkdir -p /kvm/{iso,disk} #創(chuàng)建相應(yīng)的目錄,一邊存放鏡像及虛擬機(jī)磁盤 #創(chuàng)建的/kvm目錄最好掛載在LVS卷上,以便可以動(dòng)態(tài)擴(kuò)展卷空間 [root@kvm iso]# cp /media/CentOS-7.iso /kvm/iso/ #準(zhǔn)備要安裝的虛擬機(jī)操作系統(tǒng)文件 [root@kvm ~]# qemu-img create -f raw /kvm/disk/web01.raw 10G #創(chuàng)建虛擬機(jī)磁盤 [root@kvm ~]# virt-install --os-type=linxu --os-variant centos7.0 --name web01 --ram 1024 --vcpus 1 --disk /kvm/disk/web01.raw,format=raw,size=10 --location /kvm/iso/CentOS-7.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole #創(chuàng)建虛擬機(jī)web01 開始安裝...... 搜索文件 .treeinfo...... | 354 B 00:00 搜索文件 vmlinuz...... | 5.9 MB 00:00 搜索文件 initrd.img...... | 50 MB 00:00 域安裝仍在進(jìn)行。您可以重新連接 到控制臺(tái)以便完成安裝進(jìn)程。 #根據(jù)上面的提示打開圖形化控制臺(tái) [root@kvm ~]# virt-manager #打開控制臺(tái)
輸入打開控制臺(tái)的命令后,便會(huì)彈出以下窗口:
單擊“打開”后,會(huì)出現(xiàn)以下界面,和我們自己安裝系統(tǒng)一樣了(自行操作即可):
至此,命令行創(chuàng)建虛擬機(jī)就完成了,接下來使用手動(dòng)更改配置文件的方式,克隆web01,生成新的虛擬機(jī)web02(在我博文前面的那個(gè)博文鏈接中有專用于克隆的命令工具的使用方法,這里只是為了來了解虛擬機(jī)的配置文件)
二、手動(dòng)更改配置文件的方式,克隆web01,生成新的虛擬機(jī)web02
[root@kvm iso]# virsh list --all #確保要克隆的虛擬機(jī)在關(guān)閉狀態(tài)下 Id 名稱 狀態(tài) ---------------------------------------------------- - test01 關(guān)閉 - test02 關(guān)閉 - web01 關(guān)閉 #就是要克隆這臺(tái) [root@kvm ~]# cd /kvm/disk/ #切換至虛擬機(jī)的虛擬磁盤存放目錄 [root@kvm disk]# cp web01.raw web02.raw #將要克隆的虛擬機(jī)磁盤復(fù)制一份,并更改名稱 [root@kvm disk]# cd /etc/libvirt/qemu/ #切換至KVM虛擬機(jī)配置文件的目錄 [root@kvm qemu]# ls #查看當(dāng)前目錄下的文件 networks test01.xml test02.xml web01.xml [root@kvm qemu]# virsh dumpxml web01 > ./web02.xml #將web01的配置文件使用dumpxml工具進(jìn)行備份為當(dāng)前目錄下的web02.xml [root@kvm qemu]# ls #確認(rèn)備份成功 networks test01.xml test02.xml web01.xml web02.xml [root@kvm qemu]# vim web02.xml #編輯備份出的文件 <domain type='kvm'> <name>web02</name> #將這里的名字改為web02 <uuid>2d6f2a7c-9937-4afb-b8d6-8ef01ca61434</uuid> #刪除UUID這行配置,防止沖突 <memory unit='KiB'>1048576</memory> .............#省略部分內(nèi)容 <devices> #定位到該行標(biāo)簽 <emulator>/usr/libexec/qemu-kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/kvm/disk/web02.raw'/> #將這里的路徑更改為剛才使用cp命令復(fù)制的web02.raw文件 #更改完成后,保存退出 [root@kvm qemu]# virsh define web02.xml #定義此配置文 #(可以理解為載入該虛擬機(jī),此時(shí),需要注意當(dāng)前的工作路徑) 定義域 web02(從 web02.xml) [root@kvm qemu]# virsh list --all #查看是否克隆成功 Id 名稱 狀態(tài) ---------------------------------------------------- - test01 關(guān)閉 - test02 關(guān)閉 - web01 關(guān)閉 - web02 關(guān)閉 #OK!查看到了,可以自行運(yùn)行web02,測(cè)試是否運(yùn)行正常。 [root@kvm qemu]# virsh start web02 #啟動(dòng)web02 域 web02 已開始 [root@kvm qemu]# virsh list --all #OK,正在運(yùn)行! Id 名稱 狀態(tài) ---------------------------------------------------- 3 web02 running .............#省略部分內(nèi)容
三、將web01加入開機(jī)自啟,與web02對(duì)比有何異同
[root@kvm qemu]# virsh dominfo web01 #此命令可以查看指定虛擬機(jī)的信息 Id: - 名稱: web01 UUID: 2d6f2a7c-9937-4afb-b8d6-8ef01ca61434 OS 類型: hvm 狀態(tài): 關(guān)閉 CPU: 1 最大內(nèi)存: 1048576 KiB 使用的內(nèi)存: 1048576 KiB 持久: 是 自動(dòng)啟動(dòng): 禁用 #默認(rèn)此處為禁用狀態(tài) 管理的保存: 否 安全性模式: none 安全性 DOI: 0 [root@kvm qemu]# virsh autostart web01 #設(shè)置web01為開機(jī)自啟 域 web01標(biāo)記為自動(dòng)開始 [root@kvm qemu]# virsh dominfo web01 #查看是否設(shè)置為開機(jī)自啟 Id: - 名稱: web01 UUID: 2d6f2a7c-9937-4afb-b8d6-8ef01ca61434 OS 類型: hvm 狀態(tài): 關(guān)閉 CPU: 1 最大內(nèi)存: 1048576 KiB 使用的內(nèi)存: 1048576 KiB 持久: 是 自動(dòng)啟動(dòng): 啟用 #OK! 管理的保存: 否 安全性模式: none 安全性 DOI: 0 [root@kvm qemu]# virsh dominfo web02 #查看web02是否為開機(jī)自啟 Id: 3 名稱: web02 UUID: f554ad15-1b67-4f01-b203-a9d0c3abe192 OS 類型: hvm 狀態(tài): running CPU: 1 CPU 時(shí)間: 21.4s 最大內(nèi)存: 1048576 KiB 使用的內(nèi)存: 1048576 KiB 持久: 是 自動(dòng)啟動(dòng): 禁用 #是禁用狀態(tài) 管理的保存: 否 安全性模式: none 安全性 DOI: 0 #此時(shí)可以重啟宿主機(jī),然后查看虛擬機(jī)的狀態(tài)(需要確保libvirtd服務(wù)的狀態(tài)為開機(jī)自啟,否則會(huì)出現(xiàn)問題) [root@kvm qemu]# init 6 #重啟宿主機(jī) [root@kvm ~]# virsh list #,待重啟完成后,查看正在運(yùn)行的虛擬機(jī) Id 名稱 狀態(tài) ---------------------------------------------------- 1 web01 running #此時(shí),只有web01處于運(yùn)行狀態(tài),因?yàn)樗O(shè)置了開機(jī)自啟,在libvirtd服務(wù)開機(jī)自啟的前提下, #它會(huì)隨著宿主機(jī)的啟動(dòng)而啟動(dòng)
四、遠(yuǎn)程連接虛擬機(jī)的兩種方法
(1)使用VNC軟件
VNC的安裝比較簡單,這里就不多寫了。
[root@kvm ~]# virsh vncdisplay web02 <!--查看web02的監(jiān)聽端口--> :0 <!-- 查看出的結(jié)果是“:0”,解釋如下: “:0”表示監(jiān)聽5900端口; “:1”表示監(jiān)聽5901端口; 以此類推...... -->
打開vnc進(jìn)行連接(注意防火墻相關(guān)配置):
為了方便接下來使用console進(jìn)行連接,此時(shí)需要調(diào)整虛擬機(jī)(web02)的內(nèi)核參數(shù),如下:
[root@localhost ~]# grubby --update-kernel=ALL --args=”console=ttyS0” #在虛擬機(jī)中執(zhí)行此命令 [root@localhost ~]# init 6 #重啟此虛擬機(jī),以便更改生效
(2)使用console登陸web02
在KVM宿主機(jī)上執(zhí)行以下命令即可登陸成功(前提是在使用vnc登陸時(shí)已經(jīng)更改了web02的內(nèi)核參數(shù))
[root@kvm ~]# virsh console web02 #執(zhí)行該命令 連接到域 web02 換碼符為 ^] #敲一下回車鍵 CentOS Linux 7 (Core) Kernel 3.10.0-862.el7.x86_64 on an x86_64 web02 login: root #輸入web02的用戶名及密碼登陸即可。 密碼: Last login: Wed Oct 9 21:20:48 on tty1 [root@web02 ~]#
五、使用默認(rèn)的NAT網(wǎng)絡(luò)類型使web02可以ping通外網(wǎng)
這里就進(jìn)行ping百度的測(cè)試,務(wù)必保證KVM宿主機(jī)可以ping通百度。
(1)檢查相關(guān)配置
[root@kvm ~]# virsh net-list --all <!--檢查當(dāng)前的網(wǎng)絡(luò)設(shè)置--> 名稱 狀態(tài) 自動(dòng)開始 持久 ---------------------------------------------------------- default 活動(dòng) 是 是 [root@kvm ~]# ifconfig <!--檢查當(dāng)前的網(wǎng)絡(luò)接口--> .............<!--省略部分內(nèi)容--> virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 <!-- virbr0是由宿主機(jī)虛擬機(jī)支持模塊安裝時(shí)產(chǎn)生的虛擬網(wǎng)絡(luò)接口, 也是一個(gè)switch和bridge,負(fù)責(zé)把內(nèi)容分發(fā)到各虛擬機(jī)。 virbr0是一個(gè)橋接器,接收所有到網(wǎng)絡(luò)192.168.122.*的內(nèi)容。 從下面命令可以驗(yàn)證: --> [root@kvm ~]# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.525400a8bf19 yes virbr0-nic vnet0 [root@kvm ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
(2)接下來開始配置nat網(wǎng)絡(luò)
[root@kvm ~]# virsh net-define /usr/share/libvirt/networks/default.xml #如果沒有上面指定的文件,可以使用該命令定義一個(gè)虛擬網(wǎng)絡(luò) 也可以修改該文件,創(chuàng)建自己的虛擬網(wǎng)絡(luò) [root@kvm ~]# virsh net-autostart default #網(wǎng)絡(luò)default標(biāo)記為自動(dòng)啟動(dòng) [root@kvm ~]# virsh net-start default #啟動(dòng)網(wǎng)絡(luò),若已啟動(dòng),此處會(huì)報(bào)錯(cuò) [root@kvm ~]# vim /etc/sysctl.conf #修改此配置文件 ............#省略部分內(nèi)容 net.ipv4.ip_forward=1 #在文件末尾加入該行,以便允許IP轉(zhuǎn)發(fā) [root@kvm ~]# vim /etc/libvirt/qemu/web02.xml ............#省略部分內(nèi)容 <interface type='network'> <mac address='52:54:00:24:9d:24'/> <source network='default'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> #定位“interface”關(guān)鍵字,確定有上述內(nèi)容 ............#省略部分內(nèi)容
(3)連接到虛擬機(jī)web02,更改網(wǎng)卡的配置:
[root@web02~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 #編輯網(wǎng)卡配置文件
更改網(wǎng)卡后,保存退出。
[root@web02~]# systemctl restart network #重啟web02虛擬機(jī)的網(wǎng)絡(luò)服務(wù)
進(jìn)行ping測(cè)試:
若要使用靜態(tài)IP,配置文件可更改如下(更改完成后自行重啟網(wǎng)卡,可以增加DNS配置):
六、KVM虛擬機(jī)管理命令匯總
[root@kvm ~]# virsh start 虛擬機(jī)名稱 #開啟虛擬機(jī) [root@kvm ~]# virsh list #僅查看運(yùn)行的虛擬機(jī)列表 [root@kvm ~]# virsh list --all #查看所有虛擬機(jī)列表 [root@kvm ~]# virsh shutdown 虛擬機(jī)名稱 #正常的關(guān)閉虛擬機(jī) [root@kvm ~]# virsh destroy 虛擬機(jī)名稱 #強(qiáng)制關(guān)閉虛擬機(jī)(類似于拔電源) [root@kvm ~]# virsh dumpxml 虛擬機(jī)名稱 > /root/test01-dum.xml #虛擬機(jī)備份 [root@kvm ~]# virsh undefine 虛擬機(jī)名稱 #刪除虛擬機(jī)(注意:取消定義之后,磁盤文件需要手動(dòng)刪除) [root@kvm ~]# virsh define 備份的.xml虛擬機(jī)文件 #還原虛擬機(jī) [root@kvm ~]# virsh edit 虛擬機(jī)名稱 #編輯虛擬機(jī)的配置文件 [root@kvm ~]# virsh domrename 原名字 要更改的名字 # 如:([root@kvm ~]# virsh domrename test01 test03) 更改虛擬機(jī)名稱 [root@kvm qemu]# virsh dominfo test02 #查看虛擬機(jī)的詳細(xì)信息 [root@kvm ~]# virsh autostart test02 #設(shè)置虛擬機(jī)為開機(jī)自啟 [root@kvm ~]# virsh autostart --disable test02 #取消開機(jī)自啟 [root@kvm ~]# virsh vncdisplay test02 #查看對(duì)應(yīng)的VNC連接端口號(hào);默認(rèn)第一個(gè)端口號(hào)為:5900(用“:0”表示) [root@kvm ~]# virsh suspend test02 #掛起虛擬機(jī) [root@kvm ~]# virsh resume test02 #取消掛起虛擬機(jī) [root@kvm ~]# virsh console test02 #console登陸虛擬機(jī) [root@kvm ~]# qemu-img info /kvm/disk/test01.raw #查看虛擬機(jī)的磁盤信息 [root@kvm disk]# qemu-img create test.raw 2G #創(chuàng)建虛擬機(jī)使用的磁盤 [root@kvm disk]# qemu-img create -f qcow2 21.qcow2 2G #創(chuàng)建qcow2格式的虛擬機(jī)磁盤 [root@kvm disk]# qemu-img convert -f raw -O qcow2 test.raw test.qcow2 #將test.raw磁盤格式raw轉(zhuǎn)換為qcow2 [root@kvm qemu]# virsh snapshot-create test02 #創(chuàng)建虛擬機(jī)快照 [root@kvm disk]# virsh snapshot-list test02 #查看虛擬機(jī)快照 [root@kvm disk]# virsh snapshot-revert test02 1570692304 #恢復(fù)快照 [root@kvm disk]# virt-clone --auto-clone -o test01 -n 指定要克隆的名字(可選) #自動(dòng)克隆虛擬機(jī) [root@kvm disk]# virt-clone -o test01 -n test04 -f /kvm/disk/test04.qcow2 #手動(dòng)克隆 #上述都是屬于完整克隆。 [root@kvm disk]# qemu-img create -f qcow2 -b test01.qcow2 lktest01.qcow2 # -f:指定要克隆為的磁盤格式; # -b:指定要轉(zhuǎn)換的源文件及目標(biāo)文件 #上述命令是在克隆虛擬機(jī)的磁盤文件
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。