Sun Microsystems, Inc.  Sun System Handbook - ISO 4.1 October 2012 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-71-1493906.1
Update Date:2012-09-27
Keywords:

Solution Type  Technical Instruction Sure

Solution  1493906.1 :   How to set up a PXE Boot Server for reimage Exalogic to OVS (EL 2.0.1)  


Related Items
  • Oracle Exalogic Elastic Cloud X2-2 Hardware
  •  
  • Linux OS
  •  
  • Oracle Exalogic Elastic Cloud Software
  •  
Related Categories
  • PLA-Support>Database Technology>Engineered Systems>Oracle Exalogic>MW: Exalogic Core
  •  
  • .Old GCS Categories>Infrastructure>LinuxOS>InstallationConfiguration>Configuration
  •  
  • .Old GCS Categories>ST>Middleware>Oracle Exalogic Elastic Cloud Software>Configure
  •  
  • .Old GCS Categories>Infrastructure>LinuxOS>General>Technical Notes
  •  
  • .Old GCS Categories>ST>Middleware>Oracle Exalogic Elastic Cloud Software>Patching and Upgrade
  •  


In order to reimage Exalogic 2.0.0.1 to OVS (EL 2.0.1) we need a Preboot eXecution Environment (PXE) Boot Server available in the network. This article describes how to set up PXE Boot Server on the Oracle Enterprise Linux. Examples are based on Exadata X2-2.

In this Document
Goal
Fix
 1.    Install All Necessary Packages
 2.    Copy the pxelinux image
 3.    Configure HTTP Server
 4.    Configure DHCP Server
 5.    Configure TFTP
 6.    Prepare proper kickstart for HTTP installation
 7.    Set Up Exalogic Netboot
 8.    Configure PXE boot on Exalogic compute node and begin installation
 9.    Installation prompts
 10.    Problems and solutions found during installation of Exalogic 2.0.1 Base image


Applies to:

Oracle Exalogic Elastic Cloud Software - Version 2.0.0.0.1 and later
Oracle Exalogic Elastic Cloud X2-2 Hardware - Version All Versions to All Versions [Release All Releases]
Linux OS - Version Oracle Linux 4.4 to Oracle Linux 6.2 [Release OL4U4 to OL6U2]
Linux x86
Linux x86-64

Goal

In order to reimage Exalogic 2.0.0.1 to OVS (EL 2.0.1) we need a Preboot eXecution Environment (PXE) Boot Server available in the network. This article describes how to set up PXE Boot Server on the Oracle Enterprise Linux. Examples are based on Exadata X2-2, since Exalogic and Exadata were on the same fabric.

Fix

PXE is a solution that allows computers to boot from a network card instead of hard disk or CD/DVD drive. PXE clients communicate with a PXE server using PXE protocol (a combination of DHCP and TFTP). Firmware in the PXE client network card locates the PXE server, the client downloads a network bootstrap program into memory, then loads the operating system.

Typically, PXE is most beneficial where:

  • Clients do not have a CD/DVD drive and/or a hard disk (i.e. diskless client) to boot from.
  • A System Administrator needs to mass deploy/patch many systems very quickly. Using PXE and kickstart, multiple automated installations can be performed simultaneously.
  • A System Administartor needs to perform remote upgrade of the system using combination of ILOM/PXE, e.g. upgrading Exalogic from physical to virtual (1.0.x -> 2.0.1)

 

1.    Install All Necessary Packages

We need to install the packages httpd, tftp-server, dhcp, syslinux so we run:

yum install tftp-server
chkconfig --level 345 tftp on
service xinetd start

yum install dhcp
chkconfig --level 345 dhcpd on

yum install httpd
chkconfig --level 345 httpd on
service httpd start

yum install syslinux

2.    Copy the pxelinux image

PXE Linux image will be available once you installed the syslinux package. Copy this to /tftpboot path as shown below.

cp /usr/share/syslinux/pxelinux.0 /tftpboot

3.    Configure HTTP Server


The installation files can be presented using HTTP, FTP or NFS. In this case we used HTTP.
To make the installation media available from the HTTP server, create a new directory under the "/var/www/html" directory.

mkdir -p /var/www/html/el

You can mount a DVD or ISO image and copy the files under the new directory, but it is easier to mount the ISO image of the installation media directly.

mount -o loop,ro /dmp/el_x2-2_baseimage_ovs_2.0.1.0.0_64.iso /var/www/html/el

The media should now be available over HTTP using a URL like this (http://<IPADDR>/el).
Where <IPADDR> is IP Address of your HTTP server.

4.    Configure DHCP Server

We need a DHCP server in our local network. If there's no DHCP server in your local network, just configure and use the one on your future PXE server. Simply edit /etc/dhcpd.conf.

cp /etc/dhcpd.conf /etc/dhcpd.conf_orig
cat /dev/null > /etc/dhcpd.conf
vi /etc/dhcpd.conf

 
DHPC config file should include filename "pxelinux.0" and MAC address of Exalogic host or hosts which will be installed with PXE Server.
Example:

#
# DHCP Server Configuration file.
ddns-update-style ad-hoc;

deny unknown-clients;
not authoritative;

option domain-name              "myserver1.domain";
option domain-name-servers      192.168.80.6;
option subnet-mask              255.255.255.0;

allow bootp;
allow booting;

option ip-forwarding    false;  # No IP forwarding
option mask-supplier    false;  # Don't respond to ICMP Mask req

subnet 192.168.84.0 netmask 255.255.255.0 {
  option routers        192.168.84.1;
}

group {
  next-server 192.168.84.10;
  filename "linux-install/pxelinux.0";
  host q1alcn01 {
        hardware ethernet 00:21:28:D5:FB:C2;
        fixed-address 192.168.84.110;
  }
}

 
This will dynamically assign IP address 192.168.84.110 to first Exalogic client computer; the gateway is 192.168.0.1. Of course, you must adjust this configuration to your own environment!.

Address 192.168.84.10 is address of your PXE server. It is important that you have the line

filename "linux-install/pxelinux.0";

in your configuration! Then restart your DHCP server:

service dhcpd restart

5.    Configure TFTP

Edit /etc/xinetd.d/tftp and change disable to 'no'

disable = no

Example:

# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s -c -v -v -v /tftpboota
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

 
After editing restart your xinetd service:

service xinetd restart

6.    Prepare proper kickstart for HTTP installation

You need to place a Kickstart file on the HTTP server also. You can either build a new Kickstart file or modify an existing one.

cd /var/www/html
vi exalogic.cfg

Example:

#Generated by Kickstart Configurator
#
text
install
#
eula Accepted

# Use CDROM installation media
#cdrom

url --url http://<IPADDR>//el

lang en_US.UTF-8
langsupport --default=en_US.UTF-8 en_US.UTF-8
keyboard us
mouse generic3ps/2
network --bootproto=dhcp --device=eth0 --onboot=on
#
authconfig --enableshadow --enablemd5
ovsagent --iscrypted $1$IL8/vJ20$Ur/h1tlymm.clkjg4vdSk0
ovsmgmntif eth0
timezone America/New_York
rootpw welcome1
firewall --disabled
selinux --disabled
timezone America/New_York
zerombr yes
bootloader --location=mbr --dom0_mem=512 --driveorder=sda
clearpart --all --initlabel --drives=sda
part /boot --fstype ext3 --size=100 --ondisk=sda
part / --fstype ext3 --size=3072 --ondisk=sda
part /OVS --fstype ocfs2 --size=1024 --grow --ondisk=sda
part swap --size=1024 --ondisk=sda
reboot
%packages
*
%post --log=/root/post.log
#!/bin/sh
echo "POST Installation starting..."

echo "--------------------------------"
echo "Adjusting grub.conf file..."
echo "--------------------------------"
sed -i 's/dom0_mem=512M/dom0_mem=2G/g' /boot/grub/grub.conf

echo "--------------------------------"
echo "Setting ovs-agent password...."
echo "--------------------------------"
#just in case, insure ovs-agent is running
service ovs-agent start > /dev/null
ovs-agent-passwd oracle oracle

echo "POST Installation Done."

 
The Exalogic kickstart should now be available over HTTP using a URL like this (http://<IPADDR>/exalogic.cfg).
Where <IPADDR> is IP Address of your HTTP server.

7.    Set Up Exalogic Netboot

Now we are ready to set up the netboot for Exalogic 2.0.1. The necessary files for the netboot can be found on Exalogic 2.0.1 Base image DVD. We copy files to the /tftpboot/linux-install/MDO directory. This is the directory from where our PXE server will serve the installation images:

mkdir -p /tftpboot/linux-install/MDO
cd /var/www/html/el/isolinux
cp –p * /tftpboot/linux-install/MDO

That's it already. Now have a look at the /tftpboot/linux-install/pxelinux.cfg/default This file should have following structure:

vi /tftpboot/linux-install/pxelinux.cfg/default

Example:

timeout 600

default xen

label xen
     kernel MDO/mboot.c32
     append MDO/xen.gz console=com1,vga com1=9600,8n1 --- MDO/vmlinuz  console=tty console=ttyS0,9600n8 text ksdevice=eth0 ip=dhcp ks=http://192.168.84.10/exalogic.cfg  --- MDO/initrd.img

As you see, this file contains all valid installation options for Exalogic 2.0.1. All paths in this file are relative to the /tftpboot/linux-install directory, so MDO/mboot.c32 translates to /tftpboot/linux-install/MDO/ mboot.c32.
When a Exalogic client server boots up over the network, it will look for the file /tftpboot/linux-install/pxelinux.cfg/default and load it, so that's the file we have to modify.

8.    Configure PXE boot on Exalogic compute node and begin installation

Connect to iLOM of first Exalogic compute nodes and set PXE as boot device, you may restart server to start installation using PXE.

cd /HOST
set boot_device=pxe
reset /SYS
start /SP/console

After reboot server should receive installation image form PXE server and begin kickstart installation with almost no user actions.

9.    Installation prompts

During the installation progress you'll be prompted for information regarding IP addresses, configurations, domain names etc.

OVS 

10.    Problems and solutions found during installation of Exalogic 2.0.1 Base image

•    No console output from Anaconda installer on iLOM console
We performed reimage on Exalogic 2.0.1 compute nodes using remote text console in iLOM. We were not able to see Anaconda installer since console output is disabled in Xen kernel and initial ramdisk. We tried to open graphical console but in customer environment whole communication in management LAN was filtered using firewall and ports for graphical Java console were blocked.


•    No access to graphical console on Exalogic
Since Java Web-based console was not accessible, we managed to start graphical session using VNC server. We had to forward port 4901 using SSH, but this allowed us to start vncserver and see whole installation process on Java Web-based console.


Attachments
This solution has no attachment
  Copyright © 2012 Sun Microsystems, Inc.  All rights reserved.
 Feedback