【博文推薦】你不得不知的云計算與虛擬化基礎知識
本文轉自51CTO博客博主徐亮偉的博客,如有任何問題,請進入博主頁面互動討論。 |
1.1云計算概述
云計算是一種按使用量付費的模式,這種模式提供可用的、便捷的、按需的網(wǎng)絡訪問,進入可配置的計算資源共享池(資源包括網(wǎng)絡,服務器,存儲,應用程序,服務),這些資源能夠被快速提供,只需投入很少的管理工作,或與服務供應商進行很少的交互。
在云計算之前的模式和技術
- IDC托管
- IDC租用
- 虛擬主機(賣空間)
- VPS:虛擬專用主機 openvz(通過超賣技術坑人) xen(不支持超賣)
相對云計算,傳統(tǒng)數(shù)據(jù)中心面臨的問題
- 資源利用率低
- 資源分配不合理
- 難以實現(xiàn)真正的自動化運維
云計算特點和優(yōu)勢
- 云計算是一種使用模式,不是一種技術。(通過網(wǎng)絡、彈性擴展、按需付費)
- 云計算使用方法必須通過網(wǎng)絡來訪問。
- 云計算的優(yōu)勢是彈性計算(按需付費)。
1.1.1云計算的特點
- 資源池化
- 無處不在的網(wǎng)絡訪問
- 隨需應變的自助服務
- 可測量的服務
- 快速的伸縮
云計算五大特點,如圖1-1

圖1-1
1.1.2云計算服務模型
云計算服務模型如圖1-2

