【硬體相關】PCIe元件配置說明
一、PCIe介紹
1、前言
1.1、PCIe概述
PCI Express(peripheral component interconnect express)是INTEL提出的新一代的匯流排介面,PCI Express採用了目前業內流行的點對點序列連線,比起PCI以及更早期的計算機匯流排的共享並行架構,每個裝置都有自己的專用連線,不需要向整個匯流排請求頻寬,而且可以把資料傳輸率提高到一個很高的頻率,達到PCI所不能提供的高頻寬。
相對於傳統PCI匯流排在單一時間週期內只能實現單向傳輸,PCI Express的雙單工連線能提供更高的傳輸速率和質量。
1.2、PCIe分類
- PCIe規格
目前PCIe有五種物理規格,分別為PCIe x1、PCIe x4、PCIe x8、PCIe x16、PCIe x32,x
後面的數字表示為PCIe插槽內的通道數
詳見示意圖如下,目前主流規格主要為x1、x4、x8、x16,PCIe插槽可向下相容,如PCIe x16插槽可插x8、x4、x1的卡(最終執行模式由PCIe卡決定,如PCIe x16插槽插入PCIe x4卡,最終以PCIe x4模式執行)
插槽寬度 | 腳pin總數 | 主介面區pin數 | 長度 | 傳輸通道數 | 常見應用 |
---|---|---|---|---|---|
PCIe x1 | 36 | 14 | 25mm | 1 | 無線網絡卡、SATA擴充套件卡、USB埠擴充套件卡 |
PCIe x4 | 64 | 42 | 39mm | 4 | 萬兆乙太網卡 |
PCIe x8 | 98 | 76 | 56mm | 8 | FC HBA卡 |
PCIe x16 | 164 | 142 | 89mm | 16 | 顯示卡、GPU卡 |
- PCIe版本
目前PCIe有六種版本,分別為PCIe1.0、PCIe2.0、PCIe3.0、PCIe4.0、PCIe5.0、PCIe6.0,PCIe版本向後相容,任何版本的PCIe卡和主機板都可以以最低版本的模式工作(如PCIe 3.0卡插到PCIe 2.0槽位上,最終以PCIe 2.0版本執行)
詳見示意圖如下,列舉了不同PCIe版本匯流排效能,PCIe每條傳輸通道均為全雙工通道(SEND、RECEIVE兩個方向互不影響,表中傳輸頻寬表示為單方向的速率)
PCIe是一條序列匯流排,資料中嵌入了時鐘,它需要確保發生足夠的電平轉換(1到0和0到1),以便接收端恢復時鐘。
為了增加電平轉換,以"8b/10b"編碼舉例,每8個bit(1個位元組)被編碼為一個10bit的符號進行傳輸,之後在接收端進行解碼,即匯流排需要傳輸10 bit的編碼資料來表示所傳送的8 bit的資料,編碼效率為80%(8b/10b)
( 原始傳輸率 x Line編碼效率 x 通道數 )
有效傳輸頻寬 = ------------------------------------
8
注:
GT/s表示為每秒千兆傳輸(**Gigatransfer**),由於原始傳輸率為Gbps(二進位制以1000換算,即2.5Gbps=2500Mbps),故需要除以8換算為GBps
PCIe版本 | 釋出時間 | Line編碼 | 原始傳輸率 | ×1頻寬 | ×2頻寬 | ×4頻寬 | ×8頻寬 | ×16頻寬 |
---|---|---|---|---|---|---|---|---|
1.0 | 2003 | 8b/10b | 2.5 GT/s | 250 MB/s | 0.50 GB/s | 1.0 GB/s | 2.0 GB/s | 4.0 GB/s |
2.0 | 2007 | 8b/10b | 5.0 GT/s | 500 MB/s | 1.0 GB/s | 2.0 GB/s | 4.0 GB/s | 8.0 GB/s |
3.0 | 2010 | 128b/130b | 8.0 GT/s | 984.6 MB/s | 1.97 GB/s | 3.94 GB/s | 7.88 GB/s | 15.8 GB/s |
4.0 | 2017 | 128b/130b | 16.0 GT/s | 1969 MB/s | 3.94 GB/s | 7.88 GB/s | 15.75 GB/s | 31.5 GB/s |
5.0 | 2019 | NRZ 128b/130b | 32.0 GT/s | 3938 MB/s | 7.88 GB/s | 15.75 GB/s | 31.51 GB/s | 63.0 GB/s |
6.0 | 2021 | PAM4 & FEC 128b/130b | 64.0 GT/s | 7877 MB/s | 15.75 GB/s | 31.51 GB/s | 63.02 GB/s | 126.03 GB/s |
1.3、常見問題
-
同一個主機板,同一張卡,插在PCIe A上可以正常使用,而在PCIe B卻無法識別?
此問題常出現在雙路主機板上,主機板的PCIe介面分別由兩個CPU控制。如果只上了一個CPU,那麼另外一個CPU控制的PCIe通道是不通電的,自然不能識別。
1.4、常用命令
- 檢視伺服器PCI-E插槽個數及使用情況:
dmidecode | grep -1 PCI
注:可使用PCIe擴充套件卡擴充PCIe插槽
[root@node111 ~]# dmidecode | grep -1 PCI
ISA is supported
PCI is supported
PNP is supported
--
System Slot Information
Designation: PCIe Slot 1
Type: x8 PCI Express 3 x16
Current Usage: Available
--
System Slot Information
Designation: PCIe Slot 2
Type: x8 PCI Express 3 x16
Current Usage: Available
--
System Slot Information
Designation: PCIe Slot 3
Type: x8 PCI Express 3 x16
Current Usage: Available
--
System Slot Information
Designation: PCIe Slot 4
Type: x8 PCI Express 3 x16
Current Usage: In Use
--
System Slot Information
Designation: PCIe Slot 5
Type: x8 PCI Express 3 x16
Current Usage: In Use
--
System Slot Information
Designation: PCIe Slot 6
Type: x16 PCI Express 3
Current Usage: Available
二、PCIe應用
1、HBA卡
HBA,即主機匯流排介面卡(Host Bus Adapter),是伺服器內部的I/O通道與儲存系統的I/O通道之間的物理連線,實現內部通道協議PCI或Sbus和光纖通道協議之間的轉換,減輕了主處理器在資料儲存和檢索任務的負擔,提高伺服器的效能。
HBA卡可以將伺服器連線至儲存網路(如SAN儲存),常見的HBA卡有FC-HBA卡(16Gb/s)、SAS-HBA卡(12Gb/s)兩種
1.1、FC HBA卡
1.1.1、品牌廠商
FC HBA卡常見的品牌廠商主要為Emulex
、Qlogic
-
Emulex
可通過lspci | grep Fibre
查詢伺服器當前使用FC HBA卡,若品牌為Emulex
,通常驅動模組為lpfc
[root@node85 ~]# lspci | grep Fibre
62:00.0 Fibre Channel: Emulex Corporation LightPulse LPe16002 (rev 30)
62:00.1 Fibre Channel: Emulex Corporation LightPulse LPe16002 (rev 30)
[root@node85 ~]#
[root@node85 ~]# modinfo lpfc
filename: /lib/modules/4.14.113-1.el7.x86_64/kernel/drivers/scsi/lpfc/lpfc.ko.xz
version: 0:11.4.0.3
author: Broadcom
description: Emulex LightPulse Fibre Channel SCSI driver 11.4.0.3
license: GPL
srcversion: 9B519AD74B0149A85A5638D
-
Qlogic
可通過lspci | grep Fibre
查詢伺服器當前使用FC HBA卡,若品牌為Qlogic
,通常驅動模組為qla2xxx
1.1.2、常用操作
- 檢視FC本地(通常為伺服器FC HBA卡)WWN號:
cat /sys/class/fc_host/host{x}/port_name
注:如FC HBA卡配置兩個FC口,則存在兩個WWN號
[root@node85 ~]# cat /sys/class/fc_host/host11/port_name
0x10000090fadc39ac
[root@node85 ~]# cat /sys/class/fc_host/host13/port_name
0x10000090fadc39ad
- 檢視FC遠端(通常為FCSAN儲存)WWN號:
cat /sys/class/fc_remote_ports/rport-{x}/port_name
[root@node85 ~]# cat /sys/class/fc_remote_ports/rport-11\:0-0/port_name
0x277000c0fff0b1d3
[root@node85 ~]# cat /sys/class/fc_remote_ports/rport-13\:0-0/port_name
0x237000c0fff0b1d3
- 掃描FC本地新SCSI磁碟:
rescan-scsi-bus.sh
- 檢視FC本地SCSI連線情況:
lsscsi
[root@node85 ~]# lsscsi
[3:0:0:0] enclosu SEAGATE 4565 G280 -
[3:0:1:0] enclosu SEAGATE 4565 G280 -
[3:0:2:0] enclosu BROADCOM VirtualSES 03 -
[11:0:0:0] enclosu SEAGATE 5865 G280 -
[11:0:0:11] disk SEAGATE 5865 G280 /dev/sdb
[11:0:0:15] disk SEAGATE 5865 G280 /dev/sdd
[11:0:0:19] disk SEAGATE 5865 G280 /dev/sdf
[11:0:0:23] disk SEAGATE 5865 G280 /dev/sdh
[11:0:0:27] disk SEAGATE 5865 G280 /dev/sdj
[11:0:0:31] disk SEAGATE 5865 G280 /dev/sdl
[11:0:0:35] disk SEAGATE 5865 G280 /dev/sdn
[11:0:0:39] disk SEAGATE 5865 G280 /dev/sdp
[12:0:0:0] disk ATA INTEL SSDSC2KB24 0132 -
[12:0:1:0] disk ATA INTEL SSDSC2KB24 0132 -
[12:1:0:0] disk LSI Logical Volume 3000 /dev/sda
[13:0:0:0] enclosu SEAGATE 5865 G280 -
[13:0:0:12] disk SEAGATE 5865 G280 /dev/sdc
[13:0:0:16] disk SEAGATE 5865 G280 /dev/sde
[13:0:0:20] disk SEAGATE 5865 G280 /dev/sdg
[13:0:0:24] disk SEAGATE 5865 G280 /dev/sdi
[13:0:0:28] disk SEAGATE 5865 G280 /dev/sdk
[13:0:0:32] disk SEAGATE 5865 G280 /dev/sdm
[13:0:0:36] disk SEAGATE 5865 G280 /dev/sdo
[13:0:0:40] disk SEAGATE 5865 G280 /dev/sdq
1.2、SAS HBA卡
1.2.1、品牌廠商
SAS HBA卡常見的品牌廠商主要為LSI
、Adaptec
、Areca
、ATTO