Si eres poseedor de una raspberry pi, quizás te hayas percatado de que para conectar un disco duro o unidad usb no basta con conectar el usb y ya está. Vamos a aprender como conectar unidades usb a nuestra raspberry pi.
Desgraciadamente por defecto la Raspberry pi solo es capaz de leer discos duros o memorias flash, esto significa que podremos montarla y leer los datos pero no podremos modificarlos. Por suerte existen formas de hacer que se pueda escribir en el disco duro de nuestra raspberry pi y así poder utilizarlo para lo que quieras, desde backups (como explicaremos en otro artículo) hasta crear un NAS y servidores de películas.
Configurar la Raspberry Pi para que lea sistemas de archivos NTFS
Por defecto nuestra malina (nombre cariñoso de la fruta en otro idioma, a ver si adivinas cual), no lee sistemas de archivos NTFS, pero no desesperes, ya que esto tiene solución. Por el momento lo primero que haremos será conectarnos por ssh a la RPi o desde su misma consola y actualizar el apt-get con los siguientes comandos:
sudo apt-get update sudo apt-get upgrade
Ahora que ya la tenemos actualizada vamos a seguir con el proceso de instalación del ntfs
sudo apt-get install ntfs-3g
Por el momento nada mas terminar la instalación ya debería ser capaz de lidiar con este tipo de sistemas de archivos. En caso de que los discos o unidades que vayas a conectar no utilizen este sistema de archivos puedes omitir esta parte.
Averiguar ruta de montaje de nuestro disco duro en la Raspberry Pi
Ahora tenemos que buscar cual será la ruta en la que estará el disco duro que hayamos conectado, tranquilo es bastante fácil. Ejecutaremos el siguiente comando:
sudo fdisk -l
y deberíamos ver una lista similar a la siguiente:
Disk /dev/mmcblk0: 7969 MB, 7969177600 bytes 4 heads, 16 sectors/track, 243200 cylinders, total 15564800 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00065bd9 Device Boot Start End Blocks Id System /dev/mmcblk0p1 8192 2496093 1243951 e W95 FAT16 (LBA) /dev/mmcblk0p2 2498560 15499263 6500352 85 Linux extended /dev/mmcblk0p3 15499264 15564799 32768 83 Linux /dev/mmcblk0p5 2506752 2629631 61440 c W95 FAT32 (LBA) /dev/mmcblk0p6 2637824 15499263 6430720 83 Linux Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x90ec2574 Device Boot Start End Blocks Id System /dev/sda1 2048 976769023 488383488 7 HPFS/NTFS/exFAT
Por supuesto dependerá de los datos y configuraciones de tu raspberry, pero nos vamos a fijar en la última línea que serán los discos externos conectados: /dev/sda1 2048 976769023 488383488 7 HPFS/NTFS /exFAT. Si tienes más de uno te aparecerán aquí todos.
Una vez que sabemos este dato nos vamos a fijar en la ruta, que en este caso sería /dev/sda1 y seguiremos teniendo en cuenta este dato.
Montar disco duro externo en Raspberry pi de forma permanente
Ahora vamos a montar nuestro disco duro, pero para ello tendremos que crear una ubicación física en nuestro sistema. Este paso es relativamente fácil así que lo que haremos será elegir donde queremos que se monte. Yo lo voy a poner en /var/hdd, pero tú podrías ponerlo donde quieras, por ejemplo /media/hd o /discoduro. Para ello crearemos la carpeta con el siguiente comando:
sudo mkdir -p /var/hdd
Ahora tenemos dos opciones, una es que vayamos a dejar el disco conectado y queramos que se monte cada vez que ejecutamos la malina. Para ello tendremos que editar el fstab:
nano /etc/fstab
y añadiremos una línea con nuestro disco duro, en este caso la que empieza por /dev/sda1:
proc /proc proc defaults 0 0 /dev/mmcblk0p5 /boot vfat defaults 0 2 /dev/mmcblk0p6 / ext4 defaults,noatime 0 1 /dev/sda1 /var/hdd ntfs-3g defaults 0 0 # a swapfile is not a swap partition, so no using swapon|off from here on, use dphys-swapfile swap[on|off] for that
La parte de /var/hdd será la carpeta que has creado, y la de ntfs-3g será el sistema de archivos de tu disco duro, si es fat32 tienes que poner vfat. Para añadir más discos simplemente añadimos más líneas.
Si en lugar de utilizar las particiones como /dev/sda1 quieres que se monte siempre que esté conectado puedes mirar cómo montar unidades en linux por uuid. De esta forma siempre que conectes ese disco o memoria se volverá a montar en el mismo punto que hayas indicado.
Tras modificarlo puedes recargar el fstab y hacer que directamente se monten las unidades con el comando:
umount -a
Tras todo esto y viendo que se hayan montado correctamente solo te queda reiniciarla para ver que se haya montado el disco duro en inicio.
sudo reboot
Una vez reiniciado podemos acceder a nuestra carpeta y crear una carpeta para ver que nos deja escribir
cd /var/hdd sudo mkdir carpeta ls /var/hdd
Veremos que nos ha dejado la carpeta creada. Si queremos realizar una comprobación más a fondo podemos desmontar el disco y conectarlo a nuestro ordenador para ver que realmente se haya creado.
sudo umount /dev/sda1
Montar de forma puntual y volver a desmontar disco duro en Raspberry pi
Si en lugar de dejar el disco duro montado de forma permanente en cada reinicio, lo único que queremos hacer es montarlo para leer o escribir algunas cosas y luego volverlo a desmontar (lo veremos en el artículo backups con consumo eléctrico optimizado) lo que vamos a hacer va a ser lo siguiente:
para montarla ejecutaremos este comando (siempre sabiendo la ruta de montaje tal y como hemos averiguado arriba)
sudo mount /dev/sda1 /var/hdd/
en este momento podremos escribir en el disco en la ruta /var/hdd y hacer las gestiones que necesitemos. Después para desmontarlo ejecutaremos esta línea
sudo umount /var/hdd/
con esto el disco quedaría extraído y podríamos desconectarlo sin problema
Forzar umount del disco cuando device is busy in Raspberry pi
Si nos indica el siguiente mensaje al hacer umount (o algo parecido):
umount: /var/hdd: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
significa que el disco duro está realizando alguna acción, podemos esperar a que termine el programa que sea o podemos forzar el desmontaje con este comando:
sudo umount -l /dev/sda1
Con todos estos datos estamos listos para conectar discos duros y unidades flash a nuestra malina, además de que hemos aprendido la base para luego poder utilizarla para crear un centro de backups o por ejemplo un NAS.
Ver comentarios (25)
Hola, acabo de comprar un disco de 5tb y quiero saber si puedo montarlo en una sola unidad, algo como el comando ntfs-3g pero para 4 o 5 tb de momento la rapbsberry de forma nativa no me reconoce más de 3.99 tb
En un principio no deberías tener problema, ya que el sistema de archivos ntfs tiene un límite muy por encima en cuanto a espacio por partición. Has probado a formatearlo desde la raspberry?
@vichaunter:disqus en la lista de fstab tienes puesto default en la línea de la nueva inserción... eso hace petar la rasp al inicio. Tiene que ser defaults.
Gracias, lo corrijo, vaya fail :P
A mi no me funciona desde el "sudo fdisk -l" No me aparecen los disco externos conectados a la raspberry...
A lo mejor es un poco tarde... pero ¿¿has probado a darle más potencia a la rasp??
A lo mejor también necesitas poner esto en el config
safe_mode_gpio=4
max_usb_current=1
Y para editar el archivo: sudo nano -w /boot/config.txt
(a mi acaba de pasarme lo mismo y me funcionó)
Hmmm, supongo que tienes instalado raspbian, y que los discos que tengas conectados de forma externa los puedes ver y acceder a ellos desde la interfaz gráfica, correcto?
Sí, desde Raspbian. No, no puedo acceder a ellos. Me meto en media y no hay nada conectado. No sé qué sucede, he seguido todo tipo de tutoriales acerca de esto y nada. Cabe recalcar que soy nuevo en este mundillo.
Un par de preguntas, los discos duros son de 3,5 con alimentación externa o son de 2,5 autoalimentados? qué tiempo tienen? si son de 2,5, el cable tiene en una punta dos conexiones usb para meterle voltaje adicional?, puede ser que haya que hacer un desmontaje forzoso si te los ha pillado en algún momento y se ha quedado pillada, a veces le pasa.
Es un Toshiba Canvio Basic de 2,5 autoalimentados, tengo 2, uno es totalmente nuevo y el otro tendrá 1 año. Pero funcionan perfectamente desde windows. No, no tiene dos puntas, tienen conexión usb 3.0. ¿Y eso que comentas como sería?
Es que en los primeros discos duros usb2 (y unos años después) las placas no habían avanzado tanto como para poderse alimentar solo de un usb, y tenían dos puntas con las que cogían corriente de dos tomas usb, pero si es usb3 debería funcionarte, aunque hmmm... qué adaptador de corriente estás usando? el transformador cuantos amperios marca? por que igual es que la raspberry va justa de voltaje y por eso no te los detecta, te has fijado si hacen ruido de que arrancan los platos?, una opción para probar si es por eso sería o bien poner un disco duro usb que tenga alimentación, o probar con un hub usb que lleve alimentación, para ver si es por culpa de que no tiene bastante como para alimentar también el disco duro.
Error mio, el cargador que usaba para dar energia ponia que era hasta 2 A y en realidad no daba esa cantidad. He probado con otro y si que arranca esta vez el disco duro, anteriormente no vibraba como suele hacer.
Ahora me tira otro error, y es desde la interfaz nada mas iniciar raspbian:
"Error mounting mount exited with exit code 1: Helper failed with mount only root can mount /dev/sda1 on /media/usbhdd1"
¿qué debo hacer?
Bien, ya hemos avanzado un pasito jeje, ahora a lo siguiente, ese error te lo está dando por que intentas montar la unidad sin permisos root. Tienes o has creado algún script para que te intente montar en arranque la unidad de alguna forma determinada y está sin permisos root?
Si es así lo ideal sería que lo borraras el script o lo quitases del arranque deshaciendo los pasos que hayas seguido.
Te recomiendo también que conectes los discos después de haber arrancado el sistema y vayas haciendo los pasos de uno en uno para no confundirte.
buen tutorial yo tengo un problema si la raspi se apaga o la reinicio ya no me reconoce el disco duro asta que apago el disco duro y las raspi ahi me vuelto todo normal
Lo estás montando de forma permanente?
Es importante que sea en la ruta /var/ donde se monte el disco duro? tengo un XBMC montado sobre Raspbian y el disco duro (4TB NTFS) montado en /media/multimedia/ Al arrancar el XBMC tras unos segundo comienza a expulsar de forma no segura y montar el disco duro repetidas veces. Alguna idea?? Gracias.
En un principio deberías poder montar la unidad en la ruta que quisieras, también depende un poco del sistema operativo que estés usando pero ese error que comentas tiene toda la pinta de ser de la fuente de alimentación del disco duro. Es de 2,5 o de 3,5 pulgadas? se alimenta con el Raspbian? prueba a ver si en un pc te hace cosas raras, si es de 2.5 quizás no le esté llegando bastante voltaje desde los usb
El caso es que todo va bien. Puedo acceder a los archivos del disco duro desde otros equipos y descargar películas con el transmission y no parece que haya problemas, pero al ejecutar el xbmc todo falla. Además, el disco duro está alimentado por un cable de alimentación externa... Por otra parte, instalé el openelec (pensaba que podía ser problema de inestabilidad de Kodi), pero sigo con los mismos problemas... así que a pesar de lo anterior, tu explicación gana peso y parece ser la correcta. ¿Hay alguna manera de anular la alimentación de los usb (individualmente)?
Creo que no hay forma de deshabilitar únicamente la alimentación, solo se me ocurre utilizar un cable usb "trucado" en el que le hayas sacado los cables de alimentación y los conectes a un transformador de 5v o un usb en el pc para ver que sea ese problema. Por otro lado si tienes algún otro disco duro externo sería conveniente probarlo, no vaya a ser cosa de que la única unidad que te de problemas sea esa por algo de la placa del usb en la cajita del disco.
Muchisimas gracias por tu explicacion fue excelente y clara.
Me alegra que te haya servido, un saludo
polaco
perdón?
muchas gracias! sera el mismo procedimiento para openelec?
Debería servir ya que es una distribución de linux para rpi