最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

虛擬化技術(shù)概述 虛擬機(jī)安裝與管理手冊(cè)

 更新時(shí)間:2016年10月27日 16:13:35   作者:No_red  
這篇文章主要為大家詳細(xì)介紹了虛擬化技術(shù)原理,如何安裝與管理虛擬機(jī)virt-manger,virsh等,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

概述:虛擬化技術(shù)的介紹(kvm,qemu),虛擬機(jī)的安裝,虛擬機(jī)的管理(virt-manger,virsh等)。

1.為什么要有虛擬化技術(shù)?

如果你的主要操作系統(tǒng)是windows但是又需要在Linux上工作,像VMware(需要付費(fèi)。。。)或者virtualbox一定是你的首選,這樣你就可以在兩個(gè)操作系統(tǒng)間隨意切換了,除了這其實(shí)我們還有解除了很多虛擬化技術(shù);比如虛擬光驅(qū),我們完全不需要真正的光驅(qū)也可以使用光盤鏡像,這些都是我們?nèi)粘=佑|到的,但并不是虛擬化技術(shù)的全部,現(xiàn)在比較熱門的docker容器也是一種虛擬化技術(shù)。

在企業(yè)中可以將同一臺(tái)機(jī)器的資源分割,管理員可以針對(duì)不同的客戶群設(shè)置不同的虛擬機(jī),隔離出不同的區(qū)塊,以進(jìn)行系統(tǒng)升級(jí)和維護(hù),而完全不影響終端使用者的作業(yè)。 資訊管理人員可以建置一部商用暨個(gè)人用的桌上型電腦系統(tǒng),有效隔離軟體的載入和病毒的攻擊;或者建置一部能夠執(zhí)行不同作業(yè)系統(tǒng)和軟體的電腦,以因應(yīng)不同的需求或支援舊版軟體。 可見(jiàn)在企業(yè)中虛擬化技術(shù)有很廣泛的應(yīng)用。

說(shuō)了這么多,先來(lái)看看你的計(jì)算機(jī)是否支持虛擬化,打開終端鍵入grep --color -E "vmx|svm" /proc/cpuinfo

如果有信息顯示那么恭喜你,你可以安裝虛擬化軟件了


虛擬化軟件的安裝

yum install qemu-kvm qemu-img
yum install virt-manager libvirt libvirt-python python-virtinst libvirt-client

2.虛擬機(jī)的安裝

和我們最友好也最簡(jiǎn)單的虛擬化技術(shù)就是虛擬機(jī)了,這里簡(jiǎn)單介紹虛擬機(jī)的安裝。

2.1)圖形化安裝

在系統(tǒng)工具中找到Virtual Machine Manager或者在終端輸入virt-manager打開這個(gè)虛擬機(jī)圖形管理窗口,在畫紅圈處單機(jī)右鍵選擇NEW可以進(jìn)入虛擬創(chuàng)建


進(jìn)入這個(gè)界面選擇第一個(gè)選項(xiàng),用本地的媒體安裝

  

改圖第二個(gè)選項(xiàng)為你的磁盤鏡像的路徑,選好后Forward


在這里選擇你虛擬機(jī)的內(nèi)存大小


這里選擇硬盤的大小


這里選擇虛擬機(jī)的名字,這個(gè)名字是我們識(shí)別虛擬機(jī)的一個(gè)標(biāo)志


這些點(diǎn)完后終于來(lái)到了裝機(jī)界面,這里有兩個(gè)選項(xiàng),第一個(gè)選項(xiàng)是直接安裝redhat7.1,第二個(gè)選項(xiàng)是測(cè)試一下這個(gè)鏡像再安裝。


選擇裝系統(tǒng)時(shí)使用的語(yǔ)言(為了繼續(xù)強(qiáng)調(diào)英語(yǔ)的重要性,我選擇了英語(yǔ)。。。),是安裝系統(tǒng)時(shí)的語(yǔ)言不是系統(tǒng)本身的!


