Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
25.3. 加入網路裝置
網路裝置驅動程式模組會自動地被 udev 載入。
您可手動式或永續性地在 IBM System z 上新增網路介面卡。
- 動態式
- 載入裝置驅動程式
- 將網路裝置由忽略裝置清單中移除。
- 建立群組裝置:
- 設定裝置。
- 將裝置設為啟用。
- 永續性
- 建立一個配置 script。
- 啟用介面卡。
下列部份提供了各個 IBM System z 網路裝置驅動程式與其任務上的基本資訊。節 25.3.1, “新增 qeth 裝置” 描述了如何將 qeth 裝置新增至一個既有的 Red Hat Enterprise Linux 上。節 25.3.2, “新增一個 LCS 裝置” 描述了如何將一個 lcs 裝置新增至既有的 Red Hat Enterprise Linux 上。節 25.3.3, “對映子頻道和網路裝置名稱” 描述了永續性的網路裝置名稱如何運作。節 25.3.4, “為網路 Root 檔案系統配置 System z 網路裝置” 描述了如何配置網路裝置,以便與一個只能透過網路存取的 root 檔案系統搭配使用。
25.3.1. 新增 qeth 裝置
qeth 網路裝置驅動程式在 QDIO 模式、HiperSockets、z/VM guest LAN,以及 z/VM VSWITCH 中支援 System z OSA-Express 功能。
根據要加入的介面卡類型,qeth 驅動程式會指定其中一組基本介面卡名稱:
- hsin 代表 HiperSockets 裝置
- ethn 代表乙太網路
其中 n 這個值,是個獨一無二、用來代表裝置的整數。n 如果為
0
,代表第一個該類型的裝置,1
則代表第二個裝置,由此類推。
25.3.1.1. 動態式新增 qeth 裝置
若要動態式新增 qeth 裝置,請依照下列步驟進行:
- 判斷 qeth 裝置驅動程式模組是否已載入。下列範例顯示了已載入的 qeth 模組:
# lsmod | grep qeth qeth_l3 127056 9 qeth_l2 73008 3 ipv6 492872 155ip6t_REJECT,nf_conntrack_ipv6,qeth_l3 qeth 115808 2 qeth_l3,qeth_l2 qdio 68240 1 qeth ccwgroup 12112 2 qeth
如果lsmod
指令的輸出顯示 qeth 模組尚未被載入,請執行modprobe
以載入這些模組:# modprobe qeth
- 請使用
cio_ignore
指令來將網路頻道由被忽略的裝置清單中移除,並使其能讓 Linux 偵測到:# cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
將 read_device_bus_id、write_device_bus_id、data_device_bus_id 取代為代表網路裝置的三組裝置 bus ID。比方說,若 read_device_bus_id 是0.0.f500
的話,write_device_bus_id 便是0.0.f501
,並且 data_device_bus_id 則為0.0.f502
:# cio_ignore -r 0.0.f500,0.0.f501,0.0.f502
- 請使用 znetconf 指令來偵測和列出網路裝置的候選配置:
# znetconf -u Scanning for network devices... Device IDs Type Card Type CHPID Drv. ------------------------------------------------------------ 0.0.f500,0.0.f501,0.0.f502 1731/01 OSA (QDIO) 00 qeth 0.0.f503,0.0.f504,0.0.f505 1731/01 OSA (QDIO) 01 qeth 0.0.0400,0.0.0401,0.0.0402 1731/05 HiperSockets 02 qeth
- 選擇您希望設置的配置,然後使用 znetconf 來套用配置,並將經過配置的群組裝置啟用為網路裝置。
# znetconf -a f500 Scanning for network devices... Successfully configured device 0.0.f500 (eth1)
- 您亦可選用性地在群組裝置啟用前,傳送在該群組裝置上所配置的引數:
# znetconf -a f500 -o portname=myname Scanning for network devices... Successfully configured device 0.0.f500 (eth1)
現在,您可繼續配置網路eth1
介面卡。
此外,您亦可使用 sysfs 屬性來如下啟用裝置:
- 建立 qeth 群組裝置:
# echo read_device_bus_id,write_device_bus_id,data_device_bus_id > /sys/bus/ccwgroup/drivers/qeth/group
舉例來說:# echo 0.0.f500,0.0.f501,0.0.f502 > /sys/bus/ccwgroup/drivers/qeth/group
- 接下來,請透過搜尋讀取頻道來確認 qeth 群組裝置是否已正確建立:
# ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500
視您設定系統的方式與所需要的功能而定,您可選擇性地設定額外參數與功能。例如:portno
layer2
portname
欲取得更多有關於額外參數上的相關資訊,請參閱 Linux on System z Device Drivers, Features, and Commands on Red Hat Enterprise Linux 6 中的 qeth 裝置驅動程式章節。 - 藉由將 1 寫至啟用 sysfs 屬性中來啟用裝置:
# echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
- 並檢查裝置的狀態:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
1
傳回值1
表示裝置已啟用;而0
則表示裝置目前停用。 - 找出指定給裝置的介面卡名稱:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_name
eth1
現在,您可繼續配置網路eth1
介面卡。下列來自於 s390utils 套件的指令顯示了您 qeth 裝置最重要的設定:# lsqeth eth1 Device name : eth1 --------------------------------------------- card_type : OSD_1000 cdev0 : 0.0.f500 cdev1 : 0.0.f501 cdev2 : 0.0.f502 chpid : 76 online : 1 portname : OSAPORT portno : 0 state : UP (LAN ONLINE) priority_queueing : always queue 0 buffer_count : 16 layer2 : 1 isolation : none
25.3.1.2. 動態式移除 qeth 裝置
若要移除 qeth 裝置,請使用 znetconf 工具。例如:
- 使用
znetconf
指令來顯示所有已配置的網路裝置:znetconf -c Device IDs Type Card Type CHPID Drv. Name State -------------------------------------------------------------------------------- 0.0.8036,0.0.8037,0.0.8038 1731/05 HiperSockets FB qeth hsi1 online 0.0.f5f0,0.0.f5f1,0.0.f5f2 1731/01 OSD_1000 76 qeth eth0 online 0.0.f500,0.0.f501,0.0.f502 1731/01 GuestLAN QDIO 00 qeth eth1 online
- 選擇欲移除的網路裝置並啟用
znetconf
,以將裝置設為停用,並將 ccw 群組裝置的群組設定解除。# znetconf -r f500 Remove network device 0.0.f500 (0.0.f500,0.0.f501,0.0.f502)? Warning: this may affect network connectivity! Do you want to continue (y/n)?y Successfully removed device 0.0.f500 (eth1)
- 驗證移除是否成功:
znetconf -c Device IDs Type Card Type CHPID Drv. Name State -------------------------------------------------------------------------------- 0.0.8036,0.0.8037,0.0.8038 1731/05 HiperSockets FB qeth hsi1 online 0.0.f5f0,0.0.f5f1,0.0.f5f2 1731/01 OSD_1000 76 qeth eth0 online
25.3.1.3. 永續性新增 qeth 裝置
若要使您的新 qeth 裝置持有永續性,您必須要為您的新介面卡建立配置檔案。網路介面卡配置檔案位於
/etc/sysconfig/network-scripts/
中。
這些網路配置檔案的命名方式為
ifcfg-裝置
,其中的裝置代表位於稍早建立的 qeth 群組裝置中,if_name
檔案裡的值。在此範例中為 eth1
。若使用了永續性的裝置配置,cio_ignore
將會被自動處理,並且您無須手動式地將裝置由忽略清單中移除。
如果另一個同類型裝置的配置檔案已存在,那麼最簡單的解決方法,就是以一組新的名稱來複製它。
# cd /etc/sysconfig/network-scripts # cp ifcfg-eth0 ifcfg-eth1
如果您未定義相似的裝置,您就必須建立。請使用此
ifcfg-eth0
範例來作為範本:
/etc/sysconfig/network-scripts/ifcfg-eth0
# IBM QETH DEVICE=eth0 BOOTPROTO=static IPADDR=10.12.20.136 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=qeth SUBCHANNELS=0.0.09a0,0.0.09a1,0.0.09a2 PORTNAME=OSAPORT OPTIONS='layer2=1 portno=0' MACADDR=02:00:00:23:65:1a TYPE=Ethernet
如下編輯新的 ifcfg-eth1 檔案:
- 修改
DEVICE
statement,以反映來自於您 ccwgroup 的if_name
檔案中的內容。 - 修改
IPADDR
statement,以反映您新介面卡的 IP 位址。 - 視需求修改
NETMASK
statement。 - 如果您希望開機的時候啟動新的介面卡,那麼請確認
ONBOOT
已設為yes
。 - 請確認
SUBCHANNELS
statement 和您 qeth 裝置的硬體位址符合。 - 修改
PORTNAME
statement,或若是您無須在您的環境中使用它,請將它保留為空白。 - 您可將任何有效的 sysfs 屬性和它的值附加至
OPTIONS
參數。Red Hat Enterprise Linux 的安裝程式目前使用此來配置層級模式(layer2
)以及 qeth 裝置的相聯連接埠號(portno
)。OSA 裝置的 qeth 裝置驅動程式預設值現在是 layer 2 模式。若要繼續使用依賴先前 layer 3 模式預設值的舊 ifcfg 定義,請將layer2=0
新增至OPTIONS
參數。
/etc/sysconfig/network-scripts/ifcfg-eth1
# IBM QETH DEVICE=eth1 BOOTPROTO=static IPADDR=192.168.70.87 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=qeth SUBCHANNELS=0.0.0600,0.0.0601,0.0.0602 PORTNAME=OSAPORT OPTIONS='layer2=1 portno=0' MACADDR=02:00:00:b3:84:ef TYPE=Ethernet
ifcfg
檔案的修改只有在重新啟動系統,或是透過更改系統 I/O 配置來動態式新增網路裝置時(比方說,連至 z/VM 上),才會生效。此外,您亦可透過下列指令來為網路頻道啟用先前尚未啟用的 ifcfg
檔案:
- 請使用
cio_ignore
指令來將網路頻道由被忽略的裝置清單中移除,並使其能讓 Linux 偵測到:# cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
將 read_device_bus_id、write_device_bus_id、data_device_bus_id 取代為代表網路裝置的三組裝置 bus ID。比方說,若是 read_device_bus_id 為0.0.0600
,write_device_bus_id 便會是0.0.0601
,而 data_device_bus_id 則會是0.0.0602
:# cio_ignore -r 0.0.0600,0.0.0601,0.0.0602
- 若要啟動將啟用變更的 uevent,請輸入:
echo add > /sys/bus/ccw/devices/read-channel/uevent
舉例來說:echo add > /sys/bus/ccw/devices/0.0.0600/uevent
- 檢查網路裝置的狀態:
# lsqeth
- 現在您可啟用新的介面卡:
# ifup eth1
- 檢查介面卡的狀態:
# ifconfig eth1 eth1 Link encap:Ethernet HWaddr 02:00:00:00:00:01 inet addr:192.168.70.87 Bcast:192.168.70.255 Mask:255.255.255.0 inet6 addr: fe80::ff:fe00:1/64 Scope:Link UP BROADCAST RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:23 errors:0 dropped:0 overruns:0 frame:0 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:644 (644.0 b) TX bytes:264 (264.0 b)
- 檢查新介面卡的路由資訊:
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.70.0 * 255.255.255.0 U 0 0 0 eth1 10.1.20.0 * 255.255.255.0 U 0 0 0 eth0 default 10.1.20.1 0.0.0.0 UG 0 0 0 eth0
- 請使用 ping 指令來 ping 閘道器,或新裝置子網上的另一部主機,以驗證您的變更:
# ping -c 1 192.168.70.8 PING 192.168.70.8 (192.168.70.8) 56(84) bytes of data. 64 bytes from 192.168.70.8: icmp_seq=0 ttl=63 time=8.07 ms
- 如果預設的路徑資訊改變,請一併更新
/etc/sysconfig/network
。