您現(xiàn)在的位置:首頁 >關(guān)于我們 >行業(yè)新聞 >幾個方面帶您輕松運(yùn)營Linux虛擬主機(jī)
Linux在企業(yè)數(shù)據(jù)中心已經(jīng)盛行多年。LAMP服務(wù)、Web服務(wù)器、代理服務(wù)器、防火墻和負(fù)載平衡器,只是Linux為基本操作系統(tǒng)提供的幾個用例。在過去十年,隨著易用性的提高和文檔的完善,許多Linux發(fā)行版使用量明顯增加。在增長階段,我們還將虛擬化技術(shù)引入數(shù)據(jù)中心。與此同時(shí),在運(yùn)行Linux虛擬機(jī)時(shí)要留意一些注意事項(xiàng)。
邏輯卷管理
最近許多Linux的發(fā)行版都包含邏輯卷管理(LVM)這一技術(shù),因?yàn)樗鼘儆诖疟P和分區(qū)管理,允許管理員執(zhí)行大量的任務(wù)。一些分段特性——擴(kuò)展或跨多個磁盤分段數(shù)據(jù)——在虛擬化的世界里可能不太普遍,用戶通常是將數(shù)據(jù)存儲在同一存儲區(qū)域網(wǎng)絡(luò)或數(shù)據(jù)存儲區(qū)。除了這些,LVM還提供其他有趣的功能。通過啟用LVM,管理員可以擴(kuò)展網(wǎng)絡(luò)文件系統(tǒng),在工作中擴(kuò)展不同的分區(qū)和文件系統(tǒng),同時(shí)保持文件系統(tǒng)在線和可訪問。根據(jù)嚴(yán)格的合規(guī)要求,LVM允許我們在沒有調(diào)用vSphere所帶功能的情況下執(zhí)行基于卷的快照用于備份和恢復(fù)。
我的建議是,如果在工作負(fù)載你有嚴(yán)格的可用性策略并利用在線調(diào)整功能,就要將LVM與虛擬機(jī)分區(qū)。如果你不需要大量的正常運(yùn)行時(shí)間或不打算安裝Linux在單獨(dú)的分區(qū)運(yùn)行,LVM的復(fù)雜性將遠(yuǎn)遠(yuǎn)大于好處,最終禁用LVM。
分區(qū)選項(xiàng)
默認(rèn)安裝的Linux通常提示用戶僅僅使用一個分區(qū)的所有文件。在某些情況下這樣做沒錯,但當(dāng)你試著調(diào)整和改善虛擬機(jī)安全性和性能時(shí),每個文件有單獨(dú)的分區(qū)如/tmp、/var、/home、/usr,這樣做更有意義——特別是如果你想要每個分區(qū)有不同的安裝選項(xiàng)。通過利用/etc/fstab文件,可以在相應(yīng)的行指定適用于不同分區(qū)的安裝選項(xiàng),如下所示:
UUID=0aef28b9-3d11-4ab4-a0d4-d53d7b4d3aa4 /tmp ext4 defaults,noexec 1 2
例如Web服務(wù)器,一個最常見的用例為Linux虛擬機(jī),我們很快就會發(fā)現(xiàn)一些“默認(rèn)”安裝選項(xiàng)最終破壞安全以及績效計(jì)劃。
Noatime/atime/relatime:這些安裝選項(xiàng)決定如何處理包含在分區(qū)文件上的時(shí)間戳。在舊的Linux發(fā)行版中,默認(rèn)是“一次”,這意味著每讀寫一次,操作系統(tǒng)會為文件元數(shù)據(jù)寫一個時(shí)間戳——是的,僅僅讀調(diào)用次數(shù)。一直使用對外提供文件的Web服務(wù)器,你可以想象這個過程的開銷。通過指定存放Web服務(wù)器數(shù)據(jù)分區(qū)上的“noatime”,你可以不更新訪問時(shí)間,減輕服務(wù)器的開銷。新發(fā)行版默認(rèn)選項(xiàng)是“relatime”,它的功能很強(qiáng)大, 如果修改時(shí)間更新,只更新訪問時(shí)間。
Noexec/exec: 在給定的分區(qū)禁用或啟用二進(jìn)制文件執(zhí)行。對于Web服務(wù)器的例子而言,用“noexec”安裝/tmp分區(qū)的意義重大。事實(shí)上,許多硬化指南建議使用這個選項(xiàng)來提高安全性。
用戶更改訪問時(shí)間參數(shù)時(shí)必須謹(jǐn)慎。一些應(yīng)用程序,比如郵件相關(guān)的功能,需要一個完整的“一次”安裝選項(xiàng)。在Web服務(wù)器的例子中,只要安全指導(dǎo)方針允許它訪問,可以用“noatime”安裝Web服務(wù)器數(shù)據(jù)。就noexec而言,明智地使用這個選項(xiàng),很多自動安裝程序和安裝包就解壓到/tmp并從那兒開始執(zhí)行。它很容易打開和關(guān)閉,但我至少可以為/tmp添加noexec。
VMXNET3和PVSCSI
很長一段時(shí)間,大家都推薦在虛擬機(jī)中利用VMXNET3網(wǎng)絡(luò)適配器和超虛擬化磁盤適配器。在基于Windows系統(tǒng)的虛擬機(jī),我們可以僅僅指定這些還有利用VMware工具自動安裝的驅(qū)動。利用這個硬件,Linux帶來了一些挑戰(zhàn)。首先,新版的Linux發(fā)行版通常有自己的VMXNET3適配器和驅(qū)動程序,即使安裝了VMware工具,也將它們作為默認(rèn)驅(qū)動程序。
舊的Linux發(fā)行版可能包含一個過時(shí)的VMXNET3驅(qū)動版本,可能不會為你提供包含在VMware工具版本的完整特性集。VMware的KB2020567概述如何在VMXNET驅(qū)動啟用某些特性。如果你想在VMware工具安裝VMXNET3驅(qū)動,可以在VMware工具安裝時(shí)指定以下選項(xiàng):
./vmware-install.pl –clobber-kernel-modules=vmxnet3
低成本的CPU想要獲得一些額外的吞吐量,超虛擬化SCSI適配器是一個不錯的方式。做出這個選擇之前一定要檢查所支持的操作系統(tǒng)列表,以確保超虛擬化SCSI適配器支持內(nèi)核或分布。
如果可能的話,我建議管理員使用VMXNET3和PVSCSI。如果使用一個舊的內(nèi)核,就安裝VMware工具VMXNET3版本。如果你使用一個更新的內(nèi)核,在分布中使用本地Linux驅(qū)動程序。
內(nèi)存管理
Linux操作系統(tǒng)不斷將存儲頁面從物理內(nèi)存頁移動到本地交換分區(qū),這是由設(shè)計(jì)決定的。事實(shí)上,VMware利用內(nèi)存管理功能在做同樣的事。但是Linux內(nèi)存管理的行為有點(diǎn)不同,即使物理內(nèi)存——目前虛擬內(nèi)存可用,也會移動內(nèi)存頁面。為了減少Linux 虛擬機(jī)內(nèi)部交換活動,我們可以調(diào)整一個“swapiness”值。更高的值表示更多的運(yùn)動,而較低的值表示內(nèi)存不會移動。要調(diào)整這個值,只需在/etc/sysctl.conf 添加“Vm.swappiness=##”,重啟后將“##”替換為你想要的值。
我喜歡將這個值替換成一個低于默認(rèn)值60的數(shù)字。同時(shí)使用操作系統(tǒng)和vSphere管理你的內(nèi)存交換是沒有意義的。而且,這取決于應(yīng)用程序,但我通常設(shè)置這個值為15至20。
I/O調(diào)度器
ESXi在管理內(nèi)存方面作用很大,當(dāng)它屬于I/O調(diào)度器并寫入磁盤時(shí),它又呈現(xiàn)另一種狀態(tài)。此外,Linux操作系統(tǒng)內(nèi)部重復(fù)一些這方面的功能。2.6的內(nèi)核,大多數(shù)發(fā)行版已經(jīng)利用Completely Fair Queuing作為默認(rèn)的I/O調(diào)度器。其他可用的是NOOP,Anticipatory和Deadline。VMware只解釋了如何改變這個值還有你為什么想要更改,調(diào)度兩次I/O是沒有意義的。簡而言之,通過附加機(jī)器轉(zhuǎn)換到grub內(nèi)核條目,使用Linux內(nèi)核的默認(rèn)I/O調(diào)度器可以進(jìn)行切換。
不需要先安排操作系統(tǒng)再安排到管理程序。我建議使用NOOP I/O調(diào)度器,因?yàn)樗鼪]有優(yōu)化磁盤I/O,并允許vSphere全權(quán)管理。
刪除未使用的硬件并禁用不必要的服務(wù)
在過去的一年里,你有多少次在虛擬機(jī)中使用虛擬軟盤和內(nèi)部的電腦揚(yáng)聲器呢?如果你不打算使用這些設(shè)備,就把將它們拉入黑名單。刪除軟盤的命令如下:
echo "blacklist floppy" | tee /etc/modprobe.d/blacklist-floppy.conf
rmmod floppy
update-initramfs -u
也沒有必要糾結(jié)未使用的硬件。如果你還在使用,不妨禁用任何虛擬控制臺。這可以在/etc/inittab中通過如下操作實(shí)現(xiàn):
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
我建議你卸掉軟盤。請記住,你還必須刪除虛擬機(jī)的硬件配置,并在虛擬機(jī)的BIOS禁用它。關(guān)于其他服務(wù),你可以將它們列入黑名單,包括監(jiān)視磁盤陣列配置(mptctl), pcspker, snd_pcm, snd_page_alloc, snd_timer, snd, snd_soundcore, coretemp, parport and parport_pc.
將這些服務(wù)拉入黑名單之前,你要確保沒有使用它們。同時(shí),我總會開啟幾個可能用到的虛擬控制臺,但開啟六個就有點(diǎn)多了。
這是一些運(yùn)行Linux虛擬機(jī)的注意事項(xiàng)?紤]到性能收益,每個人應(yīng)視情況而定。做出一些細(xì)微的調(diào)整,你可能會看到更多性能方面的提升和一些退化的性能。像往常一樣,更改之前,要在實(shí)驗(yàn)室環(huán)境中進(jìn)行測試。技術(shù)是不斷變化的,所以通過提前測試可以達(dá)到最佳效果。如果你有任何其他技巧或建議,可以在評論中提出。海騰數(shù)據(jù)中心服務(wù)器租用
海騰公告海騰數(shù)據(jù)最新新聞公告
Copyright© 2004-2020 河南海騰電子技術(shù)有限公司 版權(quán)所有 經(jīng)營性ICP/ISP證 備案號:B1-20180452 豫公網(wǎng)安備 41019702002018號 電子營業(yè)執(zhí)照