• No results found

Improved Construction and Analysis

In document On Program Obfuscation (Page 95-102)

2.4 Succinct Garbling in Other Models of Computation

2.4.1 Improved Construction and Analysis

A continuación, se detallará como crear y configurar las particiones basada en la tecnología drbd que será usada para contener los datos que será compartido entre los nodos del clúster para el funcionamiento de Opengnsys. Mediante el uso de tecnología drbd se dispondrá de dispositivos de bloques que se sincronizará de forma automática en diferentes nodos. Esta tecnología está integrada en el kernel de Linux.

Una de las principales desventajas de esta tecnología el consumo de red cuando es necesario sincronizar grandes cantidades de datos.

Alta disponibilidad

104

Los pasos por seguir son:

1. Instalar las dependencias necesarias mediante el uso de la herramienta apt. servidor1#apt install drbd-utils

servidor2#apt install drbd-utils Los argumentos usados serán:

install Indica que el proceso que se va a realizar es la instalación de un paquete. -y Indica que conteste automáticamente si a las preguntas que pudieran salir en el

proceso de instalación y de esta manera realizar la instalación de forma no interactiva.

drbd-utils Nombre el paquete de la dependencia necesaria.

2. Cargar el módulo drbd al kernel Linux mediante el uso de la herramienta modprobe[62]. servidor1#modprobe drbd

servidor2#modprobe drbd El argumento usado será:

drbd Indica el módulo que se desea activar.

3. Configurar para que se cargue automáticamente el módulo de drbd al kernel de Linux al iniciar el sistema operativo. Para ello se creará un fichero que indicará que modulo se debe a cargar al iniciar al introducirlo en el directorio /etc/modules-load.d/.

servidor1#echo drbd > /etc/modules-load.d/drbd.conf servidor2#echo drbd > /etc/modules-load.d/drbd.conf

Los argumentos usados serán:

drbd Indica el módulo que se desea activar. /etc/modules-

load.d/drbd.conf

105

4. Crear fichero que define los diferentes dispositivos de bloques que se va a crear en los nodos. Para ello se va a crear en ambos nodos el fichero /etc/drbd.d/recursos.res con el siguiente contenido.

resource imagenes { meta-disk internal; device /dev/drbd1; disk /dev/sda3; syncer { rate 80M; } net { allow-two-primaries; after-sb-0pri discard-zero-changes; after-sb-1pri discard-secondary; after-sb-2pri disconnect; }

on servidor1 { address IP1:7789; } on servidor2 { address IP2:7789; } } resource basedatos { meta-disk internal; device /dev/drbd2; disk /dev/sda6; syncer { rate 80M; } net { allow-two-primaries; after-sb-0pri discard-zero-changes; after-sb-1pri discard-secondary; after-sb-2pri disconnect; }

on servidor1 { address IP1:7790; } on servidor2 { address IP2:7790; } } resource tftp { meta-disk internal; device /dev/drbd3; disk /dev/sda7; syncer { rate 80M; } net { allow-two-primaries; after-sb-0pri discard-zero-changes; after-sb-1pri discard-secondary; after-sb-2pri disconnect; }

on servidor1 { address IP1:7791; } on servidor2 { address IP2:7791; } }

Alta disponibilidad

106

5. Permitir el acceso a los puertos necesarios para los diferentes recursos que se van a crear. Para ellos se creará nuevas reglas iptables.

servidor1#iptables -A INPUT -p tcp --match multiport --dport 7789,7790,7791 -j ACCEPT

servidor2#iptables -A INPUT -p tcp --match multiport --dport 7789,7790,7791 -j ACCEPT

Los argumentos usados serán:

-A Añade la regla al final de la cena que se especifique a continuación.

INPUT Indica la cadena sobre la que se establecerá la regla. Al solo indicar la cadena se establecerá la regla en la cadena de filtrado por la cual pasan los paquetes antes de ser entregado a un proceso local.

-p X Establece sobre que protocolo se aplicara la regla. El valor de X será udp o tcp. –match multiport Indica que se va a establecer más de un puerto para la regla.

--dport Y Establece los puertos de destino sobre los cuales le aplicara la acción seleccionada. El valor de Y será aquello puerto que se desea aceptar para el protocolo indicado con el valor de X.

-j ACCEPT Indica la acción la cual se aplicará para esta regla será la de aceptar el paquete.

6. Eliminar el formato de las particiones para posteriormente aplicar el formato drbd posteriormente, para realizarlo se sobrescribe los primeros 1Mb. Para ello se hará uso de la herramienta dd.

servidor1#dd if=/dev/zero of=/dev/sda3 bs=1M count=1 servidor1#dd if=/dev/zero of=/dev/sda6 bs=1M count=1 servidor1#dd if=/dev/zero of=/dev/sda7 bs=1M count=1 servidor2#dd if=/dev/zero of=/dev/sda3 bs=1M count=1 servidor2#dd if=/dev/zero of=/dev/sda6 bs=1M count=1 servidor2#dd if=/dev/zero of=/dev/sda7 bs=1M count=1

Los argumentos usados serán:

if=/dev/zero Selecciona como dispositivo origen un dispositivo virtual que genera únicamente 0.

of=/dev/sda3 Selecciona como dispositivo el dispositivo que al que se desea eliminar el formato.

bs=1M Indica que leerá y escribirá bloques de cuyo tamaño es de 1Mb. count=1 Indica que solo se va a leer y escribir un solo bloque de datos.

107

7. Inicializar los metadatos en las diferentes particiones asociados a los diferentes dispositivos de bloques configurados. Para ello se hará uso de la herramienta drbdadm[63].

servidor1#drbdadm create-md imagenes servidor1#drbdadm create-md basedatos servidor1#drbdadm create-md tftp servidor2#drbdadm create-md images servidor2#drbdadm create-md basedatos servidor2#drbdadm create-md tftp Los argumentos usados serán:

create-md Indica que se inicialice los metadatos en el dispositivo asociado al dispositivo de bloque indicado.

images, basedatos o tftp Indica el dispositivo de bloque.

8. Levantar los diferentes dispositivos de bloques configurado, al realizar las operaciones necesario para iniciar la sincronización entre los diferentes nodos. Para ello se hará uso de la herramienta drbdadm. servidor1#drbdadm up imagenes servidor1#drbdadm up basedatos servidor1#drbdadm up tftp servidor2#drbdadm up images servidor2#drbdadm up basedatos servidor2#drbdadm up tftp Los argumentos usados serán:

up Indica que se comience la sincronización entre los diferentes nodos para el dispositivo indicado

images, basedatos o tftp Indica el dispositivo de bloque.

9. Establecer la información de que nodo será usada para sobrescribir en el resto de los nodos. Para ello se hará uso de la herramienta drbdadm.

servidor1#drbdadm -- --overwrite-data-of-peer primary imagenes servidor1#drbdadm -- --overwrite-data-of-peer primary basedatos servidor1#drbdadm -- --overwrite-data-of-peer primary tftp

Los argumentos usados serán:

-- Indica que se va a indicar una opción de configuración de recurso

--overwrite-data-of-peer Establece que se sobrescriba la información del nodo actual sobre el resto de los nodos.

primary Establece el nodo actual como un nodo primario. images, basedatos o tftp Indica el dispositivo de bloque.

Alta disponibilidad

108

10. Establecer el otro nodo como nodo primario también. Para ello se hará uso de la herramienta drbdadm. servidor2#drbdadm primary imagenes

servidor2#drbdadm primary basedatos servidor2#drbdadm primary tftp

Los argumentos usados serán:

primary Establece el nodo actual como un nodo primario. images, basedatos o tftp Indica el dispositivo de bloque.

11. Comprobar el estado de actual de sincronización de los diferentes dispositivos de bloques. Será necesario que ambos nodos se encuentren en estado UpDate ya que indicará que se encuentra sincronizado. Para ello consultaremos el estado mediante la información almacenada en el fichero especial /proc/drbd.

servidor1#cat /proc/drbd

El resultado debería se parecido al siguiente resultado.

Ilustración 3-42 Resultado comprobación estado sincronización drbd

En este resultado podemos observar que todos los dispositivos administrados con drbd se encuentra sincronizado y los nodos se encuentra conectados.

Se deberá espera mientras que el resultado del anterior comando dando como resultado uno de los estados sea Inconsistent, esto puede demorarse bastante tiempo dependiendo de la velocidad de la red y de la cantidad de datos a sincronizar.

12. Formatear los dispositivos de bloques generados con el sistema de fichero ext3, el sistema de fichero es totalmente opcional. Para ello haremos uso de la herramienta mkfs[64].

servidor1#mkfs.ext3 /dev/drbd1 servidor1#mkfs.ext3 /dev/drbd2 servidor1#mkfs.ext3 /dev/drbd3 El argumento usado será:

/dev/drbdX Indica el dispositivo de bloque al cual se formateará con el sistema de fichero ext3.

109

13. Habilitar para que se autoarranque el servicio de drbd al iniciar. Para ello se usará de la herramienta systemctl.

servidor1#systemctl enable drbd.service servidor2#systemctl enable drbd.service Los argumentos usados serán:

enable Establece que el servicio se autoarranque al iniciar el sistema. drbd.service Indica el nombre del servicio que se desea configurar.

In document On Program Obfuscation (Page 95-102)