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

幾個方面帶您輕松運營Linux虛擬主機

時間:2016年5月17日

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

   邏輯卷管理

   最近許多Linux的發(fā)行版都包含邏輯卷管理(LVM)這一技術(shù),因為它屬于磁盤和分區(qū)管理,允許管理員執(zhí)行大量的任務(wù)。一些分段特性——擴展或跨多個磁盤分段數(shù)據(jù)——在虛擬化的世界里可能不太普遍,用戶通常是將數(shù)據(jù)存儲在同一存儲區(qū)域網(wǎng)絡(luò)或數(shù)據(jù)存儲區(qū)。除了這些,LVM還提供其他有趣的功能。通過啟用LVM,管理員可以擴展網(wǎng)絡(luò)文件系統(tǒng),在工作中擴展不同的分區(qū)和文件系統(tǒng),同時保持文件系統(tǒng)在線和可訪問。根據(jù)嚴格的合規(guī)要求,LVM允許我們在沒有調(diào)用vSphere所帶功能的情況下執(zhí)行基于卷的快照用于備份和恢復。

 我的建議是,如果在工作負載你有嚴格的可用性策略并利用在線調(diào)整功能,就要將LVM與虛擬機分區(qū)。如果你不需要大量的正常運行時間或不打算安裝Linux在單獨的分區(qū)運行,LVM的復雜性將遠遠大于好處,最終禁用LVM。


 分區(qū)選項

 默認安裝的Linux通常提示用戶僅僅使用一個分區(qū)的所有文件。在某些情況下這樣做沒錯,但當你試著調(diào)整和改善虛擬機安全性和性能時,每個文件有單獨的分區(qū)如/tmp、/var、/home、/usr,這樣做更有意義——特別是如果你想要每個分區(qū)有不同的安裝選項。通過利用/etc/fstab文件,可以在相應(yīng)的行指定適用于不同分區(qū)的安裝選項,如下所示:

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

 例如Web服務(wù)器,一個最常見的用例為Linux虛擬機,我們很快就會發(fā)現(xiàn)一些“默認”安裝選項最終破壞安全以及績效計劃。

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

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

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

 VMXNET3和PVSCSI

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

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

 ./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è)計決定的。事實上,VMware利用內(nèi)存管理功能在做同樣的事。但是Linux內(nèi)存管理的行為有點不同,即使物理內(nèi)存——目前虛擬內(nèi)存可用,也會移動內(nèi)存頁面。為了減少Linux 虛擬機內(nèi)部交換活動,我們可以調(diào)整一個“swapiness”值。更高的值表示更多的運動,而較低的值表示內(nèi)存不會移動。要調(diào)整這個值,只需在/etc/sysctl.conf 添加“Vm.swappiness=##”,重啟后將“##”替換為你想要的值。

 我喜歡將這個值替換成一個低于默認值60的數(shù)字。同時使用操作系統(tǒng)和vSphere管理你的內(nèi)存交換是沒有意義的。而且,這取決于應(yīng)用程序,但我通常設(shè)置這個值為15至20。

 I/O調(diào)度器

 ESXi在管理內(nèi)存方面作用很大,當它屬于I/O調(diào)度器并寫入磁盤時,它又呈現(xiàn)另一種狀態(tài)。此外,Linux操作系統(tǒng)內(nèi)部重復一些這方面的功能。2.6的內(nèi)核,大多數(shù)發(fā)行版已經(jīng)利用Completely Fair Queuing作為默認的I/O調(diào)度器。其他可用的是NOOP,Anticipatory和Deadline。VMware只解釋了如何改變這個值還有你為什么想要更改,調(diào)度兩次I/O是沒有意義的。簡而言之,通過附加機器轉(zhuǎn)換到grub內(nèi)核條目,使用Linux內(nèi)核的默認I/O調(diào)度器可以進行切換。

 不需要先安排操作系統(tǒng)再安排到管理程序。我建議使用NOOP I/O調(diào)度器,因為它沒有優(yōu)化磁盤I/O,并允許vSphere全權(quán)管理。

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

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

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

rmmod floppy

update-initramfs -u

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

 我建議你卸掉軟盤。請記住,你還必須刪除虛擬機的硬件配置,并在虛擬機的BIOS禁用它。關(guān)于其他服務(wù),你可以將它們列入黑名單,包括監(jiān)視磁盤陣列配置(mptctl), pcspker, snd_pcm, snd_page_alloc, snd_timer, snd, snd_soundcore, coretemp, parport and parport_pc.

 將這些服務(wù)拉入黑名單之前,你要確保沒有使用它們。同時,我總會開啟幾個可能用到的虛擬控制臺,但開啟六個就有點多了。

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


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