1 / 53

E129 ASE for Linux

E129 ASE for Linux. Wim ten Have Staff S/W Development ESD – ASE kernel wtenhave@sybase.com. History on the Linux Open Source platform. Just for the Fun! Linux started of in 1991 featuring with kernel 0.3 Where did it come from? O/S research projects done by Universities

elma
Télécharger la présentation

E129 ASE for Linux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. E129ASE for Linux • Wim ten Have • Staff S/W Development • ESD – ASE kernel • wtenhave@sybase.com

  2. History on the Linux Open Source platform Just for the Fun! Linux started of in 1991 featuring with kernel 0.3 • Where did it come from? • O/S research projects done by Universities • MIT – ‘Mach’ - turned later into OSF/1 and NeXT Step now Mac/XOS. • Berkeley UCB – ‘BSD’ - turned later into 386BSD, FreeBSD, NetBSD, BSDI and BSD Lite. • VU Amsterdam – ‘Amoeba’ – study workgroups were trained writing a small PC implementation named Minix.

  3. History on the Linux Open Source platform Just for the FUN! • Minix – a hybrid kernel design using message passing, targeting cheap/small x86 hardware without support for virtual memory management. • Linux - Early 1991 Linus Torvalds created a new monolithic kernel model and announced his work in the comp.os.minix news group. • Many computer fanatics seeking a PC UNIX home alternative switched from Minix to Linux.

  4. History on the Linux Open Source platform Just for the FUN! There is no roadmap but development efforts seem to follow market demands. • Where does it go? • Linux distributions turn it into a professional platform adding support and allowing for commercial applications. • Competition between different Linux distributors may risk the platform to divert within time.

  5. History on the Linux Open Source platform The Open Source distribution battle field. • Major Linux distributors • Red Hat • S.u.s.e, Mandrake, Caldera, Pacific Hightec • Other Linux distributions • Debain, JBLinux, K12LTSP, MCC, Rock, aXon, beehive, blackcat cLIenUX, conectiva, coyote, deeplinux, engarde, X/OS, finnix, yellowdog, spinix, …, …

  6. ASE 12.5.0.1 CIS Open Client ODBC SQL Remote ASA Open Server Open Server Sybase products available on Linux Backup Server Monitor Server XP Server

  7. Sybase products available on Linux ASE 11.0.3.3 ESD#2 – Sep 1998 1st FREE release • Adaptive Server Enterprise accompanied with Backup Server together with 10.0.3 Open Client / -Server Software Development Kits • Ported under Red Hat 5.2 • Kernel 2.0.36 / Glibc 2.0.27 • No support for Raw or Asynchronous disk I/O (did not exist) • Maximum shared memory segment size 128 MByte • Released as a FREE release for development and deployment

  8. Sybase products available on Linux ASE 11.0.3.3 ESD#6 – Jun 2000 2nd FREE release (rollup) • Adaptive Server Enterprise accompanied with Backup Server, Monitor Server together with 10.0.4 Open Client / -Server SDK’s • Rollup under RH6.2 with 11.9.x obtained experience and fixes. • Kernel 2.2.14 / Glibc 2.1.3-7 • Raw bound devices are supported • SGI ProPack 1.2 Kernel Asynchronous disk I/O is supported • SHM_REMAP the shared memory segment gaining 1.4 GByte • Released as a FREE release for development and deployment

  9. Sybase products available on Linux ASE 11.9.x – Jun 1999 1st SUPPORTED release • Adaptive Server Enterprise accompanied with Backup Server, XP Server, Monitor Server together with 11.1.1 Open Client / -Server, ESQL/C SDK’s • Ported under RH 5.2 making full engineering certification • Kernel 2.2.5-14 / Glibc 2.0.7-29 • No support for Raw or Asynchronous disk I/O (did not exist) • Added support for dynamic loadable shared objects – XP Server • SHM_REMAP the shared memory segment gaining 1.4 GByte

  10. Sybase products available on Linux ASE 12.5 – Nov 2000 – Jun 2001 SUPPORTED release • Adaptive Server Enterprise accompanied with Backup Server, XP Server, Monitor Server and Historical Server, ASE JVM, 12.5 Open Client / -Server and ESQL/C SDK’s • Ported under Red Hat 6.2 • Kernel 2.2.18 / Glibc 2.1.3-15 • Support for Raw bound devices • Undocumented support for Asynchronous disk I/O (as it showed instable)

  11. Porting Adaptive Server Enterprise JVM ASE Embedded Java support Server procedures, tasks & handlers SQL layer Query Parse Execute DBMS layer Data cache ASE Kernel ASE drivers GNU run-time Library Linux kernel

  12. Sybase products available on Linux ASE 12.5.0.1 - May 2002 SUPPORTED release • Adaptive Server Enterprise accompanied with Backup Server, XP Server, Monitor Server and Historical Server, ASE JVM, 12.5 Open Client / -Server and ESQL/C SDK’s • Ported under Red Hat 6.2 • Kernel 2.2.18 / Glibc 2.1.3-15 • Support for Raw bound devices • Undocumented support for Asynchronous disk I/O (instable) • Linux shared memory issues are fixed allowing for 2.3 Gbyte • Support added for Large Files (LFS – databases > 2 GByte) when EXT3 or ReiserFS are in place.

  13. Engine private stack Process stack Adaptive Server Enterprise Shared Memory Segment Run-time shared object Dynamic loadable shared objects Uninitialized data - bss Initialized data Program text segment Porting ASE – Memory layout

  14. Sybase products available on Linux ASE 12.5.0.1 SBE/DE/EE - Jul 2002 SUPPORTED release • Adaptive Server Enterprise accompanied with Backup Server, XP Server, Monitor Server and Historical Server, ASE JVM, 12.5 Open Client / -Server and ESQL/C SDK’s • Ported under Red Hat 7.2 • Kernel 2.4.9 / Glibc 2.2.4 • Support for Raw bound devices • Support for Asynchronous disk I/O per librt • Support for ASE Native user threads per libpthread • FREE development and deployment • Developers Edition (DE) • Small Business Edition (SBE)

  15. The Linux platform

  16. New O/S features added to ASE 12.5 Kernel 2.4.x and run-time 2.2.x features Latest distributions show enough stability allowing ASE to enable complex O/S features it can support. • Raw disk I/O • EIDE, SCSI and RAID devices are supported • Adaptive Server Enterprise utilities with internal support • $SYBASE/$SYBASE_ASE/bin/srvbuild • $SYBASE/$SYBASE_ASE/bin/backupserver • $SYBASE/$SYBASE_ASE/bin/dataserver

  17. New O/S features added to ASE 12.5 Kernel 2.4.x and run-time 2.2.x features Latest distributions show enough stability allowing ASE to enable complex O/S features it can support. • LWP - Native O/S threads per Posix 1003.1c • Early versions of libpthread show instable • Required is libpthread-0.9 with glibc-2.4.4 • Posix Async disk I/O per librt • Early versions of librt show instable. • Required is librt-2.4.4 with libpthread-0.9 and glibc-2.4.4

  18. New O/S features added to ASE 12.5 Kernel 2.4.x and run-time 2.2.x features Latest distributions show enough stability allowing ASE to enable complex O/S features it can support. • LFS – Large File Support • Ext3FS, ReiserFS, vxFS must be in place. • Physical Tape Support for Backup Server • Generic SCSI I/II hardware needs to be present. • Backup Server supports auto hardware configuration.

  19. Linux System Administration - RPM • Releasing ASE using a package manager • Guarantee a linux compliant and consistent software model

  20. Linux System Administration - RPM Installing and upgrading Linux Major distributions target the platform when installing or upgrading software components with ‘RPM’. • The Redhat Package Manager • Software components are described with much detail. • Package contents are registered in a RPM specific database. • It allows for smart update methods. • It uses compression to minimize distribution size. • It uses an internal CRC (md5) checking assuring software is free from distribution defects when installing.

  21. Linux System Administration - RPM Installing and upgrading Linux • The Redhat Package Manager - continued • Packages are computed for run-time dependencies. • Up on installation run-time and environmental checks are performed assuring minimum and correct platform requirements. • Packages can internally be programmed with package embedded shell scripts to control automatic configuration procedures. • RPM provides system administrators with tools to perform software integrity and consistency checks.

  22. Linux System Administration - RPM Using RPM • RPM Query command • Query the package header • rpm -qip package-name-x.i386.rpm (file) • rpm -qi package-name-x (installed) • Query package contents • rpm -qlp package-name-x.i386.rpm (file) • rpm -ql package-name (installed)

  23. Linux System Administration - RPM Using RPM • RPM Query command • Query an installed element for its package • rpm -qf /opt/sybase-12.5/ASE-12_5/bin/dataserver • Query all packages installed on a node • rpm -qa • Query a package install prefix • rpm -q --queryformat ’%{installprefix}’ \ sybase-common-12.5.0.1-1.i386.rpm

  24. Linux System Administration - RPM Using RPM • Installing, Upgrading and Uninstalling software • Install or Upgrade software contents. • rpm –Uhv sybase-common-12.5.0.1-i386.rpm • Uninstalling software from the system • rpm –e sybase-common-12.5.0.1 The smart installers always uses ‘-U’ ! Never remove package installed software with rm(1) !!!

  25. Linux System Administration - RPM Using RPM • BIG hammer approaches • Installing software which fails dependencies • rpm -ihv --nodeps package-name-x.yyy.rpm • Installing software which does not register • rpm -ihv --force package-name-x.yyy.rpm Use the above only if all other methods fail and the package contents need to be installed.

  26. Linux System Administration - RPM Using RPM What to do when the RPM database got errnoneous information? • Reinstall the system under the upgrade method • Rebuild the RPM database • rpm –rebuild Distributing the installed system by repackaging all installed components. • /usr/sbin/mkkickstart

  27. Linux System Administration - filesystem The Linux supported filesystems • EXT, EXT2, EXT3, ReiserFS, Minix, adfs, affs, bfs, coda, cramfs, fat, vfat, hpfs, isofs, jfs, procfs, romfs, smbfs, sysvfs, ufs, udf, umsdos • Sybase preferred file systems • Default file system kernel 2.2.x (RH6.2) = EXT2 • Max file size = limited to 2 GByte • Default file system kernel 2.4.x (RH7.2) = EXT3 • Max file size = 2 TByte

  28. Linux System Administration – filesystem The Linux supported file systems • Administrating a file system using a LABEL. Advantage is that if the device changes when additional hardware is added the LABEL will take care of its /etc/fstab administration. • Building the file system • mkfs –t fstype fs-options device size • Adding a file system LABEL for its reference • tune2fs –L volume-label device • Administrating the LABEL under /etc/fstab • /world /myworld ext3 defaults 0 0 • Performing an file system consistency check on this device • fsck /world

  29. Linux System Administration - rawdevice Linux Raw device administration • Linux Raw devices are bound devices. • Devices bind via /dev/rawctl • Device entries appear under directory /dev/raw • /usr/bin/raw /dev/raw/raw1 /dev/sdd1 • Query device administration with ‘raw’ command • /usr/bin/raw -q /dev/raw/raw1 • /usr/bin/raw -qa

  30. Linux System Administration - rawdevice Linux Raw device administration • Main administration is done from /etc/sysconfig/rawdevices /dev/raw/raw1 /dev/sdd1 /dev/raw/raw2 /dev/sdd2 /dev/raw/raw3 /dev/sdc1 /dev/raw/raw4 /dev/hde2 • Enable Raw device at system boot time • /sbin/chkconfig rawdevices on • Manually start / stop rawdevice binding • /etc/init.d/rawdevices start|stop

  31. Linux System Administration – SCSI Tape Linux SCSI Tape administration • Main administration is done from /etc/stinit.def • Backup Server does need 2 EOF MTIO setting • two-fms=1 • Reinitialize the tape setup after any physical device change • /sbin/stinit -v

  32. Linux System Administration - networking LINUXCONF A helpful configuration editor • Areas for network administration • Client administration • Hostname • Network device with IPaddr • DNS administration

  33. Linux System Administration - networking Linux network administration • Main ‘client’ network administration is done from • /etc/sysconfig/network • Enable networking • Specify “HOSTNAME” • Specify “GATEWAY” • Specify “GATEWAYDEV” • Optinally “NIS” administration • Optionally “IPX” administration • /etc/sysconfig/networking • Loopback interface configuration per ifcfg-lo

  34. Linux System Administration - networking Linux network administration • Main ‘client’ network administration is done from • /etc/sysconfig/networking/devices • Specific network device bindings • /etc/sysconfig/networking/profiles • Hosts table for /etc/hosts • Network table for /etc/networks • DNS table for /etc/resolv.conf • /etc/sysconfig/network-scripts • Administrative actions when interfaces are on- / off-lined

  35. Linux System Administration - networking Linux network administration • ‘server’ network administration • Providing telnet, rlogin, rsh, ftp, rsync, … services • /sbin/chkconfig telnet on • /sbin/chkconfig rlogin on • Providing dhcp services • Edit /etc/dhcp.conf • /sbin/chkconfig dhcpd on • /etc/init.d/dhcpd start

  36. Linux System Administration - networking Linux network administration • ‘server’ network administration (cont) • Providing samba services • Edit /etc/samba/smb.conf • /sbin/chkconfig smb on • /etc/init.d/smb start • Providing httpd services • Edit /etc/httpd/conf/httpd.conf • /sbin/chkconfig httpd on • /etc/init.d/httpd start

  37. Linux System Administration - networking Linux network administration • Network firewall and masquarade administration • /etc/sysconfig/ipchains • Linuxconf allows for simple high, medium no firewall administration • /usr/share/doc/ipchains-*/HOWTO.html describes detailed filewall setup. • /sbin/chkconfig ipchains on • /etc/init.d/ipchains start • Whitepaper available from http://www.xos.nl/

  38. Linux as a Magnifying glass - procfs The Process file system - /proc /proc is a virtual file-system allowing access to kernel data using ordinary read(2) and write(2) system-calls. • Most data can be examined and tuned using the cat(1) command. • System specific data • Kernel, memory and network tunable parameters • User processes

  39. Linux as a Magnifying glass - procfs The Process file system - /proc • The GNOME and KDE desktop manager provide several tools to examine the /proc file system • Ksysguard • Strongest tool to focus on hardware and software related topics. • Provides a daemon process to monitor multiple machines at once. • Kpm • Strong tool to zoom in on processes and monitor process related resources like file-descriptors, sockets and signal disposition • Gtop • Strong tool to monitor processes and make a graphical representation on storage and memory usage.

  40. Linux as a Magnifying glass - procfs Ksysguard

  41. Linux as a Magnifying glass - procfs The Process file system - /proc What hardware and hardware specific statistics does my system provide? • System “hardware” specific data. • /proc/cpuinfo • Number of CPU’s physically installed. • Per CPU brand, model, cache size, frequency. • Specific details per CPU on known h/w defects. • CPU bogomips performance indicator measured at system boot. • /proc/interrupts • Active IRQ processing within the machine.

  42. Linux as a Magnifying glass - procfs The Process file system - /proc • System “hardware” specific data • /proc/pci • PCI cards detected during system boot providing information on hardware manufacturer, brand, model • /proc/bus/pci • PCI cards as detected separated into subsections per card allowing card specific operations.

  43. Linux as a Magnifying glass - procfs The Process file system - /proc • System “hardware” specific data • /proc/iomem • Physical memory address ranges • /proc/ioports • Controller port address ranges • /proc/dma • DMA request levels as assigned

  44. Linux as a Magnifying glass - procfs The Process file system - /proc What software and software specific statistics is arranged for? • System “software” specific data • /proc/devices • Software driver major number assignment. • /proc/filesystems • Filesystems supported on this installation. • /proc/meminfo • Virtual memory statistics currently in effect.

  45. Linux as a Magnifying glass - procfs The Process file system - /proc • System “software” specific data • /proc/partitions • Complete overview of partitions overview known by the running kernel. • /proc/swaps • Specific arranged partitions for virtual memory arrangement.

  46. Linux as a Magnifying glass - procfs The Process file system - /proc Kernel global obtainable data and tunable parameters • Parameters in the interest of ASE server setups • /proc/sys/kernel • ctrl-alt-del - disable/enable response to a 3 finger salute • shmmax - maximum shared memory heap size • threads-max - maximum number of LWP available in this system

  47. Linux as a Magnifying glass - procfs The Process file system - /proc Tuning the linux kernel • Tuning directly per /proc • /bin/echo numeric-value > /proc/sys/kernel/shmmax • Administrate fixed tuning under /etc/sysctl.conf • Listing all or interactive tuning kernel parameters • /sbin/sysctl –a • /sbin/sysctl –w kernel.shmmax=2097152

  48. Linux as a Magnifying glass - procfs The Process file system - /proc Examining user processes via the process file system • User process related data. • /proc/PID/ - PID = Process ID • Direct access to the user binary • Finding the process current work directory • Arguments and environment • Memory utilization • Memory layout • File descriptors and permissions • Signal disposition

  49. Linux as a Magnifying glass - procfs The Process file system - /proc • User process related data. • /proc/PID/exe • Symbolic link to the program binary. • /proc/PID/cwd • Current work directory. • /proc/PID/cmdline • Representing the *argv[] stored Arguments • /proc/PID/environ • Representing the *env[] accessible Environment

  50. Linux as a Magnifying glass - procfs The Process file system - /proc • User process related data. • /proc/PID/status • Current and effective process UID and GID • Virtual memory statistics • Signal disposition • /proc/PID/maps • Memory segment mappings • /proc/PID/fd (directory) • File descriptors open

More Related