F.6. Ein Netzwerkgerät hinzufügen

Der Prozess des Hinzufügens eines Netzwerkgerätes hat sich für Red Hat Enterprise Linux stark geändert. Dies ist teilweise auf die Migration von dem 2.4 Kernel auf den 2.6 Kernel zurückzuführen:

Abschnitt F.6.1 beschreibt im Detail, wie ein qeth-Gerät zu einer bereits bestehenden Instanz von Red Hat Enterprise Linux hinzugefügt werden kann. Abschnitt F.6.2 ist ein Schnellverweis, wie andere zSeries Netzwerkschnittstellen installiert werden können.

F.6.1. Ein qeth-Gerät hinzufügen

Stellen Sie zuerst fest, ob die Treiber-Module für das qeth-Gerät bereits geladen worden sind.

# lsmod | grep qeth
qeth                  135240  0
qdio                   45360  2 qeth
ipv6                  303984  13 qeth
ccwgroup               15104  1 qeth

Wenn der Output des lsmod-Befehls zeigt, dass die Module nicht geladen sind, Sie müssen Sie den modprobe-Befehl ausführen, um diese zu laden:

# modprobe qeth

Erstellen Sie als nächstes ein qeth-Gruppen-Gerät.

# echo <read_device_bus_id>,<write_device_bus_id>,<data_device_bus_id>
  > /sys/bus/ccwgroup/drivers/qeth/group

Aufgrund der Länge dieses Befehls, wurde dieser in zwei Zeilen unterteilt.

Im folgenden Beispiel read_device_bus_id ist 0.0.0600, write_device_bus_id 0.0.0601 und data_device_bus_id ist 0.0.0602. Das Gerät ist eine z/VM virtuelle Netzwerk-Schnittstellen-Steuereinheit (NIC) und die IP-Adresse für diese Schnittstelle sollte 192.168.70.69 sein.

# echo 0.0.0600,0.0.0601,0.0.0602 > /sys/bus/ccwgroup/drivers/qeth/group

Stellen Sie als nächstes fest, ob das qeth-Gruppen-Gerät ordnungsgemäß erstellt worden ist.

# ls /sys/bus/ccwgroup/drivers/qeth
0.0.0600  0.0.09a0  group  notifier_register

Sie können optional auch einen Portnamen hinzufügen. Überprüfen Sie jedoch zuerst, ob ein Portname erforderlich ist:

# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname
no portname required

Dies bedeutet, dass ein Portname nicht erforderlich ist.

Um einen Portnamen hinzuzufügen, gehen Sie zuerst sicher, dass die Geräte offline sind und führen dann folgenden Befehl aus:

AnmerkungHinweis
 

Die Geräte müssen offline sein, wenn Sie einen Portnamen hinzufügen.

# echo <portname> > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname

Bringen Sie als nächstes das Gerät wieder online:

# echo 1 /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online

Dann überprüfen Sie den Status des Gerätes:

# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online
1

Der Wert "1" bedeutet, dass das Gerät online ist, wogegen "0" bedeuten würde, dass das Gerät offline ist.

Überprüfen Sie welcher Schnittstellenname zugeordnet wurde:

# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/if_name
eth1

Um den Wert von if_name zu ändern, benutzen Sie folgenden Befehl:

# echo <new_if_name> > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/if_name

Sie können optional auch zusätzliche Parameter und Features setzen, abhängig von der Art, auf der Sie Ihr System aufsetzen und den Features, die Sie benötigen.

Für weiter Informationen über die Arbeitsweise dieser Features siehe http://oss.software.ibm.com/developerworks/opensource/linux390/docu/lx26apr04dd01.pdf (Linux für zSeries und S/390 Gerätetreiber, Features und Befehlen).

Jetzt müssen Sie die Konfigurationsdatei für Ihre neue Schnittstelle erstellen. Die Konfigurationsdateien für Netzwerk-Schnittstellen finden Sie in /etc/sysconfig/network-scripts/.

Die Netzwerk-Konfigurationsdateien benutzen die Namenskonvention ifcfg-<device>, wobei device der Wert in der Datei if_name im qeth-Gruppen-Gerät ist, welches zuvor erstellt worden ist. In diesem Beispiel ist es eth1.

Wenn es bereits eine Konfigurationsdatei für eine anderes Gerät des selben, bereits festgelegten Typs gibt, so ist es am einfachsten diese zum neuen Namen zu kopieren.

# cd /etc/sysconfig/network-scripts
# cp ifcfg-eth0 ifcfg-eth1

Wenn Sie kein ähnliches Gerät festgelegt haben, müssen Sie eines erstellen. Benutzen Sie dieses Beispiel von ifcfg-eth0 als Vorlage.

/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

Bearbeiten Sie die neue ifcfg-eth1-Datei.

Entfernen Sie vorläufig die HWADDR-Zeile.

Modifizieren Sie das DEVICE-Statement, um die Inhalte der Datei if_name Ihrer ccwgroup zu reflektieren.

Modifizieren Sie das IPADDR-Statement, um die IP-Adresse Ihrer neuen Schnittstelle zu reflektieren.

Modifizieren Sie das NETMASK-Statement je nach Bedarf.

Wenn Sie Ihre neue Schnittstelle zur Bootzeit aktiviert haben möchten, dann gehen Sie sicher, dass ONBOOT auf yes gesetzt ist.

Gehen Sie sicher, dass das SUBCHANNELS-Statement mit den Hardware-Adressen für Ihr qeth-Gerät übereinstimmt.

/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

Einqeth-Gerät erfordert eine Alias Definition in /etc/modprobe.conf. Bearbeiten Sie diese Datei und fügen Sie einen Alias für Ihre Schnittstelle hinzu.

/etc/modprobe.conf
alias eth0 qeth
alias eth1 qeth
options dasd_mod dasd=0.0.0100,0.0.4b19

Jetzt können Sie das neue Interface starten:

# ifup eth1

Überprüfen Sie das Routing für die neue Schnittstelle:

# 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)

Beachten Sie, dass das HWaddr-Feld sich in der ersten Zeile des Outputs von ifconfig befindet. Der darauffolgende Wert sollte in der ifcfg-eth1-Datei hinzugefügt werden. Fügen Sie eine Zeile wie diese zur Datei hinzu:

HWADDR=02:00:00:00:00:01

Jetzt sieht ifcfg-eth1 ungefähr wie folgt aus:

# 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

Überprüfen Sie das Routing für die neue Schnittstelle:

# 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

Überprüfen Sie Ihre Änderungen, indem Sie den Befehl ping benutzen, um den Gateway anzupingen:

# 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

Wenn die Standardrouten-Information sich geändert hat, so müssen Sie auch /etc/sysconfig/network dementsprechend aktualisieren.

F.6.2. Schnellverweis zum Hinzufügen von Netzwerk-Geräten

Es gibt einige grundlegende Aufgaben, die das Hinzufügen einer Netzwerk-Schnittstelle auf zSeries erfordert.

Die folgenden Abschnitte stellen grundlegende Informationen für jede Aufgabe jedes zSeries Netzwerk-Gerätetreibers.

F.6.2.1. Mit dem LCS-Gerätetreiber arbeiten

Der LAN-Channel-Station (LCS) Gerätetreiber unterstützt OSA-2 Ethernet/Token Ring, OSA-Express Fast Ethernet im Nicht-QDIO-Modus und OSA-Express High Speed Token Ring im Nicht-QDIO-Modus. Für z990 unterstützt der LCS-Treiber auch Gigabit Ethernet im Nicht-QDIO Modus (inklusive 1000Base-T).