安裝系統(tǒng)的一個(gè)主界面按照上到下,左到右的順序,分別是時(shí)區(qū)的選擇(上海),鍵盤類型的選擇(美式鍵盤),系統(tǒng)的語(yǔ)系支持(把中文加上,否則遇到中文時(shí)會(huì)出現(xiàn)亂碼),安裝的鏡像源是什么(本地的磁盤鏡像),軟件包的選擇(為了快速我選擇了最小安裝),安裝到哪個(gè)盤上和磁盤的分區(qū)(默認(rèn)的磁盤分區(qū)和我自己分的沒(méi)什么區(qū)別。。。一般是/boot 200MB,swap 為內(nèi)存的2倍吧,剩下的全給/),Kdump 是一種基于 kexec 的 Linux 內(nèi)核崩潰捕獲機(jī)制,將 kernel 崩潰前的內(nèi)存鏡像保存,程序員通過(guò)分析該文件找出 kernel 崩潰的原因,從而進(jìn)行系統(tǒng)改進(jìn)。最后是安裝過(guò)程的網(wǎng)絡(luò)設(shè)置(我們選擇不設(shè)置)。


一切設(shè)置好后我們進(jìn)入安裝的進(jìn)度條界面,等進(jìn)度條讀完,即可重啟進(jìn)入這個(gè)新鮮的redhat。


2.2)命令安裝虛擬機(jī)

在Linux中一切皆是命令安裝虛擬機(jī)也可以使用命令而且非常方便

[root@foundation3 ~]# virt-install --name mo1 --ram 1024 --file /var/lib/li 
bvirt/images/mo1.img --cdrom /root/Desktop/rhel-server-7.1-x86_64-dvd.iso - 
-file-size 8 
WARNING No operating system detected, VM performance may suffer. Specify an OS 
with --os-variant for optimal results. 
WARNING CDROM media does not print to the text console by default, so you likel 
y will not see text install output. You might want to use --location.See the man 
 page for examples of using --location with CDROM media 
 
Starting install... 
Allocating 'mo1.img'         | 8.0 GB  00:00 
Creating domain...         | 0 B  00:00 
Connected to domain mo1 

這其中--name選項(xiàng)是確定虛擬機(jī)的名字,--ram是虛擬機(jī)的內(nèi)存,--file為你將虛擬機(jī)的磁盤文件存儲(chǔ)路徑,--cdrom是你的鏡像文件路徑,--file-size是虛擬機(jī)的磁盤大小。鍵入命令后即可進(jìn)入安裝系統(tǒng)的界面,在上一步驟已經(jīng)介紹完了。

3)虛擬機(jī)的管理

在介紹虛擬機(jī)管理命令之前我們先介紹下創(chuàng)建完虛擬機(jī)并安裝完系統(tǒng)后生成了哪些文件,或者說(shuō)虛擬機(jī)對(duì)于我們真機(jī)到底是個(gè)啥?

[root@foundation3 ~]# ls /etc/libvirt/qemu /var/lib/libvirt/images/ 
/etc/libvirt/qemu: 
desktop.xml <span style="color:#ff0000;">mo.xml</span> networks server.xml 
 
/var/lib/libvirt/images/: 
mo1.img    rh124-desktop-vda.qcow2 rh124-server-vda.ovl rh124-server.xml 
<span style="color:#ff0000;">mo.img</span>     rh124-desktop-vdb.ovl rh124-server-vda.qcow2 test.sh 
mo_shot.qcow2   rh124-desktop-vdb.qcow2 rh124-server-vdb.ovl vm1.qcow2 
rh124-desktop-vda.ovl rh124-desktop.xml  rh124-server-vdb.qcow2 

上面輸出的結(jié)果中紅色字處就是我們生成的文件,總共兩個(gè)一個(gè)xml文件和一個(gè)硬盤文件。xml文件可以隨意刪掉,不會(huì)影響虛擬機(jī),但是如果刪掉他我們不能再virt-manager(虛擬機(jī)圖形管理工具上找到他),不過(guò)我們有方法恢復(fù);硬盤文件如果刪掉的話那你的虛擬機(jī)也就無(wú)法使用了。

