viernes, 5 de octubre de 2012

Chuleta VxVM

Se trata de una antigua web estática con un montón de comandos de VxVM . He decido ponerla en el blog un poco como homenaje por la cantidad de veces que la he consultado y tambien por si acaso la quitan del sitio donde esta colgada ahora mismo ... nunca se sabe cuando sera necesario volver a consultar un comando de VxVM.

No tiene ningún indice ni nada por el estilo ... pulsa ctrl+F y a buscar lo que quieras :-)
TITLE    : Veritas Volume Manager command list
OS LEVEL : Solaris
DATE     : 10/02/01
VERSION  : 1.0
AUTHOR   : Hubertus A. Haniel (hubertus@unixcook.com)

----------------------------------------------------------------------------
Create Veritas layout on a disk:
 vxdisksetup -i c1t10d0
 NOTE - private regon is 1024 sectors by default which means that it is limited to 2000 objects,
 when creating extreemly large diskgroups vxdisksetup might need the flag of privlen=2048.

Create a disk group on a new disk:
 vxdg init <dg name> <media name>=c1t10d0

Add disk to an existing disk group:
 vxdg -g <dg name> adddisk <media name>=c2t0d0
  replace addisk with rmdisk to remove a disk

Set up a preferred reading plex, this can be useful if we have a sparse plex (plex in RAM):
 vxvol -g <group> rdpol prefer <volname> <plexname>
 instead of prefer we can have round or sdeet

View configuration:
 vxprint -th
List disks:
 vxdisk list
 vxdisk -o alldgs list (shows deported disks)

Adding disks while solaris is running:
 drvconfig (This probes scsi - Solaris)
 disks  (Creates links in /dev - Solaris)
 prtvtoc  (View the vtoc - Solaris)
 vxdctl enable (Rescan for disks - Veritas)
 vxdisk list (Shows the disk in error as they are not initalized jet)
 vxdisksetup   (init the disks)

To encapsulate use:
  vxencap -g <discgroup> <devicename>

Export a disk group:
 vxdg deport <dg name>
 vxdg -h <hostame> deport <dgname> to export to another host

Import a disk group:
 vxdg import <dg name>
 vxdg -C to clear hostid of old host (When failing over in DR situation)
 vxdg -fC to clear hostid of old host and forcing diskgroup online

Destroy a disk group:
 vxdg destroy <disk group>

Evacuate data from a disk:
 vxevac -g <dg name> <from disk> <to disks>

Create a volume on a diskgroup:
 vxassist -g <dg name> make <volname> <size> layou=stripe
 ncols=number of colums stripeunit=size

Create a veritas filesystem on this volume:
        mkfs -F vxfs /dev/vx/rdsk/<disk group>/<volume> <size>

Delete a volume same as creatiuon but replace make with remove

Resize a filesystem:
        vxresize -g <disk group> -F <fstype> <volume> <size>

If Veritas is ever causing you problems, do the following:
 Touch /etc/vx/reconfig.d/state.d/install-db
 edit /etc/system and modify /etc/vfstab 
 to disable VRTS to start up and access the old root
 partitions






Other Examples:

vxassist make martin 100m
makes a volume called martin using any disk

vxassist make martin 100m disk10
makes a volume called martin using disk10

vxassist make martin 100m layout=stripe disk07 disk08
creates a 100mb striped volume called martin using disks7 and 8

vxassist mirror martin disk05 disk06
uses disks5 and 6 ro make a mirror on volume called martin

vxassist make martin 50m layout=mirror
makes a 50Mb mirror using any 2 disks

vxassist make martin 50m layout=mirror disk05 disk06
makes a 50mb mirror using disks 5 and 6

vxassist make martin 50m layout=mirror,stripe disk05 disk06 disk07 
disk08
makes a 50Mb stripe using disks5 and 6 mirrored across 7 and 8

vxassist make martin 50m layout=mirror,stripe,log disk05 disk06 disk07 
disk08
makes a 50Mb stripe using disks5 and 6 mirrored across 7 and 8 and uses 
a 
log subdisk

vxassist make martin 100m layout=raid5
makes a 100m raid5 volume

/usr/sbin/vxedit -g rootdg rename disk12 disk09 
to rename disk12 to disk09 in the rootdg

vxedit rm disk10 
to remove a greyed out or obsolete disk in this case disk10
or to remove a disk from a diskgroup

vxdisk list - to list all disks under vmcontrol 

vxdisk clearimport c#t#d#s#
to allow a disk to be imported after a server crash

vxdg -g razadg rmdisk test
to remove a disk called test from a dg called razadg

vxdg -g razadg adddisk test=c1t3d3  
to add disk c1t3d3 to a dg called razadg calling the disk test, use 
vxdisk list
to determine what disks are free :)

