當前位置:首頁 » 操作系統 » linux伺服器虛擬

linux伺服器虛擬

發布時間: 2022-06-29 14:20:54

『壹』 linux虛擬化技術有哪些

1、早期的虛擬化模型被稱為Type 1,或者叫本地虛擬化(native virtualization)。
2、後來出現了主機虛擬化(hosted virtualization)模式,被稱為Type 2,hypervisor運行在操作系統之上,在同一平台上允許兩個或更多的操作系統共存。
3、更加傳統的虛擬化解決方案是平台虛擬化,或者叫做硬體虛擬化,具有兩種主要的形式,完全虛擬化( full-virtualization)和半虛擬化(para-virtualization)。
4、平台虛擬化:如Citrix的Xen是一個流行的解決方案,可以同時執行Type1和Type2型hypervisor,Amazon的EC2就採用Xen來進行伺服器的虛擬化。另一個重要的hypervisor是Linux Kernel Virtual Machine(KVM),同樣都支持本地虛擬化和主機虛擬化模型。
5、操作系統虛擬化:操作系統虛擬化是另外一個重要的虛擬化技術,正如其名,是對操作系統本身進行虛擬化,而不是平台。在這種方式下,操作系統提供一組用戶空間(User-Space)彼此隔離,而應用被限制在每個用戶空間裡面,就好像一個獨立的主機。這種形式的虛擬化在虛擬主機環境中非常流行,讓多個獨立的用戶可以共享一個操作系統。
6、其他Linux虛擬化技術:
CoLinux,或者叫做協作Linux,是一種利用協作虛擬機的虛擬化方式。
用戶模式(User-Mode)Linux,即UML,和CoLinux有些類似,但是更加靈活。
Wine和Cygwin也是有趣的虛擬化解決方案。

『貳』 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網路適配器和超虛擬化磁碟適配器。在基於Windows系統的虛擬機,我們可以僅僅指定這些還有利用VMware工具自動安裝的驅動。利用這個硬體,Linux帶來了一些挑戰。首先,新版的Linux發行版通常有自己的VMXNET3適配器和驅動程序,即使安裝了VMware工具,也將它們作為默認驅動程序。
舊的Linux發行版可能包含一個過時的VMXNET3驅動版本,可能不會為你提供包含在VMware工具版本的完整特性集。VMware的KB2020567概述如何在VMXNET驅動啟用某些特性。如果你想在VMware工具安裝VMXNET3驅動,可以在VMware工具安裝時指定以下選項:
./vmware-install.pl –clobber-kernel-moles=vmxnet3
低成本的CPU想要獲得一些額外的吞吐量,超虛擬化SCSI適配器是一個不錯的方式。做出這個選擇之前一定要檢查所支持的操作系統列表,以確保超虛擬化SCSI適配器支持內核或分布。
如果可能的話,我建議管理員使用VMXNET3和PVSCSI。如果使用一個舊的內核,就安裝VMware工具VMXNET3版本。如果你使用一個更新的內核,在分布中使用本地Linux驅動程序。 Linux操作系統不斷將存儲頁面從物理內存頁移動到本地交換分區,這是由設計決定的。事實上,VMware利用內存管理功能在做同樣的事。但是Linux內存管理的行為有點不同,即使物理內存——目前虛擬內存可用,也會移動內存頁面。為了減少Linux 虛擬機內部交換活動,我們可以調整一個「swapiness」值。更高的值表示更多的運動,而較低的值表示內存不會移動。要調整這個值,只需在/etc/sysctl.conf 添加「Vm.swappiness=##」,重啟後將「##」替換為你想要的值。
我喜歡將這個值替換成一個低於默認值60的數字。同時使用操作系統和vSphere管理你的內存交換是沒有意義的。而且,這取決於應用程序,但我通常設置這個值為15至20。 ESXi在管理內存方面作用很大,當它屬於I/O調度器並寫入磁碟時,它又呈現另一種狀態。此外,Linux操作系統內部重復一些這方面的功能。2.6的內核,大多數發行版已經利用Completely Fair Queuing作為默認的I/O調度器。其他可用的是NOOP,Anticipatory和Deadline。VMware只解釋了如何改變這個值還有你為什麼想要更改,調度兩次I/O是沒有意義的。簡而言之,通過附加機器轉換到grub內核條目,使用Linux內核的默認I/O調度器可以進行切換。
不需要先安排操作系統再安排到管理程序。我建議使用NOOP I/O調度器,因為它沒有優化磁碟I/O,並允許vSphere全權管理。 在過去的一年裡,你有多少次在虛擬機中使用虛擬軟盤和內部的電腦揚聲器呢?如果你不打算使用這些設備,就把將它們拉入黑名單。刪除軟盤的命令如下:
echo blacklist floppy | tee /etc/modprobe.d/blacklist-floppy.conf
rmmod floppy
update-initramfs -u
也沒有必要糾結未使用的硬體。如果你還在使用,不妨禁用任何虛擬控制台。這可以在/etc/inittab中通過如下操作實現:
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禁用它。關於其他服務,你可以將它們列入黑名單,包括監視磁碟陣列配置(mptctl), pcspker, snd_pcm, snd_page_alloc, snd_timer, snd, snd_soundcore, coretemp, parport and parport_pc.
將這些服務拉入黑名單之前,你要確保沒有使用它們。同時,我總會開啟幾個可能用到的虛擬控制台,但開啟六個就有點多了。
這是一些運行Linux虛擬機的注意事項。考慮到性能收益,每個人應視情況而定。做出一些細微的調整,你可能會看到更多性能方面的提升和一些退化的性能。像往常一樣,更改之前,要在實驗室環境中進行測試。技術是不斷變化的,所以通過提前測試可以達到最佳效果。如果你有任何其他技巧或建議,可以在評論中提出。

