22 February 2020

Serwery z procesorami Alpha EV68AL 833 MHz RISC

Kilka lat temu ostatecznie wycofałem z użytku dwa serwery Compaq Alpha DS20E. Przeglądając zapiski na dysku znalazłem zrzut z konsoli takiego serwera wykonany podczas jego ostatniego bootowania w 2017 roku.

(boot dka0.0.0.7.1 -flags A)
block 0 of dka0.0.0.7.1 is a valid boot block
reading 19 blocks from dka0.0.0.7.1
bootstrap code read in
base = 200000, image_start = 0, image_bytes = 2600
initializing HWRPB at 2000
initializing page table at 3ff54000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code

UNIX boot - Wednesday August 01, 2001

W 2001 roku wydano wersję Tru64 UNIX 5.1A, która pozwalała na dodawanie i usuwanie procesorów online.

Wówczas służyły jeszcze w internecie serwery z procesorami Alpha i systemami DEC OSF/1 z pierwszej połowy lat 90. Sam z takiego korzystałem.

Loading vmunix ...
Loading at 0xfffffc0000230000

Sizes:
text =  5969856
data =   935600
bss  =  1678832
Starting at 0xfffffc0000240730

Loading vmunix symbol table ... [1491880 bytes]
Alpha boot: available memory from 0x35d8000 to 0x7fffc000
Compaq Tru64 UNIX V5.1A (Rev. 1885); Wed May 24 13:09:33 CEST 2017
physical memory = 2048.00 megabytes.
available memory = 1993.45 megabytes.

Maszyna obliczeniowa miała 2 GB RAM. To było dużo.

using 7818 buffers containing 61.07 megabytes of memory
Master cpu at slot 0
Starting secondary cpu 1
Firmware revision: 6.1-2
PALcode: UNIX version 1.88-70
COMPAQ AlphaServer DS20E 833 MHz

Częstotliwość taktu tych procesorów nie mogła być porównywana z częstotliwością taktu procesorów x86. Była to zupełnie inna, 64-bitowa architektura. Mimo wszystko bardzo szybko dostępne procesory x86 przegoniły te Alphy jeśli chodzi o szybkość wykonywania obliczeń i jeszcze przed rokiem 2010 ludzie woleli prowadzić obliczenia na swoich pecetach, niż na Alphach. Po prostu było szybciej.

Również w roku 2010 wydano ostatnią wersję systemu Tru64 UNIX, która miała zapewnione wsparcie do 2012 roku.

Systemy były bardzo stabilne i miały uptime liczony w latach, jednak problemem był brak aktualnego oprogramowania zapewniającego bezpieczny dostęp do podstawowych usług. Zwłaszcza, że u nas maszyny te były wystawione do internetu bez żadnego firewalla na styku.

Można było kompilować i uruchamiać oprogramowanie GNU, ale kompilacja była czasochłonna i wymagała najpierw stworzenia na Tru64 całego środowiska począwszy od glibc.

Działało to dobrze, ale nie było przyjemne w utrzymaniu.

pci1 (primary bus:1) at nexus
itpsa0 at pci1 slot 7
IntraServer ROM Version V2.0 (c)1998
scsi0 at itpsa0 slot 0 rad 0
ee0 at pci1 slot 9
ee0: COMPAQ Intel 82559 (10/100 Mbps) Ethernet Interface
ee0: Driver Rev = V1.0.12, Chip Rev = 8, hardware address: 00-02-A5-40-AC-DB
pci0 (primary bus:0) at nexus
isa0 at pci0
gpc0 at isa0
gpc1 not probed
ace0 at isa0
ace1 at isa0
lp0 at isa0
fdi0 at isa0
fd0 at fdi0 unit 0
ee0: Autonegotiated, 100 Mbps full duplex
ata0 at pci0 slot 105 (slot 5, function 1)
ata0: CYPRESS 82C693
scsi1 at ata0 slot 0 rad 0
ata1 at pci0 slot 205 (slot 5, function 2)
ata1: CYPRESS 82C693
scsi2 at ata1 slot 0 rad 0
usb0 at pci0 slot 305 (slot 5, function 3)
Adaptec 7895 Adapter: H/W Rev 4, Driver Rev 2.269B CHIM V360
scsi3 at aha_chim0 slot 0 rad 0
aha_chim0 at pci0 slot 6
Adaptec 7895 Adapter: H/W Rev 4, Driver Rev 2.269B CHIM V360
scsi4 at aha_chim2 slot 0 rad 0
aha_chim2 at pci0 slot 106
Created FRU table binary error log packet
kernel console: ace0
dli: configured
NetRAIN configured.

