view · edit · history · print

These are rough notes, do not look at te typos


Cheap SAP is it possible?

In short: SAP on 64bit XenoLinux

Purpose: Primarilly for sandboxes and training systems.

Fact: Lots of SAP installations are on Windows because of the cost-factor. But lots of large enterprises often use UNIX* and Oracle for thier SAP systems and have high licence and hosting costs. Even if enterprises are using Windows they tend to use a higher cost windows server version with a high-end SQL-server database.

Costs:

  • database license cost (often included in SAP license for the specified DB)
  • OS license cost
  • vendor support contract
  • near mainframe class hardware

UNIX*/hardware alternatives:

  • HP-UX now runs on x86 (Itanium/Opteron) but these still are large HP boxes.
  • Sun now has OpenSolaris and runs decently on x86.
  • AIX runs on expensive (but decent) hardware (pSeries). Cost reduction is often done using virtualization and sharing resources from a pool on a *verry* large box. The problem here is that you pay more $ for the processor performance (in rperf units) of large IBM pSeries boxes then for low end pSeries boxes.

Attempt: reduce hosting, vendor support and licencing cost...

Hardware (hosting)
Of the shelve 64bit hardware is not expensive, hard to find and has really good performance lately. Intel is still delivering mostly 32bit (not for Mac OSX) because of Windows and the fact that thier 64bit processor is not 32bit compatible. AMD however is the underdog and can deliver 64bit processors for all needs becourse they are 32bit compatible. Intel alternative are Xeon processors.
Operating System (licencing)
Zero cost but good vendor support where wanted, and supported by SAP: Linux. That is it! Not much alternatives (besides OpenSolaris). However there is a "but" regarding SAP...
Virtualization (hosting)
The best option is to run everything on 1 system but real life learns us that we need some kind of resource management and system environment sepparation. Knowing that we will be using Linux we have choice on *how* we want to virtualize. My personal preference is containerization using namespaces but there Linux is just taking baby steps (it promisses however to be one of the better architectures out-there). More realistical choices are: XEN, Vserver(Virtuozzo), KVM, VMware, etc. Lets be "popular" and go for supported(snote:1122387) hypervisior-style virtualization with good performance: XEN.
Databse (licencing)
SAP already provides the answer to this one, they deliver a standard cross-platform database called SAP DB which has been opensources and supported by the MySQL people. MySQL has been growing and proven a good alternative (performance wise) to more expensive and enterprise accepted databases like Oracle. But i am not talking abouth MySQL but abouth thier enterprise version MaxDB. This database is further develloped (and supported) by both SAP and MySQL. The maintenance and complexity is also much more simple and should contribute to reduction of runtime cost.
Support
I try to keep vendor support in mind but for our purpose go from the assumption that we do not setup production environments as mentioned in the beginning of this document.

Result: AMD64 or Intel Xeon, XEN, MaxDB Alternative (support needs to be investigated): x86, OpenSolaris, containerization/zones, MaxDB


SAP on Linux

Distribution:

  • Novell/SUSE Enterprise Server
  • Red Hat Enterprise Server
  • free alternative: CentOS is a fully compatible distribution with Red Hat Enterprise Server!

Platforms described by SAP:

IA32
also refered to as AS32 or x86. These are Intel compatible 32bit
x86_64
also refered to as AS64, x64 or AMD64. This is a 64-bit microprocessor architecture designed by AMD called AMD64. Later on Intel also introduced a compatible architecture called EM64T. (processors : AMD Opteron, Intel Xeon, VMware ESX 64 Bit Server)
IA64
Intel Architecture 64 This is a 64-bit microprocessor architecture designed by Intel and Hewlett-Packard. (processors : Intel Itanium, Intel Itanium 2)
PowerPC
IBM pSeries
IBM System z
IBM Mainframe zLinux

Note: Best supported platform for Linux is x86_64 64bit using SUSE or RED HAT.

References:

SAP statements:

  • "From our point of view Linux has a realistic chance to become the unified Unix running on different hardware platforms." -- FAQ
  • SAP started with Linux in 1999
  • "If you are a SAP customer already, there will be no additional charges." -- FAQ
  • "There are almost 3000 installations (2005). Counts are doubling each year (since 1999)" -- FAQ
  • "Supported databases for mySAP Business Suite on Linux are IBM DB2/UDB, Informix, Oracle and SAP MaxDB." -- FAQ

Kernel related support: Therefore the following can't be supported:

  • Recompiling the Linux kernel, with or without source modifications
  • Loading of 3rd party binary Linux kernel modules which have not been shipped by the Linux distributors
  • Loading of any unsupported Linux kernel modules
  • Loading of any closed source drivers