圖1-2
IaaS 基礎設施即服務
消費者通過Internet 可以從完善的計算機基礎設施獲得服務。這類服務稱為基礎設施即服務?;?Internet 的服務(如存儲和數(shù)據(jù)庫)是 IaaS的一部分。Internet上其他類型的服務包括平臺即服務和軟件即服務。
PaaS 平臺即服務
把服務器平臺作為一種服務提供的商業(yè)模式。而云計算時代相應的服務器平臺或者開發(fā)環(huán)境作為服務進行提供就成為了PaaS。所謂PaaS實際上是指將軟件研發(fā)的平臺作為一種服務,以SaaS的模式提交給用戶。因此,PaaS也是SaaS模式的一種應用。
SaaS 軟件即服務
它是一種通過Internet提供軟件的模式,廠商將應用軟件統(tǒng)一部署在自己的服務器上,客戶可以根據(jù)自己實際需求,通過互聯(lián)網(wǎng)向廠商定購所需的應用軟件服務,按定購的服務多少和時間長短向廠商支付費用,并通過互聯(lián)網(wǎng)獲得廠商提供的服務。用戶不用再購買軟件,而改用向提供商租用基于Web的軟件,來管理企業(yè)經(jīng)營活動,且無需對軟件進行維護,服務提供商會全權管理和維護軟件,軟件廠商在向客戶提供互聯(lián)網(wǎng)應用的同時,也提供軟件的離線操作和本地數(shù)據(jù)存儲,讓用戶隨時隨地都可以使用其定購的軟件和服務。對于許多小型企業(yè)來說,SaaS是采用先進技術的最好途徑,它消除了企業(yè)購買、構建和維護基礎設施和應用程序的需要。
1.1.3云計算部署模型
公有云(Public Cloud)
公有云通常指第三方提供商為用戶提供的能夠使用的云,公有云一般可通過internet使用,可能是免費或成本低廉,公有云的核心屬性是共享資源服務。這種云有許多實例,可在當今整個開放的共有網(wǎng)絡中提供服務。例如:阿里云、騰訊云、青云、百度云、盛大云、迅達云、等等。
私有云(Private Clouds)
私有云是為一個客戶單獨使用而構建的,因而提供對數(shù)據(jù)、安全性和服務質量的最有效控制。該公司擁有基礎設施,并可以控制在此基礎設施上部署應用程序的方式。私有云可部署在企業(yè)數(shù)據(jù)中心防火墻內,也可以將它們部署在一個安全的主句托管場所,私有云的核心屬性是專有資源。
混合云(Hybrid Cloud)
混合云融合了公有云和私有云,是近年來云計算的主要模式和發(fā)展方向。我們已經(jīng)知道私企業(yè)主要是面向企業(yè)用戶,處于安全考慮,企業(yè)更愿意將數(shù)據(jù)存放在私有云中,但是同時又希望可以獲得公有云的計算資源,在這種情況下混合云被越來越多的采用,它將公有云和私有云進行混合匹配,以獲得最佳的效果,這種個性的解決方案,達到二既省錢又安全的目的。
社區(qū)云(Community Cloud)
社區(qū)云是大的公有云范疇內的一個組成部分。是指在一定的地域范圍內,由云計算服務提供商統(tǒng)一提供計算資源、網(wǎng)絡資源、軟件和服務能力所形成的云計算形式。即基于社區(qū)的網(wǎng)絡互連優(yōu)勢和技術易于整合特點,通過區(qū)域內各種計算能力進行統(tǒng)一服務形式的整合,結合社區(qū)內的用戶需求共性,實現(xiàn)面向區(qū)域用戶需求的云計算服務模式。例如:區(qū)域型和行業(yè)型。資源的高效共享。
1.2虛擬化概述
虛擬化,一種具體的技術,用來將物理機虛擬成為多個相互獨立的虛擬機。在一臺計算機上同時運行多個邏輯計算機,每個邏輯計算機可運行不同的操作系統(tǒng),并且應用程序都可以在相互獨立的空間內運行而互不影響,可以實現(xiàn)IT資源的動態(tài)分配、靈活調度、跨域共享,提高IT資源利用率,使IT資源能夠真正成為社會基礎設施,服務于各行各業(yè)中靈活多變的應用需求。從而顯著提高計算機的工作效率。
1.2.1虛擬化的分類
- 全虛擬化
- 半虛擬化
- 平臺虛擬化
- 軟件虛擬化
- 硬件虛擬化(Inter vt-x/EPT) (AMD AMD-v /RVI)
- 桌面虛擬化
- 應用虛擬化
以上各種虛擬化技術,百度百科都能查閱到相關資料。
1.2.2虛擬化的優(yōu)勢
- 虛擬化可以虛擬出來多個操作系統(tǒng),它們之間是相互獨立的,所以每個操作系統(tǒng)上所跑的應用程序是相互不影響的。
- 支持異構,linux系統(tǒng)可以虛擬化windows系統(tǒng),方便不同場景系統(tǒng)的使用。
- 支持快照、克隆、還原等功能。
企業(yè)案例一
公司虛擬機你也不知道能不能停,也不知道跑什么了,然后問產(chǎn)品經(jīng)理他也不知道,有可能有用你放著把。如果這是一臺物理機你看怎么辦,真的很無奈、想改個啥你都不敢該,只能讓他跑在那里。
企業(yè)案例二
公司這臺物理機有沒有用,所有人告訴你,沒事刪把肯定沒有用,然后到店慶的時候,產(chǎn)品經(jīng)理過來了:我們去年店慶做了一個積分抽獎的活動,我花錢買的,我的代碼哪去了,我的服務器呢?服務器早都格式化多少遍了,產(chǎn)品經(jīng)理說那沒辦法,那么趕緊聯(lián)系提供商把,提供商倒閉了。怎么辦,重新做唄。
如果有虛擬機就好辦了,我把虛擬機關了放在那,只要不刪除,是不是永遠都在,哪天用在起來就行了。無非就占點硬盤,分配的時候,可以使用多少分配多少。
1.2.3虛擬化與云計算總結
- 云計算不等于虛擬化,兩者并不能相互比較。
- 云計算是一種資源和使用交互的方式。
- 虛擬化是一種具體的技術。
- 云計算要依賴虛擬化技術來實現(xiàn)的一種通過網(wǎng)絡訪問獲取資源,流量,交付的使用模式。(例如:彈性計算)。
- 虛擬化相當于實干家,而云計算是思想家。
虛擬化企業(yè)安裝實戰(zhàn)
KVM:內核級虛擬化技術(Kernel-based Virtual Machine)
結構簡單,包含兩個部分:
- 設備驅動/dev/kvm, 針對模擬PC硬件的用戶空間組件
- KVM需要CPU中虛擬化功能的支持,只可在具有虛擬化支持的CPU上運行,即具有VT功能的interCPU和具有ADM-V功能的AMD CPU
1.3.1KVM虛擬化特性
- 嵌入到Linux正式Kernel(提高兼容性)
- 代碼級資源調用(提高性能)
- 虛擬機就是一個進程(內存易于管理)
- 直接支持NUMA技術(提高擴展性)
- ------RedHat收購KVM---------
- 保持開源發(fā)展模式
- 更好的商業(yè)支持及服務保障
安裝必備條件
實驗必備條件,必須開啟虛擬機VT-EPT技術,在vmware虛擬機選擇上即可。服務器上默認是開啟狀態(tài)。
- [root@linux-node1~]# egrep '(vmx|svm)' /proc/cpuinfo #如果過濾沒有代表不支持虛擬化
- flags:fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflushdts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmonpebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pnipclmulqdq vmx ssse3 fma cx16 pcid sse4_1sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrandhypervisor lahf_lm abm 3dnowprefetch ida arat epb xsaveopt pln pts dthermtpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseedadx smap
1.3.2安裝KVM虛擬機
- [root@linux-node1~]# cat /etc/redhat-release #查看操作系統(tǒng)版本
- CentOSLinux release 7.1.1503 (Core)
- [root@linux-node1~]# yum install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install –y #安裝KVM
- kvm:linux內核的一個模塊,模塊不需要安裝只需要加載,通過用戶態(tài)程序來管理即可。
- qeum:虛擬化軟件,可以虛擬不同的CPU,支持異構(x86的架構可以虛擬化不是x86架構的)
- qeum-kvm:用戶態(tài)管理kvm,網(wǎng)卡、聲卡、PCI設備等都是需要qemu來管理。
- [root@linux-node1~]# lsmod|grep kvm #查看kvm內核是否被加載
- kvm_intel 148081 0
- kvm 461126 1 kvm_intel
- [root@linux-node1~]# systemctl enable libvirtd.service #libvirtd加入開機啟動
- [root@linux-node1~]# systemctl start libvirtd.service #啟動libvirtd
1.3.3建立一臺KVM虛擬機
首先學習下virsh-install創(chuàng)建虛擬機命令
- --virt-type:指定虛擬機類型(kvm、qemu、xen)
- --name:指定虛擬機的名稱
- --raw:指定內存大小
- --cpu:指定cpu的核數(shù)(默認為1)
- --cdrom:指定鏡像
- --disk:指定磁盤路徑(即上文創(chuàng)建的虛擬磁盤)
- --network:指定網(wǎng)絡類
- [root@linux-node1~]# qemu-img create -f raw /opt/CentOS-7.1-x86_64.raw 10G #創(chuàng)建虛擬磁盤,-f指定格式,路徑/opt/CentOS-7.1-x86_64.raw,大小10G
- [root@linux-node1~]# dd if=/dev/cdrom of=/opt/CentOS-7.1.iso #掛在鏡像,導入至虛擬機
- [root@linux-node1~]# virt-install --name CentOS-7-x86_64 --virt-type kvm --ram 1024--cdrom=/opt/CentOS-7.1.iso --disk path=/opt/CentOS-7.1-x86_64.raw --networknetwork=default --graphics vnc,listen=0.0.0.0 --noautoconsole #創(chuàng)建一臺KVM虛擬機
- Startinginstall...
- Creatingdomain... | 0 B 00:03
- Domaininstallation still in progress. You can reconnect to
- theconsole to complete the installation process.
1.3.4VNC連接KVM虛擬機
打開一個VNC客戶端,輸入192.168.56.111:5900(第一個默認5900,第二個5901,以此類推)連接虛擬機里面建立的KVM虛擬機,安裝CentOS7的過程,此處不在演示如何安裝。

