dijous, 31 de juliol del 2008

RAID per programari al Servidor (fake RAID)

Com el servidor ha de tenir una certa fiabilitat utilitzarem discos en mirall (RAID1). Així si falla un dels dos discos no hi ha d'haver problema i s'ha de poder substituir el defectuós i tornar a treballar sense perdre la info ni massa temps.

La tarja RAID de què disposo pel servidor és una Promise FastTrack.... Se li poden connectar dos discos PATA i té un sol xip. Cap distribució de linux actual (excepte la linkat 1.1) la ha reconegut com a controladora RAID. És d'allò més cutre i tota la feina de càlcul la ha de fer el processador.
En l'altre servidor tinc una 3ware que sí que la va reconèixer el instal·lador i treballa com a disc SCSI amb dos discos PATA.

Per tant passaré d'ella i connectaré directament els dos discos PATA idèntics (120GB) a la placa base en els IDE 1 i 2. Afortunadament el BIOS de la placa base suporta l'arrencada des de CD-ROM USB (per fer la instal·lació inicial), per tant només hi haurà connectats aquests dos dispositius als busos ATA, tots dos com a master. Segons la nomenclatura linux són hda i hdc.

Anem a veure com es fa això del RAID 1 per soft amb linux. I com es prova. Hi ha una bona referència a How To Set Up Software RAID1 On A Running System (Incl. GRUB ... i a Replacing A Failed Hard Drive In A Software RAID1 Array.

Tot tenint connectats els dos discs a la placa i posant el CD d'instal·lació de la debian 4 en una gravadora externa connectada per USB (el BIOS permet l'arrencada). S'inicia la instal·lació del S.O. . En el pas del particionament, per fer les proves, es fan 2 particions idèntiques a cada disc (root i swap) i s'agrupen en dos "md". En acabar la instal·lació es deixa el GRUB en el MBR.

Ara s'engega per primera vegada el S.O. i se segueixen les indicacions del primer tutorial per revisar el /boot/grub/menu.lst:
En general s'ha de modificar per tal de duplicar els kernels d'arrencada i fer que si falla el que arrenca per defecte, que arrenqui amb el de l'altre disc, és a dir:
afegim (per si falla el 0 salti al 1):
default 0
fallback 1
i copiem el primer (0) a sota, tot canviant ler referències a (hd0,0) que corresponen a hda1 (master de IDE1) per (hd1,0) que corresponen a hdc1 (master de IDE2):
title
root
kernel
initrd
savedefault
Compte amb root=/dev/mdX, i comprovar a l'inici #kopt=root=/dev/md0 ro.
De tota manera cal veure si el BIOS altera la numeració dels discs si en falla un i llavors no cal la duplicació anterior.

A continuació s'actualitza el ramdisk:
# update-initramfs -u
i s'instal·la el grub en els dos discs:
# grub
> root (hd0,0)
> setup (hd0)
> root (hd1,0)
> setup (hd1)
> quit

Molt bé, ara es tracta de comprovar-ho tot:

Amb el sistema en funcionament comprovem que l'array funciona correctament amb
# cat /proc/mdstat
han d'aparèixer tots els "md" amb els seus components en ús (UU), si apareix algún disc fora d'ús (U_) o bé (_U) cal afegir-lo a l'array. Ho farem amb:
# mdadm -a /dev/mdX /dev/hdXX
llavors apareix un missatge dient que comença la sincronització. Podem comprovar per on va amb # cat /proc/mdstat. Si en el pas anterior no tenim clar el disc o la partició a afegir ho tenim més clar amb # fdisk -l.

Una vegada ho tenim tot en funcionament i els discos sincronitzats anem a provar-ho de veritat, aturant el sistema i desconnectant cada un dels discos per separat i mirant si el sistema arrenca. Cal provar si és necessari canviar l'ordre dels cables de dades dels discos per tal de poder arrencar o si bé el BIOS ja fa el canvi automàticament en no detectar un disc.

Cal fer la següent prova:
Amb un disc desconnectat creem un fitxer (touch) i aturem. Tornem a connectar l'altre disc i sincronitzem. Si ho hem fet tot correctament el fitxeret anterior ha de seguir existint.

És imprescindible documentar-ho tot i enganxar-ho físicament al lateral de l'ordinador, i etiquetar discos, cables i connectors de la placa base.

dimecres, 30 de juliol del 2008

SAI pel Servidor

El servidor haurà d'estar en funcionament continuament i suportar que es talli el subministrament d'energia elèctrica. Per a això tenim un (varis) SAI. Com és un APC SmartUPS iNET 700 podem fer que el servidor s'entengui amb ell amb el programa apcupsd.
Per tant el connecto a l'ordinador mitjançant un cable al primer port sèrie i l'instal·lo, configuro i provo:
  1. Instal·lem amb:
# apt-get install apcupsd
que descarrega uns 3,4MB i n'instal·la uns 7,9MB. Cal dir que la versió és la 3.12.4, mentre que a la oficial van per la 3.14.4 (20 de maig de 2008).
  1. Configurem:
# cp /etc/apcupsd/apcupsd.conf /etc/apcupsd/apcupsd.conf.original
# nano /etc/apcupsd/apcupsd.conf
copiem la configuració mínima del manual oficial per a "A Simple Configuration for a SmartUPS":
 ## apcupsd.conf v1.1 ##
UPSCABLE smart
UPSTYPE smartups
DEVICE /dev/ttyS0
LOCKFILE /var/lock
UPSCLASS standalone
UPSMODE disable
editem /etc/defaults/apcupsd:
# nano /etc/defaults/apcupsd i canviem la línia ISCONFIGURED a yes
  1. Engegem amb:
# /etc/init.d/apcupsd start i mirem que no dóni errors.
  1. Comprovem-ho tot i fem proves:
#ps fax | grep apcupsd
ha d'aparèixer un procés amb /sbin/apcupsd (només un doncs estem amb un kernel 2.6.xx

#apcaccess status
llistarà tot de paràmetres del SAI i del programa

Si desconnectem el cable sèrie i al cap d'una estona el reconnectem ha d'aparèixer un missatge a la consola per a cada esdeveniment (wall).

Si desconnectem el cable del corrent del SAI ha de seguir funcionant i aparèixer tot de missatges en la consola.

La info de sota no funciona pel paquet apcupsd de debian4 doncs no hi ha els programes CGI. Podem monitoritzar remòtament connectant per ssh i invocant $ apcaccess status.

Per poder-ho veure des de qualsevol ordinador des de la consola o amb un navegador web hem d'activar el servei NIS de apcupsd afegint les següents línies al fitxer apcupsd.conf:
NETSERVER on
NISPORT 3551
Llavors podem invocar:
$ apcaccess status "fqdn o bé ip del host":3551

Si volem veure-ho gràficament en un navegador cal tenir instal·lat un servidor web (apache) que pugui executar programes cgi. I cal configurar el següent fitxer /etc/apcupsd/hosts.conf tot afegint al final:

MONITOR servidor-intern "SAI del servidor-intern"
A més cal moure els fitxers cgi de /etc/apcupsd al directori cgi-bin del servidor web. Llavors només caldrà accedir a:
http://servidor-intern/cgi-bin/multimon.cgi

Si no tenim apache ho podem veure dins el webmin, amb un mòdul de tercers APC UPS Daemon 0.81-1 (que costa de trobar) i que s'instal·la en l'apartat "Altres". Cal revisar la configuració del mòdul.

dimecres, 25 de juny del 2008

Serveis varis 1

Com volem instal·lar ubuntu en tots els ordinadors del centre ( cap a 200), i per no tenir problemes cal que les màquines estiguin ben actualitzades, havíem pensat en tenir una mena de repositoris locals per no consumir una burrada d'ampla de banda cada vegada que actualitzéssim o instal·léssim programes en totes les màquines.

La solució correcta es diu apt-proxy. És un programa servidor-clients que fa de servidor intermig i magatzem per als paquets instal·lats i/o actualitzats per a tots els ordinadors.

Hi ha una mini-guia a AptProxy - Community Ubuntu Documentation que he seguit i la cosa funciona molt bé.

1.- Cal instal·lar el programa al servidor

# apt-get install apt-proxy

i revisar la configuració

# nano /etc/apt-proxy/apt-proxy-v2.conf

Jo només he tocat el paràmetre address on he posat la IP del servidor.

2.- En els clients cal modificar el fitxer de configuració de repositoris:

# nano /etc/apt/sources.list

i substituir la part de la URL corresponent al servidor.domini per IP_del_servidor:9999

3.- Comprovació del funcionament:

En un ordinador amb el sources.list correctament configurat instal·lem algun programa i observem la velocitat de descàrrega, que serà l'habitual.
Si ara instal·lem els mateixos paquets en un altre ordinador amb el sources.list configurat la descàrrega VOLA.

divendres, 13 de juny del 2008

Servidor pels usuaris de l'insti: 3.- Configurar directori LDAP

Comencem a connfigurar slapd i omplir el directori.

# dpkg-reconfigure slapd
  • Ometre configuració servidor: NO
  • DNS domain name: iespeguera.cat
  • Name of organisation (base DN): Peguera
  • Contresenya admin: secreta
  • Datebase backend: BDB
  • Esborrar BBDD al purgar: NO
  • Move old database: SI
  • LDAPv2 protocol: NO
Ara ja podem accedir des d'un altra ordinador via web i provar si podem entrar:

http://192.168.0.204/phpldapadmin/
clicant Login i omplint
  • DN: cn=admin,dc=iespeguera,dc=cat
  • Password: secreta
Si no tenim clares les dades pel login, les tenim a
# cat /etc/ldap/ldap???.conf | less. El fitxer té permisos 600 i és del root.

Ara anirem a omplir el directori

Servidor pels usuaris de l'insti: 2.- Instal·lar OpenLDAP i programari auxiliar

Com el servidor no tindrà Xwindow i a més estarà decapitat (sense pantalla) instal·larem webmin (adminstració via web) i ssh (terminal per comandes).

