miércoles, 29 de mayo de 2019

Error al hacer backup de contenedor de proxmox: ct-is-locked-backup


Al hacer una copia de seguridad de un contenedor de proxmox ha dado un error:
ERROR: Backup of VM 206 failed - CT is locked (backup)
De tal manera que no me hacía correctamente el backup.
El error nos indica que el contenedor está bloqueado. No se ha desbloqueado ni apagando el contenedor.
En la siguiente página he encontrado la solución:

https://serverfault.com/questions/846356/proxmox-error-backup-of-vm-210-failed-ct-is-locked-backup


Para desbloquearlo utilizamos desde el terminal del servidor proxmox el comando qm unlock junto con el id de la máquina bloqueada.

qm unlock <VM ID>

Crear contenedor en Proxmox desde un backup.

Una vez creada y configurada nuestro servidor proxmox podemos crear máquinas virtuales y contenedores de forma sencilla y guiada.
Otra de las opciones que tenemos es crear éstos desde un backup hecho en otra máquina.
Lo primero sería pasar el backup a la carpeta de backups que utiliza pve, que es

- /var/lib/vz/dump

En el siguiente ejemplo vemos los backups de las tres máquinas que he creado:

root@pve:/var/lib/vz/dump# ls /var/lib/vz/dump/
vzdump-lxc-101-2019_05_29-10_47_42.tar.lzo
vzdump-lxc-102-2019_05_29-10_25_00.tar.lzo
vzdump-lxc-103-2019_05_29-11_28_21.tar.lzo
root@pve:/var/lib/vz/dump# 

- La primera sería un contenedor llamado repositorio donde he puesto un mirror local con los repositorios que usan nuestros equipos y que es un mirror de los compañeros de la sección de AdministracionSI. Además tenemos un repositorio propio creado con reprepro.
Los he creado siguiendo el blog de Esteban :

https://enavas.blogspot.com/2018/06/crear-un-mirror-local-con-apt-mirror.html

https://enavas.blogspot.com/2012/10/crear-nuestro-propio-repositorio-de.html

- El otro contenedor lo llamo clonado y tiene instalado un servidor de clonacion fog.
También puedes verlo en el blog de Esteban:

https://enavas.blogspot.com/2018/03/instalar-fog-server-en-un-contenedor.html

- El último lo llamo aplicaciones y el objetivo principal es alojar un servidor zabbix para poder monitorizar los equipos del centro.


Una vez que tenemos copiados los backups en la carpeta correspondiente de proxmox, accediendo por el entorno web en el almacenamiento local pve, como vemos en la imagen nos muestra los diferentes archivos colocados. Seleccionando uno y pulsando el botón de restore restauraremos el contenedor.



En la ventana de restauración podemos cambiar el número de contenedor. Lo que sí tendremos que hacer es desmarcar la opción de "unprivileged container".

Al restaurar desde un backup estamos restaurando una máquina con todas las propiedades idénticas. Si queremos, por seguridad podemos cambiar la mac de la máquina recién creada.
Para ello seleccionamos la maquina en el panel lateral y en la sección "network" pulsamos al botón editar.



Como vemos se abrirá una ventana donde podemos editar, entre otras cosas la mac de la tarjeta de red virtual.
Otra cosa muy importante en el caso de que se restaure el backup de otra red es configurar los datos de la red en el archivo /etc/resolv.conf, poniendo los datos  del servidor, nameserver de la propia.



jueves, 9 de mayo de 2019

condicional if en recurso puppet

Si queremos aplicar un recurso sólo si se cumple una condición podemos aplicar el condicional if     

   if $tipo == 'notebooktc' {
                file  {"/root/sethostnames.sh":
                        owner => root, group => root, mode => 755,
                        source => "puppet:///modules/mp-sethostnames/sethostnames.sh.notebookTC",
                        notify => Exec["poner-escuela2.0"],
                }
        }
        else {

                file  {"/root/sethostnames.sh":
                        owner => root, group => root, mode => 755,
                        source => "puppet:///modules/mp-sethostnames/sethostnames.sh.$uso",
                        notify => Exec["poner-escuela2.0"],
                }
        }

