IBM System i5 IBM i5/os V5R4 Was ist interessant? Eine Auswahl neuer Funktionen, Möglichkeiten und Besonderheiten. 2007 Holger Scherer Rechenzentrum Kreuznach Design 2006 IBM Corporation
Inhalt Betriebssystem Was tut sich in der AS/400 / iseries / System i - Welt? Administration und Sicherheit Programmierung / Datenbank RPG, CL, JAVA... System i Navigator Übersicht Überwachung, Auswertung, Optimierung Details zu Administration und Sicherheit Nette Beispiele für die Praxis... 2
Hardware-Unterstützung V5R4 und später i5/os V5R4 läuft auf folgenden Modellen: 270, 520, 550, 570, 595, 800, 810, 820, 825, 830, 840, 870, 890, SB2 und SB3 i5/os V5R4 ist das letzte Release mit Unterstützung für diese Modelle: 270, 820, 830, 840, SB2 und SB3 i5/os V5R4 benötigt als Minimum: Load Source mit 17GB sowie 256MB RAM, empfohlen wird ein wenig mehr... i5/os V5R5 unterstützt weiterhin: System/36-Umgebung und Twinax... 3
Software und Hardware integriert System i Rechner unterstützen: 500CPW (Modell 520) bis 184.000CPW (Modell 595) JAVA in 32Bit und 64Bit Integrierte xseries, integrierter xseries-adapter, BladeCenter mit iscsi- Anbindung IPv6 nun als Production Ready deklariert :-) virtuelle Bandlaufwerke als Image Catalog wie CD-Kataloge endlich das Sichern von Spoolfiles höchste Verfügbarkeit immer noch S/36 und S/38 - Umgebungen 4
Was tut sich in der Sicherheit? Hardware Storage Protection ab V5R4 schützt Systemobjekten vor manipulierten Programmen Objekte wie Datenbanken können nur vom internen Code der IBM verwendet werden das erste RISC-Release, das wieder richtigen Hardware-Pointerschutz hat! Intrusion detection System integriert Erkennt und journalisiert Angriffsversuche über das Netzwerk Blockade aber nur auf Wunsch. Regelbasierte Konfiguration erlaubt Eingreifen und Benachrichtigen Auditierung wurde stark erweitert um aktuellen Anforderungen gerecht zu werden 5
Grenzwertiges... Maximale Werte - Kommunikation Konfigurierte Config-Beschreibungen, angehängt: etwa 100.000 empfohlene Devices in einem Subsystem (Interaktiv / Kommunikation): 250-300 Display-DevD je Subsystem: etwa 47.000 TCP - Kommunikation Interfaces (Adressen) je Leitung: bis 2048 Interfaces (Adressen) je System (LPAR): 16.384 Routen pro System (LPAR): 65.535 Sockets und Datei-Deskriptoren je Job(!): etwa 2.500.000 Socket-Deskriptoren je System (LPAR): knapp über 46 Mio NETSTAT kann nur bis 32.767 Verbindungen anzeigen 6
Grenzwertiges in der Datenbank und Objekte Objekte je Bibliothek: etwa 360.000 (empfohlen: max 100.000) Größe eines STMF: 1TB Größe eines Journal-Receivers: knapp 1TB Länge eines Journal-Eintrags: etwas unter 4GB Folgenummer eines Journal-Eintrages: 18.446.744.073.709.551.600 Objekte, die mit einem Journal verbunden sind: etwa 10Mio Objekte mit gegenseitiger Abhängigkeit, die in einer einzelnen Save-Operation gesichert werden können: etwa 110.000 Objekte mit gegenseitiger Abhängigkeit, die in einer einzelnen Restore-Operation zurück geladen werden können: etwa 104.000 Größe eines Objekts, das gesichert werden kann: etwa 2TB Größe eines Save Files: etwa 1TB 7
Administration - Sichern Datensicherung virtuelle Bänder Virtuelles Bandlaufwerk zum Sichern mehrerer Bibliotheken oder des gesamten Systems. Funktioniert mit allen SAV* Befehlen (auch SAVSYS). Spoolfiles können gesichert und restauriert werden (nur ganze OUTQs) Paralleles Sichern/Restaurieren des IFS möglich auf mehrere Geräte SAVSYSINF sichert im laufenden Betrieb Änderungen an der Systemkonfiguration seit letztem SAVSYS Ideal für DUPTAP (Bandsicherung am Tage) Ablage der Daten im IFS können mit FTP kopiert werden Funktionalität über Befehle des Image Catalogs 8
Administration Sichern 2 Einschränkungen virtueller Tapes benötigt weiteren Festplattenplatz wird nicht von SST/DST unterstützt SAVSYS möglich, aber D-IPL von Virtuellem Tape nicht möglich nicht zwingend schneller als ein Bandlaufwerk (abhängig von Hardware) DataCompaction nicht unterstützt DataCompression ist unterstützt, kann System aber stark verlangsamen unterstützt in AIX- und Linux-Partitionen max. 35 virtuelle Tape-Devices max. 256 virtuelle Tape Volumes a 1TB Schreibschutz definierbar 9
Administration 3 wie macht man virtuelle Tapes? CRTDEVTAP DEVD(TAP99) RSRCNAME(*VRT) VRYCFG CFGOBJ(TAP99) CFGTYPE(*DEV) STATUS(*ON) CRTIMGCLG IMGCLG(TAPECLG) DIR('/tapeclg') TYPE(*TAP) ADDIMGCLGE IMGCLG(TAPECLG) FROMFILE(*NEW) TOFILE(Tape1) IMGSIZ(25000) LODIMGCLG IMGCLG(TAPECLG) DEV(TAP99) DSPTAP TAP99 INZTAP TAP99 SAVLIB/SAV.../DUPTAP 10
Administration - Joblogs Joblog-Server Jobprotokolle beim Beenden eines Jobs werden von eigenem Serverjob bearbeitet, Systembelastung damit geringer. gesteuert über Systemwert QLOGOUTPUT, hier kann auch definiert werden, dass keine Spools erstellt werden. Mit WRKJOBLOG können die Joblogs betrachtet werden, das Spool später mit CHGJOB JOB(...) LOGOUTPUT(*JOBLOGSVR) in ein Spool gestellt werden. 11
Spoolfile Neuerungen und Sicherung WRKSPLF bietet neue Filtermöglichkeiten nach Zeit Im Printfile kann Verfallsdatum oder Dauer angegeben werden Sichern / Restaurieren ganzer OUTQs (nicht einzelner Files) DSPTAP/DSPSAVF zeigt auch Spoolfiles ähnlich MBR an Schneller als Spoolfiles in PF kopieren und diese zu sichern Wird auch von BRMS unterstützt Neuer SAV* - Parameter SPLFDATA() - *NONE *ALL *NEW Nicht gesicherte Attribute: S/36-ID, OUTQ-Name, ASP, Ablaufdatum 12
Programmierung 1 CL-Verbesserungen Subroutinen (SUBR, ENDSUBR, RTNSUBR, CALLSUBR, DCLPRCOPT) Zugriff auf Variablen-Teile wie auf eine Datenstruktur mit STG() kann verbessert APIs und Service-Programme aufrufen Pointer-Zugriff und Pointer-Operationen DCL... TYPE(*PTR) Variable kann auf bereits definierter Var. Basieren DCL... STG(*BASED) Eingebaute Funktionen %ADRESS und %OFFSET Interessant wenn man aus einem CL eine API aufrufen will GOTO aus Subroutine nicht erlaubt, nur innerhalb. Rückgabewert vom Typ *INT LEN(4) möglich 13
Beispiel für neue CL-Befehle Demoprogramm SUBR PGM DCL VAR(&ZAHL) TYPE(*INT) LEN(4) DCL VAR(&TEXT) TYPE(*CHAR) LEN(10) DCLPRCOPT SUBRSTACK(9999) CHGVAR CHGVAR SNDMSG CALLSUBR CHGVAR SNDMSG VAR(&ZAHL) VALUE(1) VAR(&TEXT) VALUE(&ZAHL) MSG('Zahl=' *TCAT &TEXT) TOUSR(*REQUESTER) SUBR(ROUTINE) RTNVAL(&ZAHL) VAR(&TEXT) VALUE(&ZAHL) MSG('Zahl=' *TCAT &TEXT) TOUSR(*REQUESTER) /* --------------------------------------------------------- */ SUBRSTART: SUBR SUBR(ROUTINE) SNDMSG MSG('Hallo!') TOUSR(*REQUESTER) CHGVAR VAR(&ZAHL) VALUE(5) CALLSUBR SUBR(...) ENDSUBR RTNVAL(&ZAHL) ENDPGM 14
Programmierung 1 RPG-Verbesserungen PREFIX kann nun Anfang des Feldnamens verkürzen: FDATEI IF E DISK PREFIX('':2) DEBUG-Kontrollspezifikation kennt nun: *INPUT nicht verwendete Eingabefelder werden nun gelesen *DUMP DUMP wird auch ohne A-Erweiterung ausgeführt *XMLSAX erlaubt Benutzung von Simple API for XML H DEBUG(*INPUT: *DUMP: *XMLSAX) kann Daten in XML-Strukturen lesen (%HANDLER und %XML-Funktionen) Free-Format prüft nun mehr Syntax! EVAL-CORR für Faule aber sorgt für Verwirrung. SQL im Free-format implementierbar /FREE EXEC SQL UPDATE datei SET MYFLD1='A'; // Demonstration! /END-FREE COBOL Kann Cobol-Datenstrukturen im XML-Format schreiben! (XML GENERATE) 15
JAVA-Änderungen i5/os V5R4 hat nun 2 JVM / SDK-Umgebungen: JAVA2 SDK, Standard Edition mit: Classic - 64Bit-Modus 32-Bit JVM läuft im 32Bit-Modus (etwas schneller, geringerer Speicherbedarf) Umschalten auf 32Bit-Umgebung mit: ADDENVVAR ENVVAR(JAVA_HOME) VALUE('/QOpenSys/QIBM/ProdData/JavaVM/jdk50/32bit') Die 64Bit-JVM bietet höchste Performance und Skalierbarkeit bei großen Umgebungen Die 32Bit-JVM ist besser geeignet für kleinere Systeme und kleinere Projekte und kleineren Hauptspeicher ;-) 16
SQL-Änderungen SQL-Maximalparameter Statementgröße: 2MB Spaltennamen: 128 Bytes KEY-Angabe und ORDER BY : 32KB Anzahl Tabellen je Statement: 1000 Parameter: 1024 Exklusiv-Sperre bei SELECT SELECT * FROM auftrag WHERE auftrnr = 12345 WITH RR USE AND KEEP EXCLUSIVE LOCKS mit Vorsicht zu geniessen, gültig bis Ende der Transaktion Verschlüsselung 3DES uvm... Angeblich die vollständigste SQL-Umgebung 17
SQL-Änderungen Teil 2 Performance-Verbesserungen Besonders bei LIKE, LOBs, SUBSTR Autonome Indexe ähnlich wie temporäre Indexe. Bleiben bestehen bis zum IPL. Sollten gelegentlich analysiert werden, damit Schreib-Performance nicht sinkt. Können deaktiviert werden, hierzu CACHE_RESULTS und ALLOW_TEMPORARY_INDEXES auf *NONE / *ONLY_REQUIRED setzen Materialized Query Tables Tabelle die auf vorher berechneten Daten basiert, SQE erkennt bei SELECT eventuell vorhandene MQT. Ideal für Data Warehouse Anwendungen. Pflicht: Lesen des Redbooks SG24-6654 (Diagnosing SQL Performance) :-) 18
SQL, Performance, iseries Navigator Viele neue Features zur Optimierung und Überwachung Optimizer-Informationen über Indexe, MQTs, Statistiken Performance Monitor, Plan Cache Analyse System Health Center (auf Deutsch: Diagnosezentrale) Import / Export EDTRBDAP Edit Rebuild AccessPath manuelles Wiederherstellen von Zugriffspfaden verwalten und auslösen Empfohlene Indexe systemweit verwalten Vorausfilterung im Performance Monitor möglich 19
Journalisierung Journalisierung auch von *DTAARA, *DTAQ Bis zu 10Mio Objekte pro Journal mit Vorsicht genießen! Max. Journalempfänger-Größe 1TB oder 1Mrd. Sätze, Größe eines Journal-Eintrages nun 4GB. Mehr Informationen bei DSPJRN / WRKJRNA auch für IFS- Objekte Commit-Steuerung erweitert und parallelisiert. Soft-Commit für kleine Transaktionen ist schneller, im Fehlerfall kann aber eine Transaktion verloren gehen. Aktivieren: ADDENVVAR ENVVAR(QIBM_TN_COMMIT_DURABLE) VALUE(*NO) 20
Sicherheit Hardware Storage Protection eingeführt Objekte, auch Datenbank-Sätze und Dateisystem-Objekte können nur noch über den LIC angesprochen werden. Modifizierte Programme können keine nicht-unterstützten Funktionen oder APIs mehr aufrufen, sie werden abgebrochen. Nachträglich in den System-State veränderte Programme werden abgewiesen. Von IBM als gültig anerkannte Programmbefehle also fast alle Applikationen werden keine Probleme haben. Umwandlung eines Programmobjekts unter V5R4, sobald darauf zugegriffen wird. Objektumwandlung nach Releasewechsel nötig Vergrösserter Plattenplatz-Bedarf und Zeitbedarf bei Umstellung Jedes MI-Objekt wird um 4KB vergrößert, entweder bei Zugriff oder mit DSPLIB/DSPOBJD/STROBJCONV Vorbereitungs-PTFs: V5R2 = SI18716, V5R3 = SI18615 (Platzbedarf ermitteln) 21
Hardware Storage Protection im Detail Bei jedem Ausführen eines RISC-Befehls wird geprüft, ob das Speichersegment (4KB) das HSP-Tag gesetzt hat ähnlich zu CISC-Zeiten. Das HSP-Tag kann nur von authorisierten MI-Routinen gesetzt und geprüft werden, sollte ein Tag durch andere Routinen modifiziert werden, wird es gelöscht und das zugehörige Objekt ist nicht mehr adressierbar. Da Userdomänen-Objekte hiervon ausgeschlossen sind, kann im Systemwert QALWUSRDMN angegeben werden, welche Bibliotheken *USR... Objekte enthalten dürfen, um diese einzuschränken. SQL-Befehle in *PGM, *SRVPGM, *MODULE und *SQLPKG-Objekten wurde geändert. Bis auf *MODULE werden diese in V5R4 automatisch umgewandelt, *MODULE-Objekte werden bei jedem Bound neu gewandelt! Somit evtl. Neuerstellen von *MODULE sinnvoll. *DTAQ und *USRQ Objekte sind ebenfalls in ihrer Objektform geändert, so dass diese nach Releasewechsel unbedingt berührt werden sollten (DSPOBJD...) Kalkulieren Sie höheren Zeitaufwand bei Releasewechsel, ähnlich V4R5->V5R1 22
Netzwerksicherheit Intrusion Detection System implementiert Konfiguration ist jedoch nicht simpel Regeldatei /QIBM/UserData/OS400/QOS/ETC/idspolicy.conf CHGTCPA IPQOSENB(*YES) CHGSYSVAL QAUDLVL VALUE(*ATNEVT) Im Auditjournal Eintragsart IM beachten Zweck Erkennen, aber nicht sofort blocken IDS kann informativ sein, falls nicht schon spezielle Hardware hierfür im Einsatz IDS ersetzt garantiert keine Firewall (oder FW-Regeln) Wertvoll, um Schnüffler zu erkennen oder DoS-Gefahren abzuwehren VPN über NAT Ermöglicht VPN auch wenn Client und AS/400 hinter NAT versteckt sind 23
Noch mehr Netzwerk Kryptographie 5722AC3 nun direkt in i5/os enthalten 5722CE3 direkt in 5722XW1 enthalten 5722CR1 wird nach V5R4 entfallen -> Common Cryptographic APIs nutzen! Neue Exit-Points MSF Erweiterung IFS-Exitpoints für Virenscanner Netzwerkdruck Alias-Namen für TCP-Interfaces SNA über IP-Netzwerke mit Enterprise Extenders Schneller als AnyNet, alle SNA-Anwendungen, aber keine alten 5x94 24
Hardware und allgemeines xseries, Blade-Center, iscsi über iscsi können xseries und Blade-Center an System i angebunden werden neuer iscsi-hba nötig Weiterhin virtueller Storage des i5/os für Windows Disk Einheiten WebFacing mit HATS on-the-fly Web-Umsetzung benötigt keine 5250-Kapazität, aber Deployment-Lizenz WDSC (lite) 6.01 SEU-Ersatz auf dem PC ab 1GB RAM 25