一.虛擬化技術(shù)的介紹
(1)虛擬化技術(shù)類型:
1.主機(jī)虛擬化:xen,kvm.virtualbox.openv
2.系統(tǒng)虛擬化:wine
3.容器(用戶隔離空間):lxc(Linux container),openv
4.應(yīng)用程序級虛擬化:jvm,pvm
5.模擬器:qemu
(2)主機(jī)虛擬化
1.CPU:
模擬:emulation, 虛擬機(jī)的arch與物理平臺的arch可以不相同小压;qemu可都;
虛擬:virtualization
完全虛擬化(full-virt)
BT: 二進(jìn)制轉(zhuǎn)換 (軟件)
HVM:硬件輔助的虛擬化(硬件)
半(準(zhǔn))虛擬化 (para-virt)
GuestOS得明確知道自己運(yùn)行于虛擬化技術(shù)
2.cpu環(huán)的概念
cpu環(huán)0句占,cpu環(huán)1千扔,cpu環(huán)2砸烦,cpu環(huán)3
解釋:cpu從里到外分為環(huán)0冗尤,環(huán)1听盖,環(huán)2,環(huán)3裂七,一般情況下環(huán)和環(huán)2不進(jìn)行工作皆看,環(huán)3會執(zhí)行一些簡單的普通命令,而環(huán)0則執(zhí)行一些特殊命令背零。例如執(zhí)行一個計算命令2*3悬蔽,該命令就會直接在環(huán)3上執(zhí)行,但是一旦關(guān)機(jī)后該結(jié)果就會消失捉兴,如果想要執(zhí)行io讀寫命令蝎困,此時環(huán)0就會工作,將計算結(jié)果存儲到磁盤上倍啥,這一過程的實(shí)現(xiàn)是通過環(huán)0能夠執(zhí)行特殊指令去調(diào)用內(nèi)核空間實(shí)現(xiàn)存儲禾乘。,而用戶空間沒有權(quán)限執(zhí)行虽缕。
注意:對此引入了cpu級別的硬件虛擬化概念始藕,就是在環(huán)0內(nèi)又加入了環(huán)-1,環(huán)0用來運(yùn)行虛擬機(jī)的操作系統(tǒng)氮趋,而環(huán)-1則運(yùn)行宿主機(jī)的操作系統(tǒng)伍派。因此常常以cpu環(huán)是否存在環(huán)-1來判斷該系統(tǒng)是否支持虛擬化
3.主機(jī)虛擬化類型
- TYPE-I:基于硬件級別直接運(yùn)行hypervisor
例: xen,vmware,ESX/ESXI
Hypervisor:是一種運(yùn)行在物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可允許多個操作系統(tǒng)和應(yīng)用共享一套基礎(chǔ)物理硬件,因此也可以看作是虛擬環(huán)境中的"元"操作系統(tǒng)剩胁,它可以協(xié)調(diào)訪問服務(wù)器上的所有物理設(shè)備和虛擬機(jī)诉植,也叫虛擬機(jī)監(jiān)視器(Virtual Machine Monitor)。Hypervisor是所有虛擬化技術(shù)的核心昵观。非中斷地支持多工作負(fù)載遷移的能力是Hypervisor的基本功能晾腔。當(dāng)服務(wù)器啟動并執(zhí)行Hypervisor時,它會給每一臺虛擬機(jī)分配適量的內(nèi)存啊犬、CPU灼擂、網(wǎng)絡(luò)和磁盤,并加載所有虛擬機(jī)的客戶操作系統(tǒng)觉至。- TYPE-II:
于硬件級別運(yùn)行一個OS(Host OS)剔应,而此OS上運(yùn)行一個VMM;
例:vmware workstation, virtualbox, kvm- Linux目前流行的開源虛擬化技術(shù)解決方案:
主機(jī)虛擬化:xen, kvm, virtualbox
容器級:lxc, libcontainer, runC, openvz
模擬器:qemu- KVM的組件:
kvm.ko:模塊
API:系統(tǒng)應(yīng)用接口,系統(tǒng)留給應(yīng)用程序的一個調(diào)用接口
qemu-kvm:用戶空間的工具程序
qemu-kvm是一個開源仿真器,為kvm虛擬機(jī)監(jiān)控程序提供了硬件仿真
libvirt:是一套免費(fèi)的峻贮,開源的支持linux系統(tǒng)的主流虛擬化工具的C函數(shù)庫席怪,其為包括xen,kvm等各種虛擬化工具提供一套方便的可靠的編程接口,本身屬于工具月洛,而是一種可以建立工具來管理客戶操作系統(tǒng)的API
4.快速使用kvm技術(shù)
首先yum install libvirt-daemonize-kvm qemu-kvm virt-manager
- 此時加載kvm模塊何恶,modprobe kvm
- systemctl start libvirtd.service
grep -i -E '(vmx|svm|lm)' /proc/cpuinfo——cpu是否支持虛擬化
lsmod |grep kvm——查看kvm類型
創(chuàng)建一個物理網(wǎng)橋
拓?fù)鋱D解釋原理:
因此在創(chuàng)建虛擬機(jī)之前要先創(chuàng)建一個虛擬網(wǎng)卡(物理網(wǎng)橋)孽锥,這是因?yàn)樵诎惭b虛擬機(jī)操作系統(tǒng)時嚼黔,需要安裝PXE系統(tǒng),那么就需要該虛擬機(jī)具有外部通訊的功能惜辑,只有這樣才能DhCP獲取ip地址從而實(shí)現(xiàn)自動化安裝唬涧,物理網(wǎng)橋的作用就是一個虛擬網(wǎng)卡,通過物理交換機(jī)和外部進(jìn)行信息的交換與通訊
- cd /etc/sysconfig/network-scripts
vim ifcfg-ens37
NAME=ens37
DEVICE=ens37
ONBOOT=yes
IPADDR=172.18.250.223——將該地址刪除盛撑,沒有ip地址就相當(dāng)于一個交換機(jī)/
BRIDGE=br0——網(wǎng)橋?yàn)閎r0- Vim ifcfg-br0——創(chuàng)建物理網(wǎng)橋
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=172.18.250.223
DNS=172.18.0.1
PREFIX=16
此時br0被設(shè)置成物理網(wǎng)橋(虛擬網(wǎng)卡)重啟network
ip a
brctl show
在 VMware Workstation上
virt-manager
創(chuàng)建虛擬機(jī)
選擇內(nèi)存大小和cpu數(shù)量
選擇虛擬機(jī)磁盤大小
配置主機(jī)名碎节,選擇網(wǎng)橋
開始安裝
實(shí)現(xiàn)快速安裝
5.總結(jié)
虛擬化技術(shù)的分類:
(1) 模擬:Emulation
Qemu, PearPC, Bochs, ...
(2) 完全虛擬化:Full Virtualization,Native Virtualization
BT/hvm
VMWare Workstation, VirtualBox, VMWare Server, Parallels Desktop, KVM(hvm), XEN(hvm)
(3) 半虛擬化:Para-Virutalization
特點(diǎn):GuestOS(運(yùn)行在虛擬機(jī)上的操作系統(tǒng))明確知道自己運(yùn)行虛擬機(jī)之上抵卫;
xen, UML(user-mode linux)
(4) 容器級虛擬化:
LXC, OpenVZ, libcontainer, runC, rkt, Linux V Servers, Virtuozzo, ...
(5) 庫級別虛擬化:
wine
(6) 程序級虛擬化
jvm, pvm, ...
二.通過磁盤鏡像文件實(shí)現(xiàn)虛擬機(jī)的下載
(1)鏡像文件的下載地址:https://launchpad.net/cirros/
下載的鏡像文件:http://download.cirros-cloud.net/0.3.0/cirros-0.3.0-x86_64-disk.img
(2)在宿主機(jī)上執(zhí)行qemu-img -h來查看磁盤鏡像文件的格式及創(chuàng)建選項(xiàng)狮荔,一般使用qcow2格式。其中co=copy,w=write.是一種非常高級的格式介粘,支持鏡像文件的壓縮加密及快照等功能
(3)開始創(chuàng)建
mkdir -pv /app/vm/images,cd到該目錄下
開始執(zhí)行qemu-img create -f qcow2 -o ? /app/vm/images/test.qcow2
解釋上述命令:創(chuàng)建磁盤鏡像文件時需要的選項(xiàng)并且如何查詢幫助殖氏,-f代表文件的格式類型,-o代表選項(xiàng)并且后面要加姻采?雅采,后面要接preallocation,表示有關(guān)鏡像文件的分配,其中off表示不分配內(nèi)容慨亲,使用時再分配婚瓜,而metadata表示只分配元數(shù)據(jù),full表示指定分配多大空間刑棵。一般情況下選擇metadata
具體的命令操作: qemu-img create -f qcow2 -0 size=120G,preallocation=metadata /app/vm/images/test.qcow2
創(chuàng)建成功后執(zhí)行l(wèi)l -h來查看
(4)開始圖形化安裝虛擬機(jī)
virt-manager
其他選擇與之前快速安裝虛擬機(jī)類似巴刻,只是在選擇磁盤大小時選擇第二個select or create cutom storage
然后加入路徑 /app/vm/images/test.qcow2
然后其他選項(xiàng)不變進(jìn)行安裝即可
(5)以上方式是人為自創(chuàng)建得一個鏡像文件,接下來通過下載的鏡像的文件來實(shí)現(xiàn)
(6)mkdir /app/vm/iamges2,將cirros-0.3.0-x86_64-disk.img鏡像文件下載當(dāng)前目錄下蛉签,并且 cp cirros-0.3.0-x86_64-disk.img
c1.img 和c2.img
通過qemu-img info c1.img來查看信息
在物理機(jī)上執(zhí)行virt-manager
選擇虛擬機(jī)鏡像文件路徑
配置內(nèi)存大小和cpu數(shù)量
修改主機(jī)名冈涧,選擇網(wǎng)橋等選項(xiàng)后開始安裝
出現(xiàn)如圖選項(xiàng)后根據(jù)默認(rèn)的用戶名和密碼進(jìn)行登錄
進(jìn)行sudo su -切換成root用戶
ip a 發(fā)現(xiàn)已經(jīng)配置好網(wǎng)址,此時可以利用c2.img再創(chuàng)建一個虛擬機(jī)進(jìn)行相互之間的通訊
三.使用qemu-kvm來手動安裝虛擬機(jī)
(1)使用qemu-kvm管理vms:
Qemu:
處理器模擬器
仿真各種IO設(shè)備
將仿真設(shè)備連接至主機(jī)的物理設(shè)備
提供用戶接口
(2)標(biāo)準(zhǔn)選項(xiàng)的介紹
qemu-kvm命令語法:
qemu-kvm [options] [disk_image]
選項(xiàng)有很多類別:
標(biāo)準(zhǔn)選項(xiàng)正蛙、塊設(shè)備相關(guān)選項(xiàng)督弓、顯示選項(xiàng)、網(wǎng)絡(luò)選項(xiàng)乒验、...
- 標(biāo)準(zhǔn)選項(xiàng):
-machine [type=]name:-machine help來獲取列表愚隧,用于指定模擬的主機(jī)類型;
-cpu cpu:-cpu help來獲取列表;用于指定要模擬的CPU型號狂塘;
-smp n[,maxcpus=cpus][,cores=cores][,threads=threads][,sockets=sockets]:指明虛擬機(jī)上vcpu的數(shù)量及拓?fù)洌?br> -boot [order=drives][,once=drives][,menu=on|off] [,splash=sp_name][,splash-time=sp_time][,reboot-timeout=rb_time][,strict=on|off]
order:各設(shè)備的引導(dǎo)次序:c表示第一塊硬盤录煤,d表示第一個光驅(qū)設(shè)備;-boot order=dc,once=d
-m megs:虛擬機(jī)的內(nèi)存大熊窈妈踊;
-name NAME:當(dāng)前虛擬機(jī)的名稱,要惟一泪漂;- 塊設(shè)備相關(guān)的選項(xiàng):
-hda/-hdb file:指明IDE總線類型的磁盤映射文件路徑廊营;第0和第1個;
-hdc/-hdd file:第2和第3個萝勤;
-cdrom file:指定要使用光盤映像文件露筒;
-drive [file=file][,if=type][,media=d][,index=i] [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]:
file=/PATH/TO/SOME_IMAGE_FILE:映像文件路徑;
if=TYPE:塊設(shè)備總線類型敌卓,ide, scsi, sd, floppy, virtio,...
media=TYPE:介質(zhì)類型慎式,cdrom和disk;
index=i:設(shè)定同一類型設(shè)備多個設(shè)備的編號趟径;
cache=writethrough|writeback|none|directsync|unsafe:緩存方式瘪吏;
format=f:磁盤映像文件的格式;- 顯示選項(xiàng):
-display type:顯示的類型蜗巧,sdl, curses, none和vnc掌眠;
-nographic:不使用圖形接口;
-vga [std|cirrus|vmware|qxl|xenfb|none]:模擬出的顯卡的型號惧蛹;
-vnc display[,option[,option[,...]]]]:啟動一個vnc server來顯示虛擬機(jī)接口扇救; 讓qemu進(jìn)程監(jiān)聽一個vnc接口;
display:
(1) HOST:N
在HOST主機(jī)的第N個桌面號輸出vnc香嗓;
5900+N
(2) unix:/PATH/TO/SOCK_FILE
(3) none
options:
password:連接此服務(wù)所需要的密碼
-monitor stdio:在標(biāo)準(zhǔn)輸出上顯示monitor界面迅腔;
Ctrl-a, c:在console和monitor之間切換;
Ctrl-a, h
(3)qemu-kvm的使用
1.首先如果要執(zhí)行qemu-kvm命令時靠娱,要先執(zhí)行 in -sv /usr/libexec/qemu-kvm /usr/bin/,鏈接到/usr/bin/的path路徑沧烈,可以讓qemu-kvm命令生效
2.開始執(zhí)行命令
qemu-kvm -name c2 -m 64 -smp 2,cores=1(內(nèi)核數(shù)),sockets=1(槽數(shù)) -drive file=/vm/images2/c2.img,if=virtio(半虛擬化),media=disk -nographic(不啟用圖形)
開啟之后會進(jìn)行30多次的連接失敗后像云,才能成功登陸锌雀,然后進(jìn)入虛擬機(jī)狀態(tài)
執(zhí)行ctrl -a x:退出模擬器狀態(tài)
ctrl -a h :查看幫助
ctrl -a c :宿主機(jī)與虛擬機(jī)之間進(jìn)行切換
3.針對上述情況如果想要快速登錄,則要在ftp上下載cirros-0.3.0-i386-disk.img(經(jīng)過處理后的鏡像)
mkdir -pv /app/vm/images3/,并cd 該目錄下
cp cirros-0.3.0-i386-disk.img c1.img c2.img
4.yum install tigervnc
執(zhí)行命令:qemu-kvm -name c1 -smp 2 -m 64 -drive file=/app/vm/images3/c1.img,if=virtio,media=disk -vnc :0(代表vnc監(jiān)聽的端口默認(rèn)為5900迅诬,其中最后一個0代表第一個終端) -daemonize
在物理機(jī)上執(zhí)行vncviewer :0,虛擬機(jī)登陸成功
四.網(wǎng)絡(luò)選項(xiàng)的設(shè)置
(1)網(wǎng)絡(luò)選項(xiàng):
-net nic[,vlan=n][,macaddr=mac][,model=type][,name=str][,addr=str][,vectors=v]
為虛擬機(jī)創(chuàng)建一個網(wǎng)絡(luò)接口腋逆,并將其添加至指定的VLAN;model=type:指明模擬出的網(wǎng)卡的型號侈贷,ne2k_pci,i82551,i82557b,i82559er,rtl8139,e1000,pcnet,virtio惩歉;
-net nic,model=?
macaddr=mac:指明mac地址;52:54:00:
-net tap[,vlan=n][,name=str][,fd=h][,fds=x:y:...:z][,ifname=name][,script=file][,downscript=dfile]:
通過物理的TAP網(wǎng)絡(luò)接口連接至vlan n;
script=file:啟動虛擬機(jī)時要執(zhí)行的腳本撑蚌,默認(rèn)為/etc/qemu-ifup
downscript=dfile:關(guān)閉虛擬機(jī)時要執(zhí)行的腳本上遥,/etc/qemu-ifdown
ifname=NAME:自定義接口名稱;
/etc/qemu-ifup
#!/bin/bash
#
bridge=br0
if [ -n "$1" ];then
ip link set $1 up
sleep 1
brctl addif $bridge $1
[ $? -eq 0 ] && exit 0 || exit 1
else
echo "Error: no interface specified."
exit 1
fi
其它選項(xiàng):
-daemonize:以守護(hù)進(jìn)程運(yùn)行争涌;
(2)通過網(wǎng)絡(luò)選項(xiàng)實(shí)現(xiàn)創(chuàng)建虛擬機(jī)
1.cd /app/vm/images3 cp c2.img c3.img
vim /etc/qemu-ifup
#!/bin/bash
#
bridge=vnet0
if [ -n "$1" ];then
ip link set $1 up
sleep 1
brctl addif $bridge $1
[ $? -eq 0 ]&& exit 0 || exit 1
else
echo "Error: no interface specified."
exit 2
fi
2.創(chuàng)建物理網(wǎng)橋(虛擬網(wǎng)卡)
brctl addbr vnet0
ip link set vnet0 up
vim /etc/qemu-ifdown——拆除網(wǎng)卡
#!/bin/bash
#
bridge=vnet0
if [ -n "$1" ];then
brctl delif $bridge $1
[ $? -eq 0 ]&& exit 0 || exit 1
else
echo "Error: no interface specified."
exit 2
fi
注意:兩個腳本都要加執(zhí)行權(quán)限
3.執(zhí)行命令
- qemu-kvm -name c1 -m 64 -smp 2 -drive file=/app/vm/images3/c1.img,if=virtio,media=disk -vnc :0 -daemonize -net nic,model=e1000,macaddr=52:54:00:00:00:10(mac地址52:54:00:00為固定的) -net tap,script=/etc/qemu-ifup
qemu-kvm -name c2 -m 64 -smp 2 -drive file=/app/vm/images3/c2.img,if=virtio,media=disk -vnc :0 -daemonize -net nic,model=e1000,macaddr=52:54:00:00:00:11(mac地址要改變)-net tap,script=/etc/qemu-ifup
在物理機(jī)上執(zhí)行vncviewer :0
為了實(shí)現(xiàn)通訊為該虛擬機(jī)配置ip地址
ifconfig eth0 10.1.0.1/24 up
在另一臺虛擬機(jī)上 ifconfig eth0 10.1.0.2/24 up
此時兩臺虛擬機(jī)可以進(jìn)行Ping命令
4.為vnet0配置ip地址
ifconfig vnet0 10.1.0.254/24 up
此時vnet0網(wǎng)卡既可以作為交換機(jī)粉楚,也可以作為虛擬網(wǎng)卡
拓?fù)鋱D解釋:
在宿主機(jī)上創(chuàng)建了一個網(wǎng)橋(vnet0),如果不給這個網(wǎng)橋配置ip地址亮垫,那就相當(dāng)于一個交換機(jī),兩個虛擬機(jī)通過交換機(jī)可以進(jìn)行ping命令模软,但是不能和宿主機(jī)進(jìn)行通訊,因此為網(wǎng)橋配置ip地址后就可以實(shí)現(xiàn)虛擬機(jī)與宿主機(jī)之間的通訊了包警,此時就相當(dāng)于一個僅主機(jī)模式撵摆,如果通過iptables策略開啟snat策略實(shí)現(xiàn)跳轉(zhuǎn)的話底靠,就可以和外部進(jìn)行通訊害晦,此環(huán)境就相當(dāng)于nat模式
5在虛擬機(jī)上分別將網(wǎng)關(guān)指向虛擬網(wǎng)卡的ip地址
ip route add default via 10.1.0.254/24
此時虛擬機(jī)和宿主機(jī)就可以實(shí)現(xiàn)ping命令,此時相當(dāng)于一個僅主機(jī)模式,如果想要實(shí)現(xiàn)nat模式就要設(shè)置ipatbles策略
開啟宿主機(jī)的路由轉(zhuǎn)發(fā)功能
echo 1 > /proc/sys/net/ipv4/ip_forward
添加iptables的snat規(guī)則
iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -j SNAT --to-source 172.18.250.223
此時在虛擬機(jī)上ping 172.18.0.1可以Ping通
五.實(shí)現(xiàn)虛擬機(jī)的自動分配地址
(1)首先查看netns幫助
ip netns help
netns主要是可以創(chuàng)建一個新的空間暑中,創(chuàng)建一個新的網(wǎng)絡(luò)環(huán)境
例: ip netns add router0——創(chuàng)建一個名為router0的網(wǎng)絡(luò)空間壹瘟,和宿主機(jī)無關(guān)系
使用ip netns exec router0 ifconfig -a來查看新創(chuàng)建的空間
(2)為router0添加虛擬網(wǎng)卡
ip linkn add myeth1 type veth peer name myeth2
創(chuàng)建的網(wǎng)卡是成對出現(xiàn)
ip a查看
(3)將其中一個網(wǎng)卡添加到router0的網(wǎng)絡(luò)空間中
ip link add myeth2 netns router0
(4)修改網(wǎng)卡名
ip netns exec router0 ip link set dev myeth2 name eth0 ——將router0中的myeth2改名為eth0
(5)為網(wǎng)卡配置ip地址
ip netns exec router0 ifconfig eth0 10.2.0.253/24 up
ifconfig myeth1 10.2.0.252/24 up
ping命令測試
以上操作屬于容器類型的虛擬化,作為了解鳄逾,下面介紹虛擬機(jī)的自動獲取ip地址的方式
dnsmasq
通過dnsmasq實(shí)現(xiàn)自動獲取ip地址
yum install dnsmasq
命令: dnsmasq --listen-address 10.2.0.253,127.0.0.1 --dhcp-range=10.1.0.11,10.1.0.50,24h(地址有效時間) --dhcp-option=3(就是網(wǎng)關(guān)的意思),10.2.0.253
qemu-kvm -name c1 -m 64 -smp 2 -drive file=/app/vm/images3/c1.img,if=virtio,media=disk -vnc :0 -daemonize -net nic,model=e1000,macaddr=52:54:00:00:00:10 -net tap,script=/etc/qemu-ifup
在物理機(jī)執(zhí)行vncviewer :0
就會發(fā)現(xiàn)ip地址已經(jīng)自動獲取
如果將 /etc/qemu-ifup腳本中的bridge=vnet0改為br0稻轨,再執(zhí)行 qemu-kvm -name c1 -m 64 -smp 2 -drive file=/app/vm/images3/c1.img,if=virtio,media=disk -vnc :0 -daemonize -net nic,model=e1000,macaddr=52:54:00:00:00:10 -net tap,script=/etc/qemu-ifup,會發(fā)現(xiàn)虛擬機(jī)地址是172范圍內(nèi)的
六.virsh命令的應(yīng)用
(1)虛擬機(jī)的生成需要依賴于預(yù)定義的xml格式的配置文件
生成工具: virt-manager,virt-install
因此要安裝 yum install virt-install virt-manager
cd /etc/libvirt/qemu/——查看xml格式的配置文件
(2)創(chuàng)建新的虛擬機(jī)雕凹,使用
重新創(chuàng)建一個名為c2的虛擬機(jī)殴俱,方式同之前的方式一樣
此時在/etc/libvirt/qemu/下會有一個c2.xml配置文件
(3)通過已有的.xml文件來生成一個新的虛擬機(jī)
使用virsh命令實(shí)現(xiàn)
首先來介紹virsh命令的使用
list --all
destroy c2:執(zhí)行該命令就可以將c2虛擬機(jī)關(guān)閉
start c2:執(zhí)行start命令就會重新開啟虛擬機(jī)
virsh console c2:直接連到虛擬機(jī)
執(zhí)行ctrl ]就會剝離終端(注意是剝離終端,但是虛擬機(jī)還在運(yùn)行)
(4)開始手動創(chuàng)建xml配置文件
cd /etc/libvirt/qemu
cp c2.xml template.xml
vim template.xml
virsh create template.xml --console 創(chuàng)建并登錄
創(chuàng)建并登錄成功后退出并進(jìn)入virsh中枚抵,執(zhí)行all --list發(fā)現(xiàn)沒有template虛擬機(jī)线欲,因此要將名字改為c3后再加入進(jìn)來
cp template.xml c3.xml
virsh define /etc/libvirt/qemu/c3.xml
再次list --all查看
創(chuàng)建成功,這樣就不需要每次都執(zhí)行qemu-kvm -name等操作來開啟虛擬機(jī)了汽摹,只需要進(jìn)入visrh李丰,執(zhí)行start name 和destroy name來實(shí)現(xiàn)開啟和關(guān)閉命令
(5)其他常用命令介紹
dumpxml c2
save:掛起
suspend:暫停(暫時存儲到內(nèi)存中),如果關(guān)機(jī)內(nèi)容就會丟失
resume:重新運(yùn)行
例:suspend c2
resume c2
使用save命令
開啟另一個終端
virsh console c2
執(zhí)行ping 172.18.0.1,然后ctrl ]退出虛擬機(jī)終端
此時在原終端上執(zhí)行 save c2 /tmp/c2.dump --running——將ping命令的狀態(tài)保存的路徑
之后只要執(zhí)行restore /tmp/c2.dump --running就可以恢復(fù)之前的狀態(tài)
setvcpu——增加虛擬機(jī)數(shù)量
例 setvcpu c2 2逼泣,但是并不是想設(shè)置幾個都可以趴泌,這是和之前的創(chuàng)建時就固定好的,使用setvcpu只是要開啟幾個cpu的意思
dominfo c2
實(shí)現(xiàn)熱插拔設(shè)備的命令操作
在正在運(yùn)行的c2虛擬機(jī)上再加入一個.img的鏡像文件拉庶,打開另一個終端
cd /app/vm/images3
qemu-img create -f qcow2 -o size=20G,preallocation=metada ./test.img
回到之前的終端 執(zhí)行domblklist c2
domblkinfo c2 vda——查看磁盤信息
attach-disk c2 /app/vm/images3/test.img vdb
執(zhí)行detach-disk c2 vdb拆除該磁盤
網(wǎng)卡熱插拔
attach-interface c2 bridge vnet0 --model virto
detach-interface bridge --mac——根據(jù)指定的mac地址來進(jìn)行拆除
注意:
hda /app/c1.img #hda時IDE硬盤嗜憔,在這里不支持熱插拔
vda /app/c4.img #注意vda格式的是半虛擬化的支持熱插拔