| Red Hat Enterprise Linux 4: 安裝手冊 適用於 IBM® S/390® 與 IBM® eServer™ zSeries® 主機架構 | ||
|---|---|---|
| 前頁 | 附錄 F. 給 S/390 與 zSeries 使用者的額外資訊 | 下頁 |
在 Red Hat Enterprise Linux 中加入網路裝置的過程跟過去大相逕庭。這是因為核心已經從 2.4 版升級到 2.6 版:
proc 檔案系統不再用來控制網路裝置,或顯示網路裝置的狀態。
新的 sys 檔案系統提供了控制裝置的機制。
現在 /sys/class/net/<interface_name>/device 提供了運作中裝置的狀態。
<interface_name> 這名稱就像 eth0 或 ctc2 一樣,在設定裝置時,由驅動程式授予網路介面。
/etc/chandev.conf 不復存在。
現在,sys 檔案系統包含了之前在 /etc/chandev.conf 中被取代的資訊。
/etc/modules.conf 不復存在。
網路介面的別名規格,現在置於 /etc/modprobe.conf 中。
第 F.6.1 節 描述了如何將 qeth 裝置加進 Red Hat Enterprise Linux 的既有情形中。如果您打算安裝其他 zSeries 的網路介面,第 F.6.2 節 會是很好的參考資料。
首先先看看 qeth 裝置的驅動程式模組是否已經載入。
# lsmod | grep qeth qeth 135240 0 qdio 45360 2 qeth ipv6 303984 13 qeth ccwgroup 15104 1 qeth |
如果 lsmod 指令顯示模組尚未被載入,請執行 modprobe 載入這些模組:
# modprobe qeth |
接下來,建立 qeth 群組裝置。
# echo <read_device_bus_id>,<write_device_bus_id>,<data_device_bus_id> > /sys/bus/ccwgroup/drivers/qeth/group |
由於這指令的長度關係,我們將它分成兩行顯示。
再接下來的例子中,read_device_bus_id 是 0.0.0600,write_device_bus_id 是 0.0.0601,同時 data_device_bus_id 是 0.0.0602。這裝置是 z/VM 虛擬網路卡,我們打算使用的 IP 位址是 192.168.70.69。
# echo 0.0.0600,0.0.0601,0.0.0602 > /sys/bus/ccwgroup/drivers/qeth/group |
接下來,確定 qeth 群組裝置是否建立正確。
# ls /sys/bus/ccwgroup/drivers/qeth 0.0.0600 0.0.09a0 group notifier_register |
您可以選擇是否要加入一個連接埠名稱。首先,先確定是否有使用連接埠名稱的必要。
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname no portname required |
這訊息表示您不需要提供連接埠名稱。
要加入連接埠名稱,請先確定裝置都已離線,然後使用以下指令:
![]() | 注意 |
|---|---|
當您加入連接埠名稱時,裝置一定要離線。 |
# echo <portname> > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname |
接下來,讓裝置重新上線:
# echo 1 /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online |
並檢查裝置的狀態:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online 1 |
傳回值「1」表示裝置已經上線;而「0」表示裝置是離線的。
檢查裝置是否已經指定了介面名稱:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/if_name eth1 |
要改變 if_name 的值,請使用以下指令:
# echo <new_if_name> > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/if_name |
您可以選擇性地設定額外參數與功能,視您設定系統的方式與所需要的功能而定。
add_hhlen
broadcast_mode
buffer_count
canonical_macaddr
card_type
checksumming
chpid
detach_state
fake_broadcast
fake_ll
ipa_takeover
portno
priority_queueing
recover
route4
rxip
state
ungroup
vipa
欲了解這些功能的使用資訊,請參閱http://oss.software.ibm.com/developerworks/opensource/linux390/docu/lx26apr04dd01.pdf(Linux for zSeries and S/390 Device Drivers, Features, and Commands)。
現在您得為新介面建立設定檔。網路介面的設定檔都位於 /etc/sysconfig/network-scripts/ 目錄下。
這些網路設定檔的命名方式為 ifcfg-<device>,其中的 device 是位於稍早建立的 qeth 群組裝置中,if_name檔案裡的值;這例子中是 eth1。
如果另一個裝置的同名檔案已經存在,那麼最簡單的方式,就是給這檔案一個新名稱。
# cd /etc/sysconfig/network-scripts # cp ifcfg-eth0 ifcfg-eth1 |
如果您沒有事先定義好的類似檔案,您就必須建立新檔。請使用這個 ifcfg-eth0 例子為樣板,建立您所需的檔案。
/etc/sysconfig/network-scripts/ifcfg-eth0 # IBM QETH DEVICE=eth0 BOOTPROTO=static HWADDR=00:06:29:FB:5F:F1 IPADDR=9.12.20.136 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=qeth SUBCHANNELS=0.0.09a0,0.0.09a1,0.0.09a2 TYPE=Ethernet |
編輯新的 ifcfg-eth1 檔案。
暫時移除 HWADDR 那一行。
修改 DEVICE 敘述,以反映您 ccwgroup 中的 if_name 檔案內容。
修改 IPADDR 敘述,以反映您新介面的 IP 位址。
如果需要的話,一併修改 NETMASK 敘述。
如果您希望開機的時候一併啟動,那麼請將 ONBOOT 一欄設為 yes。
確定 SUBCHANNELS 敘述跟您 qeth 裝置的硬體位址相同。
/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 TYPE=Ethernet |
您需要為 qeth 裝置設定一個別名,並紀錄在 /etc/modprobe.conf 中。請編輯這檔案,加入介面的別名。
/etc/modprobe.conf alias eth0 qeth alias eth1 qeth options dasd_mod dasd=0.0.0100,0.0.4b19 |
現在您可以啟動新介面:
# 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) |
請留意 ifconfig 執行結果中,第一行的 HWaddr 欄位。請把這欄位之後的值加到 ifcfg-eth1 檔案中,底下這行是個範例:
HWADDR=02:00:00:00:00:01 |
現在 ifcfg-eth1 看起來如下:
# IBM QETH DEVICE=eth1 HWADDR=02:00:00:00:00:01 BOOTPROTO=static IPADDR=192.168.70.69 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=qeth SUBCHANNELS=0.0.0600,0.0.0601,0.0.0602 TYPE=Ethernet |
檢查新介面的路由資訊:
# 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 9.12.20.0 * 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth1 default pdlrouter-if5.p 0.0.0.0 UG 0 0 0 eth0 |
請使用 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。
要為 zSeries 系列加入新的網路介面,有幾項基本工作要做。
載入裝置的驅動程式。
建立群組裝置;或為 IUCV 建立 IUCV 裝置。
設定裝置。
將裝置上線(不適用於 IUCV)。
定義別名(如果需要的話)。
為設定建立 script。
啟動裝置。
底下一節將為您解說安裝 zSeries 網路裝置驅動程式的每個步驟之基本資訊。
區域網路通道工作站(LCS,LAN channel station)裝置驅動程式支援 OSA-2 乙太網路 / 環狀網路、非 QDIO 模式的 OSA-Express 高速乙太網路、以及非 QDIO 模式的 OSA-Express 高速環狀網路。對 z990 來說,LCS 驅動程式還支援非 QDIO 模式的十億位元(Gigabit)乙太網路(含 1000Base-T)。
根據加入介面的種類,LCS 驅動程式會指定以下其中一種基本介面名稱:給 OSA-Express 高速乙太網路與十億位元乙太網路使用的 eth<n>;或是給環狀網路使用的tr<n>,其中 <n> 是獨一無二的整數,以區別該裝置。 <n> 為 0,表示是第一個裝置,1 為第二個,餘此類推。
載入裝置的驅動程式:
# modprobe lcs |
建立群組裝置:
# 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 |
如果要更進一步了解設定 LCS 驅動程式的相關資訊,請參閱:
http://oss.software.ibm.com/developerworks/opensource/linux390/docu/lx26apr04dd01.pdf (Linux for zSeries and S/390 Device Drivers, Features, and Commands)
將裝置上線:
# echo 1 /sys/bus/ccwgroup/drivers/lcs/<read_device_bus_id>/online |
定義別名。
根據要加入的介面種類,請在 /etc/modprobe.conf 檔案中加入類似底下這一行:
eth<n> alias lcs tr<n> alias lcs |
為設定建立 script。
在 /etc/sysconfig/network-scripts/ 目錄中建立一個檔案,檔名近似以下範例:
ifcfg-eth<n> ifcfg-tr<n> |
這檔案看起來如下:
/etc/sysconfig/network-scripts/ifcfg-eth0 # IBM LCS DEVICE=eth0 BOOTPROTO=static HWADDR=00:06:29:FB:5F:F1 IPADDR=9.12.20.136 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=lcs SUBCHANNELS=0.0.09a0,0.0.09a1 PORTNAME=0 TYPE=Ethernet |
根據要加入的介面種類,DEVICE 參數應該是以下之一:
DEVICE=eth<n> DEVICE=tr<n> |
啟動裝置。
根據要加入的介面種類,請使用 ifup 指令:
# ifup eth<n> # ifup tr<n> |
QETH 網路驅動程式支援 zSeries HiperSockets、OSA-Express 高速乙太網路、十億位元乙太網路(含 1000Base-T)、高速環狀網路、以及使用 QDIO 模式的 ATM 功能(模擬成乙太區域網路)。
根據要加入的介面種類,QETH 驅動程式會指定底下三者之一的基本名稱:
HiperSocket 裝置的 hsi<n>
OSA-Express 高速乙太網路與十億位元乙太網路的 eth<n>。
環狀網路用的 tr<n>。
其中 <n> 是個獨一無二的整數,用來代表該裝置。<n> 如果為 0,代表第一個裝置,1 代表第二個裝置,餘此類推。
載入裝置的驅動程式:
# modprobe qeth |
建立群組裝置:
# echo <read_device_bus_id>,<write_device_bus_id>,<data_device_bus_id> > /sys/bus/ccwgroup/drivers/qeth/group |
由於這指令的長度關係,我們將它分成兩行顯示。
設定裝置。
如果要更進一步了解設定 QETH 驅動程式的相關資訊,請參閱:
http://oss.software.ibm.com/developerworks/opensource/linux390/docu/lx26apr04dd01.pdf (Linux for zSeries and S/390 Device Drivers, Features, and Commands)
將裝置上線:
# echo 1 /sys/bus/ccwgroup/drivers/qeth/<read_device_bus_id>/nline |
定義別名。
根據要加入的介面種類,請在 /etc/modprobe.conf 檔案中加入類似以下的一行:
hsi<n> alias qeth eth<n> alias qeth tr<n> alias qeth |
為設定建立 script。
在 /etc/sysconfig/network-scripts/ 目錄中建立一個檔案,檔名近似以下範例:
ifcfg-hsi<n> ifcfg-eth<n> ifcfg-tr<n> |
這檔案看起來像:
/etc/sysconfig/network-scripts/ifcfg-eth0 # IBM QETH DEVICE=eth0 BOOTPROTO=static HWADDR=00:06:29:FB:5F:F1 IPADDR=9.12.20.136 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=qeth SUBCHANNELS=0.0.09a0,0.0.09a1,0.0.09a2 TYPE=Ethernet |
根據要加入的介面種類,DEVICE 參數應該類似以下之一:
DEVICE=hsi<n> DEVICE=eth<n> DEVICE=tr<n> |
啟動裝置。
根據要加入的介面種類,請使用 ifup 指令:
# ifup hsi<n> # ifup eth<n> # ifup tr<n> |
通道對通道(CTC,Channel-to-Channel)是大型主機間的典型高速傳輸連接。CTC 裝置的驅動程式能在兩部 zSeries 與 S/390 類的 Linux 之間,或是一台 zSeries 與 S/390 類的 Linux 與大型主機作業系統(例如 z/OS、OS/390、z/VM、或 z/VSE)之間,建立點對點 TCP/IP 或 tty 連線。
CTC 驅動程式會指定類似以下的基本介面名稱:
ctc<n> |
其中 <n> 是個獨一無二的整數,用來代表該裝置。<n> 如果為 0,代表第一個裝置,1 代表第二個裝置,餘此類推。
載入裝置的驅動程式:
# modprobe ctc |
建立群組裝置:
# echo <read_device_bus_id>,<write_device_bus_id> > /sys/bus/ccwgroup/drivers/ctc/group |
由於這指令的長度關係,我們將它分成兩行顯示。
設定裝置。
設定通訊協定:
# echo <protocol> /sys/bus/ccwgroup/drivers/ctc/<device_bus_id>/protocol |
<protocol> 為 0、1、2、或 3。
0 — 這通訊協定提供了非 OS/390 或 z/OS 等電腦的相容能力,例如 VM TCP 服務的電腦。這是預設值。
1 — 這通訊協定為 Linux 類的電腦提供了加強型封裝檢查。
2 — 這通訊協定為 Linux 類電腦,提供了以 CTC 為基礎的 tty 連線。
3 — 這通訊協定為 OS/390 或 z/OS 類電腦提供了相容能力。
如果要更進一步了解設定 CTC 驅動程式的相關資訊,請參閱:
http://oss.software.ibm.com/developerworks/opensource/linux390/docu/lx26apr04dd01.pdf (Linux for zSeries and S/390 Device Drivers, Features, and Commands)
將裝置上線:
# cho 1 /sys/bus/ccwgroup/drivers/lcs/<read_device_bus_id>/online |
定義別名。
根據要加入的介面種類,請在 /etc/modprobe.conf 中加入類似以下的一行:
ctc<n> alias ctc |
為設定建立 script。
請在 /etc/sysconfig/network-scripts/ 目錄中,用以下的命名方式建立一個檔案:
ifcfg-ctc<n> |
這檔案看起來如下:
/etc/sysconfig/network-scripts/ifcfg-ctc0 # IBM CTC DEVICE=ctc0 BOOTPROTO=static IPADDR=192.168.70.136 GATEWAY=172.16.70.136 NETMASK=255.255.255.255 ONBOOT=yes SUBCHANNELS=0.0.1b00,0.0.1b01 NETTYPE=ctc CTCPROT=0 TYPE=CTC |
啟動裝置。
根據要加入的介面種類,請使用 ifup 指令:
# ifup ctc<n> |
使用者間通訊載具(IUCV,Inter-User Communication Vehicle)是虛擬機器的通訊機制,能讓使用虛擬機器的用戶端,跟另一個虛擬機器用戶端(或控制程式,甚至是自己)互相通訊。zSeries 與 S/390 的 Linux IUCV 裝置驅動程式是網路裝置的驅動程式,利用 IUCV 在不同的虛擬機器使用者 ID 間通訊,或讓 Linux 用戶端與另一個虛擬機器用戶端(例如 TCP/IP 服務電腦)通訊。
IUCV 驅動程式的基本介面名稱如下:
iucv<n> |
其中 <n> 是個獨一無二的整數,用來代表該裝置。<n> 如果為 0,代表第一個裝置,1 代表第二個裝置,餘此類推。
載入裝置的驅動程式:
# modprobe netiucv |
建立 IUCV 裝置:
# echo <peer_id> > /sys/bus/iucv/drivers/netiucv/connection |
其中 <peer_id> 是您想要連接的虛擬機器用戶端 ID。IUCV 驅動程式會將這 ID 轉譯成大寫。這個值多半是TCPIP。
這會建立如下的 sysfs 架構:
cat /sys/bus/iucv/drivers/netiucv/netiucv<n> |
其中 <n> 是個獨一無二的整數,用來代表該裝置。<n> 如果為 0,代表第一個裝置,1 代表第二個裝置,餘此類推。
設定裝置。
如果需要的話,設定最大的緩衝區大小:
# echo <value> > /sys/bus/iucv/drivers/netiucv/netiucv<n>/buffer |
其中 <value> 是您打算設定的位元組大小。如果您設定的值超出範圍,那系統會忽略這個值。
最大緩衝區大小所能接受的範圍,端看 MTU 而定。這個值的範圍從 < 最小 MTU + 標頭大小 > 到 < 最大 MTU + 標頭大小 >。通常標頭的大小為 4 個位元組。最大緩衝區大小的預設值為 32768 位元組(32 KB)。
如果要更進一步了解設定 IUCV 驅動程式的相關資訊,請參閱:
http://oss.software.ibm.com/developerworks/opensource/linux390/docu/lx26apr04dd01.pdf (Linux for zSeries and S/390 Device Drivers, Features, and Commands)
定義別名。
根據要加入的介面種類,請在 /etc/modprobe.conf 中加入類似以下的一行:
iucv<n> alias netiucv |
為設定建立 script。
請在 /etc/sysconfig/network-scripts/ 目錄中,用以下的命名方式建立一個檔案:
ifcfg-iucv<n> |
這檔案看起來像:
/etc/sysconfig/network-scripts/ifcfg-iucv0 # IBM IUCV DEVICE=iucv0 BOOTPROTO=static IPADDR=192.168.70.136 GATEWAY=172.16.70.136 NETMASK=255.255.255.255 ONBOOT=yes NETTYPE=iucv PEERID=TCPIP TYPE=IUCV |
啟動裝置。
根據要加入的介面種類,請使用 ifup 指令,類似以下範例:
# ifup iucv<n> |