Linux ADSM  Содержание


Введение

ADSM - это сетевая система резервного копирования, продаваемая фирмой IBM и используемая многими организациями. Существует большой набор клиентских программ ADSM для различных систем (UNIX-системы, Windows, Novell, Mac, Windows NT). К сожалению, в настоящее время специальной Linux-версии не существует.
Вам придется использовать клиентскую программу для SCO и установить iBCS2-эмулятор для запуска ADSM. В этом документе описывается ADSM v2r1.
На текущий момент была испытана только версия, работающая в Linux для i386.
Установка модуля 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

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(<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;
Для этого клиента не требуется устанавливать каких-либо библиотек; все собрано статически.
Запуск клиента ADSM
Существуют два клиента: 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