『叄』 如何在一台linux伺服器上建立多個虛擬機

方法一:在Linux 伺服器上安裝vbox ,vbox 相當於在window 下安裝vmware workstation 是比較好用的
方法二: 在Linux 伺服器安裝KVM 虛擬機 這個不建議初學者使用,因為比較麻煩

個人建議,如果你只是個人使用的使用vbox 就可以了

『肆』 什麼是Linux虛擬伺服器

你指的是網上說賣的那種虛擬伺服器嗎?它的意思就是在一台真實的電腦上模擬多台虛擬電腦(只要電腦夠強,可以同時開幾個虛擬電腦,功能和真實電腦一樣),Linux虛擬伺服器就是一台電腦上裝了一個虛擬的linux系統的伺服器

『伍』 虛擬主機用Linux的好還是windows的好

你可以了解一下區別:
1、操作系統差異
Window虛擬主機是通過由Window系統伺服器開設出來的主機,運行的web組件是IIS,資料庫sql Server為主,IIS版本由6-8不等。Window虛擬主機主要支持php、ASP、ASP.NET等網站程序,所以Window虛擬主機號稱全能主機。
Linux虛擬主機則是通過由Linux系統伺服器開設出來的主機,運行的web組建是Apach+mysql,主要支持PHP和Mysql為主。
2、開發語言不同
Windows虛擬主機支持asp語言開發的網站,而Linux虛擬主機支持php語言開發的網站。比如常見的WordPress、DZ、等知名CMS系統都是基於Linux進行開發的,如果大家使用的是上述CMS系統,需要購買Linux虛擬主機。而建立獨立博客需要用到Java語言開發的Zblog,如果要建立小型博客網站我們可以購買Windows虛擬主機。

『陸』 怎麼在linux上搭建虛擬專用網路伺服器


  1. 插上網線 連接無線

  2. virtual上選擇橋接 指定有線網卡

  3. 主機使用無線 虛擬機使用有線 撥號連接

『柒』 如何架設虛擬機linux伺服器

1.確保虛擬機系統與宿主系統是橋接設置,以方便連接。
2.在虛擬機系統中安裝ftp伺服器,我安裝的是vsftpd伺服器。由於安裝的虛擬機系統CentOS中已經默認安裝了該ftp伺服器,所以無需安裝。
如果沒有安裝的話,可以採用安裝包安裝。
3.開啟虛擬機系統下的ftp服務,各個版本的Linux命令不盡相同。我用的CentOS命令為
/sbin/service
vsftpd
restart
4.至此,已經可以在區域網中訪問ftp伺服器了,由於我處於路由器的區域網中即192.168.1.0網路中,所以對於校園網這個更大的范圍則無法訪問。
希望採納

『捌』 linux虛擬化什麼意思

虛擬化技術的應用十分廣泛. 當前虛擬化技術主要關注於伺服器的虛擬化, 或在單個主機上寄存多個獨立的操作系統. 本文首先介紹虛擬化技術的原理, 然後討論多個虛擬化技術的實現方法. 另外介紹了一些其它的虛擬化技術, 比如Linux上操作系統級的虛擬化技術.

虛擬化把事物從一種形式改變為另一種形式. 計算機的虛擬化使單個計算機看起來像多個計算機或完全不同的計算機.

虛擬化技術也可以使多台計算機看起來像一台計算機. 這叫做伺服器聚合(server aggregation)或網格計算(grid computing).

