Hiparco

Recetas y trucos de GNU/Linux e informática en general

Alojado en http://guimi.net

Resizing LVMs

I was deploying a VM and I needed more space for /.
So first I turned off the machine and modified the machine.ovf file to increase de size of the hard disk:
From

<Disk ovf:capacity="8589934592" ovf:diskId="vmdisk2" ovf:fileRef="file1"…

To

<Disk ovf:capacity="28589934592" ovf:diskId="vmdisk2" ovf:fileRef="file1"…

Then I started the VM to expand the fs
Initial situation (take a look at /)

root@machine:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/dm-0       7.2G  5.7G  1.2G  84% /
udev             10M     0   10M   0% /dev
tmpfs           403M  5.5M  397M   2% /run
tmpfs          1006M     0 1006M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs          1006M     0 1006M   0% /sys/fs/cgroup
/dev/sda1       236M   33M  191M  15% /boot

Physical Volumes

root@machine:~# pvs
  PV         VG               Fmt  Attr PSize  PFree
  /dev/sda5  debian-jessie-vg lvm2 a--  26.38g 18.62g

Virtual Groups

root@machine:~# vgs
  VG               #PV #LV #SN Attr   VSize  VFree
  debian-jessie-vg   1   2   0 wz--n- 26.38g 18.62g

Logical Volumes

root@machine:~# lvs
  LV     VG               Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root   debian-jessie-vg -wi-ao----   7.39g
  swap_1 debian-jessie-vg -wi-ao---- 376.00m

So I have one PV with 18 free GB (that’s thanks to the machine.ovf modification), one VG and two LVS. The one I want to increase is “root”.
Just a last check:

root@machine:~# pvscan
  PV /dev/sda5   VG debian-jessie-vg   lvm2 [26.38 GiB / 18.62 GiB free]
  Total: 1 [26.38 GiB] / in use: 1 [26.38 GiB] / in no VG: 0 [0   ]
root@machine:~# lvdisplay
  --- Logical volume ---
  LV Path                /dev/debian-jessie-vg/root
  LV Name                root
  VG Name                debian-jessie-vg
  LV UUID                OdIAov-a7qm-ThOR-58YP-D7FG-zq5n-r73dUq
  LV Write Access        read/write
  LV Creation host, time debian-jessie, 2015-04-27 10:42:28 +0200
  LV Status              available
  # open                 1
  LV Size                7.39 GiB
  Current LE             1892
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:0

  --- Logical volume ---
  LV Path                /dev/debian-jessie-vg/swap_1
  LV Name                swap_1
  VG Name                debian-jessie-vg
  LV UUID                dS5vEu-w8LQ-uoZd-IGk8-cmaK-8tBQ-ZtSyvO
  LV Write Access        read/write
  LV Creation host, time debian-jessie, 2015-04-27 10:42:28 +0200
  LV Status              available
  # open                 2
  LV Size                376.00 MiB
  Current LE             94
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:1

So the path for my LV is /dev/debian-jessie-vg/root

And…

root@machine:~# vgdisplay
  --- Volume group ---
  VG Name               debian-jessie-vg
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               26.38 GiB
  PE Size               4.00 MiB
  Total PE              6754
  Alloc PE / Size       1986 / 7.76 GiB
  Free  PE / Size       4768 / 18.62 GiB
  VG UUID               V2oYD9-uoYy-sFLY-QSLG-FPyx-Ejce-QANYo4

…I have 4768 Free PE for it! :-)

So, let’s use them. I extend first the LV:

root@machine:~# lvextend -l +4768 /dev/debian-jessie-vg/root
  Size of logical volume debian-jessie-vg/root changed from 7.39 GiB (1892 extents) to 26.02 GiB (6660 extents).
  Logical volume root successfully resized

Then I resize the fs

root@machine:~# resize2fs /dev/debian-jessie-vg/root
resize2fs ... (it does it all automatically)

And that’s all!
Let’s check:

root@machine:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/dm-0        26G  5.7G   19G  24% /
udev             10M     0   10M   0% /dev
tmpfs           403M  5.5M  397M   2% /run
tmpfs          1006M     0 1006M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs          1006M     0 1006M   0% /sys/fs/cgroup
/dev/sda1       236M   33M  191M  15% /boot
root@machine:~# lvdisplay
  --- Logical volume ---
  LV Path                /dev/debian-jessie-vg/root
  LV Name                root
  VG Name                debian-jessie-vg
  LV UUID                OdIAov-a7qm-ThOR-58YP-D7FG-zq5n-r73dUq
  LV Write Access        read/write
  LV Creation host, time debian-jessie, 2015-04-27 10:42:28 +0200
  LV Status              available
  # open                 1
  LV Size                26.02 GiB
  Current LE             6660
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:0

  --- Logical volume ---
  LV Path                /dev/debian-jessie-vg/swap_1
  LV Name                swap_1
  VG Name                debian-jessie-vg
  LV UUID                dS5vEu-w8LQ-uoZd-IGk8-cmaK-8tBQ-ZtSyvO
  LV Write Access        read/write
  LV Creation host, time debian-jessie, 2015-04-27 10:42:28 +0200
  LV Status              available
  # open                 2
  LV Size                376.00 MiB
  Current LE             94
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:1

Reconfigurar WiFi en Windows 8

Windows 8 (los dioses confundan a sus creadores) elimina la interfaz gráfica que permitía gestionar las redes WiFi, de manera que si se configura una erróneamente, no se puede editar ni re-crear.

Ante esta situación debemos acudir a la línea de comandos.

Para ello buscamos la consola -> botón derecho -> lanzar como administrador.

Eliminar un perfil:
netsh wlan delete profile name=”ProfileName”

Mostrar todos los perfiles inalámbricos en el equipo:
netsh wlan show profiles

Mostrar una clave de seguridad:
netsh wlan show profile name=”ProfileName” key=clear

Más información:
http://windows.microsoft.com/es-es/windows-8/manage-wireless-network-profiles

Baterías

Para elegir unas baterías adecuadas a nuestro proyecto debemos tener en cuenta varios aspectos:
- Formato y Química
- Características eléctricas (V, mAh, C)

Formato y Química

Las baterías más típicas son las de NiMh (Niquel MetalHidruro), conocidas como “pilas recargables”, por ejemplo:

En este dibujo (realizado con Fritzing) podemos ver un conjunto de 4 baterías AAA, uno de 2 baterías AA y una batería 9V.
Sus principal ventaja es que tienen el formato de las pilas normales y están muy extendidas. Además estas baterías permiten ser re-cargadas sin tener que estar plenamente descargadas, como les ocurría a las anteriores de tipo NiCd (Niquel Cadmio).

Sin embargo hemos de saber es que aunque tienen el formato de las pilas normales (AA, AAA…) no tienen las mismas características.
Por ejemplo una pila AA tiene 1,5V, mientras que una batería del mismo formato (“pila recargable”) tiene 1,2V. Así, curiosamente una batería de 9V tiene 8.4V, ya “9V” es el nombre del formato.

Otro tipo de batería común, más profesionales, son las baterías LiPo (Litio Polímero), que tienen formatos y conectores particulares.

Sus ventajas incluyen un menor peso, mayor capacidad de carga y un rendimiento por descarga más estable a un precio asequible, si bien claramente superior al de las baterías NiMh.

Es importante saber que las baterías LiPo necesitan más cuidados que las normales. Entre otras cosas no deben descargarse más de un cierto voltaje y deben cargarse de forma balanceada. Para ello se venden “chivatos” detectores (lipotesters), y cargadores especiales.

Características eléctricas (V, mAh, C)

- V (voltaje) es el número de voltios que proporciona la batería.
- mAh (miliAmperios/hora) indica la corriente que es capaz de suministrar.
- C (capacidad de descarga) indica la velocidad a la que se puede descargar de forma segura la batería.

Así una batería de 3600 mAh puede proporcionar teóricamente 1 mA por segundo. Si nuestra batería tiene una capacidad 10C (máximo habitual de las baterías NiMh), podría descargar 10 mA por segundo, durando 10 veces menos tiempo.

Simplificando mucho podemos decir que el voltaje nos indica la potencia y los mAh*C nos indica el tiempo que nos va a durar la batería.

Importante: Recordemos que no debemos exceder el V máximo de ningún componente, ya que de lo contraría acabaríamos quemándolo.

Si consultamos las características técnicas de las baterías NiMh, los datos habituales son entorno a:

V mAh
Pila AA 1.5 2800
Batería NiMh AA 1.2 2400
Pila AAA 1.2 1150
Batería NiMh AAA 1.2 950
Pila 9V 9 400
Batería NiMh 9V 8.4 350

Obviamente, se pueden encontrar baterías con diferentes características, como por ejemplo baterías NiMh de 9V de 450 mAh o más.

Conexión de baterías

Podemos unir varias baterías en serie -sumando su voltaje- o en paralelo -sumando su “capacidad”- (las baterías deben ser iguales). Lo más habitual es conectarlas en serie como en este dibujo:

A la izquierda vemos cuatro baterías AAA conectadas en serie (el positivo de una, conectado al negativo de la otra), proporcionando 4,8V (1,2Vx4).
En el centro vemos 2 baterías AA conectadas en serie. Esta configuración con pilas normales de 1,5V nos daría 3V, mientras que con baterías NiMh de 1,2V nos proporcionaría 2,4V.

Grabar el escritorio GNU/Linux

Para grabar el escritorio en GNU/Linux podemos utiliza ffmpeg. Vamos a ver un par de ejemplos.

Grabar el escritorio completo (1680×1050):
ffmpeg -f x11grab -s 1680×1050 -r 25 -i :0.0 -sameq output.mkv
Grabar una parte del escritorio (tamaño 1000×500, offset 100,100):
ffmpeg -f x11grab -s 1000×500 -r 25 -i :0.0+100,100 -sameq output.mkv

También se puede indicar a ffmpeg que grabe una zona que siga al ratón y varios parámetros más. Como siempre:
man ffmpeg

Otros programas que se pueden usar para capturar el escritorio son VLC, gtk-recordmydesktop, recordmydesktop.

Relacionado: Retocar videos
También recomiendo OpenShot para editar videos de forma gráfica.

 

Arduino: Módulo Bluetooth

En esta entrada configuraremos un módulo Bluetooth para comunicar nuestro Arduino. El objetivo es poder controlar nuestros proyectos desde un teléfono móvil u otro dispositivo similar con Bluetooth.

Para ello vamos a utilizar un módulo Bluetooth HC-05 (también sirve el HC-06) que es muy común y económico (unos 4€). La diferencia entre ambos módulos es que el HC-05 que puede ser maestro o esclavo (master/slave), mientras que el HC-06 solo puede actuar como esclavo (slave).

Si te interesa, sigue leyendo…

Un robot con Arduino por menos de 70 euros

Hace unos días participé en el Olympic Robotic Challenge 2.14 con mi primer robot, basado en Arduino, y con un coste inferior a 70 euros y un peso de unos 320 gramos.
El robot quedó tercero en la prueba de velocidad (sigue-lineas).

Hay un monton de información de robots económicos realizados con Arduino.
Si quieres puedes ver cómo hice el mio paso a paso, incluyendo la lista de componentes y el programa final en: Un robot con Arduino