存儲控制器將磁盤驅動器連接到計算機。有不同的標準和類型的存儲控制器,如IDE、SATA和SCSI控制器。在虛擬機器中,虛擬存儲控制器將虛擬和物理磁盤連接到這些機器上。對於VMware虛擬機器,有不同類型的存儲控制器可用於連接磁盤和CD / DVD驅動器。
每種存儲控制器都有其自己的優點和限制,但本博客主要關注SCSI控制器。然後,我將SCSI控制器與VMware vSphere虛擬機器設置中可用的其他類型的存儲控制器進行比較,以找出對於特定情況最合適的存儲控制器。
關於存儲控制器的一般信息
當您在VMware vSphere VM上創建虛擬機器時,VM配置中將默認創建至少一個虛擬存儲控制器。如果虛擬磁盤和CD / DVD驅動器連接到不同的存儲控制器,則在創建VM後您可以擁有兩個存儲控制器。您還可以在創建VM時添加更多存儲控制器以連接磁盤驅動器。
當您使用VMware Host Client或VMware vSphere Client在ESXi主機上創建虛擬機器,或者在VMware Workstation中創建虛擬機器時,系統會自動選擇最佳的存儲控制器,以為所選的客戶操作系統提供最佳性能。正如我們將看到的那樣,這使得在VM創建精靈中選擇適當的客戶操作系統成為一項非常重要的任務。
選擇正確的儲存控制器的重要性不容小覷。新的儲存控制器類型可能不受舊操作系統支援。因此,在選擇最佳的預設控制器時,應考慮所選的客戶操作系統中包含的驅動程式。虛擬機器硬體相容性(VMware 硬體版本)和裝置類型(虛擬硬碟或 DVD-ROM)也是重要因素。較新的硬體版本支援更多的儲存控制器。
在更改用於開機磁碟的儲存控制器之前,應確保客戶操作系統(OS)支援此控制器類型,並且在客戶操作系統中安裝了適當的驅動程式。當將儲存裝置連接到多個儲存控制器時,輸入/輸出性能可以提高,相較於將所有磁碟驅動器連接到單個儲存控制器。因此,如果一個 VM 使用了多個 SCSI 控制器,建議的做法是將虛擬磁碟分佈在這些 SCSI 控制器上,以獲得更好的性能。
增加儲存控制器的另一個原因是當您超出連接到控制器的磁碟裝置的最大支援數量時。在這種情況下,如何添加新的控制器就變得很重要。某些控制器可以使用熱添加功能添加到 VM 配置中。其他儲存控制器類型則需要冷操作,即首先關閉 VM 的電源。
預設在虛擬機器上的第一個儲存控制器的編號是0。如果您新增第二個儲存控制器,則分配的編號是1,依此類推。之後的控制器依序編號。連接到儲存控制器的儲存設備的編號方式也是從0開始。例如,如果您的虛擬機器有一個儲存控制器並且一個虛擬磁碟連接到此控制器,該磁碟的編號是(0:0)。如果您在同一控制器上新增第二個虛擬磁碟,則編號為(0:1)。如果您將另一個虛擬磁碟連接到第二個儲存控制器,則在此情況下磁碟的編號是(1:1)。連接節點的完整名稱和編號包含控制器介面和控制器以及磁碟的編號,例如,SCSI(0:0),SCSI(1:3),SATA(1:7),IDE(0:0),等等。因為此編號保留給虛擬設備節點,所以在控制器選項中無法指定SCSI(z:7)。
可用的 VMware 儲存控制器
有許多類型的儲存控制器可供使用。VMware vSphere 虛擬機器的儲存控制器類型包括SCSI、IDE、AHCI SATA和NVM Express(NVMe)。
在SCSI控制器中,有四個子類型:
- BusLogic Parallel
- LSI Logic Parallel
- LSI Logic SAS
- VMware Paravirtual SCSI
A maximum of four SCSI controllers are supported per VMware virtual machine. There is a 15-device limit for devices connected to a single SCSI controller.
BusLogic Parallel
這個 VMware SCSI 控制器是 VMware vSphere 虛擬機器中模擬的第一種存儲控制器類型之一。舊版的 Windows 包含此控制器類型的驅動程序,因此可以在 VM 配置中使用此控制器來安裝舊版的 Windows(例如,Windows 2000)。BusLogic 平行 SCSI 控制器現在被認為是過時的控制器。不支援大於 2 TB 的磁盤的虛擬機器。驅動程序限制了佇列深度為 1,這對性能有影響。如果您需要更高性能的 VM 存儲,請考慮使用 LSI Logic 平行 SCSI 存儲控制器。
LSI Logic 平行
LSI Logic 平行以前稱為 LSI Logic SCSI 控制器。這是另一個 VMware SCSI 存儲控制器,自 VMware 虛擬化平台的最初版本開始就可用。LSI Logic 平行 SCSI 控制器也是模擬的,並受到大量操作系統的支持,包括舊操作系統,因為它們默認包含對此存儲控制器的驅動程序。這些驅動程序支持 32 的佇列深度,這使得這個 VMware SCSI 控制器成為許多客戶操作系統的常見選擇和默認選擇。當創建 Windows Server 2003 VM 時,預設選擇 LSI Logic 平行,因為此存儲控制器支持 SCSI2 命令,而 Windows Server 2003 支持此 SCSI 標準。
LSI Logic SAS
LSI Logic平行儲存控制器演變為LSI Logic SAS控制器。從Windows Server 2008開始,創建新的VM時預設選擇LSI Logic SAS控制器,因為LSI Logic SAS與SCSI3命令兼容,而且新版Windows操作系統也支援較新的標準。在許多情況下,使用這個VMware SCSI控制器是首選。
相容性:ESXi 4.x或更新版本。
VMware Paravirtual SCSI
與本文描述的先前VMware SCSI控制器不同,此控制器具有虛擬化感知功能,支援高吞吐量。與模擬的VMware存儲控制器相比,CPU負載較低。VMware paravirtual SCSI控制器(PVSCI)沒有真實的硬件等效物,因此許多操作系統(主要是舊操作系統)不會直接支援此控制器。必須手動安裝驅動程序,使操作系統能與VMware paravirtual SCSI控制器配合使用。此控制器針對高IOPS性能(每秒輸入/輸出操作次數)採用。
如果對接到paravirtual SCSI控制器的虛擬磁盤存在快照,或者主機上的內存被超配,則使用此存儲控制器類型的VM的性能可能低於預期。
相容性:ESXi 4.x或更新版本。支援Windows Server 2003或更新版本。
需要H2
請注意,在安裝了客戶操作系統的情況下更改 VMware VM 的存儲控制器可能會使現有虛擬磁盤無法訪問,如果在客戶操作系統上沒有安裝所需的驅動程序的話。 VMware Tools 必須安裝在客戶操作系統上,因為 VMware Tools 包含與 VMware 平行虛擬 SCSI 控制器配合使用所需的驅動程序。
當您在虛擬機上安裝 Windows 並將系統磁盤連接到 VMware 平行虛擬 SCSI 控制器時,您可能需要插入包含驅動程序的虛擬軟盤映像,並在安裝過程中選擇控制器的驅動程序,以使 Windows 檢測到安裝磁盤。
要將 VMware 平行虛擬 SCSI 控制器添加到虛擬機配置中,您可能需要添加其中一個高度支持的 SCSI 控制器,例如 LSI logic 控制器,安裝 VMware Tools,關閉虛擬機,將 VMware 平行虛擬 SCSI 控制器添加到虛擬機配置中,最後,將虛擬磁盤附加到 VMware 平行虛擬 SCSI 控制器(或將現有的存儲控制器類型更改為平行虛擬 SCSI 控制器)。
AHCI SATA
此存儲控制器是新的,自 VMware vSphere 5.5 以來就已經提供,使用虛擬硬件 10。您可以通過使用 AHCI SATA 存儲控制器將大量存儲(包括高容量虛擬磁盤)連接到 VMware VM。SATA 存儲控制器可用於啟動磁盤以引導客戶操作系統(OS)。請確保 AHCI SATA 控制器受操作系統支持。性能不如 PVSCI 或 LSI Logic 控制器高。最好使用其他控制器來運行對磁盤性能敏感的應用程序。通常,SATA 控制器默認用於 VM 的 CD/DVD 驅動器。
兼容性:ESXi 5.5 或更高版本的虛擬硬件兼容性。每個 VM 最多支持四個 SATA 控制器。可以連接到單個 SATA 控制器的最大存儲設備數量為 30(0-29)。
NVMe
NVM Express 或 NVMe(非揮發性記憶體)控制器是專為 SSD 存儲設計的控制器。採用 NVMe 協議用於非磁性磁盤以提供最佳性能和多隊列通信。VMware vSphere 支持 NVMe 協議,您可以在 VM 配置中添加 NVMe 存儲控制器。最大隊列數量為 65535,最大隊列深度為 64000。
要求:VMware vSphere 6.5 和 VM 硬件版本 13。客戶 OS 必須具有 NVMe 支持。最多支持四個 NVMe 控制器,並且可以連接到單個 NVMe 控制器的磁盤數量為 15(0-14)。
IDE 存儲控制器
模擬的IDE儲存控制器是最古老的儲存控制器類型之一。虛擬機最多可以連接一個IDE控制器和四個儲存設備(兩個通道-主通道和次通道,每個通道有兩個設備-主設備和從設備)。不支援磁碟的熱添加和調整大小。您需要關閉虛擬機以編輯磁碟配置。IDE控制器使用ATAPI。
您可以連接到虛擬機的磁碟總數由控制器類型決定,如下表所示。
一般建議
從性能和兼容性的角度,為配置VMware vSphere虛擬機選擇儲存控制器的一般建議。
如果您不確定要為VM使用哪個SCSI控制器,請按照以下順序(優先級)選擇:
- VMware Paravirtual(如果客戶操作系統支援)
- LSI Logic SAS(如果客戶操作系統支援)
- LSI Logic Parallel
- BusLogic Parallel(如果其他方法都不起作用)
如果要更改啟動磁碟的儲存控制器,必須確保在啟動模式下安裝了儲存控制器驅動程序。如果VM配置為使用BIOS,可能需要修改VM配置和BIOS設置。如果VM配置為使用UEFI,更改啟動磁碟的儲存控制器的選項更加靈活,在大多數情況下不需要進行其他設置。
請參考兼容性表格,查看更改VM的儲存控制器配置後,客戶操作系統是否能夠引導。
另外,還可以參考不同存儲控制器類型用於虛擬機器和客戶操作系統的一般建議。
VMware存儲控制器配置
現在我們已經熟悉了VMware vSphere中可用的存儲控制器類型,讓我們看看如何在VMware vSphere Client中編輯存儲控制器設置。在我的示例中,我有一個帶有默認存儲控制器的VM,並且Ubuntu Linux已安裝在此VM上。
編輯VM的存儲控制器設置需要虛擬機器.配置.添加或移除設備權限。
打開VMware vSphere Client,轉到主機和叢集,選擇所需的主機,然後選擇所需的虛擬機器。右鍵點擊VM,在打開的菜單中選擇編輯設置。您也可以點擊操作 > 編輯設置。
更改控制器類型
在編輯設置窗口中,我看到我的VM使用SCSI控制器 0,而SCSI存儲控制器類型為LSI Logic Parallel。在下方,您可以找到SATA控制器 0,用於將虛擬CD/DVD驅動器連接到VM。單擊SCSI控制器以展開選項,然後在更改類型行中,單擊下拉菜單以更改現有存儲控制器的類型。點擊確定以保存設置。請記住,VM和客戶操作系統必須支持所選的控制器。如果啟動磁盤連接到此存儲控制器,這一點尤其重要。
添加新的存儲控制器
為了將新的儲存控制器新增至虛擬機配置中,在 編輯設定 視窗中點擊 新增新裝置,並在開啟的選單中選擇所需的控制器(在 控制器 區域)。在我的示例中,我可以選擇 NVMe 控制器、SATA 控制器或 SCSI 控制器。讓我們將 SATA 控制器 加入到虛擬機配置中。
注意:如果您想要使用 USB 通過並將實體 USB 設備(例如 USB 硬碟或閃存驅動器)直接連接到虛擬機器(USB 設備必須連接到主機的實體 USB 埠),則應該添加 USB 控制器。
SATA 控制器 1 已添加。最初,新控制器被命名為 新 SATA 控制器。在您按下 確定 保存虛擬機設定後,SATA 儲存控制器的名稱將保存為 SATA 控制器 1。
將虛擬磁碟連接到儲存控制器
讓我們新增一個新的虛擬硬碟,並將這個虛擬硬碟連接到 SATA 儲存控制器。在 編輯設定 視窗中,點擊 新增新裝置 > 硬碟。
新的硬碟現在顯示在VM配置中,但您需要配置虛擬磁碟選項,例如磁碟大小、薄或厚配置和位置,並在虛擬設備節點選項中選擇所需的存儲控制器。如果需要,您還可以配置共享選項、磁碟模式和IOPs限制。在點擊確定保存設置後,新硬碟名稱將保存為硬碟 2。
如果您需要將現有虛擬磁碟連接到另一個存儲控制器,請按照相同的原則進行操作-打開VM設置,展開磁碟設置並編輯虛擬設備節點選項。
如果我將新虛擬硬碟連接到連接了CD/DVD驅動器的SATA控制器 0上,我可以選擇SATA (0:1)、SATA (0:2)或其他 (0:x)節點,除了SATA (0:0),因為虛擬DVD-ROM使用SATA (0:0)。如果我將新虛擬磁碟連接到新的SATA控制器 1,那麼我可以選擇SATA (1:0)、SATA (1:1)和此存儲控制器上的任何其他空閒節點。
編輯VMX配置文件
您可以通過編輯VMX配置文件來為VM編輯SCSI控制器類型和其他存儲控制器類型。此方法是編輯VMware vSphere Client GUI的替代方法,可以在命令行界面中使用。一般建議您使用VMware vSphere Client進行操作,在特殊情況下才手動編輯VMX文件。
讓我們在添加任何其他存儲控制器和虛擬磁盤之前,探索我們的 Ubuntu VM 的初始 VMX 配置文件。 在下面顯示的配置部分中,僅顯示與存儲配置相關的行。 完整的配置文件還包含其他設置,但我會跳過它們,只專注於存儲配置和此博客文章中的存儲控制器。
config.version = “8”
virtualHW.version = “17”
vmci0.present = “TRUE”
scsi0.virtualDev = “lsilogic”
scsi0.present = “TRUE”
sata0.present = “TRUE”
scsi0:0.deviceType = “scsi-hardDisk”
scsi0:0.fileName = “blog-Ubuntu1.vmdk”
sched.scsi0:0.shares = “normal”
sched.scsi0:0.throughputCap = “off”
scsi0:0.present = “TRUE”
sata0:0.deviceType = “cdrom-raw”
sata0:0.clientDevice = “TRUE”
sata0:0.fileName = “emptyBackingString”
sata0:0.present = “TRUE”
displayName = “blog-Ubuntu1”
guestOS = “ubuntu-64”
最有趣的配置行是:
scsi0.virtualDev = “lsilogic” 是用於連接虛擬硬盤的 LSI Logic Parallel SCSI 控制器。
scsi0:0.deviceType = “scsi-hardDisk” 是連接到SCSI (0:0) 的儲存裝置類型。
scsi0:0.fileName = “blog-Ubuntu1.vmdk” 是連接到節點SCSI (0:0) 的虛擬磁碟檔案名稱。
當我添加了第二個SATA儲存控制器和第二個連接到SATA控制器的虛擬磁碟後,以下行被添加到VMX配置檔:
sata1.present = “TRUE”
sata1:0.fileName = “blog-Ubuntu1_1.vmdk”
sched.sata1:0.shares = “normal”
sched.sata1:0.throughputCap = “off”
sata1:0.present = “TRUE”
如果我們將LSI Logic Parallel SCSI控制器更改為VM配置中的LSI Logic SAS,我們應將該行編輯為
scsi0.virtualDev = “lsilogic”
至
scsi0.virtualDev = “lsisas1068”
讓我們看一下與存儲控制器相關的VMX配置參數,包括SCSI控制器。您可能需要根據您的VM配置更改0、0:0和其他值(x:x)為適當的值。
scsi0.present = “” – 定義SCSI控制器0是否存在(可能的值為TRUE或FALSE)。
scsi0:0.deviceType = “” 用於定義 SCSI ID。支援的值有 “scsi-hardDisk”、“PhysicalDrive0”、“rawDisk”、“scsi-passthru”、“scsi-nonpassThru-rdm”、“scsi-passthru”、“scsi-passthruscsi-passThru-rdm”。
scsi0:0.fileName = “diskname.vmdk” – 定義附加到定義的虛擬設備節點(在本例中為 SCSI(0:0))的虛擬磁盤文件的文件名。如果虛擬磁盤文件位於同一目錄中,設置 “diskname.vmdk” 即可。如果虛擬磁盤文件位於另一個目錄中,您必須定義到 VMDK 文件的完整路徑。
sched.scsi0:0.throughputCap = “off” – 禁用帶寬和吞吐量限制。設置此參數的限制的示例包括 sched.scsi0:0.throughputCap = 80IOPS、10KIOps、4GBps 等。
scsi0:0.present = “” – 定義 SCSI 存儲設備是否存在。可以是 TRUE 或 FALSE。
scsi0.virtualDev = “” – 定義 SCSI 控制器的類型。
用於 scsi0.virtualDev = “” 參數的所有支援的值,定義 SCSI 控制器的類型:
- buslogic – BusLogic SCSI
- lsilogic – LSI Logic SCSI
- lsisas1068 – LSI Logic SAS
- pvscsi – VMware Paravirtual SCSI
您可以使用本博客文章中介绍的过程来编辑在VMware Workstation和VMware Player上运行的虚拟机的存储控制器配置,并连接所需的存储设备。您还可以通过配置vSphere 6.7和vSphere 7中的VMware家庭实验室进行实践。
结论
VMware存储控制器用于将存储设备(如虚拟磁盘)连接到虚拟机。本博客文章介绍了各种虚拟存储控制器类型,包括SATA、IDE、NVMe和SCSI存储控制器,以及在VMware vSphere客户端的GUI中配置这些控制器。存储系统的性能和客户操作系统的正常工作取决于选择正确的控制器类型。默认情况下,VM配置中会选择最佳存储控制器,但您可以随时编辑VM设置并更改或添加其他控制器类型。
不要忘记保护您的VMware VM,并按时执行备份。考虑使用NAKIVO进行VM备份和复制,以保护您的虚拟机和其他工作负载。
Source:
https://www.nakivo.com/blog/scsi-controller-and-other-vmware-controller-types/