running third party applications on openserver 6 richard harryjohn wolfe director, unix®...

50
Running Third Party Applications on OpenServer 6 Richard Harry John Wolfe Director, UNIX® Engineering Senior Software Engineer

Upload: alberta-harrington

Post on 26-Dec-2015

222 views

Category:

Documents


1 download

TRANSCRIPT

Running Third Party Applications on OpenServer 6

Richard Harry John WolfeDirector, UNIX® Engineering Senior Software Engineer

Agenda

In this session we will cover: Benefits of Migration to OpenServer 6 Hardware System Requirements ISL issues and debugging Migrating Third Party Apps to OpenServer 6 Debugging Post-ISL Examples of Customer Application Migration How to Get Some Assistance

Reasons to Deploy OpenServer 6

Benefits

Better performance than on OpenServer 5 on identical hardware.

Better OS support for current available commodity hardware.

High(er) Mean Time Between Failure (MTBF)

OpenServer 6 Technical Overview

Features new to OpenServer 6 [1]: New SVR5 Kernel that delivers [1]:

Advanced fine grained locking to scale up to 16 CPUs (OSR507=4)

Support for up to 16GB General Purpose Memory (OSR5=4GB)

Support via PSE for up to 64GB using shm/dshm Large File Support up to 1Tb (OSR507 = 2GB) Improved Disk I/O Performance Improved Network Stack Performance Improved SMP and Load Balancing Kernel Threads Dynamically Loadable Modules Hyperthreading and Dual-Core

OpenServer 6 Technical Overview

Features new to OpenServer 6 [2]: New SVR5 Kernel that delivers [2]:

Dynamic Add Memory Support Hot Plug CPU Hot Plug PCIx Hot Plug of Disk, Tape and CD/DVD Devices Veritas Journalling Filesystem Encrypted Filesystem support IPsec and VPN MPIO NIC Failover Automatic Tuning at boot time SAN Support (MSA500, MSA1000, MSA1500)

OpenServer 6 Technical Overview

Features new to OpenServer 6 [3]: New SVR5 Kernel that delivers [3]:

Serial ATA HBA Support (ahci driver) Serial Attached SCSI HBA Support (hpsas, adp94xx

driver)- LSI coming

Fiberchannel HBA Support (Qlogic qlc2300 HBA) Prism II Wireless Nic Support (pcpms driver) Centrino™ Wireless Nic Support Improved AIO (not compatible with OpenServer 5 AIO) AC97 support for i845 chipset for applications that do

not expect opensound driver.

OpenServer 6 Technical Overview

Features new to OpenServer 6 [4]: Media Less Boot and Network Install (PXE

boot) Emergency Recovery CD KDE Desktop Release 3.3 Ericom PowerTermTM WebConnect Server X.org X11R6 X Server with

Greater device support, Improved performance and Multi-head support

DocView support the Print Book Option in Postscript and PDF format

DocView content changed from Book to Topic format

OpenServer 6 Technical Overview

Features new to OpenServer 6 [5]: Single Certification of Applications SCOAdmin FTP Manager SCOAdmin Hot Plug Manager SCOAdmin Printer Manager can invoke CUPS

Admin Heimdal Kerberos 0.6.2Ib tcpdump Extended Shells (bash, zsh and tcsh) foomatic, ghostscript and hpijs vim and xpdf

Hardware System Requirements

System Requirements

Hardware Minimum

Recommended

Maximum

CPU Pentium Pentium P4 32 CPUs

Memory 64Mb 256Mb 16GB/64GB

Disk Space

1GB 4GB HBA Dependen

t

HBA IDE SCSI or SATA 32

System Requirements – cont.

CPU can be an: Intel® Celeron®, Pentium®, Pentium II, Pentium II

Xeon™, Pentium III, Pentium III Xeon, Pentium 4, or Intel Xeon microprocessor, or a microprocessor that is 100% compatible (e.g., AMD Athlon™, Athlon 64, Duron™, Sempron™, or Opteron™ processor)

Bootable CDROM, PXE NIC or Floppy Video Capable of SVGA PS/2, Serial, Bus or USB Mouse USB or PS/2 keyboard PCI, ISA, PCcard or Wireless Network Card

