|
|
|
@@ -1,13 +1,31 @@ |
|
|
|
#!/usr/bin/bash |
|
|
|
|
|
|
|
if [ "$#" -ne 2 ]; then |
|
|
|
echo "Illegal number of parameters" |
|
|
|
echo "Usage: $0 {UUID} {DESTINYNODE}" |
|
|
|
usage() |
|
|
|
{ |
|
|
|
echo "Usage: $0 -z UUID -h hostname" >&2 |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
|
UUID=$1 |
|
|
|
NODODESTINO=$2 |
|
|
|
while getopts "z:h:" opt; |
|
|
|
do |
|
|
|
case "$opt" in |
|
|
|
z) |
|
|
|
UUID=$OPTARG |
|
|
|
;; |
|
|
|
h) |
|
|
|
HOSTNAME=$OPTARG |
|
|
|
;; |
|
|
|
*) |
|
|
|
usage |
|
|
|
;; |
|
|
|
esac |
|
|
|
done |
|
|
|
|
|
|
|
shift $((OPTIND-1)) |
|
|
|
|
|
|
|
if [ -z "${UUID}" ] || [ -h "${HOSTNAME}" ]; then |
|
|
|
usage |
|
|
|
fi |
|
|
|
|
|
|
|
KEYFILE="/usbkey/ssh/id_rsa" |
|
|
|
DESTINYPORT="2221" |
|
|
|
@@ -27,9 +45,9 @@ fi |
|
|
|
snapshot() |
|
|
|
{ |
|
|
|
zfs snapshot $1@`date +%Y%m%d` |
|
|
|
zfs send $1@`date +%Y%m%d` | $SSH $NODODESTINO zfs receive $1 |
|
|
|
zfs send $1@`date +%Y%m%d` | $SSH $HOSTNAME zfs receive $1 |
|
|
|
zfs snapshot $1@`date +%Y%m%d`.incremental |
|
|
|
zfs send -i $1@`date +%Y%m%d` $1@`date +%Y%m%d`.incremental | $SSH $NODODESTINO zfs receive $1 |
|
|
|
zfs send -i $1@`date +%Y%m%d` $1@`date +%Y%m%d`.incremental | $SSH $HOSTNAME zfs receive $1 |
|
|
|
} |
|
|
|
|
|
|
|
# capturamos el alias que vmadm usa en base64 y que da problemas con el mitico zonecfg |
|
|
|
@@ -62,18 +80,18 @@ fi |
|
|
|
echo "exportamos configuracion..." |
|
|
|
|
|
|
|
zonecfg -z ${UUID} export > $CFG/${UUID}.cfg |
|
|
|
$SCP $CFG/${UUID}.cfg $NODODESTINO:$CFG/${UUID}.cfg |
|
|
|
$SCP $CFG/${UUID}.cfg $HOSTNAME:$CFG/${UUID}.cfg |
|
|
|
|
|
|
|
# destino |
|
|
|
echo "enviamos config a destino..." |
|
|
|
|
|
|
|
$SSH $NODODESTINO zonecfg -z ${UUID} < $CFG/${UUID}.cfg |
|
|
|
$SSH $NODODESTINO zoneadm -z ${UUID} attach |
|
|
|
$SSH $NODODESTINO zoneadm -z ${UUID} halt |
|
|
|
$SSH $HOSTNAME zonecfg -z ${UUID} < $CFG/${UUID}.cfg |
|
|
|
$SSH $HOSTNAME zoneadm -z ${UUID} attach |
|
|
|
$SSH $HOSTNAME zoneadm -z ${UUID} halt |
|
|
|
|
|
|
|
# reestablecemos el alias que usa vmadm |
|
|
|
|
|
|
|
$SSH $NODODESTINO vmadm update ${UUID} alias=${ALIAS} |
|
|
|
$SSH $HOSTNAME vmadm update ${UUID} alias=${ALIAS} |
|
|
|
vmadm update ${UUID} alias=${ALIAS} |
|
|
|
|
|
|
|
# detenemos la zona en local |
|
|
|
@@ -82,7 +100,7 @@ zoneadm -z ${UUID} halt |
|
|
|
|
|
|
|
# iniciamos la zona en remoto |
|
|
|
|
|
|
|
$SSH $NODODESTINO zoneadm -z ${UUID} boot |
|
|
|
$SSH $HOSTNAME zoneadm -z ${UUID} boot |
|
|
|
|
|
|
|
|
|
|
|
# TODO: |
|
|
|
|