D3 Reference Manual

Index | Help

Поиск по страницам

Разделы / Общие сведения / network save/restore

network save/restore

Восстановление системы по сети

Описывается, как выполнить полное копирование одной машины на другую через сеть с использованием утилиты "tape-socket". См. разделы "tape socket, General" для получения общей информации по утилите, "hot backup, General" - описание утилиты горячего резервирования и "tape-socket, TCL" - спецификация утилиты "tape-socket".

Обзор

Утилита "tape-socket" - наиболее универсальный инструмент, позволяющий реализовать любой вид операций с лентой через сеть. Система горячего резервирования использует этот механизм для регистрации транзакций, но он может использоваться также и для копирования файлов (t-dump), счетов и всей файловой системы. В случае полного копирования файловой системы возникает проблема, заключающаяся в том, что не только на передающей стороне, осуществляющей сохранение, но и на принимающей стороне, осуществляющей восстановление, должна быть запущена система D3. Для решения этой проблемы на принимающей стороне для поддержки утилиты tape-socket создается небольшая виртуальная машина.

Изложенный механизм иллюстрирует следующая диаграмма, где VM0 обозначает малую виртуальную машину, используемую только для копирования, а VM1 - восстанавливаемую виртуальную машину.

    ОТПРАВИТЕЛЬ                 ПОЛУЧАТЕЛЬ
+---------------+          +---------+---------+ - - - -
| +---+   +---+ |          | +---+   |   +---+ |
| | T |   | P |-|>-[netw]>-|-| P |   |   | T | |   D3
| +---+   +---+ |          | +---+   |   +---+ |   VMs
|   |       |   |          |   | VM0 | VM1 |   |
+---|-------|---+          +---|-----+-----|---+ - - - -
|   |       |   |          |   |           |   |
|   +->-=->-+   |          |   +->-=====->-+   |  Unix
|      pipe     |          |        pipe       |
+---------------+          +-------------------+ - - - - 

На передающей стороне данные пишутся в канал процессом T, забираются из канала сервером вывода P и отправляются в сеть. На принимающей стороне данные получает сервер ввода P на малой виртуальной машине VM0, затем они пишутся в канал, читаются процессом T, который восстанавливает данные на рабочей виртуальной машине VM1.

Установка системы

Для выполнения сохранения-восстановления через сеть, системный администратор должен сделать следующие шаги:

  1. - Создать две виртуальные машины на принимающей стороне. Простейший способ сделать это заключается в следующем. Выполнить нормальную инсталляцию D3, создав рабочую виртуальную машину pick0, используемую по умолчанию. Запустить инсталляцию D3 заново (с помощью installp, custom и др.) и выбрать опцию 2 "Display/Change Pick configuration" в главном инсталляционном меню. В этом меню выбрать опцию 1 "virtual machine Name". Ввести новое имя (например, vmrest). Изменить следующие позиции: key - возьмите любой номер, отличный от номера по умолчанию основной машины pick0; D3 memory -машине vmrest требуется совсем немного памяти. Задайте, например, 8000K; BASIC memory - вторая виртуальная машине не нуждается в FlashBASIC, поэтому введите 0. Disk - выберите другой диск (16MB достаточно); Number of ports - введите маленькое число (4 или 5 достаточно); Number of phantoms - выберите по крайней мере 4.
  2. Запустите и активируйте малую виртуальную машину (ap -0 -n vmrest). Инсталлируйте оригинальные файлы.
  3. Создайте в Unix каналы (pipes) на обеих системах с помощью "mknod" и дайте им соответствующие права доступа. Пропишите каналы как псевдо-ленты в конфигурационных файлах на обеих основных системах. На малой виртуальной машине vmrest не нужно прописывать каналы.
  4. Настройте сеть между системами. Сеть должна поддерживать протоколы TCP/IP (это может быть Ethernet, Tocken Ring и др.). Системный администратор должен присвоить имена обеим системам, даже если используется только имя принимающей машины. Горячее резервирование hot backup требует только TCP. Другие протоколы NFS, FTP и т.д. не требуются.
  5. Выберите свободный TCP/IP порт. Используйте команду Unix "netstat -a" для просмотра занятых портов. Порты с номерами 2000 или 3000 обычно свободны.
  6. Настройте серверы на обеих системах - основной и малой (см. подраздел "Server Setup" в разделе "tape socket, General"). Убедитесь, что серверы не ссылаются на регистратор транзакций. Замечание: если система используется для горячего резервирования и копирование используется только для синхронизации двух систем, рекомендуется не использовать сервера по умолчанию для операций сохранения-восстановления. Выберите подменю Other Server для настройки серверов, используемых при сохранении-восстановлении, и дайте им другое имя, например, "ssave". Выберите также другой TCP/IP порт. Это будет надежней, даже если они не будут использоваться одновременно.
  7. Стартуйте сервер вывода на передающей стороне и сервер ввода на малой виртуальной машине.
  8. На принимающей основной машине запустите восстановление, выбрав канал как ленту.
  9. На передающей машине запустите сохранение, выбрав канал как ленту. Данные теперь должны скопироваться через сеть.
  10. После завершения копирования, остановите серверы с обеих сторон с помощью пункта shutdown меню утилиты tape-socket на передающей стороне. При этом будет остановлен сервер ввода на малой виртуальной машине "vmrest".
  11. Далее может быть остановлена (shut down) виртуальная машина "vmrest".
  12. Если восстановленная машина используется для горячего резервирования передающей машины, серверы с обеих сторон, которые теперь подключены к регистратору транзакций, могут быть запущены.

Замечание: если копирование между двумя машинами будет производиться регулярно командами "t-dump", "account-save" и др. можно оставить малую виртуальную машину запущенной и использовать ее для этих целей. И все же настройка и использование сервера ввода на основной машине, скорее всего, будет более эффективным.