Известные проблемы
К сожалению, SCO работает с именами машин не длиннее восьми букв. Если название вашей машины состоит из более, чем восьми букв, или должно быть полным (FQDN), то вам придется указать это имя в строке NODename файла /usr/adsm/dsm.sys.
Если вы используете переменную DISPLAY, то вам придется указать в ней полное имя машины (т.е. DISPLAY=host.full.do.main:0 вместо DISPLAY=host:0).
Linux ADSM Mini-Howto
Thomas Koenig
Thomas.Koenig@ciw.uni-karlsruhe.de
Перевод: Станислав Рогин, ASPLinux
В этом документе описывается установка и использование в Linux/i386 клиента коммерческой системы резервного копирования ADSM.
Установка клиента ADSM
SCO-вариант клиента поставляется в виде трех tar-файлов или дисков. Перейдите в корневой каталог, установите необходимый umask, в соответствии с вашими требованиями и, будучи root-ом, распакуйте их там. В каталоге /tmp вы найдете инсталляционный скрипт - запустите его.
Затем вам придется вручную исправить файлы /usr/adsm/dsm.sys и /usr/adsm/dsm.opt. В файле dsm.sys не забудьте исправить следующие строки:
Servername
Имя сервера
TCPServeraddress
Полное имя машины сервера (Fully qualified host name FQDN)
NODename
Название вашей машины
В файле dsm.opt вам надо указать следующее:
Server
То же, что и выше
Followsymbolic
Следовать ли символьным ссылкам (вообще-то, не очень хорошая идея)
SUbdir
Создавать ли резервные копии подкаталогов (обычно это необходимо)
domain
Файловые системы, которые необходимо копировать
Затем необходимо создать совместимый со 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() { 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; |
Для этого клиента не требуется устанавливать каких-либо библиотек; все собрано статически.
Установка модуля iBCS
Модуль 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) |
Затем скопируйте CONFIG.i386 в CONFIG и запустите make.
Создайте необходимые файлы устройств (если у вас еще их нет) при помощи команд
# cd /dev # ln -s null XOR # ln -s null X0R # mknod socksys c 30 0 # mknod spx c 30 1 |
это сетевая система резервного копирования,
ADSM - это сетевая система резервного копирования, продаваемая фирмой IBM и используемая многими организациями. Существует большой набор клиентских программ ADSM для различных систем (UNIX-системы, Windows, Novell, Mac, Windows NT). К сожалению, в настоящее время специальной Linux-версии не существует.
Вам придется использовать клиентскую программу для SCO и установить iBCS2-эмулятор для запуска ADSM. В этом документе описывается ADSM v2r1.
На текущий момент была испытана только версия, работающая в Linux для i386.
Запуск клиента ADSM
Существуют два клиента: dsm (с интерфейсом X11) и dsmc (с обычным текстовым интерфейсом). Системный администратор вашего сервера объяснит, как его запускать. Скорее всего, Вам будет необходимо внести в загрузочный скрипт строку типа: dsmc schedule -quiet 2>&1 >/dev/null &;