If you already are an SAP customer, you can also have a look at SAP note 784391 (login required) for further, more detailed, information.

Make sure that you have installed the required SDK: You have to download the special "JDK 1.4.2 for SAP Customers". Please refer to the new SAP Note 1090932.


Test environment: Qemu

Performance should be *really* bad :(

  • external USB drive
  • low memory (512MiB to install OS, 1GiB + a huge ammount of swap space for SAP later in the process)
  • emulation, not only of the virtual machine but also the processor architecture Intel 32bit => AMD64
  • CentOS 5.1 (download)

Install notes:

  • select English as the operating system language on all Linux hosts (snote:171356)
  • Swap is twice the main memory structure (snote:171356)
  • saplocales (snote:171356)
  • /etc/sysctl.conf (snote:1048303)
  • /etc/security/limits.conf (snote:1048303)

Create disks:

  
qemu-img create -f raw ../qemu/CentOS64bit/centos.img 2000M
qemu-img create -f raw ../qemu/CentOS64bit/centos2.img 2000M
qemu-img create -f raw ../qemu/CentOS64bit/centos3.img 2000M (not used for OS install)

Note: We use a USB disk with FAT32 so no disks larger then 2048MiB. For larger filesystems then 2GiB we will use LVM in Linux. But we can only have 4 disks by default, unless you show then as USB dev.

Start installation:

  
E:\_OSimages\qemu-bin-windows>qemu-system-x86_64.exe -L . -m 512 -boot d -cdrom ../iso/Cen
tOS-5.1-x86_64-bin-1of7.iso -hda ../qemu/CentOS64bit/centos.img -hdb ../qemu/CentOS64bit/c
entos2.img

Note: Most Linux distributions install SMP kernels by default, so we can switch to -smp 2 later in the process.

Howto switch iso image in Qemu:

  
ctrl-alt-2
eject cdrom
change cdrom ../iso/CentOS-5.1-x86_64-bin-2of7.iso
ctrl-alt-1

=> End of story for now! My disk did not boot after reboot and I think 3*2GB will not be enough for SAP. Also Qemu does not support 2GB split files for 1 disk image like VMware does :(

Test environment: VMware

SAP has made a 32bit version available for vmware player which is only suitable for trial and preview. In theory they still support Netweaver on 32bit Linux but 64bit is recomended.

=> I had some download problems but now some other alternatives raise thier head after checking some masterguides quickly...

Alternate test environments

  • 64bit Linux natively on my AMD64 portable (with or withouth XEN).
  • 32bit Linux (native or emulated) using SAP RAPID installer.

to verify:

  • check some more masterguides regarding IA64 vs. X86_64
  • check SAP abouth what includes IA32
  • check XEN capabilities on uniprocessor

Install

  
#
# iso file
#
$ cat N4S_TestDrive_MaxDB.iso_Part_a* > /tmp/download/N4S_TestDrive_MaxDB.iso
$ mount -t iso9660 -o loop N4S_TestDrive_MaxDB.iso /drive1

#
# swapspace
#
for x in 1 2 3 4 5 6
do
  dd if=/dev/zero of=/swapfile${x}.swp bs=1024 count=1024k
  mkswap /swapfile${x}.swp
  swapon /swapfile${x}.swp
done

#
# java (Note 861215 - Recommended Settings for the Linux on AMD64/EM64T JVM)
#
$ yum install compat-libstdc++-33.x86_64
$ yum install libXp.x86_64
$ ldconfig /usr/lib64
$ yum install compat-libstdc++-33.i386
$ yum install libXp.i386
$ ldconfig /usr/lib
$ rpm -Uvh IBMJava2-AMD64-142-SDK-1.4.2-9.0.x86_64.rpm
$ ln -s /opt/IBMJava2-amd64-142/jre/bin/java /usr/local/bin/java
$ ln -s /opt/IBMJava2-amd64-142/jre/bin/java /usr/bin/java
$ java -fullversion
java full version "J2RE 1.4.2 IBM build j9xa64142ifx-20070808 (SR9 + PK50303)"

#
# SAP NetWeaver 7.0 -  TestDrive
#
$ /drive1/install.sh
//snip//
Do you agree to the above license terms? yes/no:
yes
//snip//
add user n4sadm
unpacking adm_env.tar.bz2
Changing password for user n4sadm.
New UNIX password: 
BAD PASSWORD: it is too short
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.
add user sdb
Changing password for user sdb.
New UNIX password: 
BAD PASSWORD: it is too short
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.
add user sqdn4s
unpacking sqd_env.tar.bz2
Changing password for user sqdn4s.
New UNIX password: 
BAD PASSWORD: it is too short
Retype new UNIX password: 
//20minutes//
passwd: all authentication tokens updated successfully.
unpacking /drive1/server/TAR/x86_64/SAPDB_I.tar.bz2
unpacking /drive1/server/TAR/x86_64/SAPDB_II.tar.bz2
unpacking /drive1/server/TAR/x86_64/SAPDB_III.tar.bz2
unpacking /drive1/server/TAR/x86_64/SAPN4S.tar.bz2
Service visinet-gui on port 3601/tcp was deactivated... 
Service cpq-tasksmart on port 3201/tcp was deactivated... 
Service iwec on port 4801/tcp was deactivated... 
Service tick-port on port 3200/tcp was deactivated... 
Service iims on port 4800/tcp was deactivated... 
Update the necessary information in sysctl.conf:
kernel.shmmax = 23136829430
kernel.shmall = 5242880
kernel.msgmni = 1024
fs.file-max = 32768
kernel.sem = 1250 256000 100 1024
Found interface: eth0 . Alias is eth0:0
ifconfig eth0:0 192.168.155.1 up
Ok

#
# initialize
#
$ su - n4sadm
setenv: Too many arguments.
# this is solved by switching to bash or ksh but saplicense yeilds error while loading shared libraries: libsapu16.so
$ /usr/sap/N4S/SYS/exe/run/saplicense -get
saplicense: HARDWARE KEY = X0387537524 
  * https://www.sdn.sap.com/irj/sdn/docs?rid=/webcontent/uuid/b0448801-3905-2a10-b681-a803b2409ead
  * https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/minisap/minisap.htm
  Apply for an evaluation license key
  As soon as you have installed the application server software your hardware key 
  is reported on the command line. Please follow this link and fill out the form 
  there using that key and a 90-day license should be emailed to you within 
  minutes. This license can be renewed 7 days before expiry, just apply again by 
  using the same form. The license has to be installed via transaction "slicense" 
  in the ABAP-stack of the system. Therefore upload the license file, which is 
  attached to the mail, to your Linux system, where it can be accessed by the 
  SAP-system. Logon as user SAP* and run "slicense" in the GUI. Follow the button 
  "New Licenses" at the top of the window and press "Install". A file dialog 
  should open where you can navigate to and select the license file.
----- Begin SAP License -----
  SAPSYSTEM=N4S
  HARDWARE-KEY=X0387537524
  INSTNO=DEMOSYSTEM
  BEGIN=20080112
  EXPIRATION=20080412
  LKEY=MIIBOgYJKoZIhvcNAQcCoIIBKzCCAScCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHATGCAQYwggECAgEBMFgwUjELMAkGA1UEBhMCREUxHDAaBgNVBAoTE215U0FQLmNvbSBXb3JrcGxhY2UxJTAjBgNVBAMTHG15U0FQLmNvbSBXb3JrcGxhY2UgQ0EgKGRzYSkCAgGhMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wODAxMTMyMTQ5NTdaMCMGCSqGSIb3DQEJBDEWBBROb3TBY4gyazcqoIcf/j/hiQCACTAJBgcqhkjOOAQDBC4wLAIUWs5AXD5quXKupPys6WlZykqoNoYCFDehjh7SVKPIvWurXO+vCNfdK7Xd
  SWPRODUCTNAME=NetWeaver_ADA
  SWPRODUCTLIMIT=2147483647
  SYSTEM-NR=000000000310672942
# The installed system also creates the following SAP Users:
  username   password  description
  DDIC       sapn4sadm Data Dictionary User
  developer  developer Developer User
  SAP*       sapn4sadm SAP Administrator
  J2EE_ADMIN sapn4sadm J2EE Administrator

#
# problem resolving hostname
#

n4shost:n4sadm 1> niping -v
Hostname/Nodeaddr verification:
===============================
Hostname of local computer: vimpc                            (NiMyHostName)
Lookup of hostname: vimpc                                    (NiHostToAddr)
    --> IP-Addr.: 127.0.0.1
Lookup of IP-Addr.: 127.0.0.1                                (NiAddrToHost)
    --> Hostname: localhost.localdomain
//snip//

==> add vimpc to DNS and change line in /etc/hosts
#127.0.0.1      localhost.localdomain   localhost       vimpc
127.0.0.1       loopback        localhost

n4shost:n4sadm 1> niping -v
Hostname/Nodeaddr verification:
===============================
Hostname of local computer: vimpc                            (NiMyHostName)
Lookup of hostname: vimpc                                    (NiHostToAddr)
    --> IP-Addr.: 153.112.169.250
Lookup of IP-Addr.: 153.112.169.250                          (NiAddrToHost)
    --> Hostname: vimpc.gent.volvo.net
//snip//



References:

admin · attr · attach · edit · history · print
Page last modified on January 14, 2008, at 11:51 PM