Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
QNX 4 Руководство пользователя.doc
Скачиваний:
248
Добавлен:
02.05.2014
Размер:
1.02 Mб
Скачать

Глава 9. Развитие конфигурации сети

В этой главе...

Множество серверов загрузки

Многосвязная сеть

Выбор конфигурации многосвязной сети

9.1. Введение

В этой главе Вы узнаете об установке нескольких серверов заг-

рузки; Вы также узнаете о выборе конфигурации нескольких сетевых

связей на одном компьютере. Прежде чем выполнить любую из описанных

здесь операций, Вы должны сначала установить сеть QNX, которая име-

ет сервер загрузки (смотри главу_5 _0"Установка сети").

9.2. Множество серверов загрузки

Вы можете установить в Вашей сети несколько серверов загрузки,

чтобы обеспечить отказоустойчивость в случае, если откажет Ваш сер-

вер первичной загрузки, и также, чтобы распределить ресурсы загруз-

ки для расшивки узких мест процесса загрузки. Прежде чем сделать

это, Вы должны понять различие между двумя методами, которые может

использовать сетевая плата, чтобы оповестить сервер загрузки о том,

что ее компьютеру требуется загрузка.

При использовании первого метода сетевая плата посылает зап-

рос загрузки в конкретный сервер загрузки;

при втором методе плата передает запрос загрузки на все узлы и

ожидает, что сервер загрузки ответит на запрос.

Плата Arcnet фирмы Quantum, имеющая энергонезависимое ЗУПВ, в

которое может быть загружен узловой ID сервера, использует метод

конкретной загрузки.

Большинство других сетевых плат не имеют средств, чтобы загру-

зить физический узловой ID сервера и должны использовать широкове-

щательный метод.

9.2.1. Широковещательная загрузка с ПЗУ QNX

Для того, чтобы загрузить QNX с сетевой платы, отличной от Qu-

antum Arcnet (например, Ethernet, Token Ring), Вы должны установить

ПЗУ загрузки QNX в гнездо на плате, как указано в документации се-

тевой платы. Когда ПЗУ загрузки QNX начинает загружаться, оно пере-

дает запрос загрузки в сервер, который имеет символическое имя "A"

- 100 -

(первичный сервер); если оно не получает никакого ответа, ПЗУ нач-

нет транслировать запрос загрузки в сервер "B" (вторичный сервер),

и, наконец, в сервер "C" (третичный сервер). При широковещательной

загрузке утилита netboot должна знать в качестве какого сервера она

выступает в отношении каждого узла (первичного, вторичного или тре-

тичного). Утилита определяет это, открывая файл /etc/config/netbo-

ot, в котором каждая строка определяет логический узловой ID, имя

файла, определяющее образ загружаемой операционной системы и режим

сервера (дополнительно):

logicai_node_lD f=buildfile | F=imagefile [server_mode]

Если server_mode не задан, netboot выступит в качестве сервера

первичной загрузки для задаваемого узла. Возможные значения для

server_mode:

A первичный сервер (значение по умолчанию)

B вторичный сервер

C третичный сервер

В следующем примере задается, что данный компьютер является

первичным сервером для всех узлов, за исключением узла, для которо-

го он является вторичным сервером:

4 f=build/ws.arcnet B

* f=build/ws.arcnet A

9.2.2. Выполнение утилиты netboot

Т.к. при широковещательном методе загрузки доступны все узлы в

сети, Вы можете запускать netboot на нескольких узлах, создавая

несколько серверов загрузки. Это позволит Вам задавать разным груп-

пам узлов разные серверы загрузки.

Хотя каждый процесс netboot обычно получает запрос широковеща-

тельной загрузки, он реагирует только в соответствии с его уникаль-

ным файлом /etc/config/netboot, который определяет отношение к каж-