NetRAIN to Redundant Array of Independent Network Interfaces. Tru64 pozwalał na zagregowanie kilku interfejsów sieciowych w jeden o większej przepustowości oraz większej niezawodności.

i2c: Server Management Hardware Present
dsfmgr: NOTE: updating kernel basenames for system at /
    scp kevm tty00 tty01 lp0 dmapi dsk0 cdrom0 floppy0
starting LSM in boot mode
dsfmgr: NOTE: updating kernel basenames for system at /
Mounting / (root)
user_cfg_pt: reconfigured
root_mounted_rw: reconfigured
user_cfg_pt: reconfigured
root_mounted_rw: reconfigured
user_cfg_pt: reconfigured
dsfmgr: NOTE: updating kernel basenames for system at /
starting LSM
Checking device naming:
    Passed.
Checking local filesystems
Mounting local filesystems
exec: /sbin/mount_advfs -F 0x14000 root_domain#root /
root_domain#root on / type advfs (rw)
/proc on /proc type procfs (rw)
exec: /sbin/mount_advfs -F 0x4000 usr_domain#usr /usr
usr_domain#usr on /usr type advfs (rw)
exec: /sbin/mount_advfs -F 0x4000 usr_domain#var /var
usr_domain#var on /var type advfs (rw)
Subsystem hwautoconfig was successfully configured.
May 24 15:22:32 update: started

AdvFS w Tru64 to klastrowy system plików z journalingiem, który umożliwiał tworzenie systemów plików na wolumenach, które mogły, lecz nie musiały być lokalnymi urządzeniami blokowymi. Systemy plików można było też rozszerzać na nowe wolumeny lub zmniejszać, zależnie od potrzeb.

Cały Tru64 był zorganizowany tak, jakby każdy system był członkiem klastra TruCluster, nawet jeśli aktualnie nim nie był. Dlatego w wielu miejscach standardowe uniksowe ścieżki miały jeszcze jeden poziom: current, np.: /var/adm/log/current (jeśli dobrze pamiętam), który był symlinkiem wskazującym na odpowiedni katalog w lokalnym systemie.

Po inicjalizacji hw wchodzimy w init.

Checking for Installation Tasks...

Executing Installation Tasks...
The system is coming up. Please wait...
Checking for crash dumps
dump device name: swap01-01, num: 0x5100001, off: 0x0, len: 0xc0000
Initializing paging space
Mounting Memory filesystems
evmstart: Daemon started
security configuration set to default (BASE).
File /etc/sia/matrix.conf updated successfully.
Successful SIA initialization

/usr/sbin/autopush: Can't push requested modules on STREAM for entry 36
/usr/sbin/autopush: Device (6,-1) already configured
Streams autopushes configured
Configuring network
hostname: alpha
Loading LMF licenses
System error logger started
Binary error logger started
binlogd: failed to initialize remote logging. Please make sure the
network is set up properly and then restart binlogd.
Setting kernel timezone variable
ONC portmap service started
NFS IO service started
Mounting NFS filesystems
Preserving editor files
Clearing temporary files
Unlocking ptys
SMTP Mail Service started.
Environmental Monitoring Subsystem Configured.
Using snmp service entry port 161.
Can't get a local IP address.
Extensible SNMP master agent started
Base O/S subagent started
Server System subagent started
Server Management subagent started
CIM SNMP subagent started
Performance Management subagent started
Web Based Management Agent started
ConfigReport Management Module started
SysMan Management Module started
Threshold Management Subagent started
Internet services provided.
Cron service started
LSM volwatch Service started - mail only
Printer service started
/sbin/rc3.d/S95xlogin WARNING: /usr/dt/config/Xconfig.nc not found.
/sbin/rc3.d/S95xlogin WARNING: /usr/dt/config/Xservers.nc not found.
/sbin/rc3.d/S95xlogin ERROR: /usr/dt/bin/dtlogin not executable
SysMan authentication server (smauthd) started
SysMan Station server (smsd) started

Można się zalogować.

The system is ready.

Compaq Tru64 UNIX V5.1A (Rev. 1885) (alpha) console

login: 

Alpha DS20E

Alpha DS20E Alpha DS20E