Hacer cambios en un filesystem GFS2 con gfs2_tool y gfs2_edit

Como muchos ya sabéis, cuando creamos un sistema de ficheros GFS2 especificamos entre otras cosas el nombre del Cluster al que va asociado, un nombre para el sistema de ficheros, el número de Journals, las tablas de bloqueo, etc. Si por lo que sea necesitamos cambiar a posteriori uno de estos parámetros podemos hacerlo con el comando gfs2_tool y gfs2_edit.

Pongámonos en situación. Hemos creado el siguiente sistema de ficheros GFS2:

# mkfs.gfs2 -p lock_dlm -t cluster01:fs_data -j 2 /dev/vgroup01/logical01

En mi caso, únicamente tenía que modificar el nombre asignado al filesystem, para ello se ejecuta el siguiente comando, siempre con el filesystem desmontado en todos los nodos del Cluster

# gfs2_tool sb /dev/vgroup01/logical01 table nuevo-cluster:nuevo-nombre-fs

Veis como cambiamos el nombre del cluster y del filesystem. Si ejecutáis los comandos sin parámetros veréis más opciones y ejemplos:

# gfs2_tool 
Clear a flag on a inode
  gfs2_tool clearflag flag 
Freeze a GFS2 cluster:
  gfs2_tool freeze 
Get tuneable parameters for a filesystem
  gfs2_tool gettune 
List the file system's journals:
  gfs2_tool journals 
Have GFS2 dump its lock state:
  gfs2_tool lockdump  [buffersize]
Tune a GFS2 superblock
  gfs2_tool sb  proto [newval]
  gfs2_tool sb  table [newval]
  gfs2_tool sb  ondisk [newval]
  gfs2_tool sb  multihost [newval]
  gfs2_tool sb  all
Set a flag on a inode
  gfs2_tool setflag flag 
Tune a running filesystem
  gfs2_tool settune   
Unfreeze a GFS2 cluster:
  gfs2_tool unfreeze 
Print tool version information
  gfs2_tool version
Withdraw this machine from participating in a filesystem:
  gfs2_tool withdraw
# gfs2_edit
...
...
   To run in interactive mode:
     gfs2_edit /dev/bobs_vg/lvol0
   To print out the superblock and master directory:
     gfs2_edit -p sb master /dev/bobs_vg/lvol0
   To print out the master directory in hex:
     gfs2_edit -x -p master /dev/bobs_vg/lvol0
   To print out the block-type for block 0x27381:
     gfs2_edit identify -p 0x27381 /dev/bobs_vg/lvol0
   To print out the fourth Resource Group. (the first R is #0)
     gfs2_edit -p rg 3 /dev/sdb1
   To print out the metadata type of block 1234
     gfs2_edit -p 1234 blocktype /dev/roth_vg/roth_lb
   To print out the allocation type of block 2345
     gfs2_edit -p 2345 blockalloc /dev/vg/lv
   To change the allocation type of block 2345 to a 'free block'
     gfs2_edit -p 2345 blockalloc 0 /dev/vg/lv
   To print out the file size of the dinode at block 0x118
     gfs2_edit -p 0x118 field di_size /dev/roth_vg/roth_lb
   To find any dinode higher than the quota file dinode:
     gfs2_edit -p quota find di /dev/x/y
   To set the Resource Group flags for rg #7 to 3.
     gfs2_edit rgflags 7 3 /dev/sdc2
   To save off all metadata for /dev/vg/lv without compression:
     gfs2_edit savemeta -z 0 /dev/vg/lv /tmp/metasave