virt-manager ##開啟圖形管理工具
virt-viewer vmname 
##顯示以vmname為名字的虛擬機(jī),當(dāng)我們開啟虛擬機(jī)時(shí)默認(rèn)不會(huì),將他顯示在前臺(tái)而只是running狀態(tài),如果我們要將他顯示出來(lái)就要鍵入上面這條命令

virsh list ##列出正在運(yùn)行的虛擬機(jī)(在默認(rèn)情況下,需要root用戶才可以查看)

[root@foundation3 ~]# virsh list 
 Id Name       State 
---------------------------------------------------- 

表示我沒(méi)有虛擬機(jī)在運(yùn)行,但是如果我不是root用戶的話也會(huì)顯示如上圖輸出

[root@foundation3 ~]# virsh start mo 
Domain mo started 
 
[root@foundation3 ~]# virsh list 
 Id Name       State 
---------------------------------------------------- 
 9  mo        running 
 
[root@foundation3 ~]# su - mo 
Last login: Wed Oct 19 10:48:59 CST 2016 on pts/3 
[mo@foundation3 ~]$ virsh list 
 Id Name       State 
---------------------------------------------------- 

所以一定要切換到root用戶使用此命令否則是無(wú)效的,但是具體為什么只有root用戶可以查看或其他設(shè)定都在配置文件中規(guī)定著(/etc/libvirt/qemu.conf),說(shuō)到這里我想到了一個(gè)我剛開始安裝虛擬機(jī)出現(xiàn)的錯(cuò)誤,如下:

[root@foundation3 ~]# virt-install --name zhao --ram 1024 --file /var/lib/libvirt/images/zhao.img --file-size 8 --cdrom /root/Desktop/rhel-server-7.1-x86_64-dvd.iso 
WARNING No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results. 
WARNING CDROM media does not print to the text console by default, so you likely will not see text install output. You might want to use --location.See the man page for examples of using --location with CDROM media 
 
Starting install... 
Allocating 'zhao.img'            | 8.0 GB 00:00:00  
<span style="color:#ff0000;">ERROR </span> internal error: process exited while connecting to monitor: 2016-10-19T03:00:25.552714Z qemu-kvm: -drive file=/root/Desktop/rhel-server-7.1-x86_64-dvd.iso,if=none,id=drive-ide0-0-1,readonly=on,format=raw: <span style="color:#ff0000;">could not open disk image /root/Desktop/rhel-server-7.1-x86_64-dvd.iso: Could not open file: Permission denied</span> 
 
Domain installation does not appear to have been successful. 
If it was, you can restart your domain by running: 
 virsh --connect qemu:///system start zhao 
otherwise, please restart your installation. 

根據(jù)上面紅字的報(bào)錯(cuò),他竟然說(shuō)我沒(méi)權(quán)限,我是root好不好??!我很是生氣,作為root用戶還要看到“Permission denied“的侮辱,我先查看了下鏡像文件的權(quán)限,如下:

[root@foundation3 ~]# ll /root/Desktop/rhel-server-7.1-x86_64-dvd.iso 
-rw-r--r-- 1 qemu qemu 3890216960 Oct 17 22:15 /root/Desktop/rhel-server-7.1-x86_64-dvd.iso 

顯示結(jié)果是我有對(duì)他的讀寫權(quán)限,所以權(quán)限沒(méi)有問(wèn)題,經(jīng)過(guò)仔細(xì)的查閱資料,我找到了解決方法,原來(lái)對(duì)虛擬機(jī)操作的權(quán)限還在一個(gè)他的配置文件中規(guī)定著!

<span style="color:#ff0000;">#user = "root"</span> 
 
# The group for QEMU processes run by the system instance. It can be 
# specified in a similar way to user. 
<span style="color:#ff0000;">#group = "root"</span> 
 
# Whether libvirt should dynamically change file ownership 
# to match the configured user/group above. Defaults to 1. 
# Set to 0 to disable file ownership changes. 
<span style="color:#ff0000;">#dynamic_ownership =0 </span> 

