F.6. एक संजाल युक्ति का संयोजन

एक संजाल युक्ति को जोड़ने की प्रक्रिया Red Hat Enterprise Linux के लिए काफी बदल गई है. इसका कुछ कारण 2.4 कर्नेल से 2.6 कर्नेल में उत्प्रवास है:

खंड F.6.1 विस्तार से यह बताती है कि Red Hat Enterprise Linux के मौजूदा उदाहरण में कैसे एक qeth युक्ति जोड़ें. खंड F.6.2 अन्य zSeries संजाल अंतरफलक के अधिष्ठापन के लिए एक द्रुत संदर्भ है.

F.6.1. qeth युक्ति जोड़ना

पहले, निश्चित करें कि क्या 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 आभासी NIC है और इस अंतरफलक को दिया गया 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

आपके सिस्टम की व्यवस्था और आपके लिए जरूरी फीचर के आधार पर आप वैकल्पिक रूप से अतिरिक्त पैरामीटर और फीचर सेट कर सकते हैं.

इन फीचरों की कार्यप्रणाली से जुड़ी सूचना के लिए, इसे देखें http://oss.software.ibm.com/developerworks/opensource/linux390/docu/lx26apr04dd01.pdf (zSeries और S/390 युक्ति चालक, फीचर, और समादेश के लिए Linux ).

अब आपको अपने नए अंतरफलक के लिए विन्यास फाइल बनाने की जरूरत है. संजाल अंतरफलक विन्यास फाइल /etc/sysconfig/network-scripts/ में अवस्थित है.

संजाल विन्यास फाइल ifcfg-<device> जैसी नामकरण परिपाटी का प्रयोग करती है, जहां युक्ति if_name फाइल में प्राप्त मान है जो पहले बनाया गया. इस उदाहरण में यह eth1 है.

अगर समान प्रकार के एक अन्य युक्ति के लिए एक मौजूदा विन्यास फाइल पहले से परिभाषित है, तो सबसे आसान उपाय नए नाम से इसे कॉपी करना है.

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

अगर आपके पास समान युक्ति परिभाषित नहीं है तो आप जरूर एक बनाएं. ifcfg-eth0 के उदाहऱण को एक template के रूप में प्रयोग करें.

/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 पंक्ति हटाएं.

if_name फाइल की अंतर्वस्तु को अपने ccwgroup से प्रतिविंबित करने के लिए DEVICE कथन को संशोधित करें.

अपने नए अंतरफलक के IP पता को प्रतिविंबित करने के लिए IPADDR कथन को संशोधित करें.

जरूरत के मुताबिक 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)

नोट करें कि HWaddr क्षेत्र ifconfig समादेश आउटपुट की पहली रेखा. उसके बाद मान को 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

अगर मूलभूत route सूचना बदल गई है, तो आप /etc/sysconfig/network के अनुसार अपने को अद्यतन करें.

F.6.2. संजाल युक्तियां जोड़ने के लिये द्रुत संदर्भ

zSeries सिस्टम पर एक संजाल अंतरफलक जोड़ने के लिए कई मौलिक कार्य हैं.

प्रत्येक zSeries संजाल युक्ति चालक के प्रत्येक कार्य के लिए निम्न खंड आधारभूत सूचना देती है.

F.6.2.1. LCS युक्ति चालक के साथ काम

LAN channel station (LCS) युक्ति चालक OSA-2 Ethernet/Token Ring, OSA-Express Fast Ethernet in non-QDIO mode, और non-QDIO मोड में OSA-Express High Speed Token Ring का समर्थन करती है. z990 के लिए LCS चालक non-QDIO मोड में Gigabit Ethernet का समर्थन करती है (1000Base-T के साथ).

जोड़े जाने वाले अंतरफलक के प्रकार के आधार पर, LCS दो आधार अंतरफलक नाम में से एक देती है: OSA-Express Fast Ethernet के लिए eth<n>, और Gigabit Ethernet 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 (zSeries के लिए Linux और S/390 युक्ति चालक, फीचर, और समादेश)

  • युक्ति को ऑनलाइन जमाएं:

    # echo 1 /sys/bus/ccwgroup/drivers/lcs/<read_device_bus_id>/online
  • उपनाम परिभाषित करें.

    जोड़े जाने वाले अंतरफलक के प्रकार के आधार पर, /etc/modprobe.conf में एक पंक्ति जोड़ें जो निम्न में से एक की तरह है.

    eth<n> alias lcs
    tr<n> alias lcs
  • विन्यास स्क्रिप्ट बनाएं.

    निम्न के समान एक नाम से /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>

F.6.2.2. QETH युक्ति चालक के साथ कार्य

