Enable serial console on RHEL7

3 years, 1 month ago

In order to enable the serial console on a RHEL7/CentOS7 KVM guest you just need to add the following lines to /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

GRUB_CMDLINE_LINUX_DEFAULT applies this configuration only to the default menu entry, use GRUB_CMDLINE_LINUX to apply it to all the menu entries.

Now rebuild the grub.cfg file:

# grub2-mkconfig -o /boot/grub2/grub.cfg

After rebooting the guest it is possible to access the serial console using the virsh console command.

References: Grub manual, Throubleshooting with serial consoles, Archlinux serial console

RHEL7 - unknown OS type hvm

3 years, 3 months ago

This morning I've upgraded my RHEL 6.5 to RHEL 7.0 using the in-place upgrade method.

The only problem I had after the upgrade was with my KVM instances: none of them was appearing in the
virsh list --all command.

Using the systemctl show libvirtd I've noticed the error unknown OS type hvm and then, using ldd, I noticed a missing library:

# ldd /usr/libexec/qemu-kvm | grep "not found"
    libsasl2.so.2 => not found
# rpm -qf /usr/libexec/qemu-kvm

Unfortunately libsasl2.so.2 is not provided by any RPM:

# yum whatprovides libsasl2.so.2
Loaded plugins: product-id, subscription-manager
No matches found

but cyrus-sasl-lib provides libsasl2.so.3, so I symlinked it and restarted libvirtd as a temporary workaround:

# ln -s /usr/lib64/libsasl2.so.3.0.0 /usr/lib64/libsasl2.so.2
# systemctl restart libvirtd

Now everything works fine and all the VMs are up and running.

VMware VCA certfications: FREE voucher

3 years, 11 months ago

If you are interested in VMware VCA Certifications for Cloud, Datacenter Virtualization and Workforce Mobility, take a look at Josh Odgers website, there's a free voucher (until January 2014) to take all the 3 exams that is waiting for you!

Relocating Cagliari Language Network

4 years, 2 months ago

I've just finished moving the Cagliari Language Network website from Openshift to a dedicated machine on the Aruba Cloud. It has been running on Openshift for 1 year almost without any problem, but recently it started being very slow and some users were complaining about that.

Now, even if it is running on a small (1 CPU, 1GB ram, 10GB storage) and cheap CentOS 6 Hyper-V VM, performances seem to be a lot better than before.

The migration started almost 2 weeks ago, but I decided to switch the DNS records only today because I was testing Varnish in front of our Apache.
During the tests I noticed that cache hits were very high and I didn't find any particular problem on our setup, so today I decided it was time to complete the migration and try it on production.

The other big news is that I've started working on a new CLN website. The new one won't be based on Wordpress anymore but it will be a custom Django application. The idea is to make language feeds available through REST API so in the future we can build mobile applications on top of them.

If you have any suggestion or if you notice any problem about the website feel free to contact me or one of our admins.

RHEL6 asymmetric routing

4 years, 5 months ago

If you have tried configuring your Red Hat Enterprise Linux 6 with 2 different IPs of the same network using different network interfaces you probabily noticed that it doesn't work very well. Or it doesn't work at all!

That's because, by default, RHEL6 (unlike RHEL5) drops packets when the route for outbound traffic differs from the route of incoming traffic.

At this point you have 2 solutions. The first one is to accept asymmetrically routed packets setting

net.ipv4.conf.default.rp_filter = 2

on /etc/sysctl.conf.

But the best solution is to configure a source based routing.
For an explanation and practical examples you can read (and you should) this article or, if you are just impatience, you can run the following commands (assuming that you have 2 interfaces, eth0 and eth1, with and respectively and gateway

# echo "default via dev eth0 table 20" > /etc/sysconfig/network-scripts/route-eth0
# echo "from table 20" > /etc/sysconfig/network-scripts/rule-eth0
# echo "default via dev eth1 table 21" > /etc/sysconfig/network-scripts/route-eth1
# echo "from table 21" > /etc/sysconfig/network-scripts/rule-eth1

and then restart your interfaces:

# service network restart