Sei sulla pagina 1di 12

Departamento de Sistemas y Computacin

Ingeniera en Tecnologas de la Informacin y


Comunicaciones

SISTEMAS EMBEBIDOS

PRACTICA 6 USANDO UNA RASPBERRY PI, DEBERA IMPLEMENTAR


UN SISTEMA DE ALMACENAMIENTO EXTERNO NAS

INTEGRANTES DEL EQUIPO:


Castro Murillo Luis Arturo 12150219
Caballero Nieto Sandra Penlope 12150218
Viridiana Hernandez Cervantes12150235
Ivn Brcenas Duron 12150217
Castro Michel Diego 11150136

MAESTRO CATEDRATICO: Ing. Hctor de Jess Macas Figueroa

INTRODUCCION
El almacenamiento conectado en red, Network Attached Storage (NAS), es el
nombre dado a una tecnologa de almacenamiento dedicada a compartir la
capacidad de almacenamiento de un computador (servidor) con computadoras
personales o servidores clientes a travs de una red (normalmente TCP/IP),
haciendo uso de un sistema operativo optimizado para dar acceso con los
protocolos CIFS, NFS,FTP o TFTP.

RESUMEN
Los sistemas NAS son dispositivos de almacenamiento a los que se accede
desde los equipos a travs de protocolos de red (normalmente TCP/IP). Tambin
se podra considerar un sistema NAS a un servidor (Microsoft Windows, Linux,
etctera) que comparte sus unidades por red, pero la definicin suele aplicarse
a sistemas especficos.
Los protocolos de comunicaciones NAS estn basados en archivos por lo que el
cliente solicita el archivo completo al servidor y lo maneja localmente, por lo
que estn orientados a manipular una gran cantidad de pequeos archivos. Los
protocolos usados son protocolos de comparticin de archivos como Network
File System (NFS) o Microsoft Common Internet File System (CIFS).
Muchos sistemas NAS cuentan con uno o ms dispositivos de almacenamiento
para incrementar su capacidad total. Frecuentemente, estos dispositivos estn
dispuestos en RAID (Redundant Arrays of Independent Disks) o contenedores
de almacenamiento redundante
Usos de Nas
NAS es muy til para proporcionar el almacenamiento centralizado a
computadoras clientes en entornos con grandes cantidades de datos. NAS
puede habilitar sistemas fcilmente y con bajo costo con balance de carga,
tolerancia a fallos y servidor web para proveer servicios de almacenamiento. El
crecimiento del mercado potencial para NAS es el mercado de consumo donde
existen grandes cantidades de datos multimedia.
El precio de las aplicaciones NAS ha bajado, ofreciendo redes de
almacenamiento flexibles para el consumidor domstico con costos menores
de lo normal, con discos externos USB o FireWire.
Algunas de estas soluciones para el mercado domstico son desarrolladas para
procesadores ARM, PowerPC o MIPS,
corriendo sistemas
operativos Linux
embebido.
Ejemplos
de
estos
son Melco
Buffalo's
TeraStation1 y Linksys NSLU22 .
Copia de seguridad y restauracin.
Nube privada.
Comparticin de archivos.
Volmenes iSCSI.

Servidor web.
Servidor de impresin.
Servidor de VPN.
Virtualizacin.

OBJETIVO
Usando una raspberry se deber implementar un sistema de almacenamiento
externo Nas

MATERIAL

Raspberry pi 2
Cable de alimentacin
Monitor
Mouse
Teclado
Memoria SD 16 GB
Adaptador vga a hdmi

DESARROLLO
MONTAR EL DISCO DURO EXTERNO EN LA RASPBERRY PI
Esta parte evidentemente es opcional. Si lo que quieres es compartir una
carpeta dentro de tu sistema de ficheros de la Raspberry Pi puedes saltarte
este paso. En mi caso como no podra compartir una gran cantidad de espacio
debido a las limitaciones de la tarjeta SD me he decantado por compartir un
disco duro externo de 1,5TB.
Para hacer esta parte ms fcil y no extender mucho ms el post de lo que ya
se va a extender he formateado el disco duro desde mi ordenador de escritorio
en formato ext4 antes de conectarlo a la Raspberry.
Antes que nada deberemos crear en nuestro sistema de archivos la carpeta
donde montaremos el disco duro, en este tutorial se utilizar /mnt/NAS:
$ sudo mkdir /mnt/NAS
Posteriormente debemos identificar el disco duro en nuestro sistema. Para ello
nos valdremos de:
$ blkid
Que nos debera mostrar una lnea parecida a la siguiente:
1