vxedit -g rootdg set spare=on disk09
sets disk09 in the rootdg as a hotspare.


vxmirror rootdisk disk01
mirrors all the volumes on the root disk to disk01

vxassist -g rootdg mirror vol01 disk03
mirrors vol01 (in rootdg) to disk03


vxassist mirror martin

will mirror the volume martin


to make a mirror manually try

 /usr/sbin/vxmake -g rootdg sd disk03-01 dm_name=disk03 dm_offset=0 
 len=81920 
 to create a subdisk on disk03 callin the subdisk disk03-01 the len 
 81920 is
 81920sectors x 512bytes =40M 

 vxmake plex martin-02 sd=disk03-01
 creates a plex called martin-02 using subdisk disk03-01

 vxplex att martin martin-02
 attaches the plex martin-02 to volume martin

 to list all volumes on your primary boot disk enter
 vxprint -t -v -e 'aslist.aslist.sd_disk="boot_disk_name"'


 vxsd mv disk03-01 disk05-01
 moves the contents of subdisk disk03-01 to disk05-01
 then moves  subdisk disk05-01 into the plex where subdisk disk03-01
 once lived, leaving disk03-01 to your mercy :)


 to make a subdisk

 vxmake sd disk02-02 disk02,0,8000
 this would create a subdisk called disk02-02 at the start of disk02
 and would be 8000blocks (4000k) long.
 if you wanted to create another subdisk on this disk the offset would 
 be
 8000 as this is where the next free space would be onthe disk so...
 vxmake sd disk02-02 disk02,8000,8000 would create another 8000block
 subdisk.


 vxdisk rm c#t#d#s2
 to remove a disk so it's out of vm control

 vxdiskadd c#t#d#
 to add bring a new disk under vm control

 or you can try...
 vxdisksetup -i c#t#d#  

 vxvol -g dg volname stop
 this stops a volume

 vxedit -rf rm martin
 removes a volume called martin and plex(es) and subdisks though

 vxprint -ht volume
 to display info a stripe looks like this..
 V  NAME         USETYPE      KSTATE   STATE    LENGTH   READPOL   
 PREFPLEX
 PL NAME         VOLUME       KSTATE   STATE    LENGTH   LAYOUT    
 NCOL/WID MODE
 SD NAME         PLEX         DISK     DISKOFFS LENGTH   [COL/]OFF 
 DEVICE   MODE

 v  martin       fsgen        ENABLED  ACTIVE   204800   SELECT    
 martin-01
 pl martin-01    martin       ENABLED  ACTIVE   205776   STRIPE    4/128    
 RW
 sd disk04-01    martin-01    disk04   0        51408    0/0       
 c1t1d2   ENA
 sd disk05-01    martin-01    disk05   0        51408    1/0       
 c1t2d0   ENA
 sd disk02-01    martin-01    disk02   0        51408    2/0       
 c1t3d0   ENA
 sd disk03-01    martin-01    disk03   0        51408    3/0       
 c1t4d0   ENA

 a mirror like this...

 vxprint -ht martin
 Disk group: rootdg

 V  NAME         USETYPE      KSTATE   STATE    LENGTH   READPOL   
 PREFPLEX
 PL NAME         VOLUME       KSTATE   STATE    LENGTH   LAYOUT    
 NCOL/WID MODE
 SD NAME         PLEX         DISK     DISKOFFS LENGTH   [COL/]OFF 
 DEVICE   MODE

 v  martin       fsgen        ENABLED  ACTIVE   204800   SELECT    
 martin-01
 pl martin-01    martin       ENABLED  ACTIVE   205776   STRIPE    4/128    
 RW
 sd disk04-01    martin-01    disk04   0        51408    0/0       
 c1t1d2   ENA
 sd disk05-01    martin-01    disk05   0        51408    1/0       
 c1t2d0   ENA
 sd disk02-01    martin-01    disk02   0        51408    2/0       
 c1t3d0   ENA
 sd disk03-01    martin-01    disk03   0        51408    3/0       
 c1t4d0   ENA
 pl martin-02    martin       ENABLED  TEMPRMSD 205632   CONCAT    -        
 WO
 sd disk10-01    martin-02    disk10   0        205632   0         
 c1t1d3   ENA

 a raid5 like this...

 unix# vxprint -ht martin
 Disk group: rootdg

 V  NAME         USETYPE      KSTATE   STATE    LENGTH   READPOL   
 PREFPLEX
 PL NAME         VOLUME       KSTATE   STATE    LENGTH   LAYOUT    
 NCOL/WID MODE
 SD NAME         PLEX         DISK     DISKOFFS LENGTH   [COL/]OFF 
 DEVICE   MODE

 v  martin       raid5        ENABLED  ACTIVE   40992    RAID      -
 pl martin-01    martin       ENABLED  ACTIVE   42336    RAID      4/32     
 RW
 sd disk04-01    martin-01    disk04   0        14112    0/0       
 c1t1d2   ENA
 sd disk06-01    martin-01    disk06   0        14112    1/0       
 c1t1d4s2 ENA
 sd disk05-01    martin-01    disk05   0        14112    2/0       
 c1t2d0   ENA
 sd disk02-01    martin-01    disk02   0        14112    3/0       
 c1t3d0   ENA
 pl martin-02    martin       ENABLED  LOG      2016     CONCAT    -        
 RW
 sd disk03-01    martin-02    disk03   0        2016     0         
 c1t4d0   ENA


 vxplex -o rm dis plex deletes a plex, or volume if used
 with -f

 vxplex det plex-0#
 detach's one half of the plex..


 if a volume is unstartable try

 try to start it by  setting one of the plexes in a mirror to CLEAN 
 using
 vxmend mirror  plex_name

 if this doesn't get the plex back into a kernel state of enabled
 try

 vxplex att vol_name plex_name

 to dissociate a subdisk try
 vxsd dis disk##-##

 remove a subdisk by
 vxedit rm disk##-##

 this command show's you what the lagest stripe you 
 can currently have ?
 vxassist maxsize layout=stripe
 Maximum volume size: 17833984 (8708Mb)

 same again for raid5
 vxassist maxsize layout=raid5
 Maximum volume size: 12300288 (6006Mb)

 this shows how you how much you can grow a volume by..
 vxassist maxgrow vol01
 Volume vol01 can be extended by 18245632 to 18450432 (9009Mb)

 vxassist growto martin 2000
 grows a volume to 2000 512byte sectors

 vxassist growby martin 2000
 increases the volume martin by 2000 512byte sectors


 vxassist shrinkto vol_name 1000
 will shrink a volume by 1000 sectors,
 make sure you don't shrink a volume below the current
 size of the filesystem

 vxassist shrinkby vol_name 1000
 shrinks a volume by 1000 sectors

 vxvol set len=100000 vol_name
 will change the length to 100000 sectors
 it cannot increase the volume unless spce is available in the
 plexes (use vxassist)


 vxsd -s SIZE split orignal_sd newdisk newdisk
 this will split an existing subdisk in 2 of the specified SIZE

 vxsd join sd1 sd2 new_sd
 joins subdisk1 and subdisk1 to create a new subdisk

 ssaadm -t 1|2|3 stop|start controller #
 so start/stop disk trays...

 vxrecover -s vol_name 
 will start a volume

 vxrecover -s
 will start all volumes

 vxvol maint vol_name
 puts a volume in to maintenance mode

 vxmend off plex_name
 to offline a plex

 vxplex att vol_name plex_name
 attches and starts the plex in a volume

 vxmend on plex_name
 to start plex in volume

 if the volume won't start up try
 vxinfo volume_name 

 vxedit set user=martin group=techies mode=0666 volume
 sets the owner as martin the group as techies and the mode to rw-rw-rw
 on a volume

 vxvol rdpol round volume
 sets a round robin read policy on a volume

 vxvol rdpol prefer vol_name plex_anme
 sets a prefered plex to read from.

 vxedit set comment="message" disk01-01
 sets the comment field to testing

 vxedit set putil01="go away" vol01
 sets the putil01 to "go away"

 vxrecover -b vol
 well bring stale plexes back online, -b indcates background job

 vxassist move volume !disk10
 move the voume to a disk other than disk10

 vxmend fix clean plex_name
 sets the plax toa clean state so you can start vol and access data

 vxdg list 
 lists all diskgroups

 vxdisk list
 lists all disks under VM control and which group their in

 vxdisk list disk01
 lists the properties of disk01

 vxprint -vt 
 vxprint -l volume_name
 vxprint -vl

 display's info about the volumes

 vxprint -lp
 vxprint -l plex_name
 displays info about plexes

 vxprint -st
 vxprint -l disk##-##
 displays info about subdisks

 ssaadm display -p c#
 show disk iops over 10 seconds...

 vxtrace vol
 traces all i/o on a volume..

 vxstat -d
 to report disk stats

 vxdg free
 displays the free space on the disks

 vxassist maxgrow vol
 tells you how much you can grow a volume by

 vxsd aslog vol01-01 disk02-01
 adds a log disk (disk02-01) to the volume vol01-01

 vxassist addlog volume_name
 creates a log disk for a raid5 volume.

 there are some variables you can set for debugging

 S_DEBUG - prints info when running mode sense command
 P_DEDUG - prints info for each ext library function called
 I_DEBUG prints progress during get status function
 O_DEBUG prints when files are opened

No hay comentarios:

Publicar un comentario