12-07-2004 от Администратор сайта
Автор: Дмитрий Р.
Необходимые файлы: здесь
Во многих местах еще остались в работе серверы под управлением Novell NetWare 3.12 или NetWare 3.2. Эти версии практически идентичны за исключением GUI SysCon в составе NW32, который отсутствует в NetWare 3.12. Примем для простоты, что NW32 = NW312 + все патчи.
По поводу необходимых патчей рекомендую ознакомиться на http://www.huweb.hu/maques/nwudma.htm
и http://support.novell.com/filefinder/147/index.html соответственно. По первой ссылке обсуждаются также вопросы использования UDMA под NW312.
Мне также было необходимо обеспечить работу Pervasive SQL2000i SP4+PostFixes под NetWare 3.12.
Для установки с нуля пригоден SP3 for Pervasive SQL2000. Таким образом, на сайте www.pervasive.com доступны для загрузки:
При установке в полном объеме [имеется в виду не только Btrieve часть, а SQL] выяснилось, что необходим UNICODE.NLM, которого нет в составе NW3.12. Версия, которая пригодна для использования была найдена на одной из старых Novell Support Encyclopedia . Вот данные об этом модуле:
Version 4.10.00 8 ноября 1994 г.
Copyright 1994 Novell, Inc. All rights reserved.
NetWare Unicode Library NLM
размер 4785 байт.
Также в связи с заменой жесткого диска на диск большего объема возникла потребность увеличить объем блока на томах сервера NW3.12 до 64 КБ. Лобового варианта с Backup/Restore данных на вновь созданные тома удалось избежать путем следующей операции в несколько шагов.
1. Вначале перенос томов со старого жесткого диска на новый с ресайзом (подключение нового жесткого диска опустим :). Для этого сперва ДОС-Раздел копируем с помощью Portlock Storage Manager (Partition Copy). Далее на новом HDD создаем NetWare partition [используем Install.NLM]. И на новый NetWare partition поочередно копируем тома [SYS-> SYS_, VOL2-> VOL2_ итд]. После каждого скопированного тома по необходимости выполняем Volume RESIZE [используя тот же Storage Manager]. После этого вынимаем старый жесткий диск и бережно откладываем в сторону [он залог сохранности данных, если что-то у нас пойдет не так]. Загрузившись с нового HDD, с помошью Install.nlm переименовываем новые тома [SYS_ -> SYS итд]. Теперь у нас точная копия старого сервера на новом диске большего размера [при этом объем томов соответственно так же вырос].
2. Теперь нам необходимо увеличить размер блока на томах. Для этого воспользуемся resize.nlm разработанной Novell Consulting Services. Изначально эта утилита предназначена для серверов подвергнутых Upgrade с NetWare 3.XX на 4.XX [при этом увеличивая размеро блока до 64K она так же включает Suballocation на томе и работает соответственно только под NetWare 4.XX]. Для запуска ее нам необходим Server.exe + некоторые модули из состава NW4.11 . Мной были использованы следующие файлы [были скопированы в c:\server.42]:
-----------------------------------
ADPT160M.DDI
ADPT160M.HAM
AUDNLM32.NLM
CALNLM32.NLM
CC.NLM
CLIB.MSG
CLIB.NLM
CLIBAUX.NLM
CLNNLM32.NLM
CLXNLM32.NLM
FPSM.NLM
INSTALL.MSG
INSTALL.NLM
LOCNLM32.NLM
NBI.NLM
NBIHW.CFG
NCPNLM32.NLM
NETNLM32.NLM
NIT.NLM
NLMLIB.NLM
NWPA.NLM
NWPAIO.NLM
NWPALOAD.NLM
NWSNUT.NLM
REQUESTR.NLM
RESIZE.NLM
SCSIHD.CDM
SCSIHD.DDI
SERVER.EXE
STREAMS.NLM
THREADS.NLM
здесь CC- comdex commander версии 1.60. Версия Resize.nlm:
Version 1.10.01 20 февраля 1998 г .
(c) Copyright 1997-1998, Novell, Inc. All rights reserved.
Patent Pending
Volume Block Resizer for NetWare 4.x
Так же необходимы модули драйвера дисков [в данном случае это adpt160m.ham + scsihd.cdm]. Перед операцией увеличения размера блоков рекомендуется сделать Purge и Vrepair на всех томах.
Загружаем server.exe из c:\server.42. Далее выполняем загрузку следующих модулей:
load adpt160m [в вашем случае необходимый вам драйвер HDD]
load clib
load nwsnut
load clibaux
load inxtall
load cc
про загрузку ComdexCommander возможно возникнет вопрос зачем ? отвечу что иногда в работе Resize.nlm наблюдались CoreDump' ы вида :
Break: Server-4.11a: Page Fault Processor Exception (Error code 00000002)
Registers:
CS = 0008 DS = 0010 ES = 0010 FS = 0010 GS = 0010 SS = 0010
EAX = 00000000 EBX = 00000F49 ECX = 00027F49 EDX = 00995030
ESI = 00000027 EDI = 00025B74 EBP = 00000047 ESP = 00994F0C
EIP = F802B7E1 FLAGS = 00017246
F802B7E1 0FAB0A BTS [EDX]=FFFFFFFF,ECX
EIP in SERVER.NLM at code start +0002B7E1h
Running process: RESIZENLM 0 Process
Created by: RESIZE.NLM
Stack pointer: 994E94
Stack limit: 991010
Scheduling priority: 0
Wait state: 00
Stack: F103120C (RESIZE.NLM|MarkBlockAsAllocated+F)
--00995030 ?
-00027F49 (LOADER.EXE|ddh_keyStateFlags+8429)
F1030837 (RESIZE.NLM|ReadFATBlocksAndCreateNew+F2)
-00027F49 (LOADER.EXE|ddh_keyStateFlags+8429)
.........................
После загрузки CC перед запуском все стало ОК.
Далее необходимо запустить install.nlm и войти в опции томов и просмотреть их список. Если не выполнить этого, то мы получим ошибку -1 при запуске resize.nlm . Кстати - про эту ошибку -1 есть TID http://support.novell.com/cgi-bin/search/searchtid.cgi?/2937963.htm который гласит: This is not a supported product.
;)
Выполнив с помощью install.nlm retention томов делаем на них Block Resize до 64 КБ. Теперь нельзя монтировать тома в NetWare 3.12 так как на томах включена suballocation. Чтобы удалить suballocation с томов мы можем, загрузив server.exe от NetWare 3.12 , не монтируя тома запустить storage manager и в Volumes/Advanced Options выполнить Remove Suballocation from Volume для каждого тома.
В общем-то и все.
Рекомендую к обычным Set parameters направленным на оптимизацию NetWare 3.12 добавить так же
SET Maximum Alloc Short Term Memory = 33554432
SET Cache Buffer Size = 16384
Что ускорит монтирование томов и загрузку модулей которые выделяют большое количество памяти – например, Pervasive SQL если ему выделено например 256 MB.
down
exit
server.exe
Радуемся Жизни.
P.S. В работе по данной методике изредка может сложится ситуация, когда невозможно выполнить Volume Resize для TFS. В моем случае это решалось с помощью Purge [можно в StorageManager] перед Resize [сильно разрослась DFT].