QETH संजाल युक्ति चालक QDIO मोड में zSeries हाइपरसॉकेट, OSA-एक्सप्रेस फास्ट Ethernet, गिगाबिट Ethernet (1000Base-T के साथ), हाई स्पीड टोकेन रिंग, और ATM फीचर्स (Ethernet LAN एमुलेशन को चलाना) का समर्थन करती है.

जोड़े जाने वाले अंतरफलक के प्रकार के आधार पर QETH चालक तीन में से एक आधार अंतरफलक का नाम देती है:

  • hsi<n> हाइपरसॉकेट युक्तियों के लिए

  • eth<n> OSA-एक्सप्रेस फास्ट Ethernet और गिगाबिट Ethernet के लिए

  • 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 (zSeries के लिए Linux और S/390 युक्ति चालक, फीचर, और समादेश)

  • युक्ति को ऑनलाइन जमाएं:

    # 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
  • विन्यास स्क्रिप्ट बनाएं.

    निम्न के समान एक नाम से /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>

F.6.2.3. CTC युक्ति चालक के साथ कार्य

चैनल-टू-चैनल (CTC) संबंधन मेनफ्रेम के बीच एक प्रारूपकीय तीव्र गति संबंधन है. CTC युक्ति चालक का प्रयोग प्वाइंट-टू-प्वाइंट TCP/IP या tty संबंधन को स्थापित करने के लिए होता है - Linux for zSeries और S/390 instances के बीच या Linux for zSeries और S/390 instance के बीच या अन्य मेनफ्रेम ऑपरेटिंग सिस्टम उदाहरण जैसे कि z/OS, OS/390, z/VM, या z/VSE.

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 (zSeries के लिए Linux और S/390 युक्ति चालक, फीचर, और समादेश)

  • युक्ति को ऑनलाइन जमाएं:

    # cho 1 /sys/bus/ccwgroup/drivers/lcs/<read_device_bus_id>/online
  • उपनाम परिभाषित करें.

    जोड़े जाने वाले अंतरफलक के प्रकार के आधार पर, /etc/modprobe.conf में एक रेखा जोड़ें जो निम्न के समान होनी चाहिए:

    ctc<n> alias ctc
  • विन्यास स्क्रिप्ट बनाएं.

    निम्न के समान नाम के साथ /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>

F.6.2.4. ICUV युक्ति चालक के साथ कार्य

अंतर उपयोक्ता संचार वाहन (Inter-User Communication Vehicle; IUCV) एक VM संचार सुविधा है, जो प्रोग्राम को एक VM अतिथि से दूसरे VM अतिथि में संचरण के लिए चलाने में सक्रिय करती है, एक नियंत्रण प्रोग्राम के साथ, या स्वयं के द्वारा भी. zSeries और S/390 IUCV युक्ति चालक के लिए Linux एक संजाल युक्ति चालक है जो IUCV को विभिन्न VM उपयोक्ता IDs पर चलने वाले Linux अतिथि से जोड़ता है, या अन्य VM अतिथि जैसे कि एक TCP/IP सेवा मशीन से जोड़ने के लिए.

IUCV चालक निम्नवत एक आधारिक अंतरफलक नाम देती है.

iucv<n>

<n> मान एक पूर्णांक है जो युक्ति का अद्वितीय रूप से पहचानती है. <n> उस प्रकार के पहले युक्ति के लिए 0 है, दूसरे के लिए 1 है और क्रमशः इसी तरह आगे.

  • युक्ति चालक भारित करें:

    # modprobe netiucv
  • IUCV युक्ति बनाएं:

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

    <peer_id> का मान VM अतिथि का अतिथि 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 जमावट पर निर्भर करती है. इसे <minimum MTU + header size> से <maximum MTU + header size> के परिसर के बीच का होना चाहिए. शीर्ष स्थान 4 बाइट का है. अधिकतम बफरसाइज के लिए मूलभूत 32768 बाइट (32 KB) होता है.

    IUCV चालक के विन्यास के बारे में ज्यादा जानकारी के लिए निम्नलिखित देखें:

    http://oss.software.ibm.com/developerworks/opensource/linux390/docu/lx26apr04dd01.pdf (zSeries के लिए Linux और S/390 युक्ति चालक, फीचर, और समादेश)

  • उपनाम परिभाषित करें.

    जोड़े जाने वाले अंतरफलक के प्रकार के आधार पर, /etc/modprobe.conf में एक रेखा जोड़ें जो निम्न के समान होनी चाहिए:

    iucv<n> alias netiucv
  • विन्यास स्क्रिप्ट बनाएं.

    निम्न के समान नाम के साथ /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>