también si lo necesitamos podemos usar elsif (condicion){   }

viernes, 3 de mayo de 2019

tarea puppet para descargar y añadir clave de repositorio.

       
Esta es el recurso puppet  que utilizo para descargar la clave del repositorio local del centro.
El archivo de la firma está en el repositorio. Lo descarga y lo añade hasta que comprueba que está añadido.  

 exec { "AnadeClaveFuenteroniel":
                command => "wget -O- http://servidorweb/ies/ies.asc  > ies.asc;cat ies.asc| apt-key add -",
                cwd => "/root",
                path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                timeout => 3600,
                unless => "apt-key list|grep \"7B3B 6261 A1F0 4C57 9A8D  E93D 41F4 5BC4 6BBD 7365\"",
        }

viernes, 26 de abril de 2019

Autofirma no funciona con ubuntu 18.04


Autofirma es una aplicación del portal de administración electrónica con la cual podemos firmar con un certificado digital, así como realizar diferentes trámites en la administración.
Me he encontrado con problemas después de la instalación de la aplicación en entorno linux.
Explico procedimiento para instalación:

- Descargamos la aplicación desde la página de descargas:  https://firmaelectronica.gob.es/Home/Descargas.html

En nuestro caso autofirma para linux.

- La instalamos bien desde el administrador de paquetes o desde el terminal. En mi caso desde el terminal:

 dpkg -i  autofirma.deb

- Como vemos nos instala java 8 aunque tengamos java 11 instalado
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias     
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes adicionales:
  libnss3-tools openjdk-8-jre openjdk-8-jre-headless
Paquetes sugeridos:
  icedtea-8-plugin fonts-ipafont-gothic fonts-ipafont-mincho
  fonts-wqy-microhei fonts-wqy-zenhei

- Aunque no nos da ningún error en la instalación, una vez que lo queremos utilizar para firmar un docuemnto, nos da un error diciendo: "El almacén no contiene ningún certificado que se pueda usar para firmar."
 Esto es debido a que no está usando el java correcto.

- Configuramos para que use java 8 . Äbriendo un terminal como superusuario o con sudo hacemos:

root@administracion-pro:~# update-alternatives --config java

Nos indicará las versiones que tenemos, en mi caso :
root@administracion-pro:~# update-alternatives --config java
Existen 2 opciones para la alternativa java (que provee /usr/bin/java).

  Selección   Ruta                                            Prioridad  Estado
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      modo automático
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      modo manual
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      modo manual

Pulse <Intro> para mantener el valor por omisión [*] o pulse un número de selección:

vemos que está utilizando java11.
 Marcamos que queremos la 2 que es java 8.
Y ya esta




viernes, 29 de marzo de 2019

OPEN MEDIA VAULT. RELACIÓN DE CONFIANZA CON OTROS EQUIPOS

En el este post puedes verlo bien explicadito.
En debian establecemos relaciones de confianza entre equipos de la siguiente manera:
- Generamos clave:
  • ssh-keygen -b 4096 -t rsa
- Se nos genera un archivo id_rsa.pub.
- Lo copiamos al equipo donde queremos conectarnos sin passwd.
- Añadimos esta clave en el archivo /root/.ssh/authorized_keys (Por ejemplo cat id_rsa.pub >> /root/.ssh/authorized_keys). Que es la que utiliza el sistema para ver que equipos tienen relación de confianza con él.

En Open Media Vault es un poco diferente.
El archivo donde tenemos que añadir las claves es /var/lib/openmediavault/ssh/authorized_keys/<usuario>. Por lo tanto, si vamos a entrar como root tendríamos que hacer  
  • cat id_rsa.pub >> /var/lib/openmediavault/ssh/authorized_keys/root

martes, 26 de marzo de 2019

Servidor Media con Open Media Vault


INSTALACIÓN

La página de Open Media Vault la tenemos aquí.
Por otra parte tenemos la documentación del proyecto en este otro enlace.
Instalamos Open Media Vault desde iso.
Podemos ver tutoriales de instalación y configuración en los siguientes blogs:


