Running Third Party Applications on OpenServer 6 Richard HarryJohn Wolfe Director, UNIX®...
-
Upload
alberta-harrington -
Category
Documents
-
view
222 -
download
1
Transcript of Running Third Party Applications on OpenServer 6 Richard HarryJohn Wolfe Director, UNIX®...
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
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
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 - 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
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
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
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