Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
17.3. Добавление сетевого устройства
Модули драйверов сетевых устройств загружаются автоматически с помощью udev.
В IBM System z сетевой интерфейс можно добавить динамически или с сохранением постоянства.
- Динамическое добавление устройств:
- загрузите драйвер устройства;
- удалите интерфейсы из списка игнорируемых устройств;
- создайте устройство группы;
- настройте устройство;
- включите устройство.
- С сохранением постоянства:
- создайте сценарий настройки;
- включите интерфейс.
В последующих секциях обсуждаются основные задачи драйверов сетевых устройств в IBM System z, в том числе добавление устройств qeth (см. Раздел 17.3.1, «Добавление устройства
qeth
») и lcs (см. Раздел 17.3.2, «Добавление устройства LCS») в Red Hat Enterprise Linux.
17.3.1. Добавление устройства qeth
Драйвер
qeth
поддерживает функции OSA-Express c QDIO, а также HiperSockets, LAN гостей z/VM и VSWITCH в z/VM.
qeth
присваивает устройствам Ethernet и Hipersockets имена в виде enccw
ID_шины. Идентификатор шины имеет вид наподобие enccw0.0.0a00
и содержит идентификатор подсистемы канала, идентификатор подканала и номер устройства.
17.3.1.1. Динамическое добавление устройства 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
подтверждает, что модули не были загружены, загрузите их с помощьюmodprobe
:# modprobe qeth
- Удалите сетевые каналы из списка игнорируемых устройств:
# 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 (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 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
- Убедитесь, что устройство было создано успешно:
# ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500
В зависимости от конфигурации системы можно установить дополнительные параметры:portno
layer2
portname
- Включите устройство, присвоив соответствующему атрибуту значение
1
:# 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 -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 -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-устройство
, где устройство — значение из файла if_name
ранее созданного устройства qeth
(например, eth1
). Команды cio_ignore
обрабатываются как обычно, поэтому нет необходимости в удалении устройства из списка игнорируемых устройств.
Если файл конфигурации другого устройства того же типа уже существует, можно его скопировать и взять за основу.
# cd /etc/sysconfig/network-scripts # cp ifcfg-enccw0.0.09a0 ifcfg-enccw0.0.0600
Для просмотра идентификаторов сетевых устройств выполните:
# 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
Если аналогичное устройство отсутствует, надо будет создать новый файл. В качестве образца используйте пример
ifcfg-eth0
.
# 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
в соответствии с содержимым файлаif_name
группыccw
. - В
IPADDR
добавьте IP-адрес нового интерфейса. - При необходимости измените
NETMASK
. - Можно настроить активацию интерфейса при загрузке, присвоив
ONBOOT
значениеyes
. - Убедитесь, что выражение
SUBCHANNELS
содержит аппаратные адреса устройства qeth. - При необходимости измените значение
PORTNAME
. - Атрибуты
sysfs
и их значения можно добавить в параметрOPTIONS
, с помощью которого программа установки Red Hat Enterprise Linux настраивает режимlayer2
и номер портаportno
для устройствqeth
.По умолчанию драйверqeth
для устройств OSA работает на втором уровне. Если необходимо использовать старые настройкиifcfg
, вOPTIONS
добавьте выражениеlayer2=0
.
/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
вступят в силу после перезагрузки или динамического добавления новых каналов сетевых устройств и соответствующего изменения системных настроек ввода и вывода (то есть при подключении в z/VM). Или же для активации файла ifcfg
можно сделать следующее:
- Удалите сетевые каналы из списка игнорируемых устройств:
# cio_ignore -r ID_шины_устройства_чтения,ID_шины_устройства_записи,ID_шины_устройства_данных
Замените ID_шины_устройства_чтения, ID_шины_устройства_записи и ID_шины_устройства_данных идентификаторами шины сетевого устройства. Например:# 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 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 -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
Драйвер устройства LCS (LAN channel station) обеспечивает поддержку 1000Base-T Ethernet на OSA-Express2 и OSA-Express 3.
Драйвер
LCS
присваивает устройствам OSA-Express Fast Ethernet и Gigabit Ethernet имена в виде enccw
ID_шины. Идентификатор шины имеет вид наподобие enccw0.0.0a00
и содержит идентификатор подсистемы канала, идентификатор подканала и номер устройства.
17.3.2.1. Динамическое добавление устройства LCS
- Загрузите драйвер:
# modprobe lcs
- Удалите сетевые каналы из списка игнорируемых устройств:
# cio_ignore -r ID_шины_устройства_чтения,ID_шины_устройства записи
Замените ID_шины_устройства_чтения и ID_шины_устройства_записи идентификаторами шины сетевого устройства. Например:# cio_ignore -r 0.0.09a0,0.0.09a1
- Создайте устройство для группы:
# echo ID_шины_устройства_чтения,ID_шины_устройства_записи > /sys/bus/ccwgroup/drivers/lcs/group
- Теперь надо настроить устройство. Карты OSA предоставляют до 16 портов для одного CHPID. По умолчанию устройство LCS использует порт
0
. Чтобы изменить порт, выполните следующее:# echo номер > /sys/bus/ccwgroup/drivers/lcs/device_bus_id/portno
Замените номер номером порта для подключения. - Включите устройство:
# echo 1 > /sys/bus/ccwgroup/drivers/lcs/ID_шины_устройства_чтения/online
- Для просмотра присвоенного устройству имени выполните:
# ls -l /sys/bus/ccwgroup/drivers/lcs/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.
- Создайте сценарий
ifcfg-устройство
в каталоге/etc/sysconfig/network-scripts/
, заменив устройство значением из файлаif_name
ранее созданного устройстваqeth
. Пример: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=enccwID_шины
- Включите устройство:
# ifup enccwID_шины
Изменения
ifcfg
вступят в силу после перезагрузки системы. Активацию файла ifcfg
можно выполнить следующим образом:
- Удалите устройство LCS из списка игнорируемых устройств:
# cio_ignore -r ID_шины_устройства_чтения,ID_шины_устройства записи
Замените ID_шины_устройства_чтения и ID_шины_устройства_записи идентификаторами шины сетевого устройства. Например:# cio_ignore -r 0.0.09a0,0.0.09a1
- Разрешите активацию устройства, изменив его атрибут uevent:
echo add > /sys/bus/ccw/devices/канал_чтения/uevent
Например:echo add > /sys/bus/ccw/devices/0.0.09a0/uevent
17.3.3. Настройка сетевых устройств для корневой файловой системы в сети
Для добавления сетевого устройства с доступом к корневой файловой системе нужно лишь изменить параметры загрузки (см. Глава 18, Файлы конфигурации IBM System z), а при использовании загрузчика zipl — откорректировать файл
zipl.conf
устройства DASD или SCSI LUN, подключенного к каналу FCP. Повторное создание initramfs не требуется.
Dracut, который пришел на смену mkinitrd, предоставляет параметр
rd.znet=
для активации сетевых устройств на ранней стадии загрузки.
Этот параметр принимает список разделенных запятой значений
NETTYPE
(qeth, lcs, ctc), два (lcs, ctc) или три (qeth) идентификатора шины устройства, а также пары параметров и значений, соответствующих атрибутам sysfs сетевого устройства. rd.znet=
выполнит настройку и активацию сетевого оборудования System z. Настройка IP-адресов и прочих сетевых характеристик осуществляется аналогично тому, как это делается на других платформах. Подробную информацию можно найти в документации dracut.
Команды cio_ignore обрабатываются прозрачно в процессе загрузки системы.
Пример параметров загрузки для корневой файловой системы NFS:
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