File Server mit > 16 MB RAM

Martin Pangert
2009-01-01 08:00

Vor allem die Original Netware 3.x ohne Patches hat Probleme, Arbeitsspeicher über 16 MB richtig zu erkennen. Auch die einfache Registrierung mit REGISTER MEMORY löst die Problematik nicht. Es treten gehäuft Speicherprobleme auf, obwohl noch sehr viel freie Cache Buffers frei sind: Cache Memory Allocator...

Man kann sich bei der Netware 3.1x seit den Patchkits 311PTF.EXE bzw. 312PT8.EXE (oder neuer) mit Hilfe des LOADER Patches das REGISTER MEMORY sparen, da durch ein Patchen der Server.exe der komplette Speicher erkannt wird. Das klappt mit den meisten neueren Rechnern, Probleme bei ASUS Boards diesbezüglich wurden durch BIOS-Updates gelöst.

Dazu sollten nach dem Entpacken von 31xPTx in PATCHES\START die drei Dateien Loader.exe, Lswap.exe und Lswap.nlm vorhanden sein. Diese kopiert man in das Verzeichnis C:\NWSERVER und kopiert auch die Server.exe dazu.
Danach erfolgt der Aufruf von LSWAP. Daraufhin gibt es eine Server.old und eine neue gepatchte Server.exe mit dem aktuellen Datum, die in das Startverzeichnis des File Servers kopiert werden muß.

Bei Netware 4.xx wird der Speicher normalerweise komplett erkannt. Falls nicht, ist es dort aber problemlos möglich, REGISTER MEMORY auch in der STARTUP.NCF (vor den Plattentreibern!) einzutragen.

Bei EISA-Boards muß bzw. sollte REGISTER MEMORY nicht angeben werden, wenn der Speicher im EISA-Setup richtig angemeldet ist. Es gibt allerdings EISA-Rechner, bei denen der Speicher scheinbar nicht korrekt angemeldet wird. Für diese gilt der Vorgang wie für die anderen Systeme.

Falls der LOADER Patch nicht funktioniert, hilft bei NetWare 3.1x folgendes Vorgehen:

Der nachfolgende Text bezieht sich nur auf ISA-Rechner, auf denen Novell Netware nur bis zu 16 MB installierten Arbeitsspeicher selbständig erkennt und jeder weitere Arbeitsspeicher mittels dem Befehl "Register Memory" angemeldet werden muß. Hierbei sollte jedoch beachtet werden, daß viele (vor allem ältere) Mainboards mit VLB- oder PCI-Bussystem ebenfalls ISA-Rechner in diesem Sinne bleiben.

Sollte man unsicher sein, ob dieser Fall auf das eigene System zutrifft, so kann man dies auf folgende Art und Weise feststellen:

  1. Start des Servers manuell per "SERVER -NS"
  2. Eingabe eines beliebigen Servernamens
  3. Eingabe einer beliebigen "Internal Netnumber"
  4. Eingabe des Befehls "MEMORY" am Server-Prompt.

Sollten nun nur 16 MB (von z.B. 32MB) als "erkannt" gemeldet werden, so wird der nachfolgend beschriebene Weg notwendig werden.

Prinzipielles:

Netware 3.x lädt beim Mounten der Volumes die Verzeichnisinformationen dieser physikalischen Gebilde nach einer "Top/Down" Methode in den aktuell verfügbaren Arbeitsspeicher - also immer von der maximal verfügbaren Speicherobergrenze an abwärts. Da das Mounten des SYS-Volumes jedoch beim Laden des Festplattentreibers vollautomatisch erfolgt, kann dies unter Netware 3.x zu massiven Speicherproblemen führen. Denn - wie jeder Systembetreiber wissen sollte - läßt sich unter Netware 3.x der Arbeitsspeicher oberhalb 16MB erst in der AUTOEXEC.NCF (also nach Mounten des Volumes SYS) anmelden.

Lösung:

Sämtlicher verfügbarer Arbeitsspeicher muß bereits vor Laden des Plattentreibers (bzw. vor dem Mounten des Volumes SYS) dem System bekannt sein.

Dazu geht man nach folgendem Schema vor:

  1. Entfernen der Plattentreiber aus der STARTUP.NCF im DOS-Startverzeichnis der SERVER.EXE
  2. Aufbau einer AUTOEXEC.NCF im gleichen DOS-Verzeichnis, in dem auch die SERVER.EXE liegt, nach folgendem Schema:
       FILE SERVER NAME xxxx 
    IPX INTERNAL NET yyyy
    REGISTER MEMORY 1000000 xxxxxxx (xxxxxxx => siehe unten)
    LOAD <PLATTENTREIBER>
    MOUNT SYS
    SYS:SYSTEM\AUTOEXEC.NCF
  3. Aufbau der "normalen" AUTOEXEC.NCF im Verzeichnis SYS:SYSTEM\
    wie bisher - lediglich die Zeilen "FILE SERVER NAME" und "IPX INTERNAL NET" sollten (wenn Fehlermeldungen unerwünscht sind) weggelassen werden.

Resultat:

Durch den oben beschriebenen Weg erreicht man, daß vor dem Laden aller NLMs in den Arbeitsspeicher des Servers der gesamte verfügbare Speicher der Maschine dem System bekannt ist. Man vermeidet somit die normalerweise entstehenden Zerklüftungen des Speichers, welche unter Umständen zu massiven Problemen führen können.

Alle weiteren serverbasierenden Programme (Datensicherung usw.) können jedoch weiterhin (gemäß deren Standard-Prozeduren) mittels der AUTOEXEC.NCF im Verzeichnis "SYS:SYSTEM" geladen werden.

Parameter von REGISTER MEMORY:

 register memory <startadress> <Länge>  (beide Zahlen in hex) 

decimal 16777216/1048576/65536/4096/256/16/1
16Meg = 1 0 0 0 0 0 0 =1"000"000

Gesamtspeicher: Befehl:

24 MB register memory 1"000"000 800"000
32 MB register memory 1"000"000 1"000"000
48 MB register memory 1"000"000 2"000"000
64 MB register memory 1"000"000 3"000"000
128 MB register memory 1"000"000 7"000"000
192 MB register memory 1"000"000 B"000"000
256 MB register memory 1"000"000 F"000"000
usw.

(Eingabe jeweils ohne ")

Falls der File Server mit einer der beiden Methoden trotzdem nicht ehr als 64 MB Arbeitsspeicher anzeigt, ist wahrscheinlich im BIOS die OS/2-kompatible Registrierung des Speichers eingestellt, die unter Netware Probleme bereitet.

Durchschnittliche Bewertung: 0 (0 Abstimmungen)

Kommentieren nicht möglich