將紅色處的#去掉我們的root就有權(quán)限創(chuàng)建虛擬機(jī)啦。

virsh list --all  ##列出所有虛擬機(jī)(同樣也需要root用戶)

[root@foundation3 ~]# virsh list --all 
 Id Name       State 
---------------------------------------------------- 
 -  desktop      shut off 
 -  mo        shut off 
 -  server       shut off

virsh start vmname ##開啟名為vmname的虛擬機(jī)
virsh shutdown vmname ##正常關(guān)閉vmname虛擬機(jī)
virsh destroy vmname ##強(qiáng)行結(jié)束vmname虛擬機(jī)
virsh create vmname.xml ##指定vmname虛擬機(jī)前端文件(*.xml),并顯示在圖形管理工具上,相當(dāng)于臨時(shí)恢復(fù)虛擬機(jī)前端引導(dǎo)選項(xiàng)
virsh define vmname.xml ##永久恢復(fù)虛擬機(jī)前端引導(dǎo)項(xiàng)

virsh undefine vmname.xml ##刪除虛擬機(jī)前端管理,但不會(huì)刪除硬盤鏡像。

下面仔細(xì)說(shuō)明下這個(gè)前段引導(dǎo)的作用和一些操作:

虛擬機(jī)圖形管理界面和virsh list --all顯示出一樣的結(jié)果

我們可以對(duì)”mo“這臺(tái)虛擬機(jī)單機(jī)右鍵選擇Delete,刪除前端文件。


也可以通過(guò) virsh undefine mo命令刪除它的前端文件。這個(gè)命令的原理是刪除掉/etc/libvirt/qemu/mo.xml,所以只要提前備份這個(gè)文件即可恢復(fù)前端文件。然后使用virsh define */mo.xml就可恢復(fù)前端文件。


但是我沒(méi)有備份。就只能通過(guò)重新加載鏡像來(lái)生成mo.xml文件了,其實(shí)也非常簡(jiǎn)單。

[root@foundation3 ~]# virt-install --name mo --ram 1024 --disk /var/lib/libvirt/images/mo.img

是不是和剛開始創(chuàng)建虛擬機(jī)的命令是一樣的只不過(guò)參數(shù)有些變化,這里我們相當(dāng)于在電影中將一個(gè)特工的身份抹掉,再生成一個(gè)身份,所以只用指定它的新名字(可與和以前一樣)和真身是什么(就是硬盤文件)即可,而且速度非???。這樣就重新生成好了前端文件。


4)虛擬機(jī)快照

使用過(guò)vmware的同學(xué)都知道虛擬機(jī)有一個(gè)快照功能非常好用,也是我們能在虛擬機(jī)上隨便折騰的基礎(chǔ)保證


紅線處就是拍攝快照的地方。我們的kvm呢,當(dāng)然也有這個(gè)功能了。如下

[root@foundation3 ~]# qemu-img create -f qcow2 -b /var/lib//libvirt/images/mo.img /var/lib/libvirt/images/test.qcow2 
Formatting '/var/lib/libvirt/images/test.qcow2', fmt=qcow2 size=8589934592 backing_file='/var/lib//libvirt/images/mo.img' encryption=off cluster_size=65536 lazy_refcounts=off 
[root@foundation3 ~]# ls /var/lib/libvirt/images/ 
mo1.img     rh124-desktop-vdb.ovl rh124-server-vdb.ovl vm1.qcow2 
mo.img     rh124-desktop-vdb.qcow2 rh124-server-vdb.qcow2 zhao.img 
mo_shot.qcow2   rh124-desktop.xml  rh124-server.xml 
rh124-desktop-vda.ovl rh124-server-vda.ovl  <span style="color:#ff0000;">test.qcow2</span> 
rh124-desktop-vda.qcow2 rh124-server-vda.qcow2 test.sh 
[root@foundation3 ~]# 

紅色部分就是我們創(chuàng)建的快照,接下來(lái)我們使用上面提到的