/dev/sda1: LABEL="NAS" UUID="37cdcd88-696a-4c63-9c1b-66cdcbb89b3f" TYPE="ext4"

Copiaremos el UUID, que ser lo que utilizaremos para identificar el dispositivo


dentro del fichero fstab que pasaremos a editar ahora:
$ sudo nano /etc/fstab
Al final de este archivo debemos crear una lnea similar a la siguiente:
1

UUID=37cdcd88-696a-4c63-9c1b-66cdcbb89b3f /mnt/NAS ext4 defaults,noatime 0 0

Lo que estamos haciendo en esta lnea es indicar dnde y como queremos


montar nuestro disco duro en el sistema de archivos. En este caso lo estamos
montando en /mnt/NAS y con los parmetros por defecto. Recomiendo que si

no conocis el funcionamiento de este archivo antes de hacer nada y copiar y


pegar a lo bruto la revisis para entender exactamente qu implica cada
parmetro.
Editado el archivo lo guardamos, cerramos y montamos el disco en nuestro
sistema de ficheros:
$ sudo mount -a
Si la sintaxis era correcta y no aparece error alguno al ejecutar mount ya
tendremos nuestra unidad montada en /mnt/NAS.
INSTALAR SAMBA EN RASPBIAN
No estoy seguro de si esto es necesario en una instalacin limpia de Raspbian,
puesto que yo borr una cantidad enorme de paquetes de Raspbian tal y como
indiqu en el tutorial correspondiente, de todos modos no tiene mucho misterio
utilizando apt:
$ sudo apt-get install samba samba-common-bin
Esto ser todo lo que necesitaremos instalado para continuar con el tutorial.
CREACIN DE USUARIOS Y GRUPO
Toca crear los usuarios y el grupo que interactan con las carpetas
compartidas. Si habis trabajado con comparticiones en Windows la mecnica
de permisos es parecida en el sentido de que existen dos permisos con los
que tendremos que tratar, con los permisos del sistema de archivos y con los
permisos de Samba.
Como nuestro servidor Samba se encuentra en un ambiente donde no existe
un Active Directory ni un LDAP contra el que autenticar usuarios deberemos
crear los usuarios en el propio servidor y en Samba.
Para crear los usuarios en nuestra Raspbian usaremos:
$ sudo adduser -shell /bin/false --no-create-home usuario1
$ sudo adduser -shell /bin/false --no-create-home usuario2

Como podis observar le he pasado un par de parmetros al comando adduser,


totalmente opcionales pero que personalmente recomiendo:

-shell /bin/false: El parmetro -shell sirve para asignar un intrprete de


rdenes (shell) distinto al que viene asignado por defecto en nuestro sistema.
Asignarle una shell falsa har que el usuario no pueda logearse en el sistema ni
acceder va ssh, siendo ambas cosas innecesarias adems de un potencial
riesgo en este entorno.

no-create-home: Esta otra opcin es autoexplicativa. Forzamos a


adduser a no crear un directorio home en el sistema, interesante para no llenar
el directorio de carpetas innecesarias.
Posteriormente los aadimos a la lista de usuarios de Samba:
$ sudo smbpasswd -a usuario1
$ sudo smbpasswd -a usuario2
Ahora toca crear el grupo y unir a nuestros dos usuarios a dicho grupo:
$ sudo addgroup home
$ sudo adduser usuario1 home
$ sudo adduser usuario2 home
Llegados aqu ya tendremos lo necesario para implementar la seguridad
pertinente en las carpetas compartidas que vamos a crear a continuacin.
CREACIN DE CARPETAS COMPARTIDAS Y ASIGNACIN DE PERMISOS
Vamos a crear las carpetas que vamos a compartir dentro de nuestro disco
duro externo siguiendo el esquema anteriormente descrito:
$ cd /mnt/NAS
$ sudo mkdir carpus1 carpus2 compartida
Con las carpetas creadas es hora de poner un orden a los permisos de las
carpetas. Tal y como hemos visto en el esquema necesitamos que los usuarios
puedan leer y escribir en su carpeta personal y en la compartida, pero no en la

carpeta personal de los dems. Para ello primero vamos a cambiar la propiedad
de las carpetas a los usuarios y grupos correspondientes:
$ sudo chown -R usuario1:usuario1 carpus1
$ sudo chown -R usuario2:usuario2 carpus2
$ sudo chgrp -R home compartida
Y asignamos los permisos correspondientes a todas las carpetas:
$ sudo chmod -R 770 *
Estos permisos evidentemente no son al azar. Lo que pretendemos es que solo
el usuario y grupo propietarios puedan leer y escribir en la carpeta y
que el resto de usuarios no pueda acceder. Puesto que el grupo usuario1 y
usuario2 estn compuestos nicamente por los usuarios con el mismo nombre
nos aseguramos que nadie ms puede acceder. Si no tenemos muy fresco el
tema de los permisos es mejor que lo repasemos para saber exactamente qu
estamos haciendo.
Hay una ltima cosa tenemos que tener en consideracin con el tema de los
permisos. En la carpeta compartida escribirn usuario1 y usuario2, por lo que
cuando creemos un archivo ah dentro, como su grupo principal es usuario1 y
usuario2 respectivamente nos encontraremos con que un usuario no podr
modificar lo creado por el otro. La solucin a esto se encuentra en el
bit setgid. Asignar este bit a la carpeta compartida har que todo lo que
creemos bajo este directorio sea asignado al grupo de la carpeta principal, por
lo tanto, lo que cree usuario1 ser asignado al grupo home, lo que permitir
que ambos puedan modificarlo.
Asignar el bit es muy sencillo, simplemente ejecutaremos:
$ sudo chmod g+s compartida
Ejecutar un ls -l nos mostrar el resultado de todo lo hecho en este apartado:
1

$ ls -l

drwxrws--- 2 root home 4096 Oct 10 21:13 compartida

drwxrwx--- 2 usuario1 usuario1 4096 Oct 10 22:41 carpus1

drwxrwx--- 2 usuario2 usuario2 4096 Oct 10 21:12 carpus2

Como vemos, todas las carpetas tienen permiso 770, y en la carpeta


compartida podemos ver una s en la casilla de ejecucin de grupo, lo que
muestra que est habilitado el bit setgid.
CONFIGURACIN DE SAMBA EN LA RASPBERRY PI
Hecha toda la preparacin falta precisamente de lo que trata este post:
configurar Samba en la Raspberry Pi. En este tutorial no voy a tocar nada que
no sea necesario para la configuracin propuesta en el esquema del principio
de la entrada, esto se debe a que las opciones de Samba son muy extensas y
difcilmente podra cubrirlas en una entrada de este estilo. As que vamos al lo:
Como siempre lo primero que haremos ser crear un backup del archivo de
configuracin que vamos a editar, para as poder volver atrs en caso de que
toquemos algo que no debemos.
$ sudo su
# cd /etc/samba
# mv smb.conf smb.conf.orig
Despus de esto crearemos una copia limpia de comentarios del archivo
original. Esto lo haremos mediante la herramienta de verificacin de la
configuracin de smb.conf:
# testparm -s smb.conf.orig > smb.conf
El archivo original est muy bien documentado, as que siempre es til dirigirse
a l en busca de informacin sobre los parmetros as como podemos hacerlo
en la pgina man de smb.conf.
Vamos a editar nuestro archivo de configuracin generado:
# nano smb.conf

Observaremos que hay distintas secciones separadas en el archivo de


configuracin. De las ya existentes solo tocaremos la seccin [global] en la que
aadiremos lo siguiente:
security=user
Si bien este es el comportamiento por defecto siempre es interesante tenerlo
puesto.
Ahora generaremos nuestras propias secciones, que correspondern a las
distintas carpetas que compartamos. Puesto que en esencia las tres secciones
son iguales pondr los comentarios solo en la primera:

Hecho

esto

guardamos

el

archivo

ejecutamos

la

herramienta

de

comprobacin del archivo smb.conf:


# testparm
Que no debera mostrarnos errores. Posteriormente reiniciamos el servicio
Samba:
# service samba restart

COMPROBACIN DEL FUNCIONAMIENTO


Con todo esto hecho ya tendramos que tener nuestro servidor Samba
funcionando en la Raspberry Pi. Como ltima parte del tutorial os dejo de forma
genrica como acceder a los recursos compartidos con Samba desde
GNU/Linux y Microsoft Windows para que podis comprobar que todo funciona
bien.

EVIDENCIAS

CONCLUSIONES
En esta prctica de almacenamiento NAS en la red, accede a los equipos
atraves de protocolos de red y que comparte sus archivos de red en donde
NAS estn basados en archivos por lo que el cliente solicita el archivo
completo al servidor y lo maneja localmente, por lo que estn orientados a
manipular una gran cantidad de pequeos archivos.

BIBLIOGRAFIA O REFERENCIAS ELECTRONICAS


http://sobrebits.com/montar-un-servidor-casero-con-raspberry-pi-parte-8-nascon-raspberry-pi-y-samba/

Potrebbero piacerti anche