Category Archives: MicroServer

ReadyMedia multicast discovery on bridge iface

When running a ReadyMedia (aka MiniDLNA, but it could be the case for any application using multicast) server on a bridged interface (like br0), multicast_snooping must be disabled on the bridge:

echo 0 > /sys/devices/virtual/net/br0/bridge/multicast_snooping

to make the change permanent:

echo 'net.br0.bridge.multicast_snooping=0' > /etc/sysctl.d/98-minidlna_no_snoop.conf

References:

Fedora 22 / CentOS 7 LXC fix systemd-journald process at 100%

Running a Fedora 21, Fedora 22 or a RHEL/CentOS 7 LXC container created by the lxc-create Fedora template can result in a 100% cpu loop for the systemd-journald process.

To fix this issue you must add lxc.kmsg = 0 to the container configuration. This can be done easily for all the Fedora templates in one shot:

echo "lxc.kmsg = 0" >> /usr/share/lxc/config/fedora.common.conf

See also:

WebVirtMgr with LXC support

This is the connections page backported from WebVirtMgr 4.8.7

https://github.com/daniviga/webvirtmgr/

WebVirtMgr (by retspen) is a simple but great libvirt frontend written in python with Django. It currently supports only KVM as hypervisor. However libvirt can be already used to manage other hypervisors (like XEN) and it also supports LXC containers.

Using the container libvirt feature I extended WebVirtMgr, creating a fork, which adds LXC support and other minor improvements (see https://github.com/daniviga/webvirtmgr/commits/master)

LXC support currently has some limitations:

  • The LXC container filesystem must be created manually (this is a libvirt limitation)
  • Even the LXC domain creation isn’t supported right now (you need to create the XML and define the domain manually, virt-install can be used)
  • Web remote console is under development and not yet ready (some work has been made using butterfly)
  • LXC domain deletion doesn’t remove its filesystem
  • Snapshotting is not supported (another libvirt limitation, it can be done manually with LVM or Btrfs)

But basic functions works well:

  • Management of remote hosts (via TCP, SSH, TLS, socket)
  • Start, stop, shutdown, pause
  • Autostart
  • CPU and RAM limits assignment
  • Network interfaces management
  • Clone (only the domain, filesystem must be copied manually)

My WebVirtMgr fork contains also some minor differences and improvements compared to the original:

  • The old connections list page (with a table instead of boxes) has been kept
  • It supports a very basic ACLs system (for both KVM and LXC). With this feature non-admin users can be created (using the django-admin interface) that can only have specific access to a pre-defined set of VMs/LXCs. This means that user “foo“, for example, can only start/stop/shutdown or access the remote console of the VM “my_vm

The installation procedure remains the same as the original project.

Screenshots

This is the connections page backported from WebVirtMgr 4.8.7

This is the connections page backported from WebVirtMgr 4.8.7

KVM instances

The KVM instances view

The LXC instances view

The LXC instances view

An example of a running LXC container

An example of a running LXC container

An LXC domain can be cloned, and a random MAC address can be generated

An LXC domain can be cloned, and a random MAC address can be generated

An example of an LXC deletion

An example of an LXC deletion

Instance admin interface: you can assign users

Instance admin interface: you can assign users

 Links

HP MicroServer G7 RAC and Linux

How to flash a new firmware and how to set the network remotely without rebooting.

Download the new firmware (version 1.4 as writing) from the HP website

The flashing utility SOCFLASH is available on the Aspeed website (direct link). The utility is available also for Linux both 32 and 64 bit.

Flash the new RAC firmware

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ ./socflash.sh all.1.4.bin old.1.3.bin
ASPEED SOC Flash Utility v.1.09.04
Find ASPEED Device 1a03:2000 on 3:0.0
Relacate IO Base: e800
MMIO Virtual Address: 3e18000
Static Memory Controller Information:
CS0 Flash Type is SPI
CS1 Flash Type is NOR
CS2 Flash Type is SPI
Boot CS is 2
Option Information:
CS: 2
Flash Type: SPI
[Warning] Don\'t AC OFF or Reboot System During BMC Firmware Update!!
[SOCFLASH] Flash ID : 180101
Find Flash Chip #1: SpansionS25FL128 SE64KB
Backup Flash Chip O.K.
Check Flash Chip #1 at: 440000

Setup IPMI in the OS

1
2
$ modprobe ipmi_si type=kcs ports=0xca2
$ echo "ipmi_si type=kcs ports=0xca2" > /etc/modprobe.d/ipmi.conf

Change the network settings

1
2
3
4
5
6
7
8
9
10
$ ipmitool shell
ipmitool> lan set 1 ipsrc static
ipmitool> lan set 1 ipaddr 172.16.12.238
Setting LAN IP Address to 172.16.12.238
ipmitool> lan set 1 netmask 255.255.255.0
Setting LAN Subnet Mask to 255.255.255.0
ipmitool> lan set 1 defgw ipaddr 172.16.12.10
Setting LAN Default Gateway IP to 172.16.12.10
ipmitool> mc reset warm
Sent warm reset command to MC

HP MicroServer + RAC on Fedora 18

After upgrading my HP MicroServer with Remote Access Card from Fedora 17 to Fedora 18 (kernel-3.8.3-203.fc18) the RAC KVM console (remote and VGA) stopped to work with ‘out-of-range’ signal after:

[ 4.072580] [drm] Initialized drm 1.1.0 20060810
[ 4.104362] [drm] AST 1100 detected
[ 4.104500] [drm] dram 816000000 1 16 04000000
[ 4.104785] [TTM] Zone kernel: Available graphics memory: 2024944 kiB
[ 4.104913] [TTM] Initializing pool allocator
[ 4.105035] [TTM] Initializing DMA pool allocator
[ 10.522147] [sched_delayed] sched: RT throttling activated

The MicroServer RAC has an AST1100 video controller that currently doesn’t work very well with the Linux KMS (Kernel Mode Setting).

HP RAC KVM out of sync

 

So, to fix this issue you need to disable the KMS for the ast module:

  • Edit /etc/sysconfig/grub and at the end of the GRUB_CMDLINE_LINUX line add “ast.modeset=0 nomodeset
    GRUB_CMDLINE_LINUX="rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=latarcyrheb-sun16 rd.luks=0 KEYTABLE=it LANG=en_US.UTF-8 ast.modeset=0 nomodeset quiet"
  • Update the grub2 configuration
    grub2-mkconfig -o /boot/grub2/grub.cfg

OPTIONAL

  • Create /etc/modprobe.d/ast.conf with
    options ast modeset=0
  • Update the initramfs with dracut
    dracut --force

The bug has been reported at RedHat Bugzilla bug #926064.

References:
modinfo ast:

filename:       /lib/modules/3.8.3-203.fc18.x86_64/kernel/drivers/gpu/drm/ast/ast.ko
license:        GPL and additional rights
description:    AST
author:         Dave Airlie
alias:          pci:v00001A03d00002010sv*sd*bc03sc*i*
alias:          pci:v00001A03d00002000sv*sd*bc03sc*i*
depends:        drm,drm_kms_helper,ttm,i2c-core,i2c-algo-bit
intree:         Y
vermagic:       3.8.3-203.fc18.x86_64 SMP mod_unload
parm:           modeset:Disable/Enable modesetting (int)

CentOS 5 on KVM: reduce host CPU load

To reduce host CPU usage with a CentOS 5 VM on KVM is important to add

divider=10

to grub.conf as kernel parameter

kernel /vmlinuz-2.6.18-348.1.1.el5 ro root=LABEL=/ console=ttyS0,115200 divider=10

This will reduce the internal kernel timer from 1000 Hz to 100 Hz.

Although additional parameters are not required, the divider=10 parameter can still be used. Guests with this parameter will produce less CPU load in the host, but will use more coarse-grained timer expiration. (http://s19n.net/articles/2011/kvm_clock.html)

On MicroServer the CPU load reduce is quite visible:

MicroServer CPU usage

MicroServer CPU usage (made with http://www.observium.org/)

For more info read http://s19n.net/articles/2011/kvm_clock.html.

 

IMAP local backup with OfflineIMAP

Goals:

  1. have a one-way local copy of my work address (“A”)
  2. do the same for my private mail address (“B”)
  3. make them accessible together through an easy interface
  4. all software must be open and free

My case:

  1. my own mail address is on Gmail with IMAPS access enabled
  2. my work mail address is accessible via a standard IMAP server
  3. I already have a LAMP webserver in a LXC container hosted on my MicroServer

What you need:

  1. Linux, of course
  2. an internet connection (really?)
  3. a great tool called OfflineIMAP (http://offlineimap.org/)
  4. an IMAP server, DOVECOT (http://www.dovecot.org/) in this case

How does it work?

remote IMAP server --> offlineimap --> maildir on localstorage --> local dovecot imap server --> webmail/mail client (like claws-mail http://www.claws-mail.org/)

the local maildir is created as

MAILDIR INBOX -> ACCOUNT A --> INBOX ---> SUBFOLDER 1
                                     ---> SUBFOLDER 2
MAILDIR INBOX -> ACCOUNT B --> INBOX ---> SUBFOLDER 1
                                     ---> SUBFOLDER 2

Ok, let’s go!
Continue reading