首先我們回顧一下虛擬化技術的歷史.

虛擬化技術的歷史

虛擬化技術不是一個新的主題; 實際上, 它已有40年的歷史. 最早使用虛擬化技術的是IBM 7044計算機, 它是基於MIT(麻省理工學院)為IBM704計算機開發的分時系統CTSS(Compatible Time Sharing System), 和曼徹斯特大學的Atlas項目(世界最早的超級計算機之一), 首次使用了請求調頁和系統管理程序調用.

硬體虛擬化

IBM早在1960年就認識到虛擬化技術的重要性, 於是開發了型號為Model 67的System/360主機. Model 67主機通過虛擬機監視器(VMM, Virtual Machine Monitor)虛擬所有的硬體介面. 在早期的計算中, 操作系統被稱做Supervisor. 能夠運行在其它操作系統之上的操作系統被稱做hypervisor(名稱首次出現在1970年).

VMM直接運行在底層硬體上, 允許執行多個虛擬機(VMs). 每一個VM(虛擬機)運行自己的操作系統實例 -- 早期時候稱為CMS, 或會話監視系統(CMS, Conversational Monitor System). 然後VM繼續發展. 今天你能夠在System z9主機上發現VM, 它能夠向後兼容, 甚至是System/360.

處理器虛擬化

另外一個早期使 用的虛擬化技術, 模擬處理器, 也叫做P-code(or pseudo-code)機. P-code是一種機器語言, 運行在虛擬機上而不是實際的硬體. 知名的P-code語言在1970年由加州大學聖地亞哥分校的Pascal系統項目組開發. 它可以把Pascal程序編譯成P-code代碼, 然後在具有P-code功能的虛擬機上運行. P-code程序具有高度可移植性, 能夠運行在任何具有P-code功能的虛擬機上.

1960年的BCPL語言(基本組合程序設計語言, Basic Combined Programming Language)也使用了同樣的概念, 它是C語言的前身. 編譯器首先把BCPL代碼編譯成一個中間機器代碼: O-code. 然後, O-code被編譯成目標機器代碼. P-code模型已被廣泛使用到各種編譯器當中, 從而為編譯器移植到新的主機架構提供了復雜性.(通過一個中間語言分成前端和後端).

Java虛擬機(JVM)

Java虛擬機也採用了P-code模型. 從而我們可以簡單通過移植JVM程序到新架構的機器上來廣泛發布Java程序.

指令虛擬化

近來頻繁出現的虛擬化概念: 指令虛擬化, 也叫做二進制翻譯. 在這個模型中, 虛擬指令被動態翻譯成底層硬體的物理指令. 程序執行後, 代碼一段一段地被翻譯. 如果出現分支, 一套新的代碼指令將被引入和翻譯. 這十分類似於緩存操作, 指令塊從內存移動到本地的快速緩存內存中執行.

近來Transmeta公司設計的Crusoe中央處理器使用了該模型. 二進制翻譯由Code Morphing專利技術實現. 類似的一個實例, 全虛擬技術通過使用動態生成代碼掃描來發現和重定向特權指令(解決特殊處理指令集中的問題).

虛擬化技術的類型

現在不只存在一種虛擬化技術. 事實上有多種方法可以使用不同層次的抽象來實現同樣的結果. 本章介紹Linux上三種最常用虛擬化技術的優點和弱點. 業屆有時使用不同的術語來描述同一個虛擬化技術. 為了保持連續性, 下面使用的術語參考了其它的術語.

虛擬化技術和游戲

一篇虛擬化技術的文章如果沒有提到復合式大型電玩模擬器(MAME)就不是一篇完整的文章. MAME, 就如名字一樣, 是一個能夠模擬以往arcade游戲的機器模擬器(全部). 做一個補充, 整個機器是被虛擬的, 包括聲音和圖形還有控制硬體. MAME是一個非常棒的應用程序, 你也可以通過仔細閱讀源碼來了解它是如何實現的.

硬體模擬器

無可否認, 最復雜的虛擬化技術是硬體模擬器. 在這個方法中, 首先在主機系統上創建硬體VM, 然後模擬硬體的功能, 如圖1顯示:

圖1. 硬體模擬器: 使用VM模擬需要的硬體

正如你可能猜到, 硬體模擬器的主要問題是速度極慢. 因為每一個指令在底層硬體都需模擬, 所以速度慢了100倍. 高保真模擬還包含了循環校驗, 用於模擬CPU的管道和緩存行為, 實際速度會慢了1000倍.

硬體模擬有自己的優點. 比如, 使用硬體模擬, 你能夠在基於ARM處理器的主機上模擬運行基於PowerPC未經任何修改的操作系統. 你甚至能在每個不同模擬處理器上運行多個虛擬機.

