KVM虛擬化

一、走進雲計算
雲計算:雲計算是一種按使用量付費的模式,這種模式提供可用的、便捷的、按需的網絡訪問, 進入可配置的計算資源共享池(資源包括網絡,服務器,存儲,應用軟件,服務),這些資源能夠被快速提供,只需投入很少的管理工作,或與服務供應商進行很少的交互。

1.1 雲計算的特點和優勢

1)雲計算是一種使用模式

2)雲計算必須通過網絡訪問

3)彈性計算,按需付費

1.2 在雲計算之前的模式或技術
1)IDC託管

2)IDC租用

3)虛擬主機(賣空間的)

4)v1p1s:虛擬專有主機,openvz超賣很坑人的,xen不支持超賣

1.3 相對於雲計算,傳統數據中心面臨的問題
1)資源利用率低(大部分機器cpu所佔比率低於15%)

2)資源分配不合理

舉例:由於某個活動,上線各種服務器,但是並未達到實際效果,導致服務器資源浪費

3)很難實現真正的運維自動化

1.4圖解雲計算的三層服務
基礎設施:計算,存儲,網絡服務
平臺服務:對象存儲,身份認證,運行環境,消息隊列,數據庫服務
應用平臺:監控,內容,合作,通信,財務

二、雲計算與虛擬化
2.1 公有云、私有云和混合雲
公有云(Public Cloud)
通常指第三方提供商爲用戶提供的能夠使用的雲,公有云一般可通過 Internet 使用,可能是免費或成本低廉的,公有云的核心屬性是共享資源服務。這種雲有許多實例,可在當今整個開放的公有網絡中提供服務。例如:aws,阿里雲,青雲,百度雲,騰訊雲。
優點:價格低廉,使用方便
私有云(Private Clouds)
是爲一個客戶單獨使用而構建的,因而提供對數據、安全性和服務質量的最有效控制。該公司擁有基礎設施,並可以控制在此基礎設施上部署應用程序的方式。私有云可部署在企業數據中心的防火牆內,也可以將它們部署在一個安全的主機託管場所,私有云的核心屬性是專有資源。
優點:可控,數據安全(銀行必然使用私有云
混合雲(Hybrid Cloud)
混合雲融合了公有云和私有云,是近年來雲計算的主要模式和發展方向。我們已經知道私企業主要是面向企業用戶,出於安全考慮,企業更願意將數據存放在私有云中,但是同時又希望可以獲得公有云的計算資源,在這種情況下混合雲被越來越多的採用,它將公有云和私有云進行混合和匹配,以獲得最佳的效果,這種個性化的解決方案,達到了既省錢又安全的目的,例如在一次活動中,只需要暫時幾臺機器,在私有云存在的情況,考慮混合雲的使用,是最合理化的。
優點:集合的使用方式更完美,可擴展,更節省
2.2雲計算的層次

SaaS
提供給客戶的服務是運營商運行在雲計算基礎設施上的應用程序,用戶可以在各種設備上通過客戶端界面訪問,如瀏覽器。消費者不需要管理或控制任何雲計算基礎設施,包括網絡、服務器、操作系統、存儲等等;平時使用的郵件服務器,即屬於SaaS服務。
PaaS
提供給消費者的服務是把客戶採用提供的開發語言和工具(例如Java,python, .Net等)開發的或收購的應用程序部署到供應商的雲計算基礎設施上去。客戶不需要管理或控制底層的雲基礎設施,包括網絡、服務器、操作系統、存儲等,但客戶能控制部署的應用程序,也可能控制運行應用程序的託管環境配置;更適合提供給開發人員使用,在這裏也可以使用docker容器技術實現
IaaS
提供給消費者的服務是對所有計算基礎設施的利用,包括處理CPU、內存、存儲、網絡和其它基本的計算資源,用戶能夠部署和運行任意軟件,包括操作系統和應用程序。消費者不管理或控制任何雲計算基礎設施,但能控制操作系統的選擇、存儲空間、部署的應用,也有可能獲得有限制的網絡組件(例如路由器,防火牆、負載均衡器等)的控制。更適合提供給運維人員使用
2.3 虛擬化的優勢
虛擬化可以虛擬出來多個操作系統:每個操作系統之間是相互獨立的,所以每個操作系統上所跑的應用自然是相互不影響的。在這裏用一個經典的例子說明,一臺物理機跑8個tomcat和8個虛擬機上各跑一個tomcat,跑8個tomcat的物理機,如果其中一個tomcat出問題(內存有問題,jvm有問題等),勢必會影響到其他7個tomcat,但是在8個虛擬機上跑分別各跑一個tomcat,他們之間是互不影響的,由於虛擬化一層原因佔用了一些資源,效果並沒有直接一臺物理機跑8個tomcat效果好,但是虛擬機的互相獨立互不影響是更重要的,而且便於管理,每個tomcat實例都會起3個端口(8080:對外服務端口,8009:AJP端口,8005:關閉端口),使用虛擬機之後,就不會擔心多個tomcat端口衝突的情況。
支持異構 :linux系統可以虛擬化windows系統,方便不同場景系統的使用
支持快照功能和克隆等功能:快照功能在某個物理機不知運行什麼,是否正在運行的情況下,如果是一臺虛擬機就好辦了,直接停了該虛擬機,只不過是佔了一些磁盤空間而已。

2.4 虛擬化和雲計算的簡單總結
虛擬化是一種技術,雲計算是通過虛擬化技術實現的一種通過網絡訪問獲取資源,流量,交付的使用模式,兩者並不能相互比較,虛擬化相當於實幹家,而云計算是思想家。

三、虛擬化的分類
3.1 全虛擬化與半虛擬化
全虛擬化
又叫硬件輔助虛擬化技術,最初所使用的虛擬化技術就是全虛擬化(Full Virtualization)技術,它在虛擬機(VM)和硬件之間加了一個軟件層–Hypervisor,或者叫做虛擬機管理程序(VMM)。hypervisor 可以劃分爲兩大類。首先是類型 1,這種 hypervisor 是直接運行在物理硬件之上的。其次是類型 2,這種 hypervisor 運行在另一個操作系統(運行在物理硬件之上)中。類型 1 hypervisor 的一個例子是基於內核的虛擬機(KVM —— 它本身是一個基於操作系統的 hypervisor)。類型 2 hypervisor 包括 QEMU 和 WINE。因爲運行在虛擬機上的操作系統通過Hypervisor來最終分享硬件,所以虛擬機發出的指令需經過Hypervisor捕獲並處理。爲此每個客戶操作系統(Guest OS)所發出的指令都要被翻譯成CPU能識別的指令格式,這裏的客戶操作系統即是運行的虛擬機,所以Hypervisor的工作負荷會很大,因此會佔用一定的資源,所以在性能方面不如裸機。但是運行速度要快於硬件模擬。全虛擬化最大的優點就是運行在虛擬機上的操作系統沒有經過任何修改,唯一的限制就是操作系統必須能夠支持底層的硬件,不過目前的操作系統一般都能支持底層硬件,所以這個限制就變得微不足道了。

半虛擬化
半虛擬化技術是後來纔出現的技術,半虛擬化技術英文是paravirtualization,也叫做準虛擬化技術,現在比較熱門,它就是在全虛擬化的基礎上,把客戶操作系統進行了修改,增加了一個專門的API,這個API可以將客戶操作系統發出的指令進行最優化,即不需要Hypervisor耗費一定的資源進行翻譯操作,因此Hypervisor的工作負擔變得非常的小,因此整體的性能也有很大的提高。不過缺點就是,要修改包含該API的操作系統,但是對於某些不含該API的操作系統(主要是windows)來說,就不行能用這種方法,Xen就是一個典型的半虛擬化的技術。

3.2服務器虛擬化,桌面虛擬化,應用虛擬化
服務器虛擬化
數量少的情況推薦使用ESXI,XenServer
數量大的情況推薦使用KVM,RHEV(並不開源),oVirt,Openstack,Vmvare vshpere
桌面虛擬化
桌面虛擬化依賴於服務器虛擬化,在數據中心的服務器上進行服務器虛擬化,生成大量的獨立的桌面操作系統(虛擬機或者虛擬桌面),同時根據專有的虛擬桌面協議發送給終端設備。用戶終端通過以太網登陸到虛擬主機上,只需要記住用戶名和密碼及網關信息,即可隨時隨地的通過網絡訪問自己的桌面系統,從而實現單機多用戶。多用於IP外包,呼叫中心,銀行辦公、移動桌面。
應用虛擬化
技術原理是基於應用/服務器計算A/S架構,採用類似虛擬終端的技術,把應用程序的人機交互邏輯(應用程序界面、鍵盤及鼠標的操作、音頻輸入輸出、讀卡器、打印輸出等)與計算邏輯隔離開來。在用戶訪問一個服務器虛擬化後的應用時,用戶計算機只需要把人機交互邏輯傳送到服務器端,服務器端爲用戶開設獨立的會話空間,應用程序的計算邏輯在這個會話空間中運行,把變化後的人機交互邏輯傳送給客戶端,並且在客戶端相應設備展示出來,從而使用戶獲得如同運行本地應用程序一樣的訪問感受。
3)硬件虛擬化和軟件虛擬化

