已使用 Intel 82599 VF 介面來強化網路。 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

已使用 Intel 82599 VF 介面來強化網路。

Xen 型執行個體方面,Intel 82599 虛擬功能 (VF) 介面會提供增強型聯網功能。介面會使用 Intel ixgbevf 驅動程式。

以下標籤會顯示如何驗證為執行個體作業系統安裝的網路轉接器驅動程式。

Linux
Linux 介面驅動程式

請用下列命令確認模組使用於特定介面,並將介面名稱換成您想要檢查的介面。如果您使用單一介面 (預設),則這會是 eth0。如果作業系統支援可預測的網路名稱,則名稱可能像是 ens5

在下列範例中,不會載入 ixgbevf 模組,因為列出的驅動程式為 vif

[ec2-user ~]$ ethtool -i eth0 driver: vif version: firmware-version: bus-info: vif-0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no

在此範例中,將載入 ixgbevf 模組。此執行個體已正確設定增強型網路。

[ec2-user ~]$ ethtool -i eth0 driver: ixgbevf version: 4.0.3 firmware-version: N/A bus-info: 0000:00:03.0 supports-statistics: yes supports-test: yes supports-eeprom-access: no supports-register-dump: yes supports-priv-flags: no
Windows
Windows 網路轉接器

若要確定已安裝驅動程式,請連線到執行個體,並開啟裝置管理員。您應會看到網路轉接器下列出的 Intel(R) 82599 Virtual Function

準備您的執行個體以取得增強型聯網

若要準備使用 Intel 82599 VF 介面的增強型聯網,請依下列方式設定您的執行個體:

  • 驗證執行個體類型為以下其中一項:C3、C4、D2、I2、M4 (不含 m4.16xlarge) 和 R3。

  • 確定該執行個體具有網際網路連線能力。

  • 如果您的執行個體上有想要保留的重要資料,您現在應從執行個體建立 AMI,以備份這些資料。更新核心與核心模組,以及啟用 sriovNetSupport 屬性,可能使執行個體變得不相容或使作業系統變得無法連線。如果您有較新的備份,發生這些狀況時資料便能獲得保留。

  • Linux 執行個體 – 從使用 Linux 核心版本 2.6.32 或更新版本的 HVM AMI 啟動執行個體。最新的 Amazon Linux HVM AMI 擁有安裝增強型聯網所需的模組和必要的屬性集。因此,如果您使用目前的 Amazon Linux HVM AMI 啟動 Amazon EBS 支援的增強型聯網所支援的執行個體,則您的執行個體已啟用增強型聯網。

    警告

    增強型聯網僅支援於 HVM 執行個體。啟用 PV 執行個體的增強型聯網可能使其變為無法連線。在沒有正確的模組或模組版本下設定此屬性,也可能使執行個體變為無法連線。

  • Windows 執行個體 – 從64位元 HVM AMI 啟動執行個體。您無法在 Windows Server 2008 上啟用增強型聯網。Windows Server 2012 R2 和 Windows Server 2016 和更新版本 AMI 已啟用增強型聯網。Windows Server 2012 R2 內含 Intel 驅動程式 1.0.15.3,因此我們建議您使用 Pnputil.exe 公用程式將驅動程式升級至最新版本。

  • AWS CloudShell 從 使用 AWS Management Console,或在您選擇AWS Tools for Windows PowerShell的任何電腦上安裝和設定 AWS CLI或 ,最好是本機桌上型電腦或筆記型電腦。如需詳細資訊,請參閱 存取 Amazon EC2AWS CloudShell 使用者指南。增強型聯網無法從 Amazon EC2 主控台管理。

測試是否已啟用增強型網路

驗證是否已設定 sriovNetSupport 屬性。

執行個體屬性 (sriovNetSupport)

若要查看執行個體是否設定增強型聯網的 sriovNetSupport 屬性,請使用下列其中一項命令。如果已設定屬性,則值為 simple

  • describe-instance-attribute (AWS CLI)

    aws ec2 describe-instance-attribute --instance-id instance_id --attribute sriovNetSupport
  • Get-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

    Get-EC2InstanceAttribute -InstanceId instance-id -Attribute sriovNetSupport
映像屬性 (sriovNetSupport)

若要查看 AMI 是否設定增強型聯網的 sriovNetSupport 屬性,請使用下列其中一項命令:如果已設定屬性,則值為 simple

  • describe-images (AWS CLI)

    aws ec2 describe-images --image-id ami_id --query "Images[].SriovNetSupport"
  • Get-EC2Image (AWS Tools for Windows PowerShell)

    (Get-EC2Image -ImageId ami-id).SriovNetSupport