模擬器和開發

硬體模擬器最有意思的一個應用是firmware(固件)和硬體協作開發. firmware開發人員無需等待最新硬體的推出, 他們可以使用目標硬體的虛擬機來驗證實際代碼中的許多概念.

全虛擬化

全虛擬化(Full virtualization), 也稱為原始虛擬化技術, 是另一種虛擬化方法. 該模型使用虛擬機協調客戶操作系統和原始硬體(見圖2). 這里"協調"是一個關鍵詞, 因為VMM在客戶操作系統和裸硬體之間用於工作協調. 一些受保護的指令必須由Hypervisor(虛擬機管理程序)來捕獲和處理. 因為操作系統是通過Hypervisor來分享底層硬體.

圖2. 全虛擬化: 使用Hypervisor分享底層硬體

全虛擬化的運行速度要快於硬體模擬, 但是性能方面不如裸機, 因為Hypervisor需要佔用一些資源. 全虛擬化最大的優點是操作系統沒有經過任何修改. 它的唯一限制是操作系統必須能夠支持底層硬體(比如, PowerPC).

老機器上的Hypervisors

一些老的硬體如x86, 全虛擬化遇到了問題. 比如, 一些敏感的指令需要由VMM來處理(VMM不能設置陷阱). 因此, Hypervisors必須動態掃描和捕獲特權代碼來處理問題.

半虛擬化

半虛擬化(Paravirtualization)是另一種類似於全虛擬化的熱門技術. 它使用Hypervisor(虛擬機管理程序)分享存取底層的硬體, 但是它的客戶操作系統集成了虛擬化方面的代碼. 該方法無需重新編譯或引起陷阱, 因為操作系統自身能夠與虛擬進程進行很好的協作.

圖3. 半虛擬化: 通過客戶操作系統分享進程

上面提到過, 半虛擬化需要客戶操作系統做一些修改(配合Hypervisor), 這是一個不足之處. 但是半虛擬化提供了與原始系統相近的性能. 與全虛擬化一樣, 半虛擬化可以同時能支持多個不同的操作系統.

操作系統級的虛擬化

最後一個我們需要了解的虛擬化技術是操作系統級的虛擬化(Operating system-level virtualization), 它使用不同於上面的虛擬化方法. 該技術在操作系統之上虛擬多個伺服器, 支持在單個操作系統上簡單隔離每一個虛擬伺服器(見圖4).

圖4. 操作系統級的虛擬化: 隔離單個伺服器

操作系統級的虛擬化需要修改操作系統內核, 它的優點是具有原始主機的性能.

為什麼虛擬技術如此重要?

在了解當今主流的linux虛擬化技術之前, 我們先來看虛擬化技術的優點.

從商業角度來看, 使用虛擬化技術有非常多的原因. 不過大多是用於伺服器加固. 簡單來說, 如果你能夠在單個服務上虛擬多個系統, 這樣少數的幾台計算機顯然能夠節省耗電, 空間, 冷卻和管理開支. 考慮到確定伺服器利用狀況的困難, 虛擬化技術支持動態遷移(Live Migration). 動態遷移允許操作系統能夠遷移到另一台全新的伺服器上, 從而減少當前主機的負載.

虛擬化技術對開發人員來說 也非常重要. Linux內核佔用了一個單一的地址空間, 這意味內核或任何驅動程序錯誤都能導致整個操作系統停止工作. 而通過虛擬化你可以運行多個操作系統, 如果其中一個系統由於錯誤而宕機, Hypervisor和其它的操作系統不會受到任何影響. 這對調試內核來說就如同調試用戶空間程序一樣.

熱點內容
編程圖片平移 發布:2024-11-16 07:41:06 瀏覽:652
黃金數演算法 發布:2024-11-16 07:40:15 瀏覽:65
門鎖動態密碼是什麼樣的 發布:2024-11-16 07:39:33 瀏覽:912
namespacelinux 發布:2024-11-16 07:28:13 瀏覽:352
html去緩存 發布:2024-11-16 07:05:22 瀏覽:723
如何限制蘋果ip段訪問伺服器 發布:2024-11-16 07:02:57 瀏覽:661
knn演算法原理 發布:2024-11-16 06:56:18 瀏覽:854
c語言第一章 發布:2024-11-16 06:49:07 瀏覽:51
伺服器ip黑名單和網站ip黑名單區別 發布:2024-11-16 06:45:56 瀏覽:888
上傳圖片命名規則 發布:2024-11-16 06:28:37 瀏覽:557