Аннотация |
В этом документе описывается установка и использование в Linux/i386 клиента коммерческой системы резервного копирования ADSM. |
Авторские права на русский перевод этого текста принадлежат (c) 2000 ASPLinux Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но так или иначе автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: <linux-howto@metalab.unc.edu>, или к координатору русского перевода Linux HOWTO компании ASPLinux по адресу <linux-howto@asplinux.ru>
ADSM - это сетевая система резервного копирования, продаваемая фирмой IBM и используемая многими организациями. Существует большой набор клиентских программ ADSM для различных систем (UNIX-системы, Windows, Novell, Mac, Windows NT). К сожалению, в настоящее время специальной Linux-версии не существует.
Вам придется использовать клиентскую программу для SCO и установить iBCS2-эмулятор для запуска ADSM. В этом документе описывается ADSM v2r1.
На текущий момент была испытана только версия, работающая в Linux для i386.
Модуль iBCS2 можно найти по адресу ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2. Если у вас ядро версии 1.2.13, возьмите файл ibcs-1.2-950721.tar.gz, разархивируйте его и используйте патчи ibcs-1.2-950808.patch1 и ibcs-1.2-950828.patch2. Затем наберите "make" и установите модуль iBCS командой "insmod".
Если у Вас ядро версии 2.0, возьмите файл ibcs-2.0-960610.tar.gz, распакуйте его в любой каталог, перейдите в этот каталог и внесите следующие изменения:
--- iBCSemul/ipc.c.orig Wed Jan 15 21:32:15 1997 +++ iBCSemul/ipc.c Wed Jan 15 21:32:31 1997 @@ -212,7 +212,7 @@ switch (command) { case U_SEMCTL: cmd = ibcs_sem_trans(arg3); - arg4 = (union semun *)get_syscall_parameter (regs, 4); + arg4 = (union semun *)(((unsigned long *) regs->esp) + (5)); is_p = (struct ibcs_semid_ds *)get_fs_long(arg4->buf); #ifdef IBCS_TRACE if ((ibcs_trace & TRACE_API) || ibcs_func_p->trace) |
Создайте необходимые файлы устройств (если у вас еще их нет) при помощи команд
# cd /dev # ln -s null XOR # ln -s null X0R # mknod socksys c 30 0 # mknod spx c 30 1 |
SCO-вариант клиента поставляется в виде трех tar-файлов или дисков. Перейдите в корневой каталог, установите необходимый umask, в соответствии с вашими требованиями и, будучи root-ом, распакуйте их там. В каталоге /tmp вы найдете инсталляционный скрипт - запустите его.
Затем вам придется вручную исправить файлы /usr/adsm/dsm.sys и /usr/adsm/dsm.opt. В файле dsm.sys не забудьте исправить следующие строки:
Имя сервера
Полное имя машины сервера (Fully qualified host name FQDN)
Название вашей машины
То же, что и выше
Следовать ли символьным ссылкам (вообще-то, не очень хорошая идея)
Создавать ли резервные копии подкаталогов (обычно это необходимо)
Файловые системы, которые необходимо копировать
Затем необходимо создать совместимый со SCO файл /etc/mnttab, на основе вашего /etc/fstab. Вы можете использовать для этого приведенный ниже Perl-скрипт fstab2mnttab:
#!/usr/bin/perl $mnttab_struct = "a32 a32 I L"; open(MTAB, "/etc/mtab") || die "Не могу открыть /etc/mtab: $!\n"; open(MNTTAB, ">/etc/mnttab") || die "Не могу открыть /etc/mnttab: $!\n"; while(<MTAB>) { next if /pid/; chop; /^(\S*)\s(\S*)\s(\S*)\s.*$/; $device = $1; $mountpt = $2; $fstype = $3; if($fstype ne "nfs" && $fstype ne "proc") { $mnttab_rec = pack($mnttab_struct, $device, $mountpt, 0x9d2f, time()); syswrite(MNTTAB, $mnttab_rec, 72); print "Создано: $device $mountpt $fstype\n"; } } close(MNTTAB); exit 0; |
Существуют два клиента: dsm (с интерфейсом X11) и dsmc (с обычным текстовым интерфейсом). Системный администратор вашего сервера объяснит, как его запускать. Скорее всего, Вам будет необходимо внести в загрузочный скрипт строку типа: dsmc schedule -quiet 2>&1 >/dev/null &;
К сожалению, SCO работает с именами машин не длиннее восьми букв. Если название вашей машины состоит из более, чем восьми букв, или должно быть полным (FQDN), то вам придется указать это имя в строке NODename файла /usr/adsm/dsm.sys.
Если вы используете переменную DISPLAY, то вам придется указать в ней полное имя машины (т.е. DISPLAY=host.full.do.main:0 вместо DISPLAY=host:0).