您現(xiàn)在的位置:首頁(yè) >關(guān)于我們 >行業(yè)新聞 >幾個(gè)方面帶您輕松運(yùn)營(yíng)Linux虛擬主機(jī)

幾個(gè)方面帶您輕松運(yùn)營(yíng)Linux虛擬主機(jī)

時(shí)間:2016年5月17日

   Linux在企業(yè)數(shù)據(jù)中心已經(jīng)盛行多年。LAMP服務(wù)、Web服務(wù)器、代理服務(wù)器、防火墻和負(fù)載平衡器,只是Linux為基本操作系統(tǒng)提供的幾個(gè)用例。在過(guò)去十年,隨著易用性的提高和文檔的完善,許多Linux發(fā)行版使用量明顯增加。在增長(zhǎng)階段,我們還將虛擬化技術(shù)引入數(shù)據(jù)中心。與此同時(shí),在運(yùn)行Linux虛擬機(jī)時(shí)要留意一些注意事項(xiàng)。

   邏輯卷管理

   最近許多Linux的發(fā)行版都包含邏輯卷管理(LVM)這一技術(shù),因?yàn)樗鼘儆诖疟P和分區(qū)管理,允許管理員執(zhí)行大量的任務(wù)。一些分段特性——擴(kuò)展或跨多個(gè)磁盤分段數(shù)據(jù)——在虛擬化的世界里可能不太普遍,用戶通常是將數(shù)據(jù)存儲(chǔ)在同一存儲(chǔ)區(qū)域網(wǎng)絡(luò)或數(shù)據(jù)存儲(chǔ)區(qū)。除了這些,LVM還提供其他有趣的功能。通過(guò)啟用LVM,管理員可以擴(kuò)展網(wǎng)絡(luò)文件系統(tǒng),在工作中擴(kuò)展不同的分區(qū)和文件系統(tǒng),同時(shí)保持文件系統(tǒng)在線和可訪問(wèn)。根據(jù)嚴(yán)格的合規(guī)要求,LVM允許我們?cè)跊](méi)有調(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通常提示用戶僅僅使用一個(gè)分區(qū)的所有文件。在某些情況下這樣做沒(méi)錯(cuò),但當(dāng)你試著調(diào)整和改善虛擬機(jī)安全性和性能時(shí),每個(gè)文件有單獨(dú)的分區(qū)如/tmp、/var、/home、/usr,這樣做更有意義——特別是如果你想要每個(gè)分區(qū)有不同的安裝選項(xiàng)。通過(guò)利用/etc/fstab文件,可以在相應(yīng)的行指定適用于不同分區(qū)的安裝選項(xiàng),如下所示:

 UUID=0aef28b9-3d11-4ab4-a0d4-d53d7b4d3aa4 /tmp ext4     defaults,noexec 1 2

 例如Web服務(wù)器,一個(gè)最常見(jiàn)的用例為L(zhǎng)inux虛擬機(jī),我們很快就會(huì)發(fā)現(xiàn)一些“默認(rèn)”安裝選項(xiàng)最終破壞安全以及績(jī)效計(jì)劃。

 Noatime/atime/relatime:這些安裝選項(xiàng)決定如何處理包含在分區(qū)文件上的時(shí)間戳。在舊的Linux發(fā)行版中,默認(rèn)是“一次”,這意味著每讀寫一次,操作系統(tǒng)會(huì)為文件元數(shù)據(jù)寫一個(gè)時(shí)間戳——是的,僅僅讀調(diào)用次數(shù)。一直使用對(duì)外提供文件的Web服務(wù)器,你可以想象這個(gè)過(guò)程的開(kāi)銷。通過(guò)指定存放Web服務(wù)器數(shù)據(jù)分區(qū)上的“noatime”,你可以不更新訪問(wèn)時(shí)間,減輕服務(wù)器的開(kāi)銷。新發(fā)行版默認(rèn)選項(xiàng)是“relatime”,它的功能很強(qiáng)大, 如果修改時(shí)間更新,只更新訪問(wèn)時(shí)間。

 Noexec/exec: 在給定的分區(qū)禁用或啟用二進(jìn)制文件執(zhí)行。對(duì)于Web服務(wù)器的例子而言,用“noexec”安裝/tmp分區(qū)的意義重大。事實(shí)上,許多硬化指南建議使用這個(gè)選項(xiàng)來(lái)提高安全性。

用戶更改訪問(wèn)時(shí)間參數(shù)時(shí)必須謹(jǐn)慎。一些應(yīng)用程序,比如郵件相關(guān)的功能,需要一個(gè)完整的“一次”安裝選項(xiàng)。在Web服務(wù)器的例子中,只要安全指導(dǎo)方針允許它訪問(wèn),可以用“noatime”安裝Web服務(wù)器數(shù)據(jù)。就noexec而言,明智地使用這個(gè)選項(xiàng),很多自動(dòng)安裝程序和安裝包就解壓到/tmp并從那兒開(kāi)始執(zhí)行。它很容易打開(kāi)和關(guān)閉,但我至少可以為/tmp添加noexec。

 VMXNET3和PVSCSI

 很長(zhǎng)一段時(shí)間,大家都推薦在虛擬機(jī)中利用VMXNET3網(wǎng)絡(luò)適配器和超虛擬化磁盤適配器。在基于Windows系統(tǒng)的虛擬機(jī),我們可以僅僅指定這些還有利用VMware工具自動(dòng)安裝的驅(qū)動(dòng)。利用這個(gè)硬件,Linux帶來(lái)了一些挑戰(zhàn)。首先,新版的Linux發(fā)行版通常有自己的VMXNET3適配器和驅(qū)動(dòng)程序,即使安裝了VMware工具,也將它們作為默認(rèn)驅(qū)動(dòng)程序。

 舊的Linux發(fā)行版可能包含一個(gè)過(guò)時(shí)的VMXNET3驅(qū)動(dòng)版本,可能不會(huì)為你提供包含在VMware工具版本的完整特性集。VMware的KB2020567概述如何在VMXNET驅(qū)動(dòng)啟用某些特性。如果你想在VMware工具安裝VMXNET3驅(qū)動(dòng),可以在VMware工具安裝時(shí)指定以下選項(xiàng):

 ./vmware-install.pl –clobber-kernel-modules=vmxnet3

 低成本的CPU想要獲得一些額外的吞吐量,超虛擬化SCSI適配器是一個(gè)不錯(cuò)的方式。做出這個(gè)選擇之前一定要檢查所支持的操作系統(tǒng)列表,以確保超虛擬化SCSI適配器支持內(nèi)核或分布。

如果可能的話,我建議管理員使用VMXNET3和PVSCSI。如果使用一個(gè)舊的內(nèi)核,就安裝VMware工具VMXNET3版本。如果你使用一個(gè)更新的內(nèi)核,在分布中使用本地Linux驅(qū)動(dòng)程序。


 內(nèi)存管理

 Linux操作系統(tǒng)不斷將存儲(chǔ)頁(yè)面從物理內(nèi)存頁(yè)移動(dòng)到本地交換分區(qū),這是由設(shè)計(jì)決定的。事實(shí)上,VMware利用內(nèi)存管理功能在做同樣的事。但是Linux內(nèi)存管理的行為有點(diǎn)不同,即使物理內(nèi)存——目前虛擬內(nèi)存可用,也會(huì)移動(dòng)內(nèi)存頁(yè)面。為了減少Linux 虛擬機(jī)內(nèi)部交換活動(dòng),我們可以調(diào)整一個(gè)“swapiness”值。更高的值表示更多的運(yùn)動(dòng),而較低的值表示內(nèi)存不會(huì)移動(dòng)。要調(diào)整這個(gè)值,只需在/etc/sysctl.conf 添加“Vm.swappiness=##”,重啟后將“##”替換為你想要的值。

 我喜歡將這個(gè)值替換成一個(gè)低于默認(rèn)值60的數(shù)字。同時(shí)使用操作系統(tǒng)和vSphere管理你的內(nèi)存交換是沒(méi)有意義的。而且,這取決于應(yīng)用程序,但我通常設(shè)置這個(gè)值為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只解釋了如何改變這個(gè)值還有你為什么想要更改,調(diào)度兩次I/O是沒(méi)有意義的。簡(jiǎn)而言之,通過(guò)附加機(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)樗鼪](méi)有優(yōu)化磁盤I/O,并允許vSphere全權(quán)管理。

 刪除未使用的硬件并禁用不必要的服務(wù)

 在過(guò)去的一年里,你有多少次在虛擬機(jī)中使用虛擬軟盤和內(nèi)部的電腦揚(yáng)聲器呢?如果你不打算使用這些設(shè)備,就把將它們拉入黑名單。刪除軟盤的命令如下:

echo "blacklist floppy" | tee /etc/modprobe.d/blacklist-floppy.conf

rmmod floppy

update-initramfs -u

 也沒(méi)有必要糾結(jié)未使用的硬件。如果你還在使用,不妨禁用任何虛擬控制臺(tái)。這可以在/etc/inittab中通過(guò)如下操作實(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

 我建議你卸掉軟盤。請(qǐng)記住,你還必須刪除虛擬機(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ù)拉入黑名單之前,你要確保沒(méi)有使用它們。同時(shí),我總會(huì)開(kāi)啟幾個(gè)可能用到的虛擬控制臺(tái),但開(kāi)啟六個(gè)就有點(diǎn)多了。

 這是一些運(yùn)行Linux虛擬機(jī)的注意事項(xiàng)?紤]到性能收益,每個(gè)人應(yīng)視情況而定。做出一些細(xì)微的調(diào)整,你可能會(huì)看到更多性能方面的提升和一些退化的性能。像往常一樣,更改之前,要在實(shí)驗(yàn)室環(huán)境中進(jìn)行測(cè)試。技術(shù)是不斷變化的,所以通過(guò)提前測(cè)試可以達(dá)到最佳效果。如果你有任何其他技巧或建議,可以在評(píng)論中提出。海騰數(shù)據(jù)中心服務(wù)器租用


Copyright© 2004-2020 河南海騰電子技術(shù)有限公司 版權(quán)所有   經(jīng)營(yíng)性ICP/ISP證 備案號(hào):B1-20180452   豫公網(wǎng)安備 41019702002018號(hào)    電子營(yíng)業(yè)執(zhí)照