En los últimos años he constatado que varias tarjetas de memoria SD han dejado de servir debido a la carga continuada de escritura/lectura generado por un servicio que necesitaba constante acceso a ella. Servicios como un servidor de correo, una base de datos (mysql), Apache… genera una utilización constante de acceso a disco.
Por otro lado el lector SD de la raspberrypi no se puede quitar ya que es vital para el arranque.
Volcamos la imagen (RASPBIAN Debian Wheezy) en nuestra tarjeta SD y arrancamos la nuestra RPI.
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
reboot
|
Tomamos nota de las unidades de disco presentes en el sistema:
sudo fdisk –l
(inicialmente veremos dos particiones procedentes de la tarjeta SD, si conectamos el disco aparecerá en esta lista y tomamos nota de nombre de la unidad)
Disk /dev/mmcblk0: 31.9 GB, 31914983424 bytes
4 heads, 16 sectors/track, 973968 cylinders, total 62333952 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: 0x000981cb
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA)
/dev/mmcblk0p2 122880 62333951 31105536 83 Linux
|
Si conectamos un nuevo disco SATA por USB habrá que prepara las particiones y formatearlas. Creamos dos particiones, una swap y una para el sistema.
Si el disco conectado corresponde a esta unidad /dev/sda
sudo fdisk /dev/sda
d
[borramos todas las particiones que podrían existir]
n
[añadimos dos particiones una de 1024MB para la swap tipo 82 y otra para el Sistema con el resto de espacio tipo 83]
|
Formateamos la partición para el sistema:
sudo mkfs.ext4 /dev/sda1
|
Formateamos la partición para la swap:
Creamos la swap (de momento no está activada, lo haremos posteriormente)
sudo mkswap /dev/sda2
|
Copiamos el contenido del (File System) de la tarjeta SD al nuevo disco SATA:
sudo dd if=/dev/mmcblk0p2 of=/dev/sda1 bs=32M conv=noerror,sync
|
Verificamos que no hay errores (la partición no tiene que estar montada):
sudo e2fsck -f /dev/sda1
|
Expandimos el (file system) en la totalidad del diso:
sudo resize2fs /dev/sda1
|
Realizamos una copia de seguridad del fichero:
sudo cp /boot/cmdline.txt /boot/cmdline.backup
|
Cambios el disco boot:
sudo vi /boot/cmdline.txt
Cambiamos la partición de datos de la tarjeta SD para usar la que está en el disco SATA
Cambiamos:
/dev/mmcblk0p2 /
Por:
/dev/sda1
|
Montamos la unidad de disco de datos (nuestro nuevo disco SATA):
sudo mount /dev/sda1 /mnt
|
Cambiamos en fstab las particiones y el disco:
modificar el fichero ubicado en:
/mnt/etc/fstab
Cambiamos la unidad root: [/dev/mmcblk0p2 /
Por:
/dev/sda1
Lo mismo para la partición swap:
/dev/sda2
Ejemplo:
root@Postfix:~# cat /etc/fstab
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2 << Cambiar
#/dev/mmcblk0p2 / ext4 defaults,noatime 0 1 << Cambiar
/dev/sda1 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, so no using swapon|off from here on, use dphys-swapfile swap[on|off] for that
|
A continuación sincronizamos y reiniciamos:
sudo sync
sudo shutdown -r now
|
Al reiniciar la Rasperry pi arrancará usando la tarjeta SD y transfiere que la utilización para que sea el disco externo SATA.
blkid
Proporciona información sobre tipo de contenido y se puede obtener UUID
root@horus:/etc# blkid
/dev/sda1: UUID="afc160c8-f7ab-4549-8e54-15cdf9d653a3" TYPE="swap"
/dev/sda5: UUID="feea7d6d-c24a-4cce-aa10-66ded61c05c9" TYPE="ext4"