дому запрашивающему узлу (например, "Я - вторичный сервер загрузки

для узла 5")_5._0 Никакие два сервера загрузки не могут иметь один и

тот же server_mode для любого данного логического узлового ID. Если

это правило не выполняется, то каждый сервер загрузки с тем же са-

мым server_mode для данного логического узлового ID ответит на этот

запрос узловой загрузки.

Давайте теперь рассмотрим 15-узловую сеть Ethernet, в которой

узлы с 1 по 9 принадлежат к техническому отделу, а узлы с 10 по 15

- 101 -

принадлежат к отделу маркетинга. Если Вы захотели сделать узел 1

первичным сервером загрузки для техотдела, а узел 10 первичным сер-

вером загрузки для отдела маркетинга, Вам следует выполнить утилиту

netboot на обоих узлах, каждую с ее собственным конфигурационным

файлом:

На узле 1 (//1/etc/config/netboot):

2 f=build/ws.ether8003 A

3 f=build/ws.ether8003 A

4 f=build/ws.ether8003 A

5 f=build/ws.ether8003 A

6 f=build/ws.ether8003 A

7 f=build/ws.ether8003 A

8 f=build/ws.ether8003 A

9 f=build/ws.ether8003 A

* f=build/ws.ether8003 B

На узле 10 (//10/etc/config/netboot):

2 f=build/ws.ether8003 B

3 f=build/ws.ether8003 B

4 f=build/ws.ether8003 B

5 f=build/ws.ether8003 B

6 f=build/ws.ether8003 B

7 f=build/ws.ether8003 B

8 f=build/ws.ether8003 B

9 f=build/ws.ether8003 B

* f=build/ws.ether8003 A

В этом случае Вы также сделали узел 10 вторичным сервером заг-

рузки для техотдела, а узел 1 - вторичным сервером загрузки для от-

дела маркетинга.

9.3. Многосвязная сеть

9.3.1. Преимущества

Как указано в "Архитектуре системы", более чем одна сетевая

связь на компьютере обеспечивает отказоустойчивость, большую произ-

водительность, а также дополнительную связность (то есть Вы можете

иметь доступ к узлам, непосредственно не подключенным к Вашей сети,

через удаленные узлы, которые имеют доступ к Вашей сети и другим

сетям).

- 102 -

9.3.2. Коммуникация через сети

В QNX узел может одновременно взаимодействовать со многими се-

тями. Однако, узел может взаимодействовать только с узлами, к кото-

рым он непосредственно подключается. Рассмотрите следующую схему,

где четыре компьютера связаны через две сети:

+----------------------------------------------------------------+

Ё Ё

Ё Сеть 1 <-----------------------------------------------> Ё

Ё Ё Ё Ё Ё Ё

Ё Сеть 2 <-----+-----------+----------+----------+-------> Ё

Ё Ё Ё Ё Ё Ё Ё Ё Ё Ё

Ё Ё Ё Ё Ё Ё Ё Ё Ё Ё

Ё Узел 1 Узел 2 Узел 3 Узел 4 Ё

Ё Ё

+----------------------------------------------------------------+

Рис.12

В этой отказоустойчивой сети каждый из четырех узлов может

взаимодействовать непосредственно с любым другим узлом через сеть 1

или сеть 2.

Сравните это со следующей схемой, где узлы 1 и 3 подключаются

к разным сетям, а узел 2 является общим для обеих сетей. Узлы 1 и 3

не могут непосредственно взаимодействовать друг с другом, но оба

узла имеют доступ к узлу.

+---------------------------------------------------------------+

Ё Ё

Ё Сеть 1 <-------------------------------------------> Ё

Ё Ё Ё Ё

Ё Ё Ё Ё

Ё Ё Узел 3 Ё

Ё Сеть 2 <-----------------+-------------------------> Ё

Ё Ё Ё Ё Ё

Ё Ё Ё Ё Ё

Ё Узел 1 Узел 2 Ё

Ё Ё

+---------------------------------------------------------------+

Рис.13

- 103 -

В этой конфигурации следующая команда, запущенная на узле 1,

не выполнится, т.к. узел 1 не может связаться непосредственно с уз-

лом 3:

sin -n 3

Однако, т.к. QNX обеспечивает прозрачное удаленное выполнение

процесса, следующие команды могут быть успешно выполнены на узле 1_1:

//2 sin -n 3

или

//2 sh

sin -n 3

exit

Во втором примере начинается удаленный сеанс на узле 2. После

этого все последующие команды по умолчанию будут выполняться на уз-

ле 2 до тех пор, пока не выполнится команда exit.

9.4. Выбор конфигурации многосвязной сети

Чтобы установить несколько сетевых связей на одном компьютере,

Вы должны сначала выбрать уникальный логический сетевой ID для каж-

дой сети, которые Вы будете компоновать.

Затем Вам следует:

- установить сетевые платы; - запустить соответствующие сете-

вые драйверы;

- отредактировать файлы /etc/config/netmap и /etc/config/net-

boot.

В этом разделе мы рассмотрим эти задачи и примеры типичных ус-

тановок многосвязной сети.

9.4.1. Установка сетевых плат

ВНИМАНИЕ. Фирма Quantum выпускает технические заметки по уста-

новке сетевых плат. Файлы, в которых содержатся эти

заметки, находящиеся в каталоге /etc/readme/techno-

tes, имеют имена, начинающиеся с префикса Net (нап-

ример, Net.ether8003). Перед установкой платы Вы

должны прочитать техническую заметку для типа платы,

которую Вы используете.

Вам следует установить каждую сетевую плату согласно инструк-

циям, прилагаемым к плате. Не забывайте определить физический узло-

- 104 -

вой ID платы. Для того, чтобы использовать сетевую плату, Вам пона-

добится запустить дополнительный сетевой драйвер.

ВНИМАНИЕ. Сетевая плата, ПЗУ которой использует высшие адреса

памяти, обнаруживается последней при выполнении пос-

ледовательности самотестирования, выполняемой BIOS.

Обычно это та плата, которая будет использоваться

Вашим компьютером для загрузки через сеть.

9.4.2. Запуск сетевых драйверов

Узел может входить в одну или несколько сетей; для каждой се-

тевой конфигурации Вы должны запустить сетевой драйвер. Запускать

или нет сетевой драйвер зависит от того, является ли он основным

драйвером.

Основные драйверы

Основной драйвер - это сетевой драйвер в образе загрузки, ко-

торый позволяет рабочей станции взаимодействовать с сервером заг-

рузки и получать доступ к файлу sysinit.node на жестком диске сер-

вера. Основные драйверы нужны только рабочим станциям. Образ заг-

рузки рабочей станции или файл формирования (как определено в файле

/etc/config/netboot) должен всегда включать подходящие драйверы,

чтобы связаться с сервером загрузки.

Например, файл формирования /boot/build/ws.arcnet по умолчанию

включает драйвер сети Arcnet (Net.arcnet) как часть образа, переда-

ваемого в загружаемую рабочую станцию.

Если сервер загрузки имеет более одного элемента в файле

/etc/config/netboot для конкретной рабочей станции, указывая, что

файл рабочей станции sysinit.node может быть передан через многие

сетевые связи, то этот рабочий образ должен иметь сетевой драйвер

для каждой сетевой связи, которую сервер загрузки может использо-

вать. Эти сетевые драйверы считаются основными и, следовательно,

должны быть добавлены в файл формирования рабочей станции. Вместо

модификации заданного по умолчанию файла формирования Вам следует

сделать копию со значимым именем, как например, файл ws.arc_eth8003

будет содержать сетевые драйверы как Arcnet, так и Ethernet 8003, а

затем модифицировать новый файл.

Имейте в виду, что опция -d потребуется для Net, если исполь-

зуются более чем два сетевых драйвера. Мы также рекомендуем Вам

посмотреть netmap в "Utilities Reference", чтобы знать, как маски-

ровать узлы.

- 105 -

Дополнительные драйверы

Дополнительными драйверами называются такие драйверы, которые

не требуются для загрузки узла. Подобно другим программам, Вы обыч-

но добавляете эти драйверы в файл sysinit.node. Например, сервер

загрузки загружается с диска, и в его файл sysinit.node включается

Администратор сети и соответствующие драйверы для обеспечения взаи-

модействия с сетями.

Определение логических сетевых ID

По умолчанию сетевые драйверы подключаются к логическому сете-

вому ID 1, что упрощает установку односвязной сети. Тем не менее,

при объединении многих сетей Вы должны задать логический сетевой ID

каждому сетевому драйверу, который не принадлежит сети 1. Чтобы

сделать это, необходимо использовать опцию -l (эл) при запуске се-

тевого драйвера. Например, следующие три команды в файле sysi-

nit.node сервера загрузки запустят Ethernet-драйверы для двух се-

тей:

Net & Сетевой администратор

Net.ether8003 -p 220 & сетевой драйвер для логической сети 1

(значение по умолчанию)

Net.ether8003 -p 340 -1 2 & сетевой драйвер для логической

сети 2

Имейте в виду, что, когда Вы устанавливаете две аналогичные

платы в одной и той же машине, Вы не можете использовать автомати-

ческое определение прерываний, портов ввода/вывода и т.п., что

обычно обеспечивается этими сетевыми драйверами. Вместо этого Вы

должны задать часть этой информации, используя опции командной

строки. Вы должны также включить платы в конфигурацию так, чтобы у

них не было аппаратных конфликтов.

ВНИМАНИЕ. Если Вы должны запустить более двух сетевых драйве-

ров, Вам понадобится использовать опцию -d для Net,

чтобы задать количество драйверов, которое нужно ис-

пользовать (например, -d3 для трех сетевых драйве-

ров). Т.к. Net запускается из файла формирования ра-

бочих станций и из файла sysinit.node для сервера

загрузки, Вам понадобится модифицировать оба файла в

части добавления опции -d при запуске Администратора

- 106 -

сети.

9.4.3. Редактирование файла netmap

Файл /etc/config/netmap является по умолчанию файлом соответс-

твия идентификаторов сети и узлов и используется утилитами netboot

и netmap. Этот файл устанавливает соответствие физического узлового

ID, логического узлового ID и логического сетевого ID для каждого

узла. По умолчанию этот файл устанавливается для инсталляции одной

сети Arcnet, для которой физический узловой ID тот же, что и логи-

ческий узловой ID. В нем используется взаимно-однозначное соответс-

твие, чтобы сделать логический узловой ID таким же, как физический

узловой ID.

Если Вы уже установили сеть, для которой логические и физичес-

кие ID отличаются, Вам следует сделать изменения в этом файле, оп-

ределяя физические узловые ID для Ваших узлов. Например, возможно

Вы установили сеть Ethernet:

1 1 0000C0 7B7113

2 1 0000C0 164C2D

Для единственной сети логический сетевой ID равен 1 по умолча-

нию. Но, когда Вы имеете дело с несколькими сетями, Вы должны опре-

делить каждый компьютерный логический узел и логический сетевой ID,

а также его физический узловой ID. Для получения дополнительной ин-

формации, смотрите раздел 9.4.5 "Примеры". Для того, чтобы узнать о

маскировании, демаскировании и удалении узлов, смотрите описание

_9netmap в "Utilities Reference"._0

9.4.4. Редактирование файла netboot

Когда рабочая станция посылает запрос загрузки в сервер заг-

рузки, сетевой администратор, получив запрос, передает следующую

информацию о загрузке узла утилите netboot:

- узловой физический ID (определяемый аппаратными средствами);

- логический сетевой ID для драйвера (параметр, задаваемый для

драйвера при запуске).

Имея эту информацию, утилита netboot использует файл установ-

ления соответствия, по умолчанию, /etc/config/netmap, чтобы опреде-

лить логический узловой ID загружаемой машины. Затем утилита netbo-

ot использует файл /etc/config/netboot, чтобы определить, какой об-

раз передавать в узел, который послал запрос на загрузку. Файл

/etc/config/netboot определяет, какой файл образа или файл построе-

ния должен использоваться для загрузки рабочих станций. Возможно

- 107 -

потребуется отредактировать этот файл, если сервер загрузки должен

поддерживать разные сети. Например, элемент:

* f=build/ws.arcnet

использует один и тот же файл построения для всех узлов.

В случае смешанной сети Вы должны для некоторых узлов задать

другие файлы построения.

Предположим, что у Вас есть восьмиузловая сеть Arcnet, которая

работает с используемыми по умолчанию элементами netboot, а затем

Вы добавили три узла сети Ethernet. Чтобы загрузить эти узлы с того

же самого сервера (предполагая, что сервер имеет плату и драйвер

Ethernet), Вы должны модифицировать Ваш файл /etc/config/netboot

следующим образом:

9 f=build/ws.ether8003

10 f=build/ws.ether8003

11 f=build/ws.ether8003

* f=build/ws.arcnet

9.4.5. Примеры

Теперь, когда мы обсудили, что входит в установку многосвязной

сети, давайте рассмотрим, как:

- добавить несколько узлов сети Ethernet к сети Arcnet;

- установить отказоустойчивую сеть Ethernet;

- установить частную сетевую связь.

Добавление нескольких узлов сети Ethernet к сети Arcnet

Предположим, имеется следующая схема сети:

.

- 108 -

+------------------------------------------------------------------+

Ё Ё

Ё Логическая <------------------------------------------------> Ё

Ё сеть 1 Ё Ё Ё Ё Ё Ё Ё Ё

Ё (Arcnet) Ё P=2 P=3 P=4 P=5 Ё P=7 Ё

Ё Ё L=2 L=3 L=4 L=5 Ё L=7 Ё

Ё Ё Ё Ё

Ё Логическая <---+-------------------------------------+------> Ё

Ё сеть 2 Ё Ё Ё Ё Ё Ё Ё Ё

Ё (Ethernet) Ё Ё Ё Ё Ё Ё Ё Ё

Ё Ё Ё P=0000C0 7B7113 Ё P=0000C0 DC5E08 Ё Ё Ё

Ё Ё Ё L=8 Ё L=10 Ё Ё Ё

Ё Ё Ё Ё Ё Ё Ё

Ё P=1 P=0000C0 164C2D Ё Ё Ё

Ё P=0000C0 0D9E40 L=9 Ё Ё Ё

Ё L=1 P=6 Ё

Ё P=0000C0 064A2D Ё

Ё СЕРВЕР ЗАГРУЗКИ L=6 Ё

Ё Ё

Ё P= физический ID узла Ё

Ё L= логический ID узла Ё

+------------------------------------------------------------------+

Рис.14

Как Вы помните, формат файла /etc/config/netmap выглядит сле-

дующим образом:

logical_node_ID logical_network_ID physical_node_ID

Для этого примера файл будет содержать следующие данные:

1 1 1

1 2 0000C0 0D9E40

2 1 2

3 1 3

4 1 4

5 1 5

6 1 6

6 2 0000C0 064A2D

7 1 7

8 2 0000C0 7B7113

9 2 0000C0 164C2D

10 2 0000C0 DC5E08

- 109 -

Имейте в виду, что логические узловые ID уникальны для обеих

взаимосвязанных сетей. Для загрузки рабочих станций утилите netboot

требуется, чтобы каждый узел имел образ ОС или связыванный с ним

файл построения. Рабочие станции, загружаемые через сеть Arcnet, не

используют файлы построения рабочих станций, загружаемых через Et-

hernet. Следовательно, файл /etc/config/netboot будет содержать

следующие данные:

2 f=build/ws.arcnet

3 f=build/ws.arcnet

4 f=build/ws.arcnet

5 f=build/ws.arcnet

6 f=build/ws.arc_ether8003

7 f=build/ws.arcnet

8 f=build/ws.ether8003

9 f=build/ws.ether8003

10 f=build/ws.ether8003

Узел 1 не имеет своего элемента, т.к. он загружается с жестко-

го диска. Однако, из его файла sysinit.node должен запускаться как

драйвер Arcnet, так и драйвер Ethernet.

Обратите внимание, что узел 6 можно загру_6зить либо через Arc-

_6net, либо через Ethernet (выбор сети, через которую загружается

_6узел_0 6_6, зависит от того, какая сетевая плата обнаружена последней

_6во время сканирования ПЗУ при включении питания; при этом_0 плата,

описанная в самых верхних адресах, всегда обнаруживается послед-

ней).

В этом примере мы задали загрузку узла 6 _6через Arcnet. Т.к.

_6узел _06 _6находится как в сети Arcnet, так и Ethernet, Вам следует

_6создать специальный файл построения, который будет_0 содержать как

Net.arcnet, так и Net.ether8003 (например, cp ws.arcnet ws.arc_et-

her8003), а затем добавить в файл драйвер Ethernet. Это обеспечит

передачу сервером загрузки файла sysinit.node по каждой сети.

Из файла ws.arcnet будет запущен Администратор сети, который

по умолчанию поддерживает максимум два драйвера. Если сетевых драй-

веров больше двух, то Вы должны добавить опцию -d в Net.

Установка отказоустойчивой сети Ethernet

Допустим, имеется следующая схема сети:

.

- 110 -

+------------------------------------------------------------------+

Ё Ё

Ё Логическая <---------------------------------------------> Ё

Ё сеть 1 Ё Ё Ё Ё Ё

Ё (Ethernet) Ё Ё Ё Ё Ё

Ё Ё Ё Ё Ё Ё

Ё Логическая <---+----------+-----------+----------+-------> Ё

Ё сеть 2 Ё Ё Ё Ё Ё Ё Ё Ё Ё

Ё (Ethernet) Ё Ё Ё Ё Ё Ё Ё Ё Ё

Ё Ё Ё Ё Ё Ё Ё Ё Ё Ё

Ё Ё Ё Ё Ё Ё Ё Ё Ё Ё

Ё P1=0000C0 0D9E40 Ё Ё P1=0000C0 164C2D Ё Ё Ё

Ё P2=0000C0 064A2D Ё Ё P2=0000C0 5C9A40 Ё Ё Ё

Ё L=1 Ё Ё L=3 Ё Ё Ё

Ё СЕРВЕР ЗАГРУЗКИ Ё Ё Ё Ё Ё

Ё P1=0000C0 7B7113 P1=0000C0 DC5E08 Ё

Ё P2=0000C0 109E40 P2=0000C0 129E40 Ё

Ё L=2 L=4 Ё

Ё Ё

Ё P= физический ID узла Ё

Ё L= логический ID узла Ё

+------------------------------------------------------------------+

Рис.15

Соответствующий файл /etc/config/netmap будет содержать следу-

ющие данные:

1 1 0000C0 0D9E40

1 2 0000C0 064A2D

2 1 0000C0 7B7113

2 2 0000C0 l09E40

3 1 0000C0 164C2D

3 2 0000C0 5C9A40

4 1 0000C0 DC5E08

4 2 0000C0 129E40

Соответствующий файл /etc/config/netboot мог бы содержать сле-

дующий элемент:

* f=build/ws.eth8003x2

Т.к. требуется дополнительный драйвер Ethernet, Вы должны соз-

- 111 -

дать специальный файл построения (например, ws.eth8003x2) и доба-

вить в файл вторую копию драйвера Net.ether8003.

Установка частной сетевой связи

Если между определенными узлами сети существует напряженный

трафик, Вы можете объединить эти узлы частной сетью, чтобы разгру-

зить коммуникационный поток основной сети. Например:

+------------------------------------------------------------------+

Ё Ё

Ё Ё

Ё Логическая <------------------------------------------------> Ё

Ё сеть 1 Ё Ё Ё Ё Ё

Ё (Ethernet) Ё Ё Ё Ё Ё

Ё Ё Ё Ё Ё Ё

Ё Логическая <----+----------+-----------+----------+---------> Ё

Ё сеть 2 Ё Ё Ё Ё Ё Ё Ё

Ё (Ethernet) Ё Ё Ё Ё Ё Ё Ё

Ё Ё Ё Ё Ё Ё Ё Ё

Ё P1=0000C0 0D9E40 Ё Ё P1=0000C0 164C2D Ё Ё

Ё L=1 Ё Ё P2=0000C0 5C9A40 Ё Ё

Ё СЕРВЕР ЗАГРУЗКИ Ё Ё L=3 Ё Ё

Ё Ё

Ё P1=0000C0 7B7113 P1=0000C0 DC5E08 Ё

Ё P2=0000C0 109E40 L=4 Ё

Ё L=2 Ё

Ё P= физический ID узла Ё

Ё L= логический ID узла Ё

+------------------------------------------------------------------+

Рис.16

.

- 112 -