WEBMIN
# mkdir /root/programari
# cd programari
# wget http://prdownloads.sourceforge.net/webadmin/webmin_1.420_all.deb. Descarrega 13MB
# dpkg -i webmin....deb. No es deixa configurar per problemes de dependències.
# apt-get -f install. Instal·la les dependències anteriors i configura webmin.

Ara ja podem accedir amb un navegador des d'un altra ordinador amb
https://192.168.0.14:10000/ i entrar com root o un altre usuari sudoer.

SSH
# apt-get install openssh-server

Ara ja podem accedir des d'un altre ordinador amb
$ ssh "usuari"@192.168.0.14
o bé
$ ssh "usuari"@servidor-intern
si tenim correctament configurat el DNS en l'ordinador des d'on ens connectem.

LDAP (sense replicació)
# apt-get install slapd
i demana la contrasenya de l'admin / secreta
# apt-get ldap-utils

PHPLDAPADMIN
# apt-get install phpldapadmin
entre altres dependències instal·la: apache2, apache2.mod-php5, php5-common i php5-ldap.
Compte a no instal·lar abans apache (instal·laríem apache 1.3) ni php4 tal i com diu la guia de dixie, que suposo que és antiga.
Ara ja es pot accedir a http://192.168.0.14/phpldapadmin/

Anem a configurar el més bàsic

dijous, 12 de juny del 2008

Servidor pels usuaris de l'insti: 1.- Instal·lació S.O.

Prenem dos ordinadors per fer proves, un serà el servidor i l'altra el client.
Pas a pas:
1.- Arrenquem l'ordinador amb el CD de debian 4.0r1 i enter
2.- Anem escollint:
  • idioma català
  • teclat ca_ES.UTF-8
  • eth0: rtl8139 i eth1: 3Com Cyclone
  • IP: 192.168.0.204 / 255.255.0.0
  • hostname: servidor-intern
  • domainname: iespeguera.cat
  • disc dur sencer (20GB) partició guiada amb home separada. Posa: root 5,4GB ext2, swap 682MB i home 14GB ext3. No cal complicar-se doncs és per provar.
  • Zona horària Madrid
  • usuari root / contrasenya secreta
  • usuari TIC (super) / contrasenya
  • Suplement repositori xarxa NO
  • Només sistema estàndard. Instal·la 100 fitxers en 2 minuts.
  • grub al MBR
El sistema arrenca per primera vegada i com no volem utilitzar el CD i sí volem actualitzar per xarxa:

# nano /etc/apt/sources.list
comentem l'entrada del cd i afegim:
deb http://ftp.es.debian.org/debian etch main contrib

# apt-get update
# apt-get upgrade. Descarrega 28MB i actualitza 13 arxius (12juny2008). Com actualitza els mòduls del kernel cal
# reboot.

A continuació instal·larem programari auxiliar.

Servidor pels usuaris de l'insti: 0.- Necessitats

Es tracta de muntar un servidor pels alumnes, professors i PAS de l'institut. Ha de servir de magatzem de fitxers de cada usuari individual i tenir zones per compartir-los.

Com només vull programari legal, i si pot ser lliure, utilitzarem linux.

Característiques (sense ordenar):
  • Usuaris: uns 840 alumnes (diurn i nocturn), 70 profes i 10 PAS. Això implicarà unes quotes, d'entrada 100MB pels alumnes i 1GB pels altres. Això suposa uns 164GB per tant caldrà un RAID (mirall o 5) amb discos de 200GB (2 o 3).
  • Suposarem uns clients linux d'entrada, per tant utilitzarem NFS pels home dels usuaris.
  • Per a l'autentificació utilitzarem LDAP (no NIS) doncs també voldrem utilitzar la base de dades per a Moodle i Samba.
  • Voldrem fer altes massives d'usuaris, per a això utilitzarem el webmin, que permet fer altes massives d'usuaris linux, usuaris LDAP, usuaris Samba i sincronitzar-los. O bé caldran alguns scripts.
Semblaria ideal la Linkat2, que implementa tot això i més en els perfils de servidor i client de centre, però si no utilitzes els seus valors per defecte no tenim nassos de fer-ho funcionar.
De l'experiència amb linux que tenim podríem escollir entre servidor amb ubuntu o amb debian finalment ens hem decantat cap a debian stable (etch, ara per ara) perquè fa una instal·lació més ajustada i sense tants serveis superflus, només cal comparar l'ús de RAM entre dos servidors similars. Ubuntu sembla mésamigable o automàtic d'entrada,però si les coses es compliquen ja veuríem.

Com a guies d'implementacions similars, i que ens són d'ajuda tenim:
  • http://ieslacetania.xtec.cat/curs_linux/doku.php?id=ldap
  • http://wiki.debianperu.org/doku.php?id=tutoriales:samba-ldap
  • http://www.cs.dixie.edu/ldap/
Abans però cal documentar-se sobre el contingut i la forma del LDAP, per exemple a:
  • http://ldapman.org/articles/sp_intro.html
  • http://www.faqs.org/rfcs/rfc2251.html
  • http://dns.bdat.net/documentos/ldap/
  • http://quark.humbug.org.au/publications/ldap/
  • Google: LDAP
Aviat el pas a pas.

Snap Shots

Get Free Shots from Snap.com