Abhängig von der Art der hinzugefügten Schnittstelle, vergibt der LCS-Treiber einen von zwei Basis-Schnittstellen-Namen: eth<n> für OSA-Express Fast Ethernet und Gigabit Ethernet tr<n> für Token Ring, wobei <n> eine einzigartige Ganzzahl ist, die das Gerät identifiziert. <n> ist 0 für das erste Gerät diesen Typs, 1 für das zweite Gerät und so weiter.

  • Laden Sie den Gerätetreiber:

    # modprobe lcs
  • Erstellen Sie das Gruppen-Gerät:

    # echo <read_device_bus_id>,<write_device_bus_id> 
    > /sys/bus/ccwgroup/drivers/lcs/group

    Aufgrund der Länge dieses Befehls, wurde dieser in zwei Zeilen unterteilt.

  • Konfigurieren Sie das Gerät.

    OSA-Karten können bis zu 16 Ports für eine einzige CHPID zur Verfügung stellen. Standardmäßig benutzt das LCS-Gruppen-Gerät Port 0. Um einen anderen Port zu verwenden, führen Sie einen Befehl ähnlich dem folgenden aus:

    # echo <portno> > /sys/bus/ccwgroup/drivers/lcs/<device_bus_id>/portno

    Für weitere Information über das Konfigurieren des LCS-Treibers verweisen wir auf das folgende:

    http://oss.software.ibm.com/developerworks/opensource/linux390/docu/lx26apr04dd01.pdf (Linux für zSeries und S/390 Gerätetreiber, Features und Befehle)

  • Bringen Sie das Gerät online:

    # echo 1 /sys/bus/ccwgroup/drivers/lcs/<read_device_bus_id>/online
  • Legen Sie den Alias fest.

    Abhängig vom Typ der Schnittstelle, die hinzugefügt wird, fügen Sie eine Zeile in /etc/modprobe.conf hinzu, die ähnlich der folgenden ist:

    eth<n> alias lcs
    tr<n> alias lcs
  • Erstellen Sie ein Konfigurations-Skript.

    Erstellen Sie eine Datei in /etc/sysconfig/network-scripts/ mit einem Namen wie einer der folgenden:

    ifcfg-eth<n>
    ifcfg-tr<n>

    Die Datei sollte ähnlich wie folgende aussehen:

    /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

    Abhängig von dem Typ der Schnittstelle, die hinzugefügt wird, sollte der DEVICE-Parameter einer der folgenden sein:

    DEVICE=eth<n>
    DEVICE=tr<n>
  • Aktivieren Sie das Gerät.

    Abhängig vom Typ der Schnittstelle, die hinzugefügt wird, führen Sie den Befehl ifup aus:

    # ifup eth<n>
    # ifup tr<n>

F.6.2.2. Mit dem QETH-Gerätetreiber arbeiten

Der QETH-Netzwerk-Gerätetreiber unterstützt zSeries HiperSockets, OSA-Express Fast Ethernet, Gigabit Ethernet (inklusive 1000Base-T), High Speed Token Ring und ATM-Features (mit Ethernet LAN Emulation) im QDIO-Modus.

Abhängig vom Typ der Schnittstelle, die hinzugefügt wird, vergibt der QETH-Treiber einen der drei Basis-Schnittstellen-Namen:

  • hsi<n> für HiperSocket-Geräte

  • eth<n> für OSA-Express Fast Ethernet und Gigabit Ethernet

  • tr<n> für Token Ring