https://aprendiendoavirtualizar.com/nas-casero-con-openmediavault/

Una cosa a tener en cuenta es que la instalación de OMV requiere muy poco espacio, con 8 GB es suficiente, sin embargo el instalador de la distribución no permite hacer un particionado a medida.
Yo como partía de un disco de 500 GB, y dado que la partición de instalación está separada del espacio de almacenamiento, y por no desperdiciar todos esos GB, he particionado el disco antes de la instalación.
Así he dejado una partición de 100 GB para la instalación ( lo he dejado muy amplia por si necesito meter allí otra serie de cosas), 8GB para partición swap y el resto en otra partición que servirá de almacenamiento.
Al realizar la instalación le indico que lo haga en la partición de 100 GB.
Después de la instalación cambio contraseña, e instalo OMV-extras según la página del Maestro Esteban Navas.

ALMACENAMIENTO Y COMPARTICIÓN

Yo he partido, para el almacenamiento, de discos que tenían información y que quería colocar en el servidor.
No sé si es por esta razón u otra, pero me ha dado un montón de problemas ya que no me dejaba montar las carpetas que quería montar por samba. Por ello indico la forma de compartir carpetas, que luego me ha funcionado.
A ser posible añadimos discos vacíos. En el menu Almacenamiento/Discos debería aparecer, sino le damos a escanear y aparecerá.
Luego también en Almacenamiento/Sistema de Archivos si no nos aparece le damos a crear y seleccionamos el disco. Así creamos un sistema de archivos y lo podremos utilizar.
Estos sistemas de archivos de montan en /srv/cadena. Donde cadena es un identificador de la partición que hemos añadido bien por etiqueta o uuid.

CONFIGURAR PARA QUE ENVÍE MENSAJES
Podemos configurar para que nos envíe mensajes de error y avisos a un correo de gmail.
Como siempre podemos verlo en la página de El Maestro.
En servidor smtp ponemos smtp.gmail.com
En puerto smtp 587
Habilitamos conexión segura
Habilitamos inicio de sesión y ponemos usuario (usuario@dominio) y contraseña y especificamos a qué direcciones queremos enviar los correos.


COMPARTIR CARPETA POR SERVICIO
Comento el procedimiento que no me ha dado problema.
Por ejemplo, voy a crear un recurso compartido por samba para las películos del centro.
Voy a menú "/Permisos de acceso/carpetas compartidas" y le doy a botón de Añadir.
En campo nombre ponemos el nombre que se usará para compartir, en este caso "Peliculas". En campo Dispositivo nos pide seleccionar un sistema de archivos, elegimos uno de los añadidos en "/Almacenamiento/Sistema de Archivos". Ruta y permisos no los toco.
Se nos creará la carpeta en el /srv/cadena/Peliculas.
Ya sólo nos queda indicarle que la queremos compartir por samba y establecer los usuarios que tienen acceso.
Ésto lo hacemos en /Servicios/ y servicio correspondiente, en este caso SMB/CIFS. Si no tenemos activado el servicio lo activamos y en pestaña de "Compartidos" vamos añadiendo las carpetas a compartir, que ya las tenemos creadas. en "Permiso de Acceso/carpetas compartidas".
Al darle al botón añadir, tenemos que meter los datos. En el campo de carpeta compartida nos pide seleccionar una carpeta compartida /(lo hacemos pulsando en la flecha que aparece en la derecha del campo) y nos dejará seleccionar cualquiera de las que hemos añadido anteriormente.
También podemos desde aquí, pulsando en la lupa que hay a la derecha de este campo, los permisos de acceso de los diferentes usuarios.
Podemos personalizar el resto, entre ello, los equipos desde donde está permitido el montaje.
En el caso de no dar permiso de acceso en este paso, lo haremos posteriormente, una vez creado.
En Usuario nos aparecen los diferentes usuarios. Al seleccionar uno y dar al botón de Privilegios nos aparecen todos los recursos compartidos por los diferentes servicios y la política de compartición: lectura/escritura, solo lectura o no accesible.