En este documento se intentará dar una visión general del servidor de prácticas del DIIS (en adelante "hendrix") y de sus posibilidades en cuanto al uso cotidiano por parte los miembros del departamento y los estudiantes, evitando cuestiones excesivamente técnicas.
Es decir se intentará responder a la pregunta: Bueno, ya tengo cuenta en "hendrix", y ahora, ¿que hago?
Básicamente este es un servidor en el que tienen cuenta todos los alumnos relacionados con el DIIS. Esta cuenta permanecerá activa mientras dure esta relación; permitiendo la realización de prácticas y el almacenamiento permanente de ficheros.
Nota importante: No hay que confundir "hendrix", el nuevo servidor, con el antiguo "hendrix" SparcStation 5. Este último estuvo en marcha hasta el curso 2010-2011.
hendrix "viejo" | "hendrix" |
El usuario puede acceder a los siguientes servidores de prácticas:
Entre las muchas funcionalidades del sistema, nos centraremos en las que afectan directamente al usuario básico:
La utilización de los recursos informáticos del DIIS supone la aceptación de las siguientes normas:
El uso de disco se controla mediante un mecanismo de "quota". Esto significa que un usuario puede utilizar más espacio que el que tiene asignado durante un periodo máximo de 7 días. Una vez agotado el plazo, no podrá escribir ficheros hasta que no vuelva a estar por debajo de su "quota". Esto puede suponer que si p.e. se está editando un fichero en situación de "sobre-quota", se pierda ese fichero al intentar guardarlo.
Si un alumno necesita más "quota" para realizar cierta práctica deberá comunicárselo a su profesor, para que este solicite un aumento de "quota" para sus alumnos.
Se ha habilitado un mecanismo que permite al usuario borrar (bajo su responsabilidad) ficheros temporales y prescindibles. La forma de ejecutarlo es:
- Hacer login en hendrix-nfs - Ejecutar /usr/local/etc/clean_home -A $HOME - Con esto, no se borra nada, pero permite ver los ficheros que se borrarían. - También se puede ejecutar /usr/local/etc/clean_home -l Para obtener un listado de directorios ordenados por tamaños. - Una vez revisado lo que se puede borrar, se puede ejecutar /usr/local/etc/clean_home -A -y $HOME para hacer efectivo el borrado. - Para ver más opciones, ejecutar: /usr/local/etc/clean_home -h
Nota: algunas situaciones típicas son el no vaciar la papelera y tener ahí ficheros borrados de hace mucho tiempo, y el tener gran parte del espacio utilizado por las cachés de los navegadores.
Se recomienda vaciar la papelera habitualmente, y configurar los navegadores web para que no utilicen caché de disco. (usando el menú de ajustes/preferencias del navegador utilizado)
Anexo: Listado de directorios típicos que ocupan mucho espacio con ficheros prescindibles (referidos a $HOME): .local/share/Trash .cache/google-chrome .eclipse # Directorios correspondientes a varias versiones Otros: Ver código fuente de /usr/local/etc/clean_home (es un script en sh)
Durante el curso 2020-21 con el aumento de las prácticas no presenciales se han puesto en marcha mecanismos para facilitar este trabajo. El L1.02 reune unas condiciones especiales.
Por ello se explica el tema en una página aparte:
Trabajo remoto en L1.02
Existen copias de seguridad de los datos almacenados, aunque su finalidad principal es la posibilidad de recuperación frente a desastres, no la recuperación de ficheros individuales perdidos por error del usuario.
No obstante, en casos excepcionales, se puede considerar esta segunda opción.
En caso de que se desee recuperar información el procedimiento consiste en enviar un correo a backup_at_daphne.cps.unizar.es indicando:
Nota: no se realiza copia de las imágenes de disco utilizadas con máquinas virtuales.
En cuanto a los servicios de redundancia, son manejados directamente por el hardware y garantizan que no habrá pérdida de información en caso de fallo de un disco.
Este servicio permite que el usuario tenga un único punto de gestión de contraseña, tanto para servicios de Unix (login en sistemas Unix) como de Windows (acceso a recursos compartidos).
La gestión de cuentas la realiza el propio servidor. En caso de que el usuario también tenga cuenta en el servidor principal del DIIS, se recomienda que no utilice la misma contraseña.
El sistema de gestión y cambio de contraseña será:
/usr/local/bin/passwdImportante ejecutarlo tal y como está escrito aquí.
Es posible cambiarse el shell utilizando:
Conviene notar que cuando se hace login en Linux con el sistema gráfico por defecto, normalmente los terminales que se ejecutan no utilizan un "login shell" por defecto. Esto significa que muchas variables de entorno necesarias no se inicializan. La solución consiste en cambiar las preferencias del terminal para que por defecto utilice un "login shell".
En gnome-terminal: Menu->Edit->Preferences->Profiles->Edit->Command: [x] Run command as a login shell Menu->Edit->Preferences->Profiles->Edit->Compatibility: Backspace key generates -> Control-H En gnome-terminal (versiones anteriores a CentOS 7): Menu->Edit->Profiles->Default->Title and Command: [x] Run command as a login shell
Cada usuario dispone de un espacio fijo para datos personales de importancia crítica, limitado por las cuotas del sistema. Ese espacio se utiliza como directorio personal (HOME) en los clientes Unix gestionados por el DIIS. Además puede acceder desde Windows/MacOS o sistemas Linux personales usando el protocolo CIFS (en Windows, el típico "entorno de red").
La forma de acceder a este recurso es:
Inicio->Ejecutar->\\hendrix-cifs.cps.unizar.es\nombre_de_usuario
Finder: Cmd-K -> smb://hendrix-cifs
suponiendo que $LOGNAME es el nombre de usuario y $GROUPNAME el nombre del grupo y que se desea montarlo en /media/remote/: sudo mount -t smbfs \ -o rw,username='DIISLAB\'$LOGNAME,uid=$LOGNAME,gid=$GROUPNAME \ //hendrix-cifs.cps.unizar.es/$LOGNAME /media/remote/
Forma de acceso:
ssh hendrix-ssh.cps.unizar.esNota: También es posible hacer ssh a los nodos individuales hendrix01 y hendrix02, pero la primera forma proporciona un balanceo de carga automático.
Aviso:
Puede ocurrir que accediendo mediante versiones recientes de clientes ssh de un error del tipo:
Unable to negotiate with XXXXXXXX port 22: no matching cipher found. o Unable to negotiate with XXXXXXXX port 22: no matching matching key exchange.
Normalmente eso es debido a que el cliente ssh utilizado ha deshabilitado por defecto lo que considera protocolos "inseguros". En servidores del DIIS antiguos es probable que el servidor SSH tarde en poder ser actualizado. En esos casos, lo mejor es volver a habilitar esos protocolos en el cliente solo para esos casos. Crear un fichero ~/.ssh/config que contenga:
Host hendrix* ForwardX11Trusted yes ForwardX11 yes Ciphers aes128-ctr,aes256-cbc KexAlgorithms +diffie-hellman-group-exchange-sha1
Ver también: https://www.openssh.com/legacy.html
Notas:
Type xterm-color unknownAjustar la variable TERMINFO a /opt/csw/share/terminfo en .profile/.cshrc antes de la instruccion "tset".
stty erase ^HEn la configuración del cliente ssh del usuario (por ejemplo, putty) habrá que asegurarse de que se envía lo mismo que se ha seleccionado anterioremente.
Debido a un bug en bash, al intentar utilizar esto puede fallar con: bash: !ref: unbound variable bash: !ref: unbound variable bash: words[i]: unbound variable La solución es añadir a nuestro .profile.user lo siguiente: case $0 in *bash) set +u ;; esac
/usr/local/bin/reset_home Esta orden se puede utilizar en caso de problemas con la cuenta (ajustes perdidos, mal funcionamiento, etc). Ejecutándola con "-n" no cambia nada, sólo muestra lo que haría. Con "-y" se ejecuta en forma interactiva preguntando que partes de la cuenta se desea devolver a su estado inicial. Los ficheros viejos se moverán al directorio "OLD". Normalmente esto sólo afecta a ficheros de configuración, los ficheros de trabajo no deberían verse afectados.
La cuenta del usuario permite hacer login en los sistemas Windows de los laboratorios del DIIS integrados en el dominio DIISLAB.
Conviene destacar que se utilizan "Roaming Profiles", lo que resulta conventiente, aunque hay que tener ciertas precauciones para evitar que crezca demasiado:
Se dispone del gestor de bases de datos Oracle 18 (18.0.0)
danae04.unizar.es
barret
sqlplus USERNAME@barret.danae04.unizar.es o sqlplus2 USERNAME@barret.danae04.unizar.es (explicación: ver más abajo)
Para conectarse a Oracle 18 hay que usar la versión actual de sqlplus, que coexistía en nuestros sistemas con la antigua. La nueva está disponible en los Linux de los laboratorios, así como en los servidores "lab000" y "central". La antigua será completamente retirada en un futuro próximo y se evitará el tener que utilizar las órdenes terminadas en "2".
Para usar la nueva versión hay dos opciones:
Cambio de contraseña:
ALTER USER nombre IDENTIFIED BY tu-nuevo-password
También es posible utilizar el interfaz web
Cuenta bloqueada:
Se puede desbloquear mediante el interfaz web
select * from NLS_DATABASE_PARAMETERS where parameter = 'NLS_CHARACTERSET';Para que esto funcione bien desde un cliente es preciso poner adecuadamente el entorno (desde fuera de oracle) antes de introducir los datos.
env NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 sqlplus
Bourne: TWO_TASK=barret.danae04.unizar.es; export TWO_TASK csh: setenv TWO_TASK barret.danae04.unizar.es
Está instalado el gestor de bases de datos MySQL 5.5.34
. /usr/local/mysql5/config.sh
hendrix-mysql.cps.unizar.es
Ejemplo:
mysql -h hendrix-mysql.cps.unizar.es -u $LOGNAME -p
Acceso vía web (experimental):
http://hendrix-http.cps.unizar.es/si/mysql/
Cambio de contraseña:
SET PASSWORD FOR a123456@'localhost' = password('tu-nuevo-password');
También es posible utilizar el interfaz web (experimental)
El usuario también puede lanzar su propia instancia del gestor sin requerir privilegios especiales. La forma de hacerlo es:
Nota: Estas instrucciones son válidas para Solaris; en Linux son similares, puede cambiar únicamente algun "path".
BASEDIR=$HOME/usr/web MYDIR=$BASEDIR/mysql 1.- Asegurarse de que se tiene mysql/mysqld en el PATH hendrix01:~/ type mysql mysql is /opt/csw/bin/mysql hendrix01:~/ type mysqld_safe mysqld_safe is /opt/csw/bin/mysqld_safe 2.- Crear $HOME/.my.cnf Ajustar, (al menos cambiar 6969 por, p.e. el UID): $ cat > ~/.my.cnf <<-EOF [client] #password = my_password port = 6969 socket = /tmp/mysql.sock.6969 [mysqld] port = 6969 socket = /tmp/mysql.sock.6969 skip-locking #skip-networking #bind_address = 127.0.0.1 # Start logging log EOF 3.- Crear directorios mkdir $MYDIR cd $MYDIR mkdir -p var bin ; chmod 700 var 4.- Ejecutar (cambiar "foobar" por el password deseado) PW=foobar mysql_install_db --datadir="${MYDIR}"/var nohup mysqld_safe --datadir="${MYDIR}"/var >/dev/null 2>&1 & mysqladmin -u root password "$PW" mysqladmin -u root -h `hostname` password "$PW" 5.- Trabajar 6.- Matar mysqld ps -ef | grep mysqld kill $PID (para las siguientes sesiones, basta con ejecutar nohup mysqld_safe --datadir="${MYDIR}"/var >dev/null 2>&1 & antes de comenzar) ALGUNAS NOTAS: - No es recomendable poner el password en ~/my.cnf (de hecho, puede fallar la asignación inicial de password de la base de datos) - Puede ser necesario poner también en ~/my.cnf pid-file = /tmp/mysqld.6969.pid y/o usar /usr/local/mysql/bin/mysqld_safe \ --datadir="${MYDIR}"/var \ --log-error=/tmp/mysqld.6969.err \ --pid-file=/tmp/mysqld.6969.pid Dependiendo de cada sistema, también puede ser necesario mysql_install_db \ --hefaults-file=$HOME/.my.cnf \ --basedir=/usr/local/mysql \ --datadir="${MYDIR}"/var
Nota: Se ha habilitado la orden "permisos_web" que ajusta los permisos del espacio web personal.
El acceso a las páginas alojadas en este servidor no está limitado. No obstante, no se permite su uso con fines comerciales o para otros usos no contemplados en la normativa general.
El uso de máquinas virtuales para prácticas conlleva unas necesidades especiales en cuanto a espacio en disco, ancho de banda, etc. Como norma general, deberían utilizarse máquinas virtuales cuando no exista otra alternativa. Algunos ejemplos en los que puede ser válido:
Por el momento, se habían conseguido resultados aceptables (aunque la velocidad no era muy alta) accediendo a la imagen del disco duro "virtual" a través de sistema de ficheros montado por red. Por el contrario, la forma de trabajar consistente en copiar la imagen al disco local al comienzo de la sesion y devolverla al servidor al final ha resultado ser impracticable con la infraestructura de que disponemos.
Para mejorar esta situación se ha habilitado un servidor secundario denominado "central" (central.cps.unizar.es) en el laboratorio L1.02 ("Laboratorio de redes"), de forma que todo el tráfico correspondiente a imágenes de máquinas virtuales se realiza en la red interna de dicho laboratorio; siendo posible en caso de necesidad duplicar el ancho de banda disponible para este servidor.
Es posible acceder de forma interactiva a "central" utilizando los usuarios y contraseñas de "hendrix", siendo el directorio "HOME" compartido.
Conviene notar que los PC's del L1.02 resultan más adecuados que los del resto de laboratorios para todo lo que tenga que ver con virtualización. Para mejorar este aspecto, este laboratorio se ha actualizado a CentOS 6.3 y se ha instalado también en Linux VirtualBox (el resto de laboratorios serán actualizados el siguiente curso).
Aparte del directorio personal del usuario, existen otros directorios de interés para la realización de prácticas:
Last Modified: May 26, 2016