使用 Linux 執行個體上的 Intel 82599 VF 介面啟用增強型聯網。
Amazon EC2 可透過 Intel 82599 VF 介面提供增強型聯網功能,而該介面使用 Intel ixgbevf
驅動程式。
需求
若要準備使用 Intel 82599 VF 介面的增強型聯網,請依下列方式設定您的執行個體:
-
選取下列支援的執行個體類型:C3、C4、D2、I2、M4 (不含
m4.16xlarge
) 和 R3。 -
從使用 Linux 核心版本 2.6.32 或更新版本的 HVM AMI 啟動執行個體。最新的 Amazon Linux HVM AMI 擁有安裝增強型聯網所需的模組和必要的屬性集。因此,如果您使用目前的 Amazon Linux HVM AMI 啟動 Amazon EBS 支援的增強型聯網所支援的執行個體,則您的執行個體已啟用增強型聯網。
警告
增強型聯網僅支援於 HVM 執行個體。啟用 PV 執行個體的增強型聯網可能使其變為無法連線。在沒有正確的模組或模組版本下設定此屬性,也可能使執行個體變為無法連線。
-
確定該執行個體具有網際網路連線能力。
-
使用 AWS Management Console 中的 AWS CloudShell
,或在您選擇的任何電腦上安裝或設定 AWS CLI 或 AWS Tools for Windows PowerShell,最好是您本機桌上型電腦或筆記型電腦。如需詳細資訊,請參閱 存取 Amazon EC2 和 AWS CloudShell 使用者指南。增強型聯網無法從 Amazon EC2 主控台管理。 -
如果您的執行個體上有想要保留的重要資料,您現在應從執行個體建立 AMI,以備份這些資料。更新核心與核心模組,以及啟用
sriovNetSupport
屬性,可能使執行個體變得不相容或使作業系統變得無法連線。如果您有較新的備份,發生這些狀況時資料便能獲得保留。
測試是否已啟用增強型網路
如果您的執行個體安裝了 ixgbevf
模組且設定 sriovNetSupport
屬性,表示已使用 Intel 82599 VF 介面啟用增強型聯網。
執行個體屬性 (sriovNetSupport)
若要查看執行個體是否設定增強型聯網的 sriovNetSupport
屬性,請使用下列其中一項命令:
如果屬性尚未設定,SriovNetSupport
將是空的。如果已設定屬性,則值很簡單,如下列範例輸出所示。
"SriovNetSupport": {
"Value": "simple"
},
映像屬性 (sriovNetSupport)
若要查看 AMI 是否設定增強型聯網的 sriovNetSupport
屬性,請使用下列其中一項命令:
如果屬性尚未設定,SriovNetSupport
將是空的。如果已設定屬性,則值很簡單。
網路介面驅動程式
請用下列命令確認模組使用於特定介面,並將介面名稱換成您想要檢查的介面。如果您使用單一介面 (預設),則這會是 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
在 Amazon Linux 上啟用增強型網路
最新的 Amazon Linux HVM AMI 擁有安裝增強型網路所需的 ixgbevf
模組和必要的 sriovNetSupport
屬性集。因此,如果您使用目前的 Amazon Linux HVM AMI 啟動執行個體類型,則您的執行個體已啟用增強型聯網。如需詳細資訊,請參閱 測試是否已啟用增強型網路。
如果您使用較舊的 Amazon Linux AMI 啟動執行個體,且其尚未啟用增強型聯網,請用下列程序啟用增強型聯網。
警告
增強型聯網屬性一經啟用後,便無法停用。
啟用增強型聯網
-
連線到您的執行個體,。
-
在執行個體上,執行下列命令,將您的執行個體更新為最新的核心與核心模組,包括
ixgbevf
:[ec2-user ~]$
sudo yum update
-
從本機電腦中,使用 Amazon EC2 主控台或下列其中一個命令來重新啟動執行個體: reboot-instances (AWS CLI)、Restart-EC2Instance (AWS Tools for Windows PowerShell)。
-
再次連接至執行個體,並使用
ixgbevf
中的 modinfo ixgbevf 命令確認 測試是否已啟用增強型網路 模組已安裝且為最低建議版本。 -
[EBS 支援的執行個體] 從本機電腦中,使用 Amazon EC2 主控台或下列其中一個命令來停止執行個體:stop-instances (AWS CLI)、Stop-EC2Instance (AWS Tools for Windows PowerShell)。如果您的執行個體由 AWS OpsWorks 管理,您應該在 AWS OpsWorks 主控台中停止該執行個體,以便執行個體狀態保持同步。
[執行個體存放區後端執行個體] 您無法停止執行個體來修改屬性。請改為執行此程序:啟用增強型聯網 (執行個體後端執行個體)。
-
在本機電腦上使用下列其中一個命令啟用增強型聯網屬性。
-
(選擇性) 從執行個體建立 AMI,如 建立 Amazon EBS 後端的 Linux AMI 所述。AMI 將從執行個體繼承增強型聯網屬性。因此,您預設可用此 AMI 啟動其他啟用增強型聯網的執行個體。
-
從本機電腦中,使用 Amazon EC2 主控台或下列其中一個命令來啟動執行個體:start-instances (AWS CLI)、Start-EC2Instance (AWS Tools for Windows PowerShell)。如果您的執行個體由 AWS OpsWorks 管理,您應該在 AWS OpsWorks 主控台中啟動該執行個體,以便執行個體狀態保持同步。
-
連接至執行個體,並使用
ixgbevf
中的 ethtool -i ethn
命令確認 測試是否已啟用增強型網路 模組已在網路介面上安裝及載入。
啟用增強型聯網 (執行個體後端執行個體)
遵循先前的程序,一直進行到您停止執行個體的那個步驟。如 建立執行個體存放區後端 Linux AMI 中所述建立新的 AMI,且務必在註冊 AMI 時啟用增強型聯網屬性。
在 Ubuntu 上啟用增強型網路
開始之前,請先檢查您的執行個體是否啟用增強型聯網。
Quick Start Ubuntu HVM AMI 包含增強型聯網必要的驅動程式。如果您有 2.16.4 版以前的 ixgbevf
,則可以安裝 linux-aws
核心套件來取得最新的增強型聯網驅動程式。
以下程序提供在 Ubuntu 執行個體上編譯 ixgbevf
模組的一般步驟。
安裝 linux-aws
核心套件
-
連線到您的執行個體。
-
更新套件快取和套件。
ubuntu:~$
sudo apt-get update && sudo apt-get upgrade -y linux-aws
重要
如果更新程序期間提示您安裝
grub
,請用/dev/xvda
安裝grub
,然後選擇保留目前版本的/boot/grub/menu.lst
。
在其他的 Linux 發行版本上啟用增強型網路
開始之前,請先檢查您的執行個體是否啟用增強型聯網。最新的 Quick Start HVM AMI 包含增強型聯網必要的驅動程式,因此您不需要執行其他步驟。
如果您需要在 Amazon Linux 或 Ubuntu 以外的其他 Linux 發行版本上使用 Intel 82599 VF 介面啟用增強型聯網,以下程序提供一般步驟。如需像是詳細命令語法、檔案位置或套件和工具支援等詳細資訊,請參閱 Linux 發行版本的特定文件。
在 Linux 上啟用增強型聯網
-
連線到您的執行個體。
-
在您的執行個體上從 Sourceforge (https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/
) 下載 ixgbevf
模組來源。2.16.4 之前版本的
ixgbevf
,包括 2.14.2 版,無法在某些 Linux 發行版本上正確建置,包括特定版本的 Ubuntu。 -
在您的執行個體上編譯及安裝
ixgbevf
模組。警告
如果您為目前核心編譯
ixgbevf
模組,接著升級核心,但未針對新核心重建驅動程式,系統可能在下次重新啟動時還原為發行版本專屬的ixgbevf
模組。如果發行版本專屬版本與增強型聯網不相容,則系統可能變得無法連線。 -
執行 sudo depmod 命令更新模組相依性。
-
在執行個體上更新
initramfs
,確定開機時載入新模組。 -
判斷系統是否依預設使用可預測的網路介面名稱。使用 systemd 或 udev 197 或以上版本的系統可重新命名乙太網路裝置,但不保證單一網路介面會命名為
eth0
。該行為會造成連線至執行個體時發生問題。如需詳細資訊及查看其他的組態選項,請參閱 freedesktop.org 網站上的可預測的網路介面名稱。 -
您可用下列命令在 RPM 系統上檢查 systemd 或 udev 的版本:
[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,因此可預測的網路介面名稱已停用。
-
若要停用可預測網路介面名稱,請將
net.ifnames=0
選項新增至GRUB_CMDLINE_LINUX
的/etc/default/grub
行中。[ec2-user ~]$
sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/\ net\.ifnames\=0\"/' /etc/default/grub
-
重建 grub 組態檔案。
[ec2-user ~]$
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
-
-
[EBS 後端執行個體] 從本機電腦中,使用 Amazon EC2 主控台或下列其中一個命令來停止執行個體:stop-instances (AWS CLI/AWS CloudShell)、Stop-EC2Instance (AWS Tools for Windows PowerShell)。如果您的執行個體由 AWS OpsWorks 管理,您應該在 AWS OpsWorks 主控台中停止該執行個體,以便執行個體狀態保持同步。
[執行個體存放區後端執行個體] 您無法停止執行個體來修改屬性。請改為執行此程序:啟用增強型聯網 (執行個體存放區支援的執行個體)。
-
在本機電腦上使用下列其中一個命令啟用增強型聯網屬性。
-
(選擇性) 從執行個體建立 AMI,如 建立 Amazon EBS 後端的 Linux AMI 所述。AMI 將從執行個體繼承增強型聯網屬性。因此,您預設可用此 AMI 啟動其他啟用增強型聯網的執行個體。
重要
如果您執行個體的作業系統包含
/etc/udev/rules.d/70-persistent-net.rules
檔案,您必須先刪除檔案,然後再建立 AMI。此檔案包含原始執行個體乙太網路卡的 MAC 地址。如果其他執行個體使用此檔案開機,作業系統將無法找到設備,且eth0
可能會失敗,因而造成開機問題。此檔案會在下次開機週期時重新產生,且從 AMI 啟動的任何執行個體將會建立自己的檔案版本。 -
從本機電腦中,使用 Amazon EC2 主控台或下列其中一個命令來啟動執行個體:start-instances (AWS CLI)、Start-EC2Instance (AWS Tools for Windows PowerShell)。如果您的執行個體由 AWS OpsWorks 管理,您應該在 AWS OpsWorks 主控台中啟動該執行個體,以便執行個體狀態保持同步。
-
(選擇性) 連線到執行個體,並確認模組已安裝。
啟用增強型聯網 (執行個體存放區支援的執行個體)
遵循先前的程序,一直進行到您停止執行個體的那個步驟。如 建立執行個體存放區後端 Linux AMI 中所述建立新的 AMI,且務必在註冊 AMI 時啟用增強型聯網屬性。
疑難排解連線問題
如果您在啟用增強型聯網時失去連線,則 ixgbevf
模組可能與核心不相容。請嘗試安裝您執行個體適用之 Linux 發行版本隨附的 ixgbevf
模組版本。
如果您為 PV 執行個體或 AMI 啟用增強聯網,可能導致無法連線到您的執行個體。
如需詳細資訊,請參閱如何啟用及設定 EC2 執行個體的增強型聯網?