RHEL7 disponible

Hace un par de días se liberó  Red Hat Enterprise Linux 7, entre las nuevas características se encuentran:

  • Linux containers
  • XFS como sistema de archivos por defecto
  • Nuevo instalador anaconda
  • Systemd
  • Firewalld

Toda la documentación se puede encontrar en el siguiente enlace :  RHEL7 Docs

 

RHEL7

 

Snapshots LVM y máquinas virtuales

Los snapshots de LVM permiten crear imágenes virtuales de un dispositivo sin interrumpir el servicio.  Cuando un cambio se hace en el dispositivo original después de hacer un snapshot, se guarda en el snapshot la información antes de ser modificada, de forma que se pueda reconstruir el estado original del dispositivo.

Primero creamos el snapshot  (utilizando -s) con un tamaño de 1GB:

[root@z600 ~]# lvcreate -s -L 1G -n vm-mailserver-snap /dev/mapper/z600-vm--mailserver
Logical volume "vm-mailserver-snap" created

Comprobamos que se ha creado:

[root@z600 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
00 fedora_z600 -wi-ao---- 678.42g 
00 z600 -wi-ao---- 48.83g
01 z600 -wi-ao---- 11.72g 
02 z600 -wi-ao---- 146.49g 
vm-csb z600 -wi-a----- 42.00g
vm-mailserver z600 owi-a-s--- 10.00g 
vm-mailserver-snap z600 swi-a-s--- 1.00g vm-mailserver 0.00 
vm-rhel59 z600 -wi-a----- 9.00g
vm-rhel7 z600 -wi-a----- 12.00g

Hacemos cambios en el sistema y vemos que el snapshot se utiliza:

[root@z600 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
00 fedora_z600 -wi-ao---- 678.42g 
00 z600 -wi-ao---- 48.83g 
01 z600 -wi-ao---- 11.72g 
02 z600 -wi-ao---- 146.49g
vm-csb z600 -wi-a----- 42.00g 
vm-mailserver z600 owi-aos--- 10.00g 
vm-mailserver-snap z600 swi-a-s--- 1.00g vm-mailserver 6.80
vm-rhel59 z600 -wi-a----- 9.00g
vm-rhel7 z600 -wi-a----- 12.00g

Eliminamos el snapshot:

[root@z600 ~]# lvremove /dev/mapper/z600-vm--mailserver--snap
Do you really want to remove active logical volume vm-mailserver-snap? [y/n]: y
Logical volume "vm-mailserver-snap" successfully removed

Comprobamos que ya no existe:

[root@z600 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
00 fedora_z600 -wi-ao---- 678.42g 
00 z600 -wi-ao---- 48.83g
01 z600 -wi-ao---- 11.72g 
02 z600 -wi-ao---- 146.49g 
vm-csb z600 -wi-a----- 42.00g 
vm-mailserver z600 -wi-a----- 10.00g
vm-rhel59 z600 -wi-a----- 9.00g 
vm-rhel7 z600 -wi-a----- 12.00g

También podemos hacer un ‘merge’ del snapshot , si nos da problemas, basta con desactivar el logical volume y volver a activarlo para el que merge continúe:

[root@z600 ~]# lvconvert --merge /dev/mapper/z600-vm--mailserver--snap
Logical volume z600/vm-mailserver in use.
Can't merge over open origin volume.
Merging of snapshot vm-mailserver-snap will start next activation.

[root@z600 ~]# lvchange -an /dev/mapper/z600-vm--mailserver
[root@z600 ~]# lvchange -ay /dev/mapper/z600-vm--mailserver

Convertir una imagen de máquina virtual a LVM

Primero creamos el logical volume para la máquina virtual, en este caso de 9GB:

# lvcreate -L9G -n vm-rhel59 z600

Pasamos la imagen al logical volume:

# qemu-img convert RHEL59.img -O raw /dev/mapper/z600-vm--rhel59

Modificamos el archivo .xml de la máquina virtual, cambiamos el siguiente contenido:

<disk type='file' device='disk'>
  <driver name='qemu' type='raw'/>
  <source file='/data/kvm/images/RHEL59.img'/>
  <target dev='vda' bus='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>

Por éste:

<disk type='block' device='disk'>
  <driver name='qemu' type='raw' cache='none' io='native'/>
  <source dev='/dev/mapper/z600-vm--rhel59'/>
  <target dev='vda' bus='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>

Ahora solo queda reinicir el servicio libvirtd para que recargue la configuración de la máquina virtual

Utilizar LVM como almacenamiento de máquinas virtuales

Es mejor utilizar LVM para las máquinas virtuales o no?  La respuesta es: depende

Si se van a utilizar las ventajas que LVM ofrece (fácil expansión/reducción del disco, snapshots), entonces es recomendable utilizarlo.

Primero comprobamos el espacio disponible en el disco:

# vgs
VG #PV #LV #SN Attr VSize VFree 
fedora_z600 1 1 0 wz--n- 678.42g 0 
z600 1 3 0 wz--n- 1.16t 976.57g

En el volume group z600 quedan 976G libres que no pertencen a ninguna partición o logical volume

Vamos a reservar 10GB para una máquina virtual:

# lvcreate -L12G -n vm-rhel7 z600
Logical volume "vm-rhel7" created

Comprobamos el resultado:

# lvs
LV       VG            Attr        LSize   Pool Origin Data% Move Log Cpy%Sync Convert
00       fedora_z600  -wi-ao---- 678.42g 
00       z600         -wi-ao----  48.83g 
01       z600         -wi-ao----  11.72g 
02       z600         -wi-ao---- 146.49g 
vm-rhel7 z600         -wi-a-----  12.00g

Al crear una máquina virtual para utilizar ese logical volume, utilizaremos el dispositivo /dev/mapper/z600-vm–rhel7 (ojo que hay un doble -)

Una vez creada podremos ver en el archivo .xml correspondiente:

<devices>
  <emulator>/usr/bin/qemu-kvm</emulator>
  <disk type='block' device='disk'>
    <driver name='qemu' type='raw' cache='none' io='native'/>
    <source dev='/dev/mapper/z600-vm--rhel7'/>

 

Teclado bluetooth no se conecta en Fedora 20

En Fedora 20, GNOME tiene problemas para mostrar el diálogo con el código PIN para emparejar dispositivos Bluetooth, este es el mensaje que aparece en /var/log/messages

Dec 8 16:06:41 localhost bluetoothd[937]: Agent replied with an error: org.freedesktop.DBus.Error.UnknownMethod, No such method 'DisplayPinCode'

Para solucionar esto, vamos a utilizar las herramientas del paquete bluez.

Primero descargamos e instalamos el código fuente

# yumdownloader --source bluez
# rpm -ivh bluez-5.11-1.fc20.src.rpm
 Updating / installing...
 1:bluez-5.11-1.fc20 ################################# [100%]

Ahora tendremos un directorio llamado rpmbuild :

# rpmbuild --nodeps -bp rpmbuild/SPECS/bluez.spec
#  cd rpmbuild/BUILD/bluez-5.11/test

Activamos bluetooth en el equipo y buscamos el dispositivo

# hcitool scan
 Scanning ...
 90:7F:61:8C:B0:9C HP TouchPad Wireless Keyboard

Con la herramienta simple-agent lo emparejamos,  para ello escribimos el código PIN que nos muestra la herramienta

# ./simple-agent hci0 90:7F:61:8C:B0:9C
 Agent registered
 DisplayPinCode (/org/bluez/hci0/dev_90_7F_61_8C_B0_9C, 680090)
 Device paired

Y con esto ya tenemos el teclado emparejado y funcionando !

Para evitar tener que hacer esto cada vez que reiniciemos el sistema, podemos añadirlo como un dispositivo de confianza, que se añada automáticamente al sistema

# ./test-device trusted 90:7F:61:8C:B0:9C yes