Se desactiva el LV (Logical Volume)
lvchange -an miVG/miLVSe crea el PV (Phisical Volume)
pvcreate --uuid "UUID" /dev/sdXSe restaura el VG (Volume Group)
vgextend --restoremissing /dev/miVG /dev/sdX
lvchange -an miVG/miLVSe crea el PV (Phisical Volume)
pvcreate --uuid "UUID" /dev/sdXSe restaura el VG (Volume Group)
vgextend --restoremissing /dev/miVG /dev/sdX
ls /sys/class/scsi_host/ |while read host; do echo "- - -" > /sys/class/scsi_host/$host/scan; done
pvcreate /dev/sde /dev/sdf /dev/sdX- Creamos el grupo de volúmenes (VolumeGroup) indicando los discos que deseamos formen parte del mismo:
vgcreate miVG /dev/sde /dev/sdf /dev/sdX- Creamos un volumen lógico que ocupará toda la extensión del disco, esto es importante ya que nos asegura que la data se almacenará en un solo disco. el número para el argumento -m indica la cantidad de espejos que deseamos para el arreglo, el primer disco será el principal el resto las réplicas:
lvcreate --type raid1 -m 3 -l 100%FREE -n miLV miVG /dev/sde /dev/sdf /dev/sdXEsto creará el lv miLV en el grupo miVG y empezará la sincronización entre todos los discos, esto puede llevar varias horas dependiendo de la capacidad de los discos, su velocidad, etc. Para ver el porcentaje de sincronización podemos ejecutar el comando con watch con actualización por defecto cada 2 segundos:
watch lvs -a -o +devices miVG/miLVUna vez que se complete el proceso anterior podemos dar el sistema de archivos que deseemos:
mkfs.ext4 -L data /dev/miVG/miLVLa ventaja de LVM-RAID es que podemos añadir o remover espejos al arreglo y deshacer el arreglo por completo sin tener que migrar la información. Eso y muchas cosas más, recomiendo leer la documentación de RedHat sobre Administración LVM para tener una idea de sus alcances.
username;password:quotaUna vez se tiene el archivo, ejecuto el siguiente one-liner en el servidor WHM usando la API de cpanel:
while IFS=";" read u p q; do cpapi2 --user=acc-username Email addpop domain=acc-domain email=$u password=$p quota=$q; done < USERLIST
(usuario1;contraseña1;usuario2;contraseña2)
imapsyncpath=/ubicacion/del/ejecutable/imapsyncOJO, recomiendo leer la documentación ya que tiene muchas, MUCHAS opciones de sincronización. Las opciones que uso son un tanto generales y pensadas para cubrir las necesidades de mi caso.
origen=10.0.1.1
destino=10.0.2.1
options="--tls1 --usecache --delete2 --nofoldersizes --no-modules_version --addheader --subscribeall"
while IFS=";" read u1 p1 u2 p2; do
{ echo "$u1" |egrep "^#" ; } > /dev/null && continue # skip comment lines in USERLIST
echo "============== Migrating mail from user $u1 to $u2 =============="
.$imapsyncpath/imapsync --host1 $origen --host2 $destino --user1 $u1 --password1 $p1 --user2 $u2 --password2 $p2 $options --dry
echo
echo "============== Ended migration for user $u1 in $u2 =============="
done < USERLIST
echo "Migration Complete."
exit 0
vzdump --dumpdir /ubicacion/del/dump VZIDDonde VZID repreenta el número de la VM, por ejemplo 101, 105, etc.
vzrestore /ubicacion/del/dump.tgz NEWVZID
qrestore /ubicacion/del/dump.tgz NEWVZID
while true; do echo $(ps aux |egrep proceso |awk '{print $2}' |wc -l; sleep 2; doneMatar todos los procesos:
for p in `ps aux |egrep proceso |awk '{print $2}'`; do kill -9; done
Mediante pvscan averiguamos el UUID del disco faltante. Se desactiva el LV (Logical Volume) lvchange -an miVG/miLV Se crea el PV (Phisi...