Il Veritas File System (VxFS)
e la gestione del Volume Manager (VxVM)
Veritas sono ambienti
molto diffusi su tutti i sistemi Unix.
In questo breve documento vengono riportate alcune indicazioni relative al
loro utilizzo sul sistema operativo Unix HP-UX.
Il documento e' breve e semplice: a parte l'introduzione utilizza
esempi concreti!
Se servono ulteriori elementi... meglio consultare i manuali!
Cos'e' un Volume Manager e cosa fa VxFS?
Partizioni, volumi, plex, ... tutto chiaro vero?
Beh, se non lo sapete aspettate a leggere questo documento.
Non ho voglia di descriverlo! Magari provate prima con
Utilizzo di un Volume Manager su Unix...
Bene, l'introduzione e' stata anche fin troppo lunga.
Ora parliamo di
File System e di
Volume Manager!
HP-UX supporta diversi tipi di File System e tra questi anche
VxFS. In effetti VxFS viene distribuito direttamente con
tutte le versioni del sistema operativo.
Il file system type VxFS supporta:
Prima di passare ai comandi... un ripasso su HP-UX:
l'elenco dei File Systems si ottiene con bdf,
il comando ioscan consente di verificare tutte le periferiche
connesse al sistema, con diskinfo si leggono le caratteristiche
di un disco fisico e sam e' l'interfaccia a menu per
l'amministratore del sistema.
Per controllare la presenza del pacchetto Online JFS si puo' controllare con:
Un'attivita' comune e' quella di allargare un file system.
Se Online JFS non e' attivo e' necessario smontare il file system da
incrementare.
I passi da effettuare sono i seguenti:
Il problema si complica se i file system che richiedono il ridimensionamento
sono /var, /usr o comunque file systems che non si possono
smontare... in questo caso e' necessario lavorare in Single User Mode.
Dimenticavo... un file system non si smonta se vi sono processi che lo
utilizzano. Per controllare chi utilizza un file system:
fuser -c mount_point.
Per ammazzare chi lo utilizza... non ve lo dico:
se non sapete come si fa e' meglio che non lo facciate!
E' tutto piu' facile...
I passi da effettuare sono i seguenti:
Simpaticamente il parametro dell'lvextend e' in MB mentre per
l'fsadm e' in KB... il mondo e' bello perche' e vario!
Con sam si fa tutto!
E tutto e' semplice, fa tutto lui in automatico.
C'e' solo un'avvertenza: quando bisogna
allargare un FS, bisogna allargare un FS!
Come vedremo poi... anche Veritas offre un'interfaccia
grafica, su X, con cui fare tutto. Il comando e':
/opt/VRTSob/bin/vea.
A volte e' questione di gusti...
personalmente preferisco utilizzare i comandi di linea.
Su HP-UX e' disponibile da sempre un suo Volume Manager
l'LVM (Logical Volume Manager).
L'LVM ha molte caratteristiche in comune a VxVM...
e' robusto, affidabile ed le funzioni di basi sono comuni
(eg. mirroring, encapsulation).
Negli esempi utilizzati fino ad ora abbiamo sempre l'LVM ma...
ora tocca al VxVM.
Il primo fondamentale vantaggio di VxVM e' che la sua
disponibilita' su piattaforme
differenti, naturalmente con le stesse funzionalita'
e modalita' di utilizzo.
Alcune attivita' risultano piu' semplici
con il VxVM ed il VxVM offre alcune funzionalita'
specifiche non presenti in LVM
(eg. Dirty Region Logging, Online Relayout, Snapshot, ...).
Con il VxVM si gestiscono disk, disk group, subdisk, plex, volume, ...
non sapete cosa sono? Leggete
Utilizzo di un Volume Manager su Unix!
Nel seguito facciamo solo semplici esempi di comandi.
Oltre all'interfaccia a comando completa, che vediamo negli ultimi
esempi alla fine del documento,
vi e' un'interfaccia a comando "assistita" che permette
di fare la maggior parte delle attivita'.
Il comando e' vxassist.
Per esempio con
vxassist -g diskgroup -b growto volname 8000m;
fsadm -F vxfs -b 800m mountpoint
il volume viene incrementato alla nuova dimensione in background
ed il comando si occupa di trovare lo spazio sul disk group.
Per controllare l'andamendo del comando si possono controllare
i task lanciati con vxtask list.
Altro comando semplice e' vxprint che riporta la
configurazione di disk group, disk, plex, ... insomma di tutto.
La forma piu' leggibile e completa e' vxprint -Ath.
Per controllare invece i dischi "visti" dal Volume Manager
il comando e' vxdisk -o alldgs list.
Sempre della serie dei comandi facili, con
il menu richiamato da vxdiskadm si fanno la
maggior parte delle attivita' di gestione.
Per poter essere utilizzato da VxVM un disco deve essere
libero e va inizializzato (eg. con vxdiskadm). Se un disco
contiene partizioni LVM non puo' essere utilizzato. Per convertire
un disco ed i sui contenuti da LVM a VxVM si utilizza il comando
vxvmconvert. Per rimuovere la struttura LVM da un
disco non associato ad alcun disk group si utilizza il comando
pvremove, a questo punto il disco e' libero e puo'
essere assegnato a VxVM.
A volte e' utile sganciare un disk group da un sistema
(ad esempio per simulare le azioni di un cluster)...
si fa con vxdg diskgroup deport.
Quindi per riagganciarlo
vxdg diskgroup import e per riattivare i volumi:
vxvol [-f] -g diskgroup startall.
Ma questi non sono piu' comandi facili...
Per una piu' semplice gestione dei dischi,
dei volumi, ... e' fornita un'interfaccia grafica via X-Windows:
/opt/VRTSob/bin/vea.
Un esempio comune ed interessante (spero!) e' quello
di configurare su VxVM dischi in SAN (Storage Area Network).
I passi sono diversi...
Innanzi tutto debbono essere definite le LUN
sulla SAN, quindi deve essere fatto il mapping
sugli switch (zoning). Per fare questo chi si occupa della
configurazione dei dischi (spesso il venditore dell'HW SAN)
ha bisogno di alcune informazioni sul sistema.
Con ioscan -kfn
si controllano le interfacce in fibra e quindi con
fcmsutil /dev/td*
si individuano i Port World Wide Name (per gli amici WWN).
Si tratta dell'indirizzo univoco della scheda (come un MAC ma piu' lungo)
necessario per la configurazione del mapping.
Terminata la configurazione della SAN si debbono far vedere
i nuovi "dischi". I comandi sono:
Semplice, veloce e, importante, tutto in linea senza reboot o disservizi!
L'interfaccia a comando consente di agire direttamente a livello
di singolo disco, subdisk, plex, volume, disk group, ... con
comandi specifici:
vxdisk vxmake vxplex vxvol vxdg vxattr ....
L'interfaccia a comando serve in tre casi:
Creazione di un volume
Esempio di creazione di un volume a partire
dai singoli componenti
e quindi modificando alcuni parametri. Distruzione di un volume Esempio di distruzione di un volume e
di tutti i suoi componenti con comandi singoli (vi e' un comando che fa tutto
ma cosi' e' piu' bello). Testo: Veritas File System e Volume Manager su HP-UX
Cos'e' HP-UX, quali caratteristiche ha?
Beh, se non lo sapete aspettate a leggere subito questo documento.
Non ho voglia di descriverlo! Magari iniziate con
Il sistema operativo Unix: HP-UX...
E' pero' presente una limitazione. A seconda del tipo
di licenza acquistata puo' essere presente o meno
il prodotto HP OnLineJFS (detto anche Advanced VxFS)
che abilita alcune funzionalita' di VxFS.
Se e' non presente l'OnLine JFS le prime due attivita'
non possono essere effettuate in on-line (quindi con i file system
montati).
Quindi prima di allargare un file system e' necessario sapere
se e' attivo l'Online JFS!
# swlist -l product | grep -i jfs
JFS B.11.11 The Base VxFS File System
OnlineJFS B.11.11 Online features of the VxFS File System
Sulle precedenti versioni di HP-UX i pacchetti sono:
# swlist -l product |grep -i adv
AdvJournalFS B.10.20
The Advanced VxFS File System
Come? Ecco!
# lvextend -L new_size /dev/vg*/lvol*
# umount filesystem
# extenfs
# mount filesystem
Come? Ecco!
# lvextend -L new_size /dev/vg*/lvol*
# fsadm -b new_size FSname
Ovvero non si deve allargare il LV (Logical Volume)...
basta modificare direttamente il FS e SAM incrementera'
di conseguenza il LV.
Effettivamente e' utile perche' consente di fare tutto (o quasi)
e permette di avere una visione completa e veloce di tutto.
Infine alcuni semplici wizard permettono, anche a chi non conosce
affatto VxVM come il sottoscritto, di fare le principali attivita'!
ioscan -fn
insf -e
vxdctl enable
Ovviamente la loro funzione e' quella di fare lo scan dell'HW,
installare gli special file
ed avvertire il demone vxconfigd
che c'e' qualcosa di nuovo. Se si vedono i nuovi dischi e'
opportuno controllare anche il corretto funzionamento
del Dynamic Multi Path con il comando vxdmpadm
(nel caso di multipath andrebbe utilizzato prima dell'enable
il comando vxdctl initdmp).
A questo punto con l'interfaccia grafica o in qualche altro modo
si configurano i dischi su VxVM associandoli ad un disk group.
Alcuni vendor di SAN forniscono client specifici per il controllo
della configurazione (eg. con EMC2 syminq,
con IBM Shark esscli, ...).
Nella speranza che per voi valga il secondo caso,
o che siate curiosi, vediamo comunque qualche esempio...
# Creazione dei subdisk
vxmake sd sc0d1s3-01 /dev/dsk/sc0d1s3,0 len=1400000
vxmake sd sc0d1s3-02 /dev/dsk/sc0d1s3,1400000 len=103000
# ....
vxmake sd sc1d1s3-01 /dev/dsk/sc1d1s3,0 len=1400000
# Creazione dei plex
vxmake plex nomepl-0 sd=sc0d1s3-01
vxmake plex nomepl-1 sd=sc1d1s3-01
# Creazione del volume
vxmake -U fsgen vol nomevol plex=nomepl-0,nomepl-1
# Modifica delle permission sul volume (deve essere effettuata
# sul volume e non sui file /dev)
vxedit set fstype=gen user=oracle group=dba mode=660 nomevol
vxedit set fstype=fsgen user=root group=bin mode=660 nomevol
# Attivazione del volume
vxvol init active nomevol
# vxvol init [clean active enable zero]
# Creazione di un file system sul volume
mkfs -F vxfs /dev/rvol/nomevol 1400000
# Disconnessione di un plex e subdisk
vxplex dis nomepl-1
vxsd dis sc1d1s3-01
# Ripristino della situazione
vxsd assoc nomepl-1 sc1d1s3-01
vxplex att nomevol nomepl-1
# Disassociazione del volume da un plex
vxplex dis nomepl-0
# Disassociazione del secondo plex (richiede l'opzione di force)
# poiche' si tratta dell'ultimo plex associato
vxplex -oforce dis nomepl-1
# Cancellazione del volume
vxedit -f rm nomevol
# Disassociazione dei subdisk dai plex
vxsd dis sc0d1s3-01
vxsd dis sc1d1s3-01
# Cancellazione dei plex
vxedit -f rm nomepl-0
vxedit -f rm nomepl-1
# Cancellazione dei subdisk
vxedit -f rm sc0d1s3-01
vxedit -f rm sc1d1s3-01
Data: 31 Febbraio 2004
Versione: 1.0.9 - 31 Febbraio 2005
Autore: mail@meo.bogliolo.name