25.3. Добавление сетевого устройства
25.3. Добавление сетевого устройства
Модули драйверов сетевых устройств загружаются автоматически с помощью udev.
В IBM System z сетевой интерфейс можно добавить динамически и с сохранением постоянства.
- Динамически
- загрузите драйвер устройства;
- удалите интерфейсы из списка игнорируемых устройств;
- создайте устройство группы;
- настройте устройство;
- включите устройство.
- С сохранением постоянства
- создайте сценарий настройки;
- активируйте интерфейс.
В следующих далее секциях приведена описываются основные задачи драйверов сетевых устройств в IBM System z, а именно рассматривается добавление устройств qeth (см. Раздел 25.3.1, «Добавление устройства qeth») и lcs (см. Раздел 25.3.2, «Добавление устройства LCS») в установленную систему Red Hat Enterprise Linux. Раздел 25.3.3, «Сопоставление имен сетевых устройств каналам» содержит информацию о сохранении постоянства имен устройств, а Раздел 25.3.4, «Доступ сетевых устройств к корневой файловой системе в сети» включает инструкции по настройке использования сетевых устройств в корневой файловой системе, доступной только по сети.
25.3.1. Добавление устройства qeth
Драйвер qeth поддерживает функции OSA-Express c QDIO в System z, а также HiperSockets, LAN гостей z/VM и VSWITCH в z/VM.
В зависимости от типа добавляемого интерфейса драйвер qeth назначит одно из трех основных имен интерфейса:
- hsi
n
для устройств HiperSocket; - eth
n
для Ethernet.
n
является целым числом, уникальным для каждого устройства, и равно 0
для первого устройства данного типа, 1
— для второго и т.п.
25.3.1.1. Динамическое добавление устройства z/VM
Ниже рассматривается последовательность действий при динамическом добавлении устройств.
- Убедитесь, что модули драйверов устройств 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
подтверждает, что модули не были загружены, загрузите их с помощьюmodprobe
:# modprobe qeth
- С помощью команды
cio_ignore
удалите сетевые каналы из списка игнорируемых устройств и откройте их для Linux:# cio_ignore -r
ID_шины_устройства_чтения
,ID_шины_устройства_записи
,ID_шины_устройства_данных
ЗаменитеID_шины_устройства_чтения
,ID_шины_устройства_записи
иID_шины_устройства_данных
идентификаторами шины сетевого устройства. Так, например, еслиID_шины_устройства_чтения
—0.0.f500
,ID_шины_устройства_записи
—0.0.f501
, а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
ID_шины_устройства_чтения
,ID_шины_устройства_записи
,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
Подробную информацию можно найти в главе, посвященной qeth, в документе Linux в System z. Драйверы устройств, функции и команды в Red Hat Enterprise Linux 6. - Включите устройство, присвоив соответствующему атрибуту значение 1:
# echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
- Проверьте состояние устройства:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
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 -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 -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 с сохранением постоянства
Для сохранения постоянства потребуется создать файл конфигурации нового интерфейса. Файлы конфигурации сетевых интерфейсов хранятся в
/etc/sysconfig/network-scripts/
.
Имена файлов следуют формату
ifcfg-устройство
, где устройство
— значение из файла if_name
устройства qeth (например, 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
в зависимости от содержимого файлаif_name
группы ccwgroup. - Измените
IPADDR
в соответствии с IP-адресом нового интерфейса. - Измените
NETMASK
при необходимости. - Можно настроить активацию интерфейса при загрузке, присвоив
ONBOOT
значениеyes
. - Убедитесь, что выражение
SUBCHANNELS
содержит аппаратные адреса устройства qeth. - При необходимости измените значение
PORTNAME
. - Параметр
OPTIONS
может содержать атрибуты sysfs и их значения. С его помощью программа установки Red Hat Enterprise Linux выполняет настройку режимаlayer2
и номера портаportno
для устройств qeth.По умолчанию для устройств OSA используется драйвер qeth второго уровня. Если необходимо использовать старые настройки ifcfg, в параметрOPTIONS
добавьте выражениеlayer2=0
.
/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
вступят в силу после перезагрузки системы или после динамического добавления новых каналов сетевых устройств и соответствующего изменения системных настроек ввода и вывода (то есть при подключении в z/VM). Как вариант, активацию файла ifcfg
можно выполнить следующим образом:
- С помощью команды cio_ignore удалите сетевые каналы из списка игнорируемых устройств и откройте их для Linux:
# cio_ignore -r
ID_шины_устройства_чтения
,ID_шины_устройства_записи
,ID_шины_устройства_данных
ЗаменитеID_шины_устройства_чтения
,ID_шины_устройства_записи
иID_шины_устройства_данных
идентификаторами шины сетевого устройства. Так, например, еслиID_шины_устройства_чтения
—0.0.0600
,ID_шины_устройства_записи
—0.0.0601
, аID_шины_устройства_данных
—0.0.0602
, команда будет выглядеть так:# cio_ignore -r 0.0.0600,0.0.0601,0.0.0602
- Разрешите активацию устройства, изменив его атрибут uevent:
echo add > /sys/bus/ccw/devices/
канал_чтения
/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 -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
.