Tru64 e' il sistema operativo Unix sviluppato da Digital (poi Compaq e quindi HP) per i velocissimi processori Alpha.
Il sistema operativo Tru64 offre un ambiente operativo Unix standard. Sono tuttavia parecchie le funzionalita' e le caratteristiche aggiuntive che lo distinguono dagli altri sistemi operativi Unix:
In questo documento vengono riportati gli elementi e le caratteristiche di maggior interesse suddivise per argomento: gestione storage, gestione utenze, kernel, networking, pacchetti ed applicazioni, controllo del sistema, startup/shutdown, miscellanea, installazione, configurazioni particolari, versioni.
Poiche' il sistema operativo e' a 64bit molte delle limitazioni presenti in altri sistemi Unix sono superate (eg file system e file superiori ai 2GB di dimensione, indirizzamenti in memoria, ...). Per la gestione di grandi sistemi e basi dati questo e' certamente vantaggioso.
Quale software di gestione dei volumi e' utilizzato il Logical Storage Manager (LSM) che e' il porting Digital del piu' recente e diffuso Volume Manager Veritas (VxVM).
Dal punto di vista dei supporti di memorizzazione di massa
l'offerta di Digital e' molto completa
e sofisticata. Oltre alla "normale" possibilita' di collegare dischi
in catene SCSI ed a relativi cabinet e RAID ARRAY
sono disponibili controller di dischi molto sofisticati (HSZ)
che possono supportare diversi dischi in configurazioni di RAID, mirroring,
spare, ... Tale gestione viene completamente svolta dai controller
sollevando il sistema da tale compito.
Nella configurazione tipica si hanno due controller connessi via bus
in configurazione di failover che gestiscono uno o piu' pool di dischi
in raid connessi con normali catene SCSI.
Diverse operative possono essere effettuate a "caldo". Tra queste la
sostituzione di dischi non funzionanti (se e' presente un disco di spare
il disco non funzionante viene automaticamente sostituito), inserimento
di nuovi dischi, riconficurazione del controller, ....
Un Physical Disk viene assegnato ad un Volume Group. Nei Volume Group possono essere creati i Volume che sono composti da uno o piu' plex posti in mirror tra loro. I plex infine sono composti da piu' subdisk che sono semplicemente partizioni dei Physical disk. Tutto chiaro vero?.
Poiche' l'LSM e' un porting del noto Volume Manager Veritas (VxVM) ulteriori informazioni possono essere trovate in Utilizzo di volume manager su Unix: note pratiche. Naturalmente vi sono delle differenze. Con VxVM i comandi iniziano con vx, col LSM iniziano con vol!
Generalmente viene utilizzata l'interfaccia grafica dxlsm per la definizione dei volumi, ecco comunque i principali comandi:
# Lancio dell'interfaccia grafica
dxlsm &
# Elenco di dischi, subdisk, volumi, plex, ...
volprint -Ath
# Creazione del volume volume01 di 4GB come file system e volume02 come raw device
volassist -U fsgen -g volume_group01 make volume01 4G layout=striped nstripe=2
volassist -U gen -g volume_group01 make volume02 4096M layout=striped nstripe=2
# Definizione di alcune caratteristiche su un volume
voledit -g volume_group01 set user=oracle group=dba mode=600 volume01
# Aggiunta di un nuovo disco fisico (o di un raid set) ad un volume group
voldiskadd rzb16
# Eliminazione di un volume, dei plex associati, subdisk, ...
voledit -g volume_group1 -fr rm volume01
Consigli: tenete ben in ordine i volumi ed evitate di frammentare troppo le diverse allocazioni. Create tutti gli oggetti come multipli di dimensioni comuni. Per una nota legge ogni Volume dovra' essere allargato un giorno.
Per i piu' bravi (e coraggiosi): l'incapsulamento del disco di boot si effettua con volencap (non si puo' fare dal vxdiskadm come su altri sistemi); il mirror del disco di boot si fa con volrootmir -a DEV dove DEV e' il disco su cui si vuole creare il mirror.
A tutti gli effetti la struttura di domini creata e' riportata nella directory /etc/fdmns.
Nel seguito sono riportati i principali comandi:
# Creazione di nuovo dominio con assegnazione di un volume
mkfdmn -l 2048 /dev/vol/volume_group01/volume01 domain01
# Aggiunta di un nuovo disco o volume ad un dominio
addvol /dev/vol/volume_group01/volume01 domain01
addvol /dev/rz1c domain01
# Creazione di un file set
mkfset domain01 fset01
# Mount del disco
mkdir /mount_point
mount -t advfs domain01#fset01 /mount_point
# Settaggio di un quota (hard) a 10.000K su un file set
chfsets -b 10000 domain01 fset01
# Controllo stato e definizione di un dominio
showfdmn -k domain01
# Controllo stato e definizione dei file system
df -k
# Rimozione di un disco da un dominio
rmvol /dev/rz1c domain01
# Cancellazione di File Set
rmfset fset01
# Cancellazione di domain
rmfdmn domain01
# La rimozione di una directory ve la risparmio
Sono supportati diversi device HW (eg. rz per i disk SCSI, tz per i tape SCSI, re per SWXCR).
Il comando da utilizzare per modificare il file di password e' vipw.
Tale comando pone i lock opportuni sui file (in modo da impedire modifiche
in contemporanea sullo stesso file) e, al termine delle modifiche, genera
un file in formato ndbm contenente la lista degli utenti.
E' quindi opportuno evitare di agire direttamente in vi sul file
di password.
Nel caso in cui una sessione di vipw resti "appesa" e'
necessario cancellare i file di lock (generalmente /etc/*ptmp*).
A differenza di altri sistemi Unix, la definizione dei terminali definiti sicuri per il collegamento come root e' in /etc/securettys. Per l'ftp e' invece il solito /etc/ftpusers che, come noto, definisce chi non e' abilitato.
Con lo script MAKEDEV ( e MAKE_RAID_LUNS che si trovano in /dev) e' possibile installare file speciali in modo semplice.
Il comando uerf -R riporta, in ordine cronologico inverso, i messaggi d'errore interni e fornisce indicazioni molto dettagliate. Ancora piu' potente e' il dia che fornisce dettagli ancora maggiori ed e' in grado di leggere i file di log anche in caso di corruzioni (che tipicamente sono presenti a fronte di panic).
Per leggere le configurazioni presenti a livello di BOOT PROM si utilizza il comando consvar -l. A seconda delle versioni e dei modelli sono disponibili diverse opzioni...
Con il comando psrinfo si hanno informazioni sui processori presenti.
Se e' installato il relativo pacchetto, e' possibile utilizzare il comando sys_check che consente di estrarre dal sistema le principali informazioni di configurazione e su eventuali crash.
Il controllo delle attivita' (utilizzo di CPU, memoria, dischi, ...) sul sistema e' effettuato, oltre che con le normali utilities, anche con il comando monitor.
Il comando scu scan edt seguito da scu show edt consente di controllare le connessioni di periferiche esterne (tipicamente dischi, tape, ..). Il controllo delle versioni dei device puo' essere effettuato con scu show device bus X target Y lun Z.
All'accessione del sistema, se non e' settato l'autoboot, si entra in SRM Console (o in PROM mode, dipende dal sistema) da cui si possono dare diversi comandi quali: boot (effettua il caricamento del sistema operativo dal dispositivo di default), boot dka400 (effettua il caricamento del sistema operativo da DKA400 che e' spesso il CD Reader), init (effettua una reinizializzazione del sistema), show device (mostra i devices connessi al sistema), show config (mostra la configurazione), show VAR (riporta il valore di variabili, si puo' usare '*', ..), help (riporta l'help dei comandi di SRM Console)... E' possibile utilizzare parametri opzionali con boot -fl.
Per interrompere il boot ed entrare in SRM Console e'
sufficiente premere [CTRL]-P sulla console di sistema.
Lo shutdown del sistema si effettua con il comando shutdown (eg. shutdown -r now effettua il reboot del sistema mentre shutdown -h now rende il sistema non attivo).
Per attivare comandi al boot debbono essere inseriti gli script nella directory /sbin/init.d e quindi creati i link opportuni (eg. a /sbin/rc2.d/S98StartOracle).
Il sistema operativo e' caricato con il file /vmunix. Il kernel generico con i diversi driver e "sempre" funzionante e' il file /genvmunix.
Nel file /etc/exports sono riportate le directory condivise in rete (NFS).
La configurazione dei controller dei dischi (eg. HSZ-70) viene generalmente effettuata da una console collegata sulla seriale del controller. E' tuttavia possibile connettersi al controller con il comando hszterm.
Come su tutti gli Unix il file di configurazione (client) del DNS e' /etc/resolv.conf. L'ordine con cui vengono pero' cercati gli host (e se vengono cercati!) sul DNS rispetto al solito /etc/hosts e' definito dal file svc.conf.
Il comando monitor consente di controllare l'utilizzo di
risorse (CPU, dischi, memoria, ...).
Uno strumento molto completo per la raccolta e l'analisi delle
performance e' Policenter Performance Advisor che consente
il collezionamento e l'analisi delle statistiche del sistema.
Comandi pratici: per attivare il collezionamento advise -collect -start,
per visualizzare i grafici collgui (applicazione X-Windows),
...
Dalla versione 5 del sistema operativo i devices vengono visti in modo virtualizato. Con i comandi hwmgr e drdmgr vengono gestiti l'HW ed i devices.
La roadmap del sistema prevede un phase-out nei prossimi anni. Infatti HP sviluppera' una sola versione di Unix per i processori Intel Itanium (con architettura EPIC). Tru64 verra' mantenuto finche' i processori Alpha garantiranno le migliori prestazioni del mercato, quindi sara' necessario provvedere ad una migrazione. Nel frattempo il sistema Unix HP sara' stato arricchito di alcune funzioni tipiche di Tru64 (eg. AdvFS) per rendere piu' semplice la migrazione.
Anche se si trattava di sistemi operativi differenti l'HW Digital fa parte della storia dello Unix: il primo Unix e' nato su un PDP-11 ai laboratori Bell, ULTRIX e' stato un diffuso sistema operativo Unix, ...
Testo: Tru64
Data: 2 Giugno 1998
Versione: 1.8.11 - 29 Febbraio 2003
Autore: mail@meo.bogliolo.name