圖1-3
安裝CentOS7,在啟動前修改內核讓網(wǎng)卡為eth0,如圖1-4

圖1-4
1.4KVM日常管理
- [root@linux-node1opt]# virsh start CentOS-7-x86_64 #啟動剛才創(chuàng)建的CentOS7KVM虛擬機
- DomainCentOS-7-x86_64 started
- [root@linux-node1opt]# virsh list #查看KVM虛擬機是否啟動
- Id Name State
- ----------------------------------------------------
- 3 CentOS-7-x86_64 running
1.4.1CPU擴容
- [root@linux-node1opt]# virsh edit CentOS-7-x86_64 #為了實現(xiàn)CPU的熱添加,就需要更改Cpu的最大值,當然熱添加值不能超過最大值
- <vcpuplacement='auto' current="1">4</vcpu> #當前為1,自動擴容最大為4
- [root@linux-node1opt]# virsh shutdown CentOS-7-x86_64 #關閉KVM虛擬機
- DomainCentOS-7-x86_64 is being shutdown
- [root@linux-node1opt]# virsh start CentOS-7-x86_64 #啟動KVM虛擬機
- DomainCentOS-7-x86_64 started
- [root@linux-node1opt]# virsh setvcpus CentOS-7-x86_64 2 --live #熱修改為2個cpu(不知減少),高版本自動激活
- [root@KVM]#grep processor /proc/cpuinfo |wc -l #通過vnc登錄KVM虛擬機查看是否擴容成功
- 2
- 在創(chuàng)建虛擬機時指定cpu
- [root@linux-node1~]# virt-install --help|grep vcpus
- --vcpus VCPUS 為虛擬機配置的 vcpus 數(shù)。例如:
- --vcpus 5
- --vcpus5,maxcpus=10,cpuset=1-4,6,8
- --vcpussockets=2,cores=4,threads=2,
1.4.2內存擴容
內存的設置擁有一個氣球(balloon)機制,可以增大減少,但是也要設置一個最大值,默認并沒有最大值,也可以在安裝時指定。
- [root@linux-node1opt]# virsh edit CentOS-7-x86_64 #為了實現(xiàn)CPU的熱添加,就需要更改Cpu的最大值,當然熱添加值不能超過最大值
- <memoryunit='KiB'>4194304</memory> #修改最大支持內存擴容為4G
- <currentMemoryunit='KiB'>1048576</currentMemory> #當前KVM虛擬機內存為1G
- 重啟虛擬機
- [root@linux-node1opt]# virsh shutdown CentOS-7-x86_64 #關閉KVM虛擬機
- DomainCentOS-7-x86_64 is being shutdown
- [root@linux-node1opt]# virsh start CentOS-7-x86_64 #啟動KVM虛擬機
- DomainCentOS-7-x86_64 started
- [root@linux-node1~]# virsh qemu-monitor-command CentOS-7-x86_64 --hmp --cmd info balloon #查看當前KVM內存大小
- balloon:actual=1024
- [root@linux-node1~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd balloon #熱添加
- unexpected end of expression
- [root@linux-node1~]# virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd info balloon #在次查看
- balloon: actual=2001
1.4.3硬盤管理
更改虛擬機中存儲,硬盤設置(不建議生產(chǎn)環(huán)境使用硬盤的擴大收縮模式,很容易產(chǎn)生故障)
- [root@linux-node1~]# qemu-img --help |grep -i "formats:"
- Supportedformats: vvfat vpc vmdk vhdx vdi ssh sheepdog rbd raw host_cdrom host_floppyhost_device file qed qcow2 qcow parallels nbd iscsi gluster dmg tftp ftps ftphttps http cloop bochs blkverify blkdebug
硬盤格式都可以通過qeum-img管理,具體qemu-img --help
全鏡像格式(代表raw):設置多大就是多大,寫入速度快,方便的轉換為其他格式,性能最優(yōu),但是占用空間大。
稀疏格式(代表qcow2):支持壓縮,快照,鏡像,更小的存儲空間(即用多少占多少)
1.4.4網(wǎng)絡管理
默認情況KVM的網(wǎng)絡是NAT模式,但是在生產(chǎn)情況,用的多的都是網(wǎng)橋模式。
修改eth0(這里CentOS7的eth0在裝機時就指定了,那如果沒指定怎么辦? http://www.xuliangwei.com/xubusi/102.html)
- [root@linux-node1~]# brctl addbr br0 #添加一個網(wǎng)卡
- [root@linux-node1~]# brctl show #查看網(wǎng)卡信息
- bridgename bridge id STP enabled interfaces
- br0 8000.000000000000 no
- virbr0 8000.5254009f0311 yes virbr0-nic
- [root@linux-node1~]# brctl addif br0 eth0 && ip addr del dev eth0 192.168.56.111/24&&ifconfig br0 192.168.56.111/24 up && route add default gw192.168.56.2 && iptables -F #把eth0加入網(wǎng)橋,使用橋接模式,給br設置ip,添加路由網(wǎng)關,關閉防火墻
- [root@linux-node1~]# ifconfig br0 #查看網(wǎng)橋的IP
- br0:flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- inet 192.168.56.111 netmask 255.255.255.0 broadcast 192.168.56.255
- inet6 fe80::20c:29ff:fe5d:cc27 prefixlen 64 scopeid 0x20<link>
- ether 00:0c:29:5d:cc:27 txqueuelen 0 (Ethernet)
- RX packets 4813 bytes 472527 (461.4 KiB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 2705 bytes 510369 (498.4 KiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- [root@linux-node1~]# virsh edit CentOS-7-x86_64 #編輯虛擬機的網(wǎng)絡配置使用br0網(wǎng)橋模式
- <interface type='bridge'> #虛擬機網(wǎng)絡連接方式
- <mac address='52:54:00:22:04:0f'/> #為虛擬機分配MAC地址,務必唯一,如果是dhcp獲得同樣IP會引起沖突
- <source bridge='br0'/> #當前主機網(wǎng)橋名稱
- 重啟虛擬機
- [root@linux-node1opt]# virsh shutdown CentOS-7-x86_64 #關閉KVM虛擬機
- DomainCentOS-7-x86_64 is being shutdown
- [root@linux-node1opt]# virsh start CentOS-7-x86_64 #啟動KVM虛擬機
- DomainCentOS-7-x86_64 started
- #然后配置靜態(tài)IP地址,重啟網(wǎng)卡,即可以通過xshell連接上KVM虛擬機了。
1.5KVM常用管理
- [root@linux-node1~]# virt-install #建立kvm虛擬機
- [root@linux-node1~]# virsh list #查看正在運行的KVM虛擬機
- [root@linux-node1~]# virsh list --all #查看所有KVM虛擬機
- [root@linux-node1~]# virsh start name #啟動KVM虛擬機
- [root@linux-node1~]# virsh shutdown name #正常關閉KVM虛擬機
- [root@linux-node1~]# virsh destroy name #強制關閉KVM虛擬機(類似于直接斷電)
- [root@linux-node1~]# virsh suspend name #掛起KVM虛擬機
- [root@linux-node1~]# virsh resume name #恢復掛起的KVM虛擬機
- [root@linux-node1~]# virsh dumpxml name #查看KVM虛擬機配置文件
- [root@linux-node1~]# virsh edit name #編輯KVM虛擬機的xml配置文件
- [root@linux-node1~]# virsh undefine name #徹底刪除KVM虛擬機,不可逆,如果想找回來,需要備份/etc/libvirt/qemu的xml文件)
1.6KVM性能優(yōu)化
1.6.1CPU優(yōu)化
inter的cpu的運行級別,按權限級別高低Ring3->Ring1->Ring0(Ring2和Ring1暫時用不上)Ring3為用戶態(tài),Ring0為內核態(tài)

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

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

圖1-7
KSM內存合并
宿主機上默認會開啟ksmd進程,該進程作為內核中的守護進程存在,它定期執(zhí)行頁面掃描,識別副本頁面并合并副本,釋放這些頁面以供它用,CentOS7默認是開啟狀態(tài)
- [root@linux-node1~]# ps aux|grep ksmd|grep -v grep
- root 280 0.0 0.0 0 0 ? SN 04:22 0:00 [ksmd]
大頁內存,CentOS7默認開啟的
- [root@linux-node1~]# cat /sys/kernel/mm/transparent_hugepage/enabled
- [always]madvise never
- [root@linux-node1~]# ps aux|grep hugepage|grep -v grep
- root 281 0.0 0.0 0 0 ? SN 04:22 0:03 [khugepaged]
Linux默認的內存頁面大小都是4K,HugePage進程會將默認的每個內存頁面可以調整為2M
1.6.3磁盤IO優(yōu)化
IO調度算法,也叫電梯算法,詳情請看趙班長博客:http://www.unixhot.com/article/4
- Noop Scheduler:簡單的FIFO隊列,最簡單的調度算法,由于會產(chǎn)生讀IO的阻塞,一般使用在SSD硬盤,此時不需要調度,IO效果非常好
- Anticipatory IO Scheduler(asscheduler)適合大數(shù)據(jù)順序順序存儲的文件服務器,如ftp server和web server,不適合數(shù)據(jù)庫環(huán)境,DB服務器不要使用這種算法。
- Deadline Schedler:按照截止時間的調度算法,為了防止出現(xiàn)讀取被餓死的現(xiàn)象,按照截止時間進行調整,默認的是讀期限短于寫期限,就不會產(chǎn)生餓死的狀況,一般應用在數(shù)據(jù)庫
- Complete Fair Queueing Schedule:完全公平的排隊的IO調度算法,保證每個進程相對特別公平的使用IO
- [root@linux-node1~]# dmesg|grep -i "scheduler" #查看本機Centos7默認所支持的調度算法
- [ 1.332147] io scheduler noop registered
- [ 1.332151] io scheduler deadline registered(default)
- [ 1.332190] io scheduler cfq registered
臨時更改某個磁盤的IO調度算法,將deadling模式改為cfq模式
- [root@linux-node1~]# cat /sys/block/sda/queue/scheduler
- noop[deadline] cfq
- [root@linux-node1~]# echo cfq >/sys/block/sda/queue/scheduler
- [root@linux-node1~]# cat /sys/block/sda/queue/scheduler
- noopdeadline [cfq]
- [root@linux-node1~]# vim /boot/grub/menu.lst #使更改的IO調度算法永久生效,需要更改內核參數(shù)
- kernel/boot/vmlinuz-3.10.0-229.el7 ro root=LABEL=/ elevator=deadline rhgb quiet
1.7虛擬化鏡像制作
1.在開始創(chuàng)建過虛擬磁盤,并命名為CentOS-7.1-x86_64.raw,這個是虛擬機鏡像。
- [root@linux-node1~]# ll /opt/
- total5203344
- -rw-r--r-- 1 qemu qemu 4310695936 12月 28 04:46CentOS-7.1.iso
- -rw-r--r--.1 qemu qemu 10737418240 12月 28 08:55CentOS-7.1-x86_64.raw
2. 分區(qū)的時候,只分一個/分區(qū)(不需要swap分區(qū))。
3. 刪除網(wǎng)卡里面{UUID,MAC}
4. 如果有/etc/udev/rules.d/70-persistent-ipoib.rules 則刪除。
5. iptables關閉、selinux關閉
6.安裝基礎軟件包。(net-tools lrzsz screen tree vim wget)