ISL – Issues and Debugging

ISL - Overview

Understand the hardware specs of the system you are trying to deploy: Has this system been certified by the OEM on

OSR6? Check http://www.sco.com/chwp

Will I need an HBA diskette/CD during install? Is my network card supported? Does X.org support my graphics chipset? How much disk space do I need? How do I want to layout my partitions and

slices? What software do I want installed?

ISL – Debugging

During ISL you can use the console to debug issues: Press “Alt-SysReq-H” or “Alt-Cntrl-H” to enter the console Press “Alt-SysReq-F1” or “Alt-Cntrl-F1” to proceed with ISL Access to the resmgr Access to ISL scripts in /isl/ui_modules Record any console messages when reporting a problem

IVAR_DEBUG_ALL=1 Enables ISL logging Log files are dumped in /tmp/log Transfer logs to a floppy disk using cpio:

“find /tmp/log/* | cpio –oc –O /dev/dsk/f03ht” “cpio –ic –I /dev/dsk/f03ht”

ISL – Common Pitfalls

Root HBA not found after the DCU runs Do you need a third-party diskette? Are you using software based RAID? Do you have valid media? Did your USB floppy get recognized properly? If you have very new hardware, try using the

DCU to bind the driver to the HBA instance manually

Press “F8” to run the DCU Go into “Hardware Device Configuration” Press “F2” under “Device Name” and select appropriate

driver NOTE: If hardware is not supported, could result in panic!

ISL – Common Pitfalls

My NIC is not auto-detected Is there a driver available on the OEM

website for SCO? (e.g. Marvell Yukon) If the NIC is a newer version of an existing

chipset, it could be a board id issue? “resmgr | grep 0002” If you need a third-party driver, defer

network install, install third-party driver package after ISL completes, and use SCOadmin Network to configure card

ISL – Common Pitfalls

PANIC: vfs_mountroot() failure This panic occurs when the kernel loads but

the root disk is not detected

Check to see you installed to the right disk! During ISL you can “Select alternate root disk” during

the “Setting up your hard disks” screen. Make sure the BIOS boot order is setup properly

Make sure the BIOS enumerated the disk properly

ISL – Common Pitfalls

Screen goes blank after ISL kernel initially loads Does your graphics chipset support VESA

mode? USE_VESA_BIOS=Y

Tells the kernel to use standard VESA BIOS calls instead of relying on the ECM tables on the card

Cards that use system memory for the framebuffer can cause issues (e.g. Intel Extreme Graphics chipsets)

Most modern graphic chipsets are supported by ISL

Common Hardware Issues

Commands timing out or hang right after copyright displayed Interrupt Routing PnP OS set to NO in the BIOS

PANIC very early during ISL MPS table issue

PSM=atup or ACPI=y Default PSM in OSR 6 is MPS MPS tables are broken on some newer hardware

Common Hardware Issues

What about multi-core CPUs? Multi-core CPUs require ACPI which is not in

the mini-kernel during ISL ISL using atup, add latest maintenance pack, rebuild,

reboot. OSR6 will see multi-core CPUs (NOTE: Intel dual-core is in MP1)

PSM=atup ENABLE_JT=Y (to turn on logical processors) MULTICORE=N (to turn off physical processors MP1) psradm/psrinfo (to get status and turn on individual

processors)

Common Hardware Issues

Root filesystem is left dirty on a soft reboot BIOS Power Management settings

Turn off aggressive power management in BIOS OSR6 has the Intel ACPI-CA but does not use it for power

management yet

Check battery on RAID adapter Check firmware revision

OEMs typically broadcast firmware revisions on their website Flashing firmware Check driver version – IHVVERSION field http://www.sco.com/support/download.html

Check target Look for CHECK CONDITIONS and other messages in osmlog

Common Hardware Issues

Useful BOOT PARAMETERS: ATAPI_DMA_DISABLE ACPI ENABLE_JT PSM IVAR_DEBUG_ALL MULTICORE (MP1) SHOW BOOTPROG

Third Party Application Issues & Configuration

General Issues – Third Party Applications

Install, start-up or runtime checks for OpenServer 5 release or version

Uses OSR 5 native Development System /usr/include, /usr/lib, and /usr/ccs/bin is the

SVR5 ABI compilation system /osr5/usr/include, /osr5/usr/lib, /osr5/usr/ccs/bin

provide OSR5 ABI compilation system

Uses the kernel compilation tools - /bin/id?? Idtools have changed and are SVR5 ABI

compatible

General Issues – cont.

Application depends on “scoansi” console terminal setting. “scoansi” does not seem to be supported on

OpenServer 6?

Data / File migration What is the “preferred” method to move files

from OpenServer 5 to OpenServer 6?

OpenServer 5 kernel drivers will not work on OpenServer 6

Changes – Large File Support

Only supported on the VxFS filesystem Enabled by default Commands that are Large File Aware:

cat(1), du(1), pathchk(1), chgrp(1), ff(1M) pax(1), chmod(1), find(1), pwd(1), chown(1) fsck(1M), cksum(1), fsdb(1M), rm(1) cmp(1), ln(1), rmdir(1), compress(1), ls(C), sum(1) cp(1), mkdir(1), rcp(1), touch(1), cpio(1), mkfs(1M), ulimit(1) dd(1M), mv(1), uncompress(1), df(1M), ncheck(1M), zcat(1) cpio(C)

All except cpio(C) and ls(C) are found in /u95/bin shell support for LFS only in bash, zsh etc.. not

sh, ksh

Changes – Commands

OSR6 distributes basic system commands into three main directories:

For different behaviors, set your PATH as follows:

/bin commands inherited from OSR5

/u95/bin commands that conform to the UNIX95 standard, including LFS support

/udk/bin commands inherited from UW7

/bin Traditional OSR5 user

/u95/bin:bin OSR5 user who wants LFS support

/udk/bin:/u95/bin:/bin

User running UW7 apps

SCOMPAT

SCOMPAT environment variable Alters /bin/uname command –r, -v and -s

output Effects current process and children

SCOMPAT=<release>:<version>:<system>export SCOMPAT

Add to start-up script if needed to start or during running

SCOMPAT=3.2:5.0.7:SCO_SV

chsysinfo

/usr/sbin/chsysinfo [osr5 | osr6 | uw7 | ou8 | default]

Only as root More pervasive than SCOMPAT

Changes system name, version and release in kernel – uname(), sysinfo() and confstr()

Effect is system-wide – all applications running or subsequently started.

Lasts until reboot or reset

Use “chsysinfo -default ” to restore the default settings

Running XENIX Binaries

XEMUL_OSR5=1; export XEMUL_OSR5 Enables OpenServer 5.0.x XENIX emulation

behavior, including: Allow minor buffer overruns. Allows occasional accidental reuse of freed memory.

TERM=ansi; export TERM

Changes – Console

Console termtype has changed from scoansi to ansi (MP2)

Applications with “hard wired” scoansi escape sequences will not work directly on the OSR6 console (but will work in a scoterm or remote login from an OSR5 system)

Applications that use terminfo/termcap will work just fine

Data File Migration – Third Party Apps

BACKUP all relevant data files !!!!

Use you favorite file transfer method: cpio, tar, NFS, commercial backup solution.

Move to journaling vxfs filesystem (default) of OSR 6

Move your OpenServer 5 data disks to the OpenServer 6 system.

Migrating User Data – Mount OSR5 disk

To mount an existing OSR5 disk (5.0.6 or 5.0.7 only), you must first install the wd Supplement on the OSR5 system

Connect the drive to the OSR6 system After booting, login as root and run the

command getlclfsdev to determine the /dev/dsk device nodes for the filesystems on the disk

Use the Filesystem Manager to mount the filesystems

Debugging Third Party Applications

Collecting enough information so that SCO engineers can provide some assistance

TRUSS – trace system calls & signals

OpenServer 6 system call trace SVR5 based Similar to, but better than OpenServer 5

“trace” Works on stripped binaries Displays I/O buffer contents – default 32 bytes Selective include or exclude system calls, signals or

machine faults.

Options -f follow all children of this process -o <outfile> directs truss output to <outfile>

truss -f -o truss.out <my_app_or_script>

Problems Running a XENIX Application

Collect XENIX Emulation Trace information. XEMUL_TRACE=1; export XEMUL_TRACE Run the application Collect trace file – xtrace.<pid>

Collect trace of system calls and signals truss -f -o truss.out <application>

Compress and email to [email protected] with specific details

Core files

COREFILE_PIDS – kernel tuneable =0

Produces a single “core” file in a directory Existing “core” file suppresses subsequent core dumps in

that directory

=1 Produces core files with name of “core.<pid>”

SCORLIM & HCORLIM Soft and hard core size limits - kernel

tuneables Value are in number of bytes

User control Ulimit –c <value expressed 500K byte blocks>

Tunables

SVR5 auto tunes many tunables Do not blindly import OSR5 tuning

e.g. buffer cache on SVR5 is used for meta data only. There should be no need to tune NBUF, NHBUF, NMPBUF. In SVR5 all GP memory can act as a cache for file pages. Increasing the buffer cache actually reduces memory available for file pages.

http://osr600doc.sco.com/en/SM_perform/osr507kerntuns.html for further information

Large files need process limits raised

Examples

FoxPro 2.6 for UNIX on OpenServer 6.0.0

Essentially, it just runs. Copy application programs, scripts and

data files to OSR 6. cpio, tar, …

Add XEMUL_OSR5=1 environment variable to the “fox” or “foxbase” script

Frank Quirk – AccountiX, [email protected]

Informix SE 7.23 & Informix 4GL 7.20

Database portion just works. 4GL needs OSR5 ABI runtime and

DevSys Prefix you PATH setting with /OSR5/bin

PATH=/osr5/bin:$PATH; export PATH

$INFORMIXDIR/bin/c4gl script checks for networking runtime – changed. OSR5 based runtime in /osr5/usr/lib Networking library only available as shared

object.

Informix SE 7.23 & Informix 4GL 7.20 – cont.

Modify the c4gl script: Change line

from: TLILIB=/usr/lib/libnsl_s.a to: TLILIB=/osr5/usr/lib/libnsl.so

Modify link command option from: -lnsl_s

to: -lnsl

Convert object files and archives from COFF to ELF cof2elf command

Oracle 7.1.6 on OpenServer 6.0.0

XENIX ODT 3.2 release Oracle patch for installing on OSR 5

OSR 5 C runtime as special static archives Modified makefiles & scripts

Used kernel build tools Link against “special” OSR5 runtime

cdlink - create disk image of product CD Patches overlayed onto disk image Installation done from the disk image

Oracle 7.1.6 on OpenServer 6.0.0 – cont.

Revised patch for installing on OSR 6 New cdlink binary Revised Patch file

Makefiles & scripts updated to:Use OSR5 ABI compiler and linker.

Convert existing COFF object files & archives to ELF at time of first usage.

Updated Oracle C runtime Added new string function used by OSR6 network libraries.

Create /bin/idar ln –s /bin/ar /bin/idar

Publicly available TA - soon

Oracle 7.3.x on OpenServer 6.0.0

Required native OSR5 development system. Prototyped OSR 6 set of patches

Makefiles & scripts modified to: Use OSR5 ABI compilation system OSR5 ANSI Std C++ available

All installed COFF object files and archives are converted to ELF

Verified by customer with copied $ORACLE_HOME OSR5 post_wait driver - /dev/sleeper prototype for OSR

6 Developing “patched” install

cdlink – create disk image of product CD Modified wgstart – patch image, install, run cof2elf

conversion Expect as publicly available TA

Available Support Resources

OpenServer 6 Support Resources

Porting Guide: http://www.sco.com/support/docs/openserver

/600/porting/osr6portingTOC.html

Upgrade Guide: http://www.sco.com/support/docs/openserver

/600/upgrade/index.html

Knowledge base: http://wdb1.sco.com/kb/search

Online Documentation and Late News http://www.sco.com/support/docs/openserver

/

OpenServer 6 Support Resources

Support Download Page for OpenServer 6: http://

www.sco.com/support/update/download/product.php?pfid=12&prid=20

SCO “Legend” Mailing List: Public [email protected]

Porting/Migration Alias: [email protected]

Certified and Compatible Hardware http://www.sco.com/chwp

Questions and Answers