在執行個體上啟用增強型網路

您使用的程序會依執行個體的作業系統而定。

警告

增強型聯網屬性一經啟用後,便無法停用。

最新的 Amazon Linux HVM AMI 擁有安裝增強型網路所需的 ixgbevf 模組和必要的 sriovNetSupport 屬性集。因此,如果您使用目前的 Amazon Linux HVM AMI 啟動執行個體類型,則您的執行個體已啟用增強型聯網。如需詳細資訊,請參閱 測試是否已啟用增強型網路

如果您使用較舊的 Amazon Linux AMI 啟動執行個體,且其尚未啟用增強型聯網,請用下列程序啟用增強型聯網。

啟用增強型聯網
  1. 連線到您的執行個體。

  2. 在執行個體上,執行下列命令,將您的執行個體更新為最新的核心與核心模組,包括 ixgbevf

    [ec2-user ~]$ sudo yum update
  3. 從本機電腦,使用 Amazon EC2 主控台或下列其中一個命令重新啟動執行個體:reboot-instances(AWS CLI) 或 Restart-EC2Instance(AWS Tools for Windows PowerShell)。

  4. 再次連接至執行個體,並使用 ixgbevf 中的 modinfo ixgbevf 命令確認 測試是否已啟用增強型網路 模組已安裝且為最低建議版本。

  5. 【EBS 後端執行個體】 從您的本機電腦,使用 Amazon EC2 主控台或下列其中一個命令來停止執行個體:stop-instances(AWS CLI) 或 Stop-EC2Instance(AWS Tools for Windows PowerShell)。

    [執行個體存放區後端執行個體] 您無法停止執行個體來修改屬性。相反地,請跳到下一個程序。

  6. 在本機電腦上使用下列其中一個命令啟用增強型聯網屬性。

    AWS CLI

    使用 modify-instance-attribute 命令,如下所示。

    aws ec2 modify-instance-attribute --instance-id instance_id --sriov-net-support simple
    PowerShell

    Edit-EC2InstanceAttribute 如下所示使用 。

    Edit-EC2InstanceAttribute -InstanceId instance_id -SriovNetSupport "simple"
  7. (選擇性) 從執行個體建立 AMI,如 建立 Amazon EBS 支援的 AMI 所述。AMI 將從執行個體繼承增強型聯網屬性。因此,您預設可用此 AMI 啟動其他啟用增強型聯網的執行個體。

  8. 從本機電腦,使用 Amazon EC2 主控台或下列其中一個命令啟動執行個體:start-instances(AWS CLI) 或 Start-EC2Instance(AWS Tools for Windows PowerShell)。

  9. 連接至執行個體,並使用 ixgbevf 中的 ethtool -i ethn 命令確認 測試是否已啟用增強型網路 模組已在網路介面上安裝及載入。

啟用增強型聯網 (執行個體後端執行個體)

遵循先前的程序,一直進行到您停止執行個體的那個步驟。如 建立執行個體儲存體支援的 AMI 中所述建立新的 AMI,且務必在註冊 AMI 時啟用增強型聯網屬性。

AWS CLI

使用 register-image 命令,如下所示。

aws ec2 register-image --sriov-net-support simple ...
PowerShell

Register-EC2Image 如下所示使用 。

Register-EC2Image -SriovNetSupport "simple" ...

開始之前,請先檢查您的執行個體是否啟用增強型聯網

Quick Start Ubuntu HVM AMI 包含增強型聯網必要的驅動程式。如果您有 2.16.4 版以前的 ixgbevf,則可以安裝 linux-aws 核心套件來取得最新的增強型聯網驅動程式。

以下程序提供在 Ubuntu 執行個體上編譯 ixgbevf 模組的一般步驟。

安裝 linux-aws 核心套件
  1. 連線到您的 執行個體。

  2. 更新套件快取和套件。

    ubuntu:~$ sudo apt-get update && sudo apt-get upgrade -y linux-aws
    重要

    如果更新程序期間提示您安裝 grub,請用 /dev/xvda 安裝 grub,然後選擇保留目前版本的 /boot/grub/menu.lst

開始之前,請先檢查您的執行個體是否啟用增強型聯網。最新的 Quick Start HVM AMI 包含增強型聯網必要的驅動程式,因此您不需要執行其他步驟。

如果您需要在 Amazon Linux 或 Ubuntu 以外的其他 Linux 發行版本上使用 Intel 82599 VF 介面啟用增強型聯網,以下程序提供一般步驟。如需像是詳細命令語法、檔案位置或套件和工具支援等詳細資訊,請參閱 Linux 發行版本的特定文件。