[root@foundation3 ~]# virt-install --name mo --ram 1024 --disk /var/lib/libvirt/images/test.qcow2 
就可以使用快照了,如果快照被玩壞了,再重新建立一個(gè)快照,仍然和原虛擬機(jī)是一樣的,但是切記,虛擬機(jī)真正的磁盤文件不可刪除或者玩壞,因?yàn)槟菢泳蜎](méi)法恢復(fù)了。

總結(jié)一下kvm的快照其實(shí)就是以原虛擬機(jī)磁盤文件為基礎(chǔ),拍攝快照,每次拍攝的快照系統(tǒng)與原虛擬機(jī)一模一樣,所以對(duì)于原虛擬機(jī)有什么更改,快照也會(huì)有相應(yīng)的更改。

由于自帶的管理命令太過(guò)強(qiáng)大,但是有點(diǎn)功能其實(shí)不太需要,但又缺少了諸如直接重置等一鍵簡(jiǎn)單操作,我自己封裝了一個(gè)腳本,來(lái)管理虛擬機(jī),代碼如下:

#!/bin/bash 
create_img() 
{ 
  
 virsh undefine $1 &>/dev/null 
 qemu-img create -f qcow2 -b /var/lib/libvirt/images/$1.img /var/lib/libvirt/images/$1_shot.qcow2 &>/dev/null 
 virt-install --name $1 --ram 1024 --disk /var/lib/libvirt/images/$1_shot.qcow2 --import --noautoconsole &>/dev/null 
 virsh define /etc/libvirt/qemu/$1.xml &>/dev/null 
} 
delete_img() 
{ 
 virsh undefine $1 &>/dev/null 
 rm -rf /var/lib/libvirt/images/$1_shot.qcow2 &>/dev/null 
} 
check_status() 
{ 
 status=`virsh list --all| sed -n '3,$p'|sed 's/[[:space:]]\+/:/g'|grep $1 |cut -d':' -f4` 
 echo $status 
 if [ $status = "shut" ];then 
  return 0 
 elif [ $status = 'running' ];then 
  return 1 
 fi 
} 
case $1 in 
--start|-s) 
shift 
 
echo "start $1 ..." 
check_status $1 &>/dev/null && virsh start $1 &>/dev/null 
;; 
--view|-v) 
shift 
echo "view $1 ..." 
check_status $1 &> /dev/null || virt-viewer $1 &>/dev/null & 
;; 
--shutdown|-d) 
shift 
echo "shutdown $1 ..." 
check_status $1 &> /dev/null || virsh destroy $1 &>/dev/null & 
;; 
--create|-c) 
shift 
check_status $1 &> /dev/null || virsh destroy $1 
echo "create snapshot for $1 ..." 
create_img $1 
echo "success create snapshot" 
;; 
--reset|-r) 
shift 
check_status &>/dev/null $1 || virsh destroy $1 
delete_img $1 
create_img $1 
;; 
--check|-h) 
shift 
echo $1 `check_status $1` 
;; 
*) 
echo "vmctl <COMMAND> <OPTIONS> " 
echo "" 
echo "open,show,shutdown,reset...Virtual Machine" 
echo -e "--start|-s\topen Virtual Machine\n--view|-v\tshow the Virtual Machine that has been opened" 
echo -e "--shutdown|-d\tclose your Virtual Machine" 
echo -e "--create|-c\tcreate a snapshot for your Virtual Machine" 
echo -e "--reset|-r\treset your Virtual Machine" 
echo -e "--check|-h\tcheck Virtual Machine status running or shut" 
;; 
esac 


以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

新兴县| 巴林左旗| 永年县| 浙江省| 德令哈市| 文安县| 黔江区| 晋中市| 会同县| 镇巴县| 翼城县| 景宁| 铜陵市| 阿瓦提县| 卢氏县| 来宾市| 会泽县| 庆阳市| 太保市| 萨嘎县| 博湖县| 镇坪县| 建水县| 太白县| 泾阳县| 台山市| 三台县| 治多县| 孙吴县| 天柱县| 吉水县| 瓦房店市| 小金县| 景德镇市| 洛扎县| 福安市| 乡宁县| 建瓯市| 秭归县| 香港 | 汽车|