Linux在企業數據中心已經流行多年。LAMP處事、Web處事器、署理處事器、防火墻和負載均衡器,只是Linux為根基操縱系統提供的幾個用例。在已往十年,跟著易用性的提高和文檔的完善,很多Linux刊行版利用量明明增加。在增長階段,我們還將虛擬化技能引入數據中心。與此同時,在運行Linux虛擬機時要寄望一些留意事項。
邏輯卷打點
最近很多Linux的刊行版都包括邏輯卷打點(LVM)這一技能,因為它屬于磁盤和分區打點,答允打點員執行大量的任務。一些分段特性——擴展或跨多個磁盤分段數據——在虛擬化的世界里大概不太普遍,用戶凡是是將數據存儲在同一存儲區域網絡或數據存儲區。除了這些,LVM還提供其他有趣的成果。通過啟用LVM,打點員可以擴展網絡文件系統,在事情中擴展差異的分區和文件系統,同時保持文件系統在線和可會見。按照嚴格的合規要求,LVM答允我們在沒有挪用vSphere所帶成果的環境下執行基于卷的快照用于備份和規復。
我的發起是,假如在事情負載你有嚴格的可用性計策并操作在線調解成果,就要將LVM與虛擬機分區。假如你不需要大量的正常運行時間或不規劃安裝Linux在單獨的分區運行,LVM的巨大性將遠遠大于長處,最終禁用LVM。
分區選項
默認安裝的Linux凡是提示用戶僅僅利用一個分區的所有文件。在某些環境下這樣做沒錯,但當你試著調解和改進虛擬機安詳性和機能時,每個文件有單獨的分區如/tmp、/var、/home、/usr,這樣做更有意義——出格是假如你想要每個分區有差異的安裝選項。通過操作/etc/fstab文件,可以在相應的行指定合用于差異分區的安裝選項,如下所示:
UUID=0aef28b9-3d11-4ab4-a0d4-d53d7b4d3aa4 /tmp ext4 defaults,noexec 1 2
譬喻Web處事器,一個最常見的用例為Linux虛擬機,我們很快就會發明一些“默認”安裝選項最終粉碎安詳以及績效打算。
Noatime/atime/relatime:這些安裝選項抉擇如那里理懲罰包括在分區文件上的時間戳。在舊的Linux刊行版中,,默認是“一次”,這意味著每讀寫一次,操縱系統會為文件元數據寫一個時間戳——是的,僅僅讀挪用次數。一直利用對外提供文件的Web處事器,你可以想象這個進程的開銷。通過指定存放Web處事器數據分區上的“noatime”,你可以不更新會見時間,減輕處事器的開銷。新刊行版默認選項是“relatime”,它的成果很強大, 假如修改時間更新,只更新會見時間。
Noexec/exec: 在給定的分區禁用或啟用二進制文件執行。對付Web處事器的例子而言,用“noexec”安裝/tmp分區的意義重大。事實上,很多硬化指南發起利用這個選項來提高安詳性。
用戶變動會見時間參數時必需審慎。一些應用措施,好比郵件相關的成果,需要一個完整的“一次”安裝選項。在Web處事器的例子中,只要安詳指導目的答允它會見,可以用“noatime”安裝Web處事器數據。就noexec而言,明智地利用這個選項,許多自動安裝措施和安裝包就解壓到/tmp并從那兒開始執行。它很容易打開和封鎖,但我至少可覺得/tmp添加noexec。
VMXNET3和PVSCSI
很長一段時間,各人都推薦在虛擬機中操作VMXNET3網絡適配器和超虛擬化磁盤適配器。在基于Windows系統的虛擬機,我們可以僅僅指定這些尚有操作VMware東西自動安裝的驅動。操作這個硬件,Linux帶來了一些挑戰。首先,新版的Linux刊行版凡是有本身的VMXNET3適配器和驅動措施,縱然安裝了VMware東西,也將它們作為默認驅動措施。
舊的Linux刊行版大概包括一個過期的VMXNET3驅動版本,大概不會為你提供包括在VMware東西版本的完整特性集。VMware的KB2020567概述如安在VMXNET驅動啟用某些特性。假如你想在VMware東西安裝VMXNET3驅動,可以在VMware東西安裝時指定以下選項:
./vmware-install.pl –clobber-kernel-modules=vmxnet3
低本錢的CPU想要得到一些特另外吞吐量,超虛擬化SCSI適配器是一個不錯的方法。做出這個選擇之前必然要查抄所支持的操縱系統列表,以確保超虛擬化SCSI適配器支持內核或漫衍。
假如大概的話,我發起打點員利用VMXNET3和PVSCSI。假如利用一個舊的內核,就安裝VMware東西VMXNET3版本。假如你利用一個更新的內核,在漫衍中利用當地Linux驅動措施。
內存打點
Linux操縱系統不絕將存儲頁面從物理內存頁移動到當地互換分區,這是由設計抉擇的。事實上,VMware操作內存打點成果在做同樣的事。可是Linux內存打點的行為有點差異,縱然物理內存——今朝虛擬內存可用,也會移動內存頁面。為了淘汰Linux 虛擬機內部互換勾當,我們可以調解一個“swapiness”值。更高的值暗示更多的舉動,而較低的值暗示內存不會移動。要調解這個值,只需在/etc/sysctl.conf 添加“Vm.swappiness=##”,重啟后將“##”替換為你想要的值。