在 Linux 上啟用增強型聯網
  1. 連線到您的 執行個體。

  2. 在您的執行個體上從 Sourceforge (https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/) 下載 ixgbevf 模組來源。

    2.16.4 之前版本的 ixgbevf,包括 2.14.2 版,無法在某些 Linux 發行版本上正確建置,包括特定版本的 Ubuntu。

  3. 在您的執行個體上編譯及安裝 ixgbevf 模組。

    警告

    如果您為目前核心編譯 ixgbevf 模組,接著升級核心,但未針對新核心重建驅動程式,系統可能在下次重新啟動時還原為發行版本專屬的 ixgbevf 模組。如果發行版本專屬版本與增強型聯網不相容,則系統可能變得無法連線。

  4. 執行 sudo depmod 命令更新模組相依性。

  5. 在執行個體上更新 initramfs,確定開機時載入新模組。

  6. 判斷系統是否依預設使用可預測的網路介面名稱。使用 systemdudev 197 或以上版本的系統可重新命名乙太網路裝置,但不保證單一網路介面會命名為 eth0。該行為會造成連線至執行個體時發生問題。如需詳細資訊及查看其他的組態選項,請參閱 freedesktop.org 網站上的可預測的網路介面名稱

    1. 您可用下列命令在 RPM 系統上檢查 systemdudev 的版本:

      [ec2-user ~]$ rpm -qa | grep -e '^systemd-[0-9]\+\|^udev-[0-9]\+' systemd-208-11.el7_0.2.x86_64

      在上述的 Red Hat Enterprise Linux 7 範例中,systemd 版本為 208,因此可預測的網路介面名稱已停用。

    2. 若要停用可預測網路介面名稱,請將 net.ifnames=0 選項新增至 GRUB_CMDLINE_LINUX/etc/default/grub 行中。

      [ec2-user ~]$ sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/\ net\.ifnames\=0\"/' /etc/default/grub
    3. 重建 grub 組態檔案。

      [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  7. 【EBS 後端執行個體】 從您的本機電腦,使用 Amazon EC2 主控台或下列其中一個命令來停止執行個體:stop-instances (AWS CLI) 或 Stop-EC2Instance()AWS Tools for Windows PowerShell。

    [執行個體存放區後端執行個體] 您無法停止執行個體來修改屬性。相反地,請跳到下一個程序。

  8. 在本機電腦上使用下列其中一個命令啟用增強型聯網屬性。

    AWS CLI

    使用 modify-instance-attribute 命令,如下所示。

    aws ec2 modify-instance-attribute --instance-id instance_id --sriov-net-support simple
    PowerShell

    Edit-EC2InstanceAttribute 如下所示使用 。

    Edit-EC2InstanceAttribute -InstanceId instance_id -SriovNetSupport "simple"
  9. (選擇性) 從執行個體建立 AMI,如 建立 Amazon EBS 支援的 AMI 所述。AMI 將從執行個體繼承增強型聯網屬性。因此,您預設可用此 AMI 啟動其他啟用增強型聯網的執行個體。

    如果您執行個體的作業系統包含 /etc/udev/rules.d/70-persistent-net.rules 檔案,您必須先刪除檔案,然後再建立 AMI。此檔案包含原始執行個體乙太網路卡的 MAC 地址。如果其他執行個體使用此檔案開機,作業系統將無法找到設備,且 eth0 可能會失敗,因而造成開機問題。此檔案會在下次開機週期時重新產生,且從 AMI 啟動的任何執行個體將會建立自己的檔案版本。

  10. 從本機電腦,使用 Amazon EC2 主控台或下列其中一個命令啟動執行個體:start-instances(AWS CLI) 或 Start-EC2Instance(AWS Tools for Windows PowerShell)。

  11. (選擇性) 連線到執行個體,並確認模組已安裝。

啟用增強型聯網 (執行個體存放區支援的執行個體)

遵循先前的程序,一直進行到您停止執行個體的那個步驟。如 建立執行個體儲存體支援的 AMI 中所述建立新的 AMI,且務必在註冊 AMI 時啟用增強型聯網屬性。

AWS CLI

使用 register-image 命令,如下所示。

aws ec2 register-image --sriov-net-support simple ...
PowerShell

使用 Register-EC2Image ,如下所示。

Register-EC2Image -SriovNetSupport "simple" ...

如果您啟動執行個體,且其尚未啟用增強型聯網,您必須在執行個體上下載並安裝必要的網路轉接器驅動程式,然後設定 sriovNetSupport 執行個體屬性,以啟動增強型聯網。您只能在支援的執行個體類型上啟用此屬性。如需詳細資訊,請參閱增強 Amazon EC2 執行個體的聯網能力

重要

若要在 Windows AMIs 中檢視最新的驅動程式更新,請參閱「AWS Windows AMI 參考」中的 Windows AMI 版本歷史記錄

啟用增強型聯網
  1. 連線到您的執行個體,並以本機管理員登入。

  2. [Windows Server 2016 和更新版本] 安裝驅動程式後,執行下列 EC2 Launch PowerShell 指令碼,以設定執行個體。

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule
    重要

    當您啟用初始化執行個體 EC2 Launch 指令碼時,管理員密碼將重設。您可以修改組態檔來停用管理員密碼重設,方法為在初始化任務的設定中指定它。

  3. 從執行個體中,下載適用於您的作業系統的 Intel 網路轉接器驅動程式:

    • Windows Server 2022

      請造訪下載頁面並下載Wired_driver_version_x64.zip

    • Windows Server 2019 (包括 Server 版本 1809 和更新版本*)

      請造訪下載頁面並下載Wired_driver_version_x64.zip

    • Windows Server 2016 (包括 Server 版本 1803 和更早版本*)

      請造訪下載頁面並下載Wired_driver_version_x64.zip

    • Windows Server 2012 R2

      請造訪下載頁面並下載Wired_driver_version_x64.zip

    • Windows Server 2012

      請造訪下載頁面並下載Wired_driver_version_x64.zip

    • Windows Server 2008 R2

      請造訪下載頁面並下載PROWinx64Legacy.exe

    * Intel 驅動程式與軟體頁面並未特別說明伺服器版本 1803 和更早版本,以及 1809 和更新版本。

  4. 安裝適用於您的作業系統的 Intel 網路轉接器驅動程式。

    • Windows Server 2008 R2

      1. Downloads (下載) 資料夾中,找出 PROWinx64Legacy.exe 檔案並將其重新命名為 PROWinx64Legacy.zip

      2. 解壓縮 PROWinx64Legacy.zip 檔案的內容。

      3. 開啟命令列,導覽至解壓縮的資料夾,並執行下面的命令,使用 pnputil 公用程式新增及安裝驅動程式存放區中的 INF 檔案。

        C:\> pnputil -a PROXGB\Winx64\NDIS62\vxn62x64.inf
    • Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2 和 Windows Server 2012

      1. Downloads (下載) 資料夾中,解壓縮 Wired_driver_version_x64.zip 檔案的內容。

      2. 解壓縮 Wired_driver_version_x64.zip 檔案的內容。

      3. 開啟命令列,導覽至解壓縮的資料夾,並執行下面其中一個命令,使用 pnputil 公用程式新增及安裝驅動程式存放區中的 INF 檔案。

        • Windows Server 2022

          pnputil -i -a PROXGB\Winx64\NDIS68\vxn68x64.inf
        • Windows Server 2019

          pnputil -i -a PROXGB\Winx64\NDIS68\vxn68x64.inf
        • Windows Server 2016

          pnputil -i -a PROXGB\Winx64\NDIS65\vxn65x64.inf
        • Windows Server 2012 R2

          pnputil -i -a PROXGB\Winx64\NDIS64\vxn64x64.inf
        • Windows Server 2012

          pnputil -i -a PROXGB\Winx64\NDIS63\vxn63x64.inf
  5. 在本機電腦上使用下列其中一個命令啟用增強型聯網屬性。

    AWS CLI

    使用 modify-instance-attribute 命令,如下所示。

    aws ec2 modify-instance-attribute --instance-id instance_id --sriov-net-support simple
    PowerShell

    使用Edit-EC2InstanceAttribute ,如下所示。

    Edit-EC2InstanceAttribute -InstanceId instance_id -SriovNetSupport "simple"
  6. (選擇性) 從執行個體建立 AMI,如 建立 Amazon EBS 支援的 AMI 所述。AMI 將從執行個體繼承增強型聯網屬性。因此,您預設可用此 AMI 啟動其他啟用增強型聯網的執行個體。

  7. 從本機電腦,使用 Amazon EC2 主控台或下列其中一個命令啟動執行個體:start-instances(AWS CLI) 或 Start-EC2Instance(AWS Tools for Windows PowerShell)。

疑難排解連線問題

如果您在啟用增強型聯網時失去連線,則 ixgbevf 模組可能與核心不相容。請嘗試安裝您執行個體適用之 Linux 發行版本隨附的 ixgbevf 模組版本。

如果您為 PV 執行個體或 AMI 啟用增強聯網,可能導致無法連線到您的執行個體。

如需詳細資訊,請參閱如何開啟及設定 EC2 執行個體的增強型聯網?