四、虛擬化之KVM
4.1kvm的虛擬化特性
1)嵌入到linxu正式kernel(提高了兼容性)
2)代碼級資源調用(提高性能)
3)虛擬機就是一個進程(內存易於管理)
4)直接支持NUMA技術(提高擴展性)
5)雖然被Redhat收購了,但是依然保持着開源發展模式,社區活躍
6)更好的商業支持及服務保障
7)Centos7較Centos6默認支持cpu熱添加,內存的熱添加,大頁內存默認都是開啓的

4.2 支持虛擬化的條件
inter的cpu:vmx
AMD的cpu:svm
本文使用的是vmvare,需要開啓如下兩個條件即可,如果是物理機,需要在bios裏面設置,默認都是開啓狀態。

在cpuinfo中可以查看具體的支持虛擬化的信息

[root@chuck~]`# grep -E "svm|vmx" /proc/cpuinfo
4.3 kvm安裝實戰
安裝kvm
[root@chuck~]# yum install qemu-kvm qemu-kvm-tools virt-manager libvirt -y
kvm: linux內核的一個模塊,模塊不需要安裝,只需要加載
qemu:虛擬化軟件,可以虛擬不同的CPU,支持異構(x86的架構可以虛擬化出不是x86架構的)
qemu-kvm:用戶態管理kvm,網卡,聲卡,PCI設備等都是qemu來管理的

創建一個虛擬磁盤,-f 指定格式,路徑是/opt/CentOS-7.1-x86_64.raw,大小爲10G
[root@chuck opt]# qemu-img create -f raw /opt/CentOS-7.1-x86_64.raw 10G Formatting /opt/CentOS-7.1-x86_64.raw', fmt =raw size=10737418240
顯示內核中kvm的狀態
[root@chuck opt]``# lsmod|grep kvm
kvm_intel 148081 0
kvm 461126 1 kvm_intel
啓動libvirt,查看狀態,關鍵字:active

4.4 開始裝一臺虛擬機
在vmvare上掛載一個鏡像

導入到宿主機中,當然時間可能較長
[root@localhost opt]# dd if=/dev/cdrom of=/opt/CentOS-7.1-x86_64.iso
[root@localhost opt]``# ls /opt/
CentOS-7.1-x86_64.iso CentOS-7.1-x86_64.raw rh
使用命令創建一臺虛擬機
首先學virt-install命令,在這裏使用–help查看,並且只學習重要的,其他的稍後會有提供
virt-install –help
-n(Name):指定虛擬機的名稱
–memory(–raw):指定內存大小
–cpu:指定cpu的核數(默認爲1)
–cdrom:指定鏡像
–disk:指定磁盤路徑(即上文創建的虛擬磁盤)
–virt-type:指定虛擬機類型(kvm,qemu,xen)
–network:指定網絡類型
執行創建虛擬機命令
[root@chuck ~]# virt-install --name CentOS-7.1-x86_64 --virt-type kvm --ram 1024 --cdrom=/opt/CentOS-7.1-x86 --cdrom=/opt/CentOS-7.1-x86_64.iso --disk path=/opt/CentOS-7.1-x86_64.raw --nehics vnc,listen=0.0.0.0 --notwork network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
4.5 虛擬機基本操作學習
生成kvm虛擬機:virt-install
查看在運行的虛擬機:virsh list
查看所有虛擬機:virsh list –all
查看kvm虛擬機配置文件:virsh dumpxml name
啓動kvm虛擬機:virsh start name
正常關機:virsh shutdown name
非正常關機(相當於物理機直接拔掉電源):virsh destroy name
刪除:virsh undefine name(徹底刪除,找不回來了,如果想找回來,需要備份/etc/libvirt/qemu的xml文件)
根據配置文件定義虛擬機:virsh define file-name.xml
掛起,終止:virsh suspend name
恢復掛起狀態:virsh resumed name

啓動剛纔創建的虛擬機
[root@chuck ~]# virsh start CentOS-7.1-x86_64
Domain CentOS-7.1-x86_64 started
4.6 編輯kvm的xml文件,更改虛擬機CPU配置
配置虛擬機的cpu,兩種方式(啓動的時候指定核數,更改xml)
第一種方法:爲了實現cpu的熱添加,就需要更改cpu的最大值,當然熱添加的個數不能超過最大值
[root@chuck ~]# virsh edit CentOS-7.1-x86_64
<vcpu placement='auto'current="1">4</vcpu> 當前爲1,自動擴容,最大爲4
重啓虛擬機
[root@chuck ~]# virsh shutdown CentOS-7.1-x86_64
Domain CentOS-7.1-x86_64 is being shutdown
[root@chuck ~]# virsh start CentOS-7.1-x86_64
Domain CentOS-7.1-x86_64 started
登錄虛擬機上,查看cpu信息,確認cpu的個數,下面開始進行cpu熱添加

cpu的熱添加(cpu只支持熱添加,不支持熱減少)
[root@chuck ~]# virsh setvcpus CentOS-7.1-x86_64 2 --live
再到虛擬機中查看cpu信息

kvm版本較高,並不需要echo “1”到/sys/devices/system/cpu/cpu1/online 進行激活,自動可以激活。
[root@chuck ~]# cat /sys/devices/system/cpu/cpu1/online
1
第二種方法:安裝的時候指定
virt-install –vcpus 5 –vcpus 5,maxcpus=10,cpuset=1-4,6,8 –vcpus sockets=2,cores=4,thread=2
4.7 編輯kvm的xml文件,更改虛擬機內存配置
內存的設置擁有一個“氣球(balloon)機制”,可以增大減少,但是也要設置一個最大值,默認並沒有設置最大值,也可以在安裝的時候指定,這裏不再重複此方法
[root@chuck ~]# virsh edit CentOS-7.1-x86_64
<memory unit='KiB'>4194304</memory>把最大內存改爲4G
<currentMemory unit='KiB'>1048576</currentMemory>當前內存爲1G
重啓虛擬機並查看當前狀態的內存使用情況
[root@chuck ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd info balloon
balloon: actual=1024
對內存進行熱添加並查看
[root@chuck ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd balloon
unexpected end of expression
[root@chuck ~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd info balloon
balloon: actual=2000
更改虛擬機中存儲,硬盤設置(不建議在生產環境使用硬盤的擴大收縮模式,很容易產生故障)
[root@chuck ~]# qemu-img --help |grep -i "formats:"
Supported formats: vvfat vpc vmdk vhdx vdi sheepdog rbd raw host_cdrom host_floppy host_device file qed qcow2 qcow parallels nbd iscsi gluster dmg cloop bochs blkverify blkdebug
從結果看出,kvm支持很多種硬盤格式
硬盤格式總體上分爲兩種:1爲全鏡像格式,2爲稀疏格式
全鏡像格式(典型代表raw格式),其特點:設置多大就是多大,寫入速度快,方便的轉換爲其他格式,性能最優,但是佔用空間大
稀疏模式(典型代表qcow2格式),其特點:支持壓縮,快照,鏡像,更小的存儲空間(即用多少佔多少)
硬盤格式都可以通過qemu-img管理,詳情qemu-img –help
4.8 編輯kvm的xml文件,更改虛擬機網橋連接配置
默認情況是NAT情況,但是在生產情況,使用更多的是橋接模式,更改虛擬機爲網橋模式,原理圖如下,網橋的基本原理就是創建一個橋接接口br0,在物理網卡和虛擬網絡接口之間傳遞數據

修改eth0(這裏Centos7的eth0在裝機的時候就指定,不需要特意指定了)
添加一個網橋並查看
[root@chuck ~]# brctl addbr br0
把eth0加入網橋,使用橋接模式,給br設置ip,添加路由網關,關閉防火牆
[root@chuck ~]# brctl addif br0 eth0 && ip addr del dev eth0 10.0.0.123/24 && ifconfig br0 10.0.0.123/24 up && route add default gw 10.0.0.2 && iptables -F
編輯虛擬機的網絡配置使用br0網橋模式
[root@chuck ~]# virsh edit CentOS-7.1-x86_64
<interface type="bridge"> <!--虛擬機網絡連接方式-->
<source bridge="br0" /> <!-- 當前主機網橋的名稱-->
<mac address="00:16:e4:9a:b3:6a" /> <!--爲虛擬機分配mac地址,務必唯一,如果是dhcp獲得同樣ip,引起衝突-->
</interface>
重啓虛擬機,網橋模式生效,此時使用crt便可以鏈接到所創建的虛擬機了,在vmvare機器上使用ifconfig查看詳情
[root@chuck ~]# ifconfig

五、KVM的優化
5.1 cpu的優化
inter的cpu的運行級別,按權限級別高低Ring3->Ring2->Ring1->Ring0,(Ring2和Ring1暫時沒什麼卵用)Ring3爲用戶態,Ring0爲內核態

Ring3的用戶態是沒有權限管理硬件的,需要切換到內核態Ring0,這樣的切換(系統調用)稱之爲上下文切換,物理機到虛擬機多次的上下文切換,勢必會導致性能出現問題。對於全虛擬化,inter實現了技術VT-x,在cpu硬件上實現了加速轉換,CentOS7默認是不需要開啓的。
cpu的緩存綁定cpu的優化
[root@chuck ~]# lscpu|grep cache
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
L1 L2 L3 三級緩存和CPU綁定
L1是靜態緩存,造價高,L2,L3是動態緩存,通過脈衝的方式寫入0和1,造價較低。cache解決了cpu處理快,內存處理慢的問題,類似於memcaced和數據庫。如果cpu調度器把進程隨便調度到其他cpu上,而不是當前L1,L2,L3的緩存cpu上,緩存就不生效了,就會產生miss,爲了減少cache miss,需要把KVM進程綁定到固定的cpu上,可以使用taskset把某一個進程綁定(cpu親和力綁定,可以提高20%的性能)在某一個cpu上,例如:taskset -cp 1 25718(1指的是cpu1,也可以綁定到多個cpu上,25718是指的pid).
cpu綁定的優點:提高性能,20%以上
cpu綁定的缺點:不方便遷移,靈活性差
5.2內存的優化
內存尋址:宿主機虛擬內存 -> 宿主機物理內存
虛擬機的虛擬內存 -> 虛擬機的物理內存
以前VMM通過採用影子列表解決內存轉換的問題,影子頁表是一種比較成熟的純軟件的內存虛擬化方式,但影子頁表固有的侷限性,影響了VMM的性能,例如,客戶機中有多個CPU,多個虛擬CPU之間同步頁面數據將導致影子頁表更新次數幅度增加,測試頁表將帶來異常嚴重的性能損失。如下圖爲影子頁表的原理圖

在此之際,Inter在最新的Core I7系列處理器上集成了EPT技術(對應AMD的爲RVI技術),以硬件輔助的方式完成客戶物理內存到機器物理內存的轉換,完成內存虛擬化,並以有效的方式彌補了影子頁表的缺陷,該技術默認是開啓的,如下圖爲EPT技術的原理

KSM內存合併
宿主機上默認會開啓ksmd進程,該進程作爲內核中的守護進程存在,它定期執行頁面掃描,識別副本頁面併合並副本,釋放這些頁面以供它用,CentOS7默認是開啓的
[root@chuck ~]# ps aux|grep ksmd|grep -v grep
root 286 0.0 0.0 0 0 ? SN 12:32 0:00 [ksmd]
大頁內存,CentOS7默認開啓的
[root@chuck ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@chuck ~]# ps aux |grep khugepage|grep -v grep
root 287 0.2 0.0 0 0 ? SN 12:32 0:21 [khugepaged]
Linux平臺默認的內存頁面大小都是4K,HugePage進程會將默認的的每個內存頁面可以調整爲2M。

5.3 磁盤IO的優化
IO調度算法,也叫電梯算法
① Noop Scheduler:簡單的FIFO隊列,最簡單的調度算法,由於會產生讀IO的阻塞,一般使用在SSD硬盤,此時不需要調度,IO效果非常好
② Anticipatory IO Scheduler(as scheduler)適合大數據順序順序存儲的文件服務器,如ftp server和web server,不適合數據庫環境,DB服務器不要使用這種算法。
③ Deadline Schedler:按照截止時間的調度算法,爲了防止出現讀取被餓死的現象,按照截止時間進行調整,默認的是讀期限短於寫期限,就不會產生餓死的狀況,一般應用在數據庫
④ Complete Fair Queueing Schedule:完全公平的排隊的IO調度算法,保證每個進程相對特別公平的使用IO
查看本機Centos7默認所支持的調度算法
[root@chuck ~]# dmesg|grep -i "scheduler"
[ 11.312549] io scheduler noop registered
[ 11.312555] io scheduler deadline registered (default)
[ 11.312606] io scheduler cfq registered
臨時更改某個磁盤的IO調度算法,將deadling模式改爲cfq模式
[root@chuck ~]# cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
[root@chuck ~]# echo cfq >/sys/block/sda/queue/scheduler
[root@chuck ~]# cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
使更改的IO調度算法永久生效,需要更改內核參數
[root@chuck ~]# vim /boot/grub/menu.lst
kernel /boot/vmlinuz-3.10.0-229.el7 ro root=LABEL=/ elevator=deadline rhgb quiet
5.4 cache的優化
關於write through和write back,默認write through即可

Write-back
在這種策略下,當數據被寫到raid卡的cache中,控制器就向IO調度器返回了寫操作完成信號; 雙刃劍,它雖然帶來了IO性能的提升,但是隨之而來的風險:因爲cache是ROM,假設服務器突然斷電,則cache中的數據可能丟失; 爲了解決這個問題,raid卡加加裝一塊鋰電池(BBU),即當服務器斷電時,能把cache中的數據刷到磁盤上;同樣的道理,BBU又成爲一個風險點,因爲鋰電池需要保證始終有足夠的電量來保證能將cache中的數據寫到磁盤上,raid卡會加入一個BBU的管理策略,learn cycle(充放電週期,一般有30/90天,讓電池充放電一次,持續約6小時),那麼這6小時又稱爲一個風險點;所以raid卡又會增加一個策略:No WB when bad bbu,即當BBU壞掉,或者BBU正在充放電時,禁用write-back,此時Write policy就會變成:write-through。

Write through
只有當數據被寫到物理磁盤中,控制器才向IO調度器返回了寫操作完成信號; 這種策略以犧牲IO性能,來保證數據安全性,淘寶這邊的策略:因爲Write-Through的io性能無法滿足業務的需求,所以我們這邊會採用另一個模式:WB when bad bbu,即不管bbu狀態是否正常,我們都會採用write-back,那數據安全怎麼辦?服務器異常斷電的情況,在我們這邊概率極低;即便很不幸的我們IDC局部斷電了,我們也有主備模式來保證數據的相對安全;我們會監控BBU的狀態,一旦發生了BBU failed,我們會將安排停機更換

六、創建虛擬機鏡像
6.1 虛擬磁盤及鏡像
由於在一開始創建了虛擬磁盤,並命名爲CentOS-7.1-x86_64.raw,這就是虛擬機的鏡像嘍。

[root@chuck ~]# cd /opt/
[root@chuck opt]# ls
CentOS-7.1-x86_64.iso CentOS-7.1-x86_64.raw rh
6.2 鏡像製作原則
分區的時候,只分一個/根分區,並不需要swap分區,由於虛擬機的磁盤性能就不好,如果設置了swap分區,當swap工作的時候,性能會更差。例如阿里雲主機,就沒有交換分區。
鏡像製作需要刪除網卡(eth0)中的UUID,如果有udev(/etc/udev/rules.d/70-persistent-ipoib.rules)的規則也要刪除
關閉selinux,關閉iptables
安裝基礎軟件的包:net-tools lrzsz screen tree vim wget

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章