Pages

Tuesday, April 28, 2015

Libvirtd Error after Package Update

We were getting following error after package for libvirtd got updated to 1.2.8


Apr 28 12:18:04 compute1 libvirtd[12294]: failed to load module /usr/lib64/libvirt/connection-driver/libvirt_driver_storage.so /usr/lib64/libvirt/connection-driver/libvirt_driver_storage.so: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference
Apr 28 12:18:04 compute1 libvirtd[12294]: failed to load module /usr/lib64/libvirt/connection-driver/libvirt_driver_qemu.so /usr/lib64/libvirt/connection-driver/libvirt_driver_qemu.so: undefined symbol: virStorageFileCreate
Apr 28 12:18:04 compute1 libvirtd[12294]: Module /usr/lib64/libvirt/connection-driver/libvirt_driver_lxc.so not accessible
Apr 28 12:18:04 compute1 systemd[1]: Started Virtualization daemon.
Apr 28 12:19:01 compute1 libvirtd[12294]: no connection driver available for qemu:///system
Apr 28 12:19:01 compute1 libvirtd[12294]: End of file while reading data: Input/output error
Apr 28 12:23:42 compute1 libvirtd[12294]: no connection driver available for qemu:///system
Apr 28 12:23:42 compute1 libvirtd[12294]: End of file while reading data: Input/output error
Apr 28 12:23:42 compute1 libvirtd[12294]: no connection driver available for qemu:///system
Apr 28 12:23:42 compute1 libvirtd[12294]: End of file while reading data: Input/output error


Solution for this was to update the device-mapper diver and restart the services.

yum update device-mapper

Similar issue : https://bugzilla.redhat.com/show_bug.cgi?id=1164773

Friday, April 24, 2015

Updating CA certificates in Fedora/Centos/RHEL

On Fedora since 19, RHEL / CentOS 7, and RHEL / CentOS 6  the correct method is to place the certificate to be trusted (in PEM format) in /etc/pki/ca-trust/source/anchors/ and run sudo update-ca-trust.
 (If the certificate is in OpenSSL’s extended BEGIN TRUSTED CERTIFICATE format, place it in /etc/pki/ca-trust/source). On RHEL 6, you have to activate the system with update-ca-trust enable after installing the update.

Thursday, April 23, 2015

Mysql Engine Swap MyISam to InnoDB and InnoDB to MyISam



To convert all tables in a database from InnoDB to MyISAM, run the MySQL following command, replacing db_name with the database name in question:


mysql -e "SELECT concat('ALTER TABLE ', TABLE_NAME,' ENGINE=MYISAM;') FROM Information_schema.TABLES WHERE TABLE_SCHEMA = 'db_name' AND ENGINE = 'InnoDB' AND TABLE_TYPE = 'BASE TABLE'"

Then, after stopping MySQL, you want to get the ibdata* and ib_logfiles out of the way:

Code:
/etc/init.d/mysql stop
mkdir -p /root/innodb.bak
mv ib* /root/innodb.bak/
/etc/init.d/mysql start

Now you've got MySQL started up with the tables using MyISAM, and it's time to get them converted back to InnoDB, fingers crossed (again replace db_name with your database name):

mysql -e "SELECT concat('ALTER TABLE ', TABLE_NAME,' ENGINE=InnoDB;') FROM Information_schema.TABLES WHERE TABLE_SCHEMA = 'db_name' AND ENGINE = 'MyISAM'"