Wobei <n> eine Ganzzahl ist, welche das Gerät einzigartig identifiziert. <n>ist 0 für das erste Gerät diesen Typs, 1 für das zweite Gerät und so weiter.

  • Laden Sie den Gerätetreiber:

    # modprobe qeth
  • Erstellen Sie das Gruppen-Gerät:

    # echo <read_device_bus_id>,<write_device_bus_id>,<data_device_bus_id>
      > /sys/bus/ccwgroup/drivers/qeth/group

    Aufgrund der Länge dieses Befehls, wurde dieser in zwei Zeilen unterteilt.

  • Konfigurieren Sie das Gerät.

    Hier bekommen Sie mehr Information über das Konfigurieren des QETH-Treibers:

    http://oss.software.ibm.com/developerworks/opensource/linux390/docu/lx26apr04dd01.pdf (Linux für zSeries und S/390 Gerätetreiber, Features und Befehle)

  • Bringen Sie das Gerät online:

    # echo 1 /sys/bus/ccwgroup/drivers/qeth/<read_device_bus_id>/nline
  • Legen Sie den Alias fest.

    Abhängig vom Typ der Schnittstelle, die hinzugefügt wird, fügen Sie eine Zeile in /etc/modprobe.conf hinzu, die wie eine der folgenden Zeilen aussieht:

    hsi<n> alias qeth
    eth<n> alias qeth
    tr<n> alias qeth
  • Erstellen Sie ein Konfigurations-Skript.

    Erstellen Sie eine Datei in /etc/sysconfig/network-scripts/ mit einem Namen wie einer der folgenden:

    ifcfg-hsi<n> 
    ifcfg-eth<n>
    ifcfg-tr<n>

    Die Datei sollte so aussehen:

    /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

    Abhängig vom Typ der Schnittstelle, die hinzugefügt wird, sollte der DEVICE-Parameter wie einer der folgenden aussehen:

    DEVICE=hsi<n>
    DEVICE=eth<n>
    DEVICE=tr<n>
  • Aktivieren Sie das Gerät.

    Abhängig vom Typ der Schnittstelle, die hinzugefügt wird, führen Sie den Befehl ifup aus:

    # ifup hsi<n>
    # ifup eth<n>
    # ifup tr<n>

F.6.2.3. Mit dem CTC-Gerätetreiber arbeiten

Eine Channel-To-Channel (CTC) Verbindung ist die typische Hochgeschwindigkeitsverbindung zwischen Großrechnern. Der CTC-Gerätetreiber kann dazu benutzt werden, eine Punkt-zu-Punkt TCP/IP oder tty Verbindung zwischen zwei Linux für zSeries und S/390 Instanzen oder zwischen einer Linux für zSeries und S/390 Instanz und einer anderen Großrechner-Betriebssystem Instanz wie z.B. z/OS, OS/390, z/VM oder z/VSE herzustellen.

Der CTC-Treiber vergibt einen Basis-Schnittstellen-Namen:

ctc<n>

Wobei <n> eine Ganzzahl ist, welche das Gerät einzigartig identifiziert. <n>ist 0 für das erste Gerät diesen Typs, 1 für das zweite Gerät und so weiter.

  • Laden Sie den Gerätetreiber:

    # modprobe ctc
  • Erstellen Sie das Gruppen-Gerät:

    # echo <read_device_bus_id>,<write_device_bus_id> 
    > /sys/bus/ccwgroup/drivers/ctc/group

    Aufgrund der Länge dieses Befehls, wurde dieser in zwei Zeilen unterteilt.

  • Konfigurieren Sie das Gerät.

    Setzen Sie das Protokoll:

    # echo <protocol> /sys/bus/ccwgroup/drivers/ctc/<device_bus_id>/protocol

    Wobei <protocol> ist 0, 1, 2, oder 3.

    0 — Dieses Protokoll ermöglicht Kompatibilität mit anderen Peers als OS/390 oder z/OS, wie zum Beispiel einem VM TCP-Servicegerät. Dies ist die Standardeinstellung.

    1 — Dieses Protokoll ermöglicht verbesserte Paket-Kontrolle für Linux Peers.

    2 — Dieses Protokoll gewährleistet eine CTC-basierte tty-Verbindung mit einem Linux Peer.

    3 — Dieses Protokoll ermöglicht die Kompatibilität OS/390 or z/OS peers.

    Hier bekommen Sie mehr Information über das Konfigurieren des CTC-Treibers:

    http://oss.software.ibm.com/developerworks/opensource/linux390/docu/lx26apr04dd01.pdf (Linux für zSeries und S/390 Gerätetreiber, Features und Befehle)

  • Bringen Sie das Gerät online:

    # cho 1 /sys/bus/ccwgroup/drivers/lcs/<read_device_bus_id>/online
  • Legen Sie den Alias fest.

    Abhängig vom Typ der Schnittstelle, die hinzugefügt wird, fügen Sie eine Zeile in /etc/modprobe.conf hinzu, die wie folgt aussieht:

    ctc<n> alias ctc
  • Erstellen Sie ein Konfigurations-Skript.

    Erstellen Sie eine Datei in /etc/sysconfig/network-scripts/ mit einem Namen wie der folgende:

    ifcfg-ctc<n>

    Die Datei sollte wie folgt aussehen:

    /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
  • Aktivieren Sie das Gerät.

    Abhängig vom Typ der Schnittstelle, die hinzugefügt wird, führen Sie den Befehl ifup aus:

    # ifup ctc<n>

F.6.2.4. Mit dem IUCV-Gerätetreiber arbeiten

Inter-User Communication Vehicle (IUCV) ist eine VM-Kommunikationseinrichtung, die es ermöglicht, dass ein Programm, das in einem VM-Gast abläuft, mit einem anderen VM-Gast oder einem Kontrollprogramm oder sogar mit sich selbst kommuniziert. Der Linux Gerätetreiber für zSeries und S/390 IUCV Gerätetreiber ist ein Netzwerk-Gerätetreiber, welcher IUCV dazu benutzt, Linux-Gäste, die auf verschiedenen VM-Benutzer-IDs ablaufen, zu verbinden oder auch einen Linux-Gast mit einem anderen VM-Gast, wie z.B. einem TCP/IP Service-Gerät zu verbinden.

Der IUCV-Treiber vergibt einen Basis-Schnittstellennamen wie den folgenden:

iucv<n>

Wobei <n> eine Ganzzahl ist, welche das Gerät einzigartig identifiziert. <n>ist 0 für das erste Gerät diesen Typs, 1 für das zweite Gerät und so weiter.

  • Laden Sie den Gerätetreiber:

    # modprobe netiucv
  • Erstelle das IUCV-Gerät:

    # echo <peer_id> > /sys/bus/iucv/drivers/netiucv/connection

    <peer_id> ist dabei die Gast-ID des VM-Gast, mit dem Sie verbinden möchten. Der IUCV-Gerätetreiber übersetzt die ID als Großbuchstaben. Dies ist für gewöhnlich TCPIP.

    Dies erzeugt eine sysfs-Struktur wie die folgende:

    cat /sys/bus/iucv/drivers/netiucv/netiucv<n>

    Wobei <n> eine Ganzzahl ist, welche das Gerät einzigartig identifiziert. <n>ist 0 für das erste Gerät diesen Typs, 1 für das zweite Gerät und so weiter.

  • Konfigurieren Sie das Gerät.

    Setzen Sie die maximale Puffergröße, falls notwendig:

    # echo <value> > /sys/bus/iucv/drivers/netiucv/netiucv<n>/buffer
      

    <value> ist dabei die Anzahl von Bytes, die Sie festlegen möchten. Wenn Sie einen Wert ausserhalb des gültigen Bereichs festlegen, wird der Befehl allerdings ignoriert.

    Der zugelassene Bereich von Werten  für die maximale Puffergröße hängt von den MTU-Einstellungen ab. Es muss sich innerhalb des Bereichs <minimum MTU + header size> und <maximum MTU + header size> befinden. Der Header-Platz ist typischerweise 4 Bytes. Der Standardwert für die maximale Puffergröße ist 32768 Bytes (32 KB).

    Hier bekommen Sie mehr Information über das Konfigurieren des IUCV-Treibers:

    http://oss.software.ibm.com/developerworks/opensource/linux390/docu/lx26apr04dd01.pdf (Linux für zSeries und S/390 Gerätetreiber, Features und Befehle)

  • Legen Sie den Alias fest.

    Abhängig vom Typ der Schnittstelle, die hinzugefügt wird, fügen Sie eine Zeile in /etc/modprobe.conf hinzu, die wie folgt aussieht:

    iucv<n> alias netiucv
  • Erstellen Sie ein Konfigurations-Skript.

    Erstellen Sie eine Datei in /etc/sysconfig/network-scripts/ mit einem Namen wie der folgende:

    ifcfg-iucv<n>

    Die Datei sollte so aussehen:

    /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
  • Aktivieren Sie das Gerät.

    Abhängig vom Typ der Schnittstelle, die hinzugefügt wird, führen Sie einen ifup-Befehl wie folgt aus:

    # ifup iucv<n>