Wednesday, January 28, 2009

SLES 10 update - Service Pack 2

Our final step is to move the system from SP1 to SP2. I have to mention the choice you can use zypper tool from now. The command syntax and parameters are almost the same. Nevertheless, I'm going to continue with rug.

It holds the same for SLES 10 SP2. It is separated product with separated update source tree. Let's begin.
  1. Again, subscribe to SP2 update and install source and to available catalogs
    rug sa ftp://suse.mydom.com/update/SLES10-SP2-Updates/sles-10-i586 --type yum update-sp2
    rug sa ftp://suse.mydom.com/update/SLES10-SP2-Online/sles-10-i586 --type yum install-sp2
    rug sl

    # | Status | Type | Name | URI
    --+--------+------+------------+------------------------------------------------
    1 | Active | ZYPP | online | ftp://suse.mydom.com/install/i386/sles10
    2 | Active | YUM | update | ftp://suse.mydom.com/update/SLES10-Updates...
    3 | Active | YUM | update-sp1 | ftp://suse.mydom.com/update/SLES10-SP1-Updates...
    4 | Active | YUM | online-sp1 | ftp://suse.mydom.com/update/SLES10-SP1-Online...
    5 | Active | YUM | update-sp2 | ftp://suse.mydom.com/update/SLES10-SP2-Updates...
    6 | Active | YUM | online-sp2 | ftp://suse.mydom.com/update/SLES10-SP2-Online...


    rug sub online-sp2
    rug sub update-sp2
    rug ca

    Sub'd? | Name | Service
    -------+------------+-----------
    Yes | online | online
    Yes | update | update
    Yes | update-sp1 | update-sp1
    Yes | online-sp1 | online-sp1
    Yes | update-sp1 | update-sp2
    Yes | online-sp1 | online-sp2
  2. Perform update
    rug up -y

    Resolving Dependencies...

    The following packages will be installed:
    aaa_base 10-12.47 (ftp://suse.mydom.com/update/SLES10-SP2-Updates/sles-10-i586)
    ...
    ...
    Downloading Packages...
    ...
    Transaction...
    ...
    Finishing...
    Transaction Finished
  3. Move to SP2 product
    rug in -y -t patch product-sles10-sp2

  4. Verify the new version
    SPident

    CONCLUSION: System is up-to-date!
    found SLE-10-i386-SP2 + "online updates"
If you are not using local update server but official ones like nu.novell.com you can still follow the same steps. It is quite simpler because you don't have to add new update and install sources by hand but just use switch-update-server and move-to-sles10-sp1 or move-to-sles10-sp2 patches which prepare the current system for transition from GA to SP1 and from SP1 to SP2.
  1. Before you start update install switch-update-server patch and prepare the system
    rug in -y -t patch switch-update-server
    /usr/bin/switch-update-server

    rug sub SLES10-Updates
    rug in -y -t patch move-to-sles10-sp1
  2. Perform the similar steps for SP2
  3. Continue with update the same way as shown in the article
Perhaps, it would be interesting to compare whole process with updating other enterprise distribution like RHEL now. How difficult it is and so on.

In the end, I would like to mention the main source of information the article is based on. The official documentation for update from SLES 10 GA to SP1 and from SP1 to SP2 is published at www.novell.com:
  1. How to update to SLES/SLED 10 SP1
  2. How to update to SLES/SLED 10 SP2

Monday, January 26, 2009

VirtualCenter for Linux

It seems VirtualCenter Server for GNU/Linux is being prepared and might be released with the next version of Virtual Infrastructure or its successor called VMware vSphere 4.0. It's going to be presented at the incoming virtualisation event VMworld Europe 2009. The official abstract of technical session covering this topic is published at VMworld Europe 2009 website.

Thursday, January 22, 2009

New RHEL 5.3

The next minor update of Red Hat Enterprise Linux was released recently. About its predecessor - RHEL 5.2 - I wrote here a few months ago.

So what news does it bring? Let's have a look at some of them:
  • it's mainly update release - there are updated packages providing auditd, NetworkManger or sudo
  • it contains many virtualization enhancements - the number of supported physical CPUs or maximum memory are increased, support of new Intel x86-64 CPUs is included
  • it is the first realase with OpenJDK JAVA implementation!!!
  • it contains enhanced Systemtap (aka dtrace for Linux)
For more details, there are official release notes and article from Red Hat NEWS.

Tuesday, January 20, 2009

SLES 10 update - Service Pack 1

Keep in mind, SLES 10 GA and SLES 10 SP1 are treated as separated products. We need to subscribe to new installation and update sources and repeat the previous steps with some little additions. My installation source of SLES 10 SP1 is part of update server. The update server is synchronized from official Novell update server with YUP proxy.
  1. Subscribe to SLES 10 SP1 installation and update source, then subscribe to catalogs
    rug sa ftp://suse.mydom.com/update/SLES10-SP1-Updates/sles-10-i586 --type yum update-sp1
    rug sa ftp://suse.mydom.com/update/SLES10-SP1-Online/sles-10-i586 --type yum install-sp1
    rug sl

    # | Status | Type | Name | URI
    --+--------+------+------------+------------------------------------------------
    1 | Active | ZYPP | online | ftp://suse.mydom.com/install/i386/sles10
    2 | Active | YUM | update | ftp://suse.mydom.com/update/SLES10-Updates...
    3 | Active | YUM | update-sp1 | ftp://suse.mydom.com/update/SLES10-SP1-Updates...
    4 | Active | YUM | online-sp1 | ftp://suse.mydom.com/update/SLES10-SP1-Online...

    rug sub online-sp1
    rug sub update-sp1
    rug ca

    Sub'd? | Name | Service
    -------+------------+-----------
    Yes | online | online
    Yes | update | update
    Yes | update-sp1 | update-sp1
    Yes | online-sp1 | online-sp1


  2. First, install required Zenworks management Agent patch otherwise there is a risk rug won't be working properly
    rug in -y -t patch slesp1o-liby2util-devel
  3. Restart zmd service and perform update
    rczmd restart
    rug up -y

    Resolving Dependencies...

    The following packages will be installed:
    aaa_base 10-12.33.3 (ftp://suse.mydom.com/update/SLES10-SP1-Online/sles-10-i586)
    ...
    Downloading Packages...
    ...
    Transaction...
    ...
    Finishing...
    Transaction Finished
  4. Finally, move the system to SP1 version
    rug in -y -t patch product-sles10-sp1
  5. Check the system version
    SPident

    CONCLUSION: System is up-to-date!
    found SLE-10-i386-SP1 + "online updates"
The result is we have system with SLES 10 SP1 and all required updates applied. It is recommended to reboot such system to apply all included changes (especially new kernel).

Thursday, January 15, 2009

Sun xVM Server 1.0 delayed?

Sun released their unified multiplatform management system for physical and virtual servers a few months ago but they still lacks of their own hypervisor called xVM. The release of xVM Server is planned during the first quarter of 2009 and it seems to be delayed now. Nevertheless, we can make some conclusion about the product now:
  • it supports MS Windows, Linux and Solaris guests
  • it is vmware compatible so you can directly use available vmware appliances
  • it has built-in web-based management
  • it supports virtual SMP (2 virtual CPUs)
  • it supports live migration
  • it supports resource pools
  • it should be released with GPL3 licence at no cost (that's not a surprise as it is based on XEN)
I believe it will be released as soon as possible. Today, there are available source codes of xVM only. Binaries will be available with the oficial release of xVM.

Wednesday, January 14, 2009

SLES 10 update - GA update

Among basic administration tasks of Linux system administration belongs its regular update. Each distribution has its own way how to perform it. Update of SLES 10 is not as straightforward as many of us expect so I decided to make a summary of this procedure.

I'll be doing it with rug command, not via graphical YaST. From SLES 10 SP1 you can use zypper command which is much faster than rug and it is fully independent of Novell Zenworks Linux Management Agent. If you don't use Novell Zenworks for managing your Linux systems then you can afford to disable zmd service and to use zypper tool only. To make the update more faster I'll be using local update server at URL ftp://suse.mydom.com (you can deploy your own with YUP - Yum Update Proxy).

Let's begin with initial installation of SLES 10 GA (particularly i386 platform but it's the same for the others).
  1. First, identify the current system
    SPident

    CONCLUSION: System is up-to-date!
    found SLES-10-i386-current
  2. Subscribe to SLES 10 GA installation source (it may be required for dependencies during update)
    rug sa ftp://suse.mydom.com/install/i386/sles10 --type zypp online
  3. Subscribe to SLES 10 update source
    rug sa ftp://suse.mydom.com/update/SLES10-Updates/sles-10-i586 --type yum update
  4. Check subscribtions
    rug sl

    # | Status | Type | Name | URI
    --+--------+------+--------+----------------------------------------------------
    1 | Active | ZYPP | online | ftp://suse.mydom.com/install/i386/sles10
    2 | Active | YUM | update | ftp://suse.mydom.com/update/SLES10-Updates...
  5. Check available catalogs
    rug ca

    Sub'd? | Name | Service
    -------+--------+--------
    | update | update
    | online | online
  6. Subscribe to the catalogs and check them
    rug sub update
    rug sub online
    rug ca

    Sub'd? | Name | Service
    -------+------------+-----------
    Yes | update | update
    Yes | online | online
  7. Update SLES 10 GA system
    rug up -y

    Resolving Dependencies...

    The following packages will be installed:
    apache2 2.2.3-16.2 (ftp://suse.mydom.com/update/SLES10-Updates/sles-10-i586)
    ...
    ...
    Downloading Packages...
    ...
    Transaction...
    ...
    Finishing...
    Transaction Finished
  8. Check the version after update finished successfully
    SPident

    CONCLUSION: System is up-to-date!
    found SLES-10-i386-current + "online updates"
Now, our SLES 10 system is ready for transition to Service Pack 1. Reboot the system before we proceed.

Thursday, January 8, 2009

VMware Server 1.0.8 on openSUSE 11.1

I decided to upgrade my laptop system from almost "prehistoric" openSuSE 10.1 to the newest version 11.1. It was quite successful but I had to resolve an issue with VMware Server 1.0.8 which I am used to using in my work a lot.

The whole configuration process crashed on vmware kernel modules compilation. The kernel version in new openSUSE is 2.6.27.7. As there aren't precompiled modules for it within version 1.0.8 they need to be recompiled at first. Don't forget to have installed kernel-source, make, gcc and patch packages. Secondly, you need to configure installed kernel sources with make cloneconfig to correspond with the running kernel and platform. Finally, configure VMware Server installation. Everything follows here:
zypper in -y kernel-source make gcc patch
cd /usr/src/linux
make mrproper; make cloneconfig
vmware-config.pl
But the last command produces these errors:
Building the vmmon module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config2/vmmon-only'
make -C /lib/modules/2.6.27.7-9-pae/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.27.7-9-obj/i386/pae'
make -C ../../../linux-2.6.27.7-9 O=/usr/src/linux-2.6.27.7-9-obj/i386/pae/. modules
CC [M] /tmp/vmware-config2/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config2/vmmon-only/./include/x86.h:20,
from /tmp/vmware-config2/vmmon-only/./include/machine.h:24,
from /tmp/vmware-config2/vmmon-only/linux/driver.h:15,
from /tmp/vmware-config2/vmmon-only/linux/driver.c:49:
/tmp/vmware-config2/vmmon-only/./include/x86apic.h:79:1: warning: "APIC_BASE_MSR" redefined
In file included from include2/asm/fixmap_32.h:29,
from include2/asm/fixmap.h:5,
from include2/asm/apic.h:9,
from include2/asm/smp.h:13,
from /usr/src/linux-2.6.27.7-9/include/linux/smp.h:28,
from /usr/src/linux-2.6.27.7-9/include/linux/topology.h:33,
from /usr/src/linux-2.6.27.7-9/include/linux/mmzone.h:687,
from /usr/src/linux-2.6.27.7-9/include/linux/gfp.h:4,
from /usr/src/linux-2.6.27.7-9/include/linux/kmod.h:22,
from /usr/src/linux-2.6.27.7-9/include/linux/module.h:13,
from /tmp/vmware-config2/vmmon-only/linux/driver.c:12:
include2/asm/apicdef.h:134:1: warning: this is the location of the previous definition
In file included from /tmp/vmware-config2/vmmon-only/./include/machine.h:24,
from /tmp/vmware-config2/vmmon-only/linux/driver.h:15,
from /tmp/vmware-config2/vmmon-only/linux/driver.c:49:
/tmp/vmware-config2/vmmon-only/./include/x86.h:830:1: warning: "PTE_PFN_MASK" redefined
In file included from include2/asm/paravirt.h:7,
from include2/asm/irqflags.h:55,
from /usr/src/linux-2.6.27.7-9/include/linux/irqflags.h:57,
from include2/asm/system.h:11,
from include2/asm/processor.h:17,
from /usr/src/linux-2.6.27.7-9/include/linux/prefetch.h:14,
from /usr/src/linux-2.6.27.7-9/include/linux/list.h:6,
from /usr/src/linux-2.6.27.7-9/include/linux/module.h:9,
from /tmp/vmware-config2/vmmon-only/linux/driver.c:12:
include2/asm/page.h:22:1: warning: this is the location of the previous definition
In file included from /tmp/vmware-config2/vmmon-only/linux/vmhost.h:13,
from /tmp/vmware-config2/vmmon-only/linux/driver.c:71:
/tmp/vmware-config2/vmmon-only/./include/compat_semaphore.h:5:27: error: asm/semaphore.h: No such file or directory
/tmp/vmware-config2/vmmon-only/linux/driver.c:146: error: unknown field 'nopage' specified in initializer
/tmp/vmware-config2/vmmon-only/linux/driver.c:147: warning: initialization from incompatible pointer type
/tmp/vmware-config2/vmmon-only/linux/driver.c:150: error: unknown field 'nopage' specified in initializer
/tmp/vmware-config2/vmmon-only/linux/driver.c:151: warning: initialization from incompatible pointer type
/tmp/vmware-config2/vmmon-only/linux/driver.c: In function 'LinuxDriver_Ioctl':
/tmp/vmware-config2/vmmon-only/linux/driver.c:1670: error: too many arguments to function 'smp_call_function'
make[4]: *** [/tmp/vmware-config2/vmmon-only/linux/driver.o] Error 1
make[3]: *** [_module_/tmp/vmware-config2/vmmon-only] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.27.7-9-obj/i386/pae'
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-config2/vmmon-only'
Unable to build the vmmon module.
The compilation of vmmon module crashed because of incompatibility between the kernel version and available vmmon module. The solution is to download updated version of modules vmware-update-2.6.27-5.5.7-2 and update them:
wget http://www.insecure.ws/warehouse/vmware-update-2.6.27-5.5.7-2.tar.gz
tar zxfv vmware-update-2.6.27-5.5.7-2.tar.gz
cd vmware-update-2.6.27-5.5.7-2
./runme.pl
This update updates all required modules and configuration script vmware-config.pl. After that, the compilation of vmmon module is successful and you can finish the configuration. I hope it will help you.

Tuesday, January 6, 2009

Running NTPD inside XEN domU or not?

There is a question how to configure ntpd time synchronization daemon inside Linux domU. Is it better to guarantee the proper time of dom0 via ntpd and rely on automatic time synchronization between domU and dom0? Or is it preferable to make the domU clock independent of dom0?

I'm not sure with the right answer. I'm used to configuring ntpd daemon of each Linux system the same way. That means one configuration is suitable almost for each system. So I would rather use the second way to do it. Before it, you need to tell the system to make the domU clock independent with Linux sysctl interface:
echo "xen.independent_wallclock = 1" >> /etc/sysctl.conf
sysctl -p
After the above action, you can configure ntpd as you wish. For sure, check the set value with
sysctl xen.independent_wallclock