| @@ -57,7 +57,7 @@ snapshot() | |||
| zfs snapshot $1@`date +%Y%m%d` | |||
| check $? | |||
| echo "enviando snapshot de $1 a $SERVER ..." | |||
| zfs send $1@`date +%Y%m%d` | $SSH $SERVER zfs receive $1 | |||
| zfs send $1@`date +%Y%m%d` | $SSH $SERVER zfs receive -u $1 | |||
| check $? | |||
| echo "creando snapshot incremental de $1 ..." | |||
| zfs snapshot $1@`date +%Y%m%d`.incremental | |||
| @@ -67,10 +67,9 @@ snapshot() | |||
| check $? | |||
| } | |||
| # capturamos el alias que vmadm usa en base64 y que da problemas con el mitico zonecfg | |||
| ALIAS=`vmadm get ${UUID} | json alias | tr -d '\n'` | |||
| zonecfg -z ${UUID} "select attr name=alias; set value=temporal; end" | |||
| # mostramos mac a exporar por VXLAN | |||
| echo "mostramos mac e ips a exportar via VXLAN..." | |||
| vmadm get ${UUID} | json nics.0.ips nics.0.mac | |||
| # creamos snapshot, lo enviamos, creamos incremental y la enviamos | |||
| @@ -94,31 +93,45 @@ if [ -n "${DATASET}" ]; then | |||
| fi | |||
| # exportamos configuracion | |||
| echo "exportamos configuracion..." | |||
| echo "exportamos configuracion y enviamos a destino..." | |||
| zonecfg -z ${UUID} export > $CFG/${UUID}.cfg | |||
| $SCP $CFG/${UUID}.cfg $SERVER:$CFG/${UUID}.cfg | |||
| zonecfg -z ${UUID} export | $SSH $SERVER "zonecfg -z ${UUID}" | |||
| # destino | |||
| echo "enviamos config a destino..." | |||
| # modificamos de acuerdo a la config de datacenter remoto | |||
| echo "modificamos config de acuerdo a datacenter remoto..." | |||
| $SSH $SERVER zonecfg -z ${UUID} < $CFG/${UUID}.cfg | |||
| $SSH $SERVER zoneadm -z ${UUID} attach | |||
| $SSH $SERVER zoneadm -z ${UUID} halt | |||
| echo " | |||
| select net physical=eth0 | |||
| clear vlan-id | |||
| set global-nic=v/100 | |||
| add property (name=mtu,value="1200") | |||
| remove property (name=gateway,value="194.53.148.1") | |||
| remove property (name=gateways,value="194.53.148.1") | |||
| add property (name=gateway,value="194.53.148.2") | |||
| add property (name=gateways,value="194.53.148.2") | |||
| end" | $SSH $SERVER "zonecfg -z ${UUID}" | |||
| # montamos el dataset | |||
| $SSH $SERVER zfs mount ${ZONEPATH} | |||
| # reestablecemos el alias que usa vmadm | |||
| # instalamos | |||
| $SSH $SERVER vmadm update ${UUID} alias=${ALIAS} | |||
| vmadm update ${UUID} alias=${ALIAS} | |||
| $SSH $SERVER zoneadm -z ${UUID} attach | |||
| # detenemos la zona en local | |||
| zoneadm -z ${UUID} halt | |||
| # actualizamos la zona en local para que no inicie | |||
| vmadm udpate ${UUID} autoboot=false | |||
| # iniciamos la zona en remoto | |||
| $SSH $SERVER zoneadm -z ${UUID} boot | |||
| # TODO: | |||
| # - puede haber mas de un FILESYSTEM en la zona, necesitamos iterar por el array y lanzar la funcion snapshot sobre cada uno de ellos | |||
| # - puede haber mas de un DATASET en la zona, necesitamos iterar por el array y lanzar la funcion snapshot sobre cada uno | |||