Veritas har to produkter som tilbyr bedre og mer fleksibel behandling av filsystemer enn det som er default under Solaris, endel andre unix-leverandører har også filsystemer/volumemanagere som er basert på Veritas sin VxVM og/eller VxFS.
Når man har fått lisensnøkler, så kan produktene installeres som vanlig med pkgadd. De kan enten installeres fra CDROM, dersom man har fått dette, eller fra en NFS-disk hvor vi har lagt opp disse pakkene. Beskriver her kun det siste :
# mount saruman:/usit/saruman/jumpstart/sw /mnt # cd /mnt/vxfs_vxvm_3.5/pkgs/ # pkgadd -d . VRTSvlic VRTSvxfs VRTSfsdoc # pkgadd -d . VRTSvxvm VRTSvmdoc VRTSvmman # pkgadd -a ../scripts/VRTSobadmin -d . VRTSob VRTSobgui # pkgadd -d . VRTSfspro VRTSvmpro [svar "yes" på en haug med sprøsmål] Man får feilmelding om at patch 108827-19 mangler, ignorer dette, den har blitt supersedet av 108993-18
# vxlicinstKjør "vxlicinst" en gang for VxVM-lisensen og en gang for VxFS lisensen.
# vxinstall ... Some licenses are already installed. Do you wish to review them [y,n,q,?] (default: y) n Do you wish to enter another license key [y,n,q,?] (default: n) n ...Disker som ligger i /etc/vx/disks.exclude (på formen c0t0d0), og kontrollere som ligger /etc/vx/cntrls.exclude (på formen c0) vil ikke blir rørt av vxinstall. Her kan man f.eks. legge inn rootdisken.
Velg "custom install" istedenfor "quick install" for å få mest mulig
kontroll over hva vxinstall henholdsvis initialiserer, encapsulater, og
ignorerer. Diskene vil default bli plassert i disk-gruppen "rootdg", det må
alltid være minst en disk i denne disk-gruppen. Evt. eksterne diskarray bør imidlertid
Volume Manager Installation Options Menu: VolumeManager/Install 1 Quick Installation 2 Custom Installation ? Display help about menu ?? Display help about the menuing system q Exit from menus Select an operation to perform: 2Vxinstall vil liste tilgjengelige disker som ikke er ekskludert i /etc/vx/disks.exclude, velg så å å installere en disk om gangen, og for hver disk som ikke er i bruk fra før kan man velge :
Installation options for disk c1t4d0 Menu: VolumeManager/Install/Custom/c1/c1t4d0 1 Install as a pre-existing disk. (encapsulate) 2 Install as a new disk. (discards data on disk!) 3 Leave this disk alone. ? Display help about menu ?? Display help about the menuing system q Exit from menus Select an operation to perform: 2 Are you sure (destroys data on c1t4d0) [y,n,q,?] (default: n) y Enter disk name for c1t4d0 [Når man er ferdig med å initialisere/encapsulere disker, så la vxinstall få reboote maskina.,q,?] (default: disk01) disk01
# /etc/vx/bin/vxresize volum sizesize kan være enten endring (eks "+5g" , "-500m") eller absolutt størrelse etter endring (eks "10g"). Volum-navnet vil i de aller fleste tilfeller være det samme som filsystem-navnet, men hvis du er i tvil, så kan du se på device-path'en :
saruman$ /local/gnu/bin/df -kP .
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/vx/dsk/nexsandg/bsd-u3 10997760 9341466 1617580 86% /usit/saruman/bsd-u3
^^^^^^-volum-navn ^^^^^^-filsystem-navn
I de aller fleste tilfeller, så er volum-navnet unikt mellom diskgrupper, men dersom volum-navnet finnes i flere diskgrupper, så må man spesifisere hvilken diskgruppe det er snakk om :
# /etc/vx/bin/vxresize -g diskgruppe volum sizeDersom man får feilmeldingen :
vxfs fsadm: attempt to resize /dev/vx/rdsk/raiddg/inta failed with errno 28 vxvm:vxresize: ERROR: Problem running fsadm command for volume inta, in diskgroup raiddgså betyr det at filsystemet er helt fullt (eller defragmentert) slik at det ikke er plass til å utvide filsystemet. Finne en passe stor fil (typisk ca 20MB, varierer med hvor stort filsystemet er) og flytt midlertidig til en annen partisjon for å frigjør nok plass til at vxresize funker, og flytt den så tilbake igjen.
/local/sbin/mkvxfs. Det kjøres slik :
# /local/sbin/mkvxfs DISKGRUPPE SIZE VOLUM /mountpointHvor :
rootdg (se rootdg).
/add-to-vfstab som inneholder det som skal inn i /etc/vfstab for at den nye partisjonen skal monteres ved boot.
Eksempel : ønsker å lage en ny partisjon /usit/vigeland/clone på 25GB :
vigeland# /local/sbin/mkvxfs musR5 25g clone /usit/vigeland/clone legg /add-to-vfstab til /etc/vfstab husk export, palantir og backup vigeland# emacs -nw /etc/vfstab [legg til linja som gjelder /usit/vigeland/clone nederst i /etc/vfstab, det kan ligge flere linjer i /add-to-vfstab]Andre ting man må huske når man lager nye partisjoner:
/etc/dfs/dfstab) til uio-felles
Man kan også gjøre dette manuelt istedenfor å bruke /local/sbin/mkvxfs, da er gangen slik :
mkdir -p /usit/vigeland/clone
/usr/sbin/vxassist -g musR5 make clone 25g layout=nostripe
/usr/sbin/mkfs -F vxfs /dev/vx/rdsk/musR5/clone
/etc/vfstab :
/dev/vx/dsk/musR5/clone /dev/vx/rdsk/musR5/clone /usit/vigeland/clone vxfs 3 yes -
mount /usit/vigeland/clone
/dev/vx/rdsk/vagusdg/klinmed-u5:log replay in progress /dev/vx/rdsk/vagusdg/klinmed-u5:replay complete - marking super-block as CLEANI enkelte tilfeller så er filsystemet så korrupt at man må fsck'e eksplisitt uten å replay'e loggen, det kan gjøres slik :
drakon# fsck -F vxfs -o full,nolog /dev/vx/rdsk/ataboydg/u33Hvor "/dev/vx/rdsk/ataboydg/u33" altså er raw-devicen til filsystemet som spesifisert i /etc/vfstab
vxassist -g DISKGRUPPE maxsize. Eksempel
# vxassist -g a1000dg maxsize Maximum volume size: 25825280 (12610Mb)For å finne hvor stor diskgruppen er totalt (i.e. hvor mye plass det er på alle diskene som utgjør diskgruppen), så kan man bruke :
# vxprint -g dgname -d -q | awk '{size += $5} END {print size/2048 " MB"}'
fsadm : administrering av filsystem, bør ikke brukes manuelt. vxdisk : administrering av disk-devicer. vxdiskadd : legge ny fysisk disk unde vxvm kontroll. vxdiskadm : karakter-basert meny-interface mot disk- og volumoperasjoner vxdg : administrering av disk-grupper. vxedit : for å endre eller rename vxvm objekter. vxplex : plex-operasjoner. vxprint : liste informasjon om vxvm objekter. vxsd : subdisk-operasjoner. vxvol : volum-operasjoner. vxassist : en wrapper som gjør endel vanlige veritas-oppgaver på en enkel måte, uten at man må manipulere plexer, subdisker etc. maneult.
# vxdisk list
# vxprint -st
# vxprint -l disk01-01
# vxdiskadd c0t4d0Merk : hvis disken er koblet på i fart (uten reboot), så må man gjøre følgende for at disken skal synes fra OS og veritas :
# /local/sbin/add-disk # vxdctl enableMan kan også bruke vxdiskadm(1) for å legge til nye disker, det er et enketl grensesnitt som tar man gjennom de nødvendige stegene.
# vxdg rmdisk disk01
# vxdisk rm c0t4d0
# vxdg -g rootdg rmdisk disk01
# vxevac ataboyd03 ataboyd01(i dette tilfellet er ataboyd03 og ataboy01 i samme diskgruppe, vi ønsker å fjerne ataboyd03 og evakurere derfor alle data over på ataboy01).
# vxmake plex plex01 sd=disk01-01,disk01-02
# vxsd assoc plex01 disk01-01
# vxsd dis disk01-01
# vxassist make vol01 1000m
# vxassist make vol01 1000m layout=stripe disk01 disk02
# vxassist make u1 66g layout=mirror internd01 internd02
# /usr/sbin/mkfs -F vxfs /dev/vx/rdsk/interndg/u1
# vxassist make vol01 1000m layout=raid5
# vxvol stop vol01
# vxassist remove volume vol01
# vxassist -g raiddg remove mirror volumnavn-som-er-speilet \!disknavn-som-skal-fjernes-fra
inger# vxassist -g interndg relayout usd_ora01 layout=striped-mirror nmirror=2 ncol=3Dette kan ta lang tid, man kan se status på gjenoppbyggingen med :
inger# vxrelayout status usd_ora01
# mkfs -F vxfs /dev/vx/rdsk/rootdg/vol01
# /usr/lib/fs/vxfs/fsadm -b 2000000 /mountpoint
# vxprint -ht
# vxassist -g diskgruppe maxsize
Rootdg er litt hellig i Veritas-sammenheng. Det må rootdg, men på den annen side så er det vanskelig å importere/eksportere rootdg til en annen maskin, så man bør ikke legge eksterne diskarrayer o.l. i rootdg siden de blir vansklig å flytte.
Hvis man har ledige interne eller eksterne løse disker, er det derfor best å bruke disse til rootdg ved initialiseringen av veritas (se initialisering). En annen ting man kan gjøre er å legge rootdg på en ledig enkelt-slice på root-disken (istedenfor påå en hel disk), dette er ikke supportet av Veritas, men det er en veldig vanlig måte å gjøre ting på. Dette er beskrevet blant annet i :
rootdg på en ekstern disk. Reboot.
rootdg som en enkelt-slice :
nyereadme# vxdctl add disk c0t0d0s7 type=simple vxvm:vxdctl: WARNING: Device c0t0d0s7: Not currently in the configuration nyereadme# vxdisk -f init c0t0d0s7 type=simple nyereadme# vxdg adddisk c0t0d0s7 nyereadme# vxdctl add disk c0t1d0s7 type=simple nyereadme# vxdisk -f init c0t1d0s7 type=simple nyereadme# vxdg adddisk c0t1d0s7(i dette tilfellet gjør vi det samme på
c0t1d0s7 som er en annen interndisk som brukes til speling av rootdisken).
nyereadme# vxassist make vol_dont_use 10m
rootdg så kan man nå fjerne det eksterne arrayet fra rootdg, f.eks. :
nyereadme# vxdg rmdisk trimm01
trimm02) inn i andre diskgrupper (som i motsetning til rootdg er lette å flytte) med nyereadme# vxdiskadd c1t0d0
readme# vxassist -g a1000dg make swapvol 100m readme# swap -a /dev/vx/dsk/a1000dg/swapvol(hvor "a1000dg" her er diskgruppen man ønsker swap-device i). Den bør også legges inn i
/etc/vfstab slik :
/dev/vx/dsk/a1000dg/swapvol - - swap - no -Hvis man ønsker at volumet skal være speilet (lurt) så kan man opprette volumet slik :
readme# vxassist -g a1000dg make swapvol 100m layout=mirror(forutsetter at man har to disker med ledig plass i diskgruppen "a1000dg"). Resten som over.
vxfs fsadm: /dev/vx/rdsk/rootdg/u11 is currently 3072000 sectors - size will be increased vxfs fsadm: attempt to resize /dev/vx/rdsk/rootdg/u11 failed with errno 28 ERROR: abnormal termination for the command: /usr/lib/fs/vxfs/fsadm -b 3481600 -r /dev/vx/rdsk/rootdg/u11 /admin/effie/u11Flytt isåfall bort ca 15MB fra filsystemet og prøv igjen.
karl# vxdisk -s list Disk: c0t0d0s2 type: sliced flags: online error private autoconfig error: Disk is not usable Disk: c0t1d0s2 type: sliced flags: online ready private autoconfig autoimport imported diskid: 945429387.1034.karl dgname: rootdg dgid: 945429386.1025.karl hostid: karlfeltet
dgid her kan brukes for å importere disken på en annen maskin.
rootdg ligger et annet sted), så importer disken til en ny diskgruppe slik :
karl# vxdg -C -n raiddg import 945429386.1025.karl karl# vxdctl enable karl# vxrecover -g raiddg -sb
# vxvol -g <diskgruppe> stopall
# vxdg deport <diskgruppe>
# vxdg import <diskgruppe>
# vxvol -g <diskgruppe> startall
# shutdown -h <skru av maskin og disker, flytt disken til ny kontroller> ok boot -rs boot i single-user fra prom, og lag nye devicer # reboot reboot for at VxVM skal oppdage de nye devicene
c3t4d0 :
nyealun# vxdisk list DEVICE TYPE DISK GROUP STATUS c3t4d0s2 sliced disk01 rootdg onlineVi har to interne disker
c1t0d0 og c1t1d0, som altså er speilet i disksuite, men begge har ubrukt slice 7. Denne ubrukte slicen legger vi nå inn i rootdg slik :
nyealun# vxdctl add disk c1t0d0s7 type=simple vxvm:vxdctl: WARNING: Device c1t0d0s7: Not currently in the configuration nyealun# vxdisk init c1t0d0s7 type=simple nyealun# vxdg adddisk c1t0d0s7 nyealun# nyealun# vxdctl add disk c1t1d0s7 type=simple vxvm:vxdctl: WARNING: Device c1t1d0s7: Not currently in the configuration nyealun# vxdisk init c1t1d0s7 type=simple nyealun# vxdg adddisk c1t1d0s7 nyealun# vxdisk list| grep online c1t0d0s7 simple c1t0d0s7 rootdg online c1t1d0s7 simple c1t1d0s7 rootdg online c3t4d0s2 sliced disk01 rootdg onlineDa kan vi fjerne den midlertidige ekstra-disken fra
roodg :
nyalun# vxdg -g rootdg rmdisk disk01 nyalun# vxdisk rm c3t4d0 nyealun# vxdisk list| grep online c1t0d0s7 simple c1t0d0s7 rootdg online c1t1d0s7 simple c1t1d0s7 rootdg online c3t4d0s2 sliced - - onlineOg etter en reboot :
nyealun# vxdisk list| grep online c1t0d0s7 simple c1t0d0s7 rootdg online c1t1d0s7 simple c1t1d0s7 rootdg online
Her er noen flere linker til websider med Veritas informasjon :