Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
17.3. 加入網路裝置
網路裝置驅動程式模組會自動地被 udev 載入。
您可手動式或永續性地在 IBM System z 上新增網路介面卡。
- 動態式
- 載入裝置驅動程式
- 將網路裝置由忽略裝置清單中移除。
- 建立群組裝置:
- 設定裝置。
- 將裝置設為啟用。
- 永續性
- 建立一個配置 script。
- 啟用介面卡。
下列部份提供了各個 IBM System z 網路裝置驅動程式與其任務上的基本資訊。節 17.3.1, “新增一項
qeth
裝置” 描述了如何將 qeth 裝置新增至一個既有的 Red Hat Enterprise Linux 上。節 17.3.2, “新增一個 LCS 裝置” 描述了如何將一個 lcs 裝置新增至既有的 Red Hat Enterprise Linux 上。
17.3.1. 新增一項 qeth
裝置
qeth
網路裝置驅動程式在 QDIO 模式、HiperSockets、z/VM guest LAN,以及 z/VM VSWITCH 中支援 System z OSA-Express 功能。
qeth
裝置的驅動程式會為乙太網路和 Hipersockets 裝置指定相同的介面卡名稱:enccw
bus_ID。匯流排 ID 是以頻道的子系統 ID、子頻道集 ID,以及裝置號碼所組成的,例如 enccw0.0.0a00
。
17.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 (enccw0.0.f500)
- 您亦可選用性地在群組裝置啟用前,傳送在該群組裝置上所配置的引數:
# znetconf -a f500 -o portname=myname Scanning for network devices... Successfully configured device 0.0.f500 (enccw0.0.f500)
現在,您可繼續配置enccw0.0.f500
網路介面卡。
此外,您亦可使用
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
- 藉由將
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
enccw0.0.f500
現在,您可繼續配置enccw0.0.f500
網路介面卡。下列來自於 s390utils 套件的指令顯示了您qeth
裝置最重要的設定:# lsqeth enccw0.0.f500 Device name : enccw0.0.f500 ------------------------------------------------- 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
17.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 enccw0.0.09a0 online 0.0.f500,0.0.f501,0.0.f502 1731/01 GuestLAN QDIO 00 qeth enccw0.0.f500 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 (enccw0.0.f500)
- 驗證移除是否成功:
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 enccw0.0.09a0 online
17.3.1.3. 永續性地新增 qeth
裝置
若要使您的新
qeth
裝置持有永續性,您必須要為您的新介面卡建立配置檔案。網路介面卡配置檔案位於 /etc/sysconfig/network-scripts/
目錄中。
這些網路配置檔案的命名方式為
ifcfg-裝置
,其中的裝置代表位於稍早建立的 qeth
群組裝置中,if_name
檔案裡的值,例如 enccw0.0.09a0
。若使用了永續性的裝置配置,cio_ignore
將會被自動處理,並且您無須手動式將裝置由忽略清單中移除。
如果另一個同類型裝置的配置檔案已存在,那麼最簡單的解決方法,就是以一組新的名稱來複製它,並進行編輯:
# cd /etc/sysconfig/network-scripts # cp ifcfg-enccw0.0.09a0 ifcfg-enccw0.0.0600
若要得知您網路裝置的 ID,請使用 lsqeth 工具程式:
# lsqeth -p devices CHPID interface cardtype port chksum prio-q'ing rtr4 rtr6 lay'2 cnt -------------------------- ----- ---------------- -------------- ---- ------ ---------- ---- ---- ----- ----- 0.0.09a0/0.0.09a1/0.0.09a2 x00 enccw0.0.09a0 Virt.NIC QDIO 0 sw always_q_2 n/a n/a 1 64 0.0.0600/0.0.0601/0.0.0602 x00 enccw0.0.0600 Virt.NIC QDIO 0 sw always_q_2 n/a n/a 1 64
如果您未定義相似的裝置,您就必須建立一個新檔案。請使用此
/etc/sysconfig/network-scripts/ifcfg-0.0.09a0
範例來作為範本:
# IBM QETH DEVICE=enccw0.0.09a0 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-0.0.0600
檔案:
- 修改
DEVICE
statement,以反映來自於您ccw
群組的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-0.0.0600
# IBM QETH DEVICE=enccw0.0.0600 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 enccw0.0.0600
- 檢查介面卡的狀態:
# ifconfig enccw0.0.0600 enccw0.0.0600 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 enccw0.0.0600 10.1.20.0 * 255.255.255.0 U 0 0 0 enccw0.0.09a0 default 10.1.20.1 0.0.0.0 UG 0 0 0 enccw0.0.09a0
- 請使用
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
。
17.3.2. 新增一個 LCS 裝置
LAN channel station(LCS)裝置驅動程式支援 OSA-Express2 和 OSA-Express 3 功能上的 1000Base-T Ethernet。
LCS
裝置的驅動程式會為 OSA-Express Fast Ethernet 和 Gigabit Ethernet 裝置指定下列介面卡名稱:enccw
bus_ID。匯流排 ID 是以頻道的子系統 ID、子頻道集 ID,以及裝置號碼所組成的,例如 enccw0.0.0a00
。
17.3.2.1. 動態式新增 LCS 裝置
- 載入裝置的驅動程式:
# modprobe lcs
- 請使用
cio_ignore
工具程式來將網路頻道由被忽略的裝置清單中移除,並使其能讓 Linux 偵測到:# cio_ignore -r read_device_bus_id,write_device_bus_id
將 read_device_bus_id 和 write_device_bus_id 取代為表示網路裝置的兩組裝置 bus ID。例如:# cio_ignore -r 0.0.09a0,0.0.09a1
- 建立群組裝置:
# echo read_device_bus_id,write_device_bus_id > /sys/bus/ccwgroup/drivers/lcs/group
- 配置裝置。OSA 卡能為單一 CHPID 提供多達 16 組連接埠。就預設值,LCS 群組裝置會使用第
0
號連接埠。若要採用其它連接埠,請使用類似以下的指令:# echo portno > /sys/bus/ccwgroup/drivers/lcs/device_bus_id/portno
將 portno 替換為您希望使用的連接埠號。 - 將裝置設為啟用:
# echo 1 > /sys/bus/ccwgroup/drivers/lcs/read_device_bus_id/online
- 若要找出被指定的網路名稱為何,請輸入下列指令:
# ls -l /sys/bus/ccwgroup/drivers/lcs/read_device_bus_ID/net/ drwxr-xr-x 4 root root 0 2010-04-22 16:54 enccw0.0.0600
17.3.2.2. 永續性地新增一個 LCS 裝置
當使用永續性裝置配置時,
Cio_ignore
指令會自動被處理,並且您無須手動式地將裝置由忽略清單中移除。
若要永續性地新增一個 LCS 裝置,請依照下列步驟進行:
- 建立一個配置 script 於
/etc/sysconfig/network-scripts/
中,並將其命名為類似ifcfg-device
的名稱,device 代表在先前所建立之qeth
群組裝置中的if_name
檔案裡的值,例如enccw0.0.09a0
。此檔案應看似:/etc/sysconfig/network-scripts/ifcfg-enccw0.0.09a0 # IBM LCS DEVICE=enccw0.0.09a0 BOOTPROTO=static IPADDR=10.12.20.136 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=lcs SUBCHANNELS=0.0.09a0,0.0.09a1 PORTNAME=0 OPTIONS='' TYPE=Ethernet
- 請修改
PORTNAME
的值,以反應您所希望使用的 LCS 連接埠號(portno
)。您可將任何有效的 lcs sysfs 屬性以及它的值附加至選用性的OPTIONS
參數。欲取得語法上的相關資訊,請參閱〈節 17.3.1.3, “永續性地新增qeth
裝置”〉。 - 請如下設置
DEVICE
參數:DEVICE=enccwbus_ID
- 輸入
ifup
指令,以啟用裝置:# ifup enccwbus_ID
對於
ifcfg
檔案所進行的變更,僅有在重新啟動系統後才會生效。您可藉由執行下列指令來啟用網路頻道的 ifcfg
檔案:
- 請使用
cio_ignore
工具程式來將 LCS 由被忽略的裝置清單中移除,並使其能讓 Linux 偵測到:# cio_ignore -r read_device_bus_id,write_device_bus_id
將 read_device_bus_id 和 write_device_bus_id 取代為 LCS 裝置的裝置 bus ID。例如:# cio_ignore -r 0.0.09a0,0.0.09a1
- 若要啟動將啟用變更的 uevent,請輸入:
echo add > /sys/bus/ccw/devices/read-channel/uevent
舉例來說:echo add > /sys/bus/ccw/devices/0.0.09a0/uevent
17.3.3. 為網路 Root 檔案系統配置 System z 網路裝置
若要新增一個存取 root 檔案系統時必要的網路裝置,您只需要更改開機選項即可。開機選項可位於參數檔案中(請參閱 章 18, IBM System z 的參數和配置檔案)或是位於透過 zipl 開機載入程式準備的 DASD 或連接了 FCP 的 SCSI LUN 上的
zipl.conf
中。您無須重新建立 initramfs。
Dracut(繼承了 mkinitrd 並提供 initramfs 功能而取代了 initrd)提供了在 System z 上,開機程序起始時啟用網路裝置的開機參數:
rd.znet=
。
此參數接受以逗號區隔開的一列
NETTYPE
(qeth、lcs、ctc)、兩組(lcs、ctc)或三組(qeth)裝置 bus ID,以及選用性的額外參數,這些參數包含了與網路裝置 sysfs 屬性相應的金鑰值配對。此參數可配置和啟用 System z 網路硬體。IP 位址的配置與其它網路特屬工作的運作方式與在其它平台上相同。欲取得更多詳細資訊,請參閱 dracut 的文件。
網路頻道的 cio_ignore 指令會在開機時被自動處理。
透過 NFS 藉由網路存取的 root 檔案系統的開機選項範例:
root=10.16.105.196:/nfs/nfs_root cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0,portname=OSAPORT ip=10.16.105.197:10.16.105.196:10.16.111.254:255.255.248.0:nfs‑server.subdomain.domain:enccw0.0.09a0:none rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us