- Se incorporó
- 2 Octubre 2005
- Mensajes
- 13.602
Nuestra aventura continúa! Y esta entrega se viene sabrosa ya que les mostraré más imágenes (oooooh), mejores cuentos (ooooohhh y un "Ay Dios mío") y espectaculares benchmarks (OOOOHHHHH y al menos un desmayado de la emoción)!!!1!!1!
Si no ha leído la primera parte... vaya ya. De lo contrario, continuemos.
Capítulo 5: Ahora empieza el pah drama
Como ya tenía un sistema operativo... operativo (de "funcionando, en operación") supuse que el cambio sería bastante simple: tenía todo en Docker así que era flashear sistema en el disco nuevo, copiar algunas cosas, iniciar sistema y paf nació chocapic. La dura realidad me demostró que aunque es posible correr Raspbian desde el SSD, esto no está soportado oficialmente todavía así que hay que hacer algunos menjunjes y ajustes por aquí y por allá para que todo funcione.
Sin embargo, existe software que te hace la vida más fácil, así es como di con Berryboot que te permite instalar más de un sistema operativo en el SSD mientras que la tarjeta SD queda sólo como partición para
/boot
. Una bonita solución. Que no funciona como me di cuenta de forma dolorosa cuando ya tenía todo listo y me dispuse a iniciar las imágenes en Docker: resulta que por algún motivo, decidieron usar AUFS y Docker no tiene compatibilidad para eso. Eso significaba sólo una cosa: iba a tener que hacer muchas cosas de forma manual.Esto significa en la práctica tener que flashear Raspbian tanto en el SSD como en la tarjeta MicroSD y una vez instalado tener que reiniciar mil veces entre cada ajuste: la verdad es que si no fuera por este video de Andreas Spiess me habría demorado todo el día pero gracias a su excelente video, me demoré con cuea 1 hora en todo el proceso. El video lo explica mil veces mejor que yo pero muy en resumen hay que hacer lo siguiente:
- Escribir la misma imagen de forma simultánea a la tarjeta MicroSD y el disco SSD (mediante Balena Etcher)
- Opcional: no olvidar archivo vacío
ssh
para poder conectarse via SSH y su configuración WiFi enwpa_supplicant.conf
en ambas particiones/boot
- Instalar ambos en el sistema
- Primer booteo: Cambiar el PARTUUID del SSD (con
fdisk
) - Primer booteo: Cambiar el disco de booteo en la MicroSD y SSD (Se hace en
/boot/cmdline.txt
- Segundo booteo: Controlar que estamos booteando del disco correcto (Mediante
findmnt -o -o SOURCE /
) - Segundo booteo: Cambiar el tamaño de la partición mediante
fdisk
- Tercer booteo: Aplicar
resize2fs
para que el sistema de archivos se actualice - Tercer booteo: Actualizar el sistema (
sudo apt update;sudo apt upgrade
) - Cuarto booteo: Empezar a ocuparlo!
- Copiar todos mis archivos que tenía todavía en la tarjeta anterior y disfrutar de la vida
Aquí me voy a detener un minuto: opté ir por una nueva tarjeta MicroSD y no ocupar la que ya estaba instalada porque he leído de algunos casos donde esto no funciona bien o quedan con bugs raros: así que opté por lo sano y elegí instalar un sistema limpio. Me mandé si el TREMENDO susto cuando inserté la tarjeta MicroSD vieja en mi PC y empezó con problemas del tipo "no reconozco esta tarjeta" y todos los consejos en internet decían que la tarjeta estaba corrupta y nada que hacer. Rápidamente volví a la raspberry con la tarjeta vieja y mi corazón se sintió aliviado cuando booteó de lo más bien. Aproveché de copiar todos mis archivos e imágenes de Docker a mi PC via la red y volví a instalar la nueva tarjeta MicroSD con el SSD.
Capítulo 6: Benchmarks!
La verdad es que la Raspberry está muy bien hecha y también es uno de los computadores / plataformas más bencheadas del planeta, así que no haré un extenso benchmark de cada componente del sistema, y es más: confiaré en esos otros reviews. Para tirarles algunos números, les contaré que de partida la red Gigabit y los puertos USB 3.0 van por 2 lanes separados, así que la red Gigabit está a sólo un escupo de alcanzar el máximo teórico de 1Gbps: se queda corto por 30Mbit/s.
Los puertos USB 3.0 por el otro lado, sí están lejos del máximo teórico de 5Gbps, llegando a aproximadamente la mitad: aproximadamente 350MBps o 2.8Gbps si lo quieren leer en bits. El Corsair BX500 alcanza su máxima velocidad en lectura, que es donde alcanza 498MBps (casi 4Gbps). Es de esperar que la controladora que compré en China realmente aguante el tráfico de 6Gbps que dice tener.
Lo primero que hice fue testear qué tan rápido (o lento) andaba la lectura, ya que es el primer parámetro y el más importante. Para probar esto, simplemente ejecuté un dd unas cuantas veces, procurando de limpiar la caché entre cada pasada. Cabe destacar que tanto la tarjeta MicroSD como el USB Stick dieron resultados bastante parejos, mientras que el SSD era más variado.
Cabe destacar que me sorprendió de sobremanera el USB Stick: nunca pensé que iba a ser capaz de alcanzar los 200MBps. Quizás un disco SSD sea overkill después de todo... pero falta la la prueba de la escritura todavía!
Y es acá donde sacamos el conejo del sombrero ya que la diferencia es abismal: lo primero que se aprecia en el gráfico es la abrupta caída en rendimiento del SSD casi al final de los tests: creo que esto se debe a que la Raspberry Pi empezó a aplicar throttle a la CPU ya que mi Raspberry Pi la tengo sólo con refrigeración pasiva y ejecuté las pruebas en un loop.
Lo segundo que llama la atención, es que parece haber desaparecido la tarjeta MicroSD... pero no, el meollo del asunto es que tanto la tarjeta MicroSD como el USB drive obtienen exactamente el mismo rendimiento en la prueba de escritura!
Para dilucidar algo mejor este último descubrimiento, es que promedié los resultados anteriores en un sólo gráfico fácil de analizar. Aquí se puede apreciar bien la diferencia abismal entre la escritura y lectura de los 3 medios que probé: tanto así que la tasa de escritura del SSD casi equivale a la lectura del USB Stick! Esto se debe a una limitante del disco en sí, ya que si tuviera un disco SSD más rápido (o un disco + enclosure NVMe) lo más probable es que me tope con el mismo límite de la lectura: este límite es el del bus de datos USB 3.0 de la Raspberry Pi en sí y no del disco.
Capítulo 7: Conclusiones
Y ha llegado la hora final! ¿Se nota algún cambio en el día a día? Pues para mi es todavía muy temprano para tomar una decisión al respecto ya que hace unos días no más que terminé con todo el trabajo, pero mientras estaba instalando y configurando todo la sensación de velocidad era tal que a ratos no me daba cuenta que estaba trabajando en una Raspberry Pi: mientras transfería mis datos de una máquina a la otra, vi que estaba escribiendo a unos 360Mbps, lo cual es aproximadamente 1/3 de mi gigabit LAN, lo cual no es malo: representa un gran salto de esos 110Mbps que lograba con el USB Stick o la MicroSD y el sistema en general se siente ágil, si comparamos los datos de hace una semana (izquierda) a la de ahora (derecha) veo esto:
De todas formas, en lo que veo de mi uso del día a día, es que el tiempo que se demora en generar gráficos como la de arriba no tiene nada que envidiarle a un PC dedicado y casi ya ni se nota lag. Asimismo, las animaciones del Magic Monitor también andan más fluidas.
Voy a estar observando durante las próximas semanas / meses a ver qué tal se comporta y no hay que olvidar tampoco que la Raspberry Foundation está trabajando en estos momentos que se pueda iniciar el sistema directamente desde el puerto USB 3.0 sin requerir una tarjeta MicroSD en absoluto, con lo cual la instalación final será harto menos complicada que como lo tuve que hacer yo.
Finalmente: ¿recomendaría este upgrade? Pues... depende: si piensas ocupar la Raspberry Pi como un reemplazo de tu PC de escritorio o si piensan en ocuparla para hacer bastantes lecturas y escrituras de archivos chicos... pues de todas formas! Sin embargo, si sólo la ocupas para ir probando distintas cosas por aquí y por allá y no te molesta el bajo rendimiento ni tampoco que de repente pueda haber una pérdida de datos... mi respuesta sería negativa.
Ah y el resultado final de la instalación? En el spoiler!
Saludos.
Última modificación: