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
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.
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