Dieses Dokument beschreibt die Schritte zur Aktualisierung der Software- und Systementwicklung (SUSE) Linux Enterprise Server (SLES) 11 für Systeme, Anwendungen und Produkte in der Datenverarbeitung (SAP) vom Service Pack (SP)2 auf SP3 auf einem C460-System mit FusionIO-Karten. SAP HANA-Systeme (High Performance Analytic Appliance) werden mit der neuesten Version von SLES 11 für SAP-Anwendungen und -Treiberversionen zum Zeitpunkt der Installation geliefert. Während der Lebensdauer des Systems ist der Kunde dafür verantwortlich, die Umgebung mit den neuesten Sicherheits-Patches, Updates und Kernel-Versionen zu aktualisieren, die von SAP oder SUSE angefordert werden könnten.
Cisco empfiehlt, über Kenntnisse in folgenden Bereichen zu verfügen:
Diese Komponenten sind erforderlich:
Die Informationen in diesem Dokument basieren auf den folgenden Software- und Hardwareversionen:
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
Wenn Sie größere Operationen auf dem Betriebssystem ausführen, wie z. B. ein Upgrade auf die Kernel-Treiber oder eine Änderung der Kernelparameter, stellen Sie sicher, dass Sie eine Sicherung Ihrer HANA Log-Partition haben, die vorzugsweise außerhalb der Appliance gespeichert wird. Sie sollten auch alle relevanten Versionshinweise in den Support-Kanälen von SAP, SUSE und Cisco lesen.
Bei SAP HANA-Systemen, die FusionIO-Karten enthalten, wie z. B. der C460, sind die FusionIO-Treiber speziell für den laufenden Kernel entwickelt. Daher erfordert ein Upgrade auf einen neuen Kernel zusätzliche Schritte.
Schließlich muss während des Aktualisierungsvorgangs die HANA-Datenbank gestoppt werden.
server01 :~ # su - <SID>adm
server01:/usr/sap/<SID>/HDB00 # HDB stop
hdbdaemon will wait maximal 300 seconds for NewDB services finishing.
Stopping instance using: /usr/sap/HAN/SYS/exe/hdb/sapcontrol
-prot NI_HTTP -nr 00 -function StopWait 400 2
12.08.2014 23:46:34
Stop
OK
12.08.2014 23:47:02
StopWait
OK
hdbdaemon is stopped.
Nachdem Sie die HANA-Datenbank beendet haben, wechseln Sie zum LOG-Bereich, und sichern Sie die Protokoll-Partition.
server01 :~ # cd /hana/log
server01 :/hana/log # find . ?xdev | cpio ?oav > /backup/hana.log.cpio
Entsperren Sie die Protokoll-Partition und kommentieren Sie sie in /etc/fstab, damit sie die Protokoll-Partition nach dem Neustart nicht automatisch bereitstellt. Dies ist erforderlich, da nach einem Kernel-Upgrade die FusionIO-Treiber neu erstellt werden müssen, bevor die Protokoll-Partition gemountet werden kann.
server01:~ # umount /hana/log
server01:~ # vi /etc/fstab
server01:~ # cat /etc/fstab | grep "log"
#/dev/md0 /hana/log xfs defaults 1 2
Für Service Pack-Upgrades folgen Sie dem Prozess, der im Artikel 7012368 der Novell KB dokumentiert ist.
Konfigurieren Sie ggf. einen Proxydienst, damit der Server die Spiegel erreichen kann.
server01:~ # cd /etc/sysconfig/
server01:/etc/sysconfig # vi proxy
PROXY_ENABLED="yes"
HTTP_PROXY="http://<COMPANY.COM>:8080"
HTTPS_PROXY="http://<COMPANY.COM>::8080"
FTP_PROXY=http://<COMPANY.COM>::8080
Ein Kernel-Update erfordert einen Neustart, aber BOOT NOCH NICHT.
Während der Kernel-Aktualisierung werden neue GNU (GNU's Not Unix) GR- und Unified Bootloader (GRUB)-Einträge erstellt. Überprüfen Sie /boot/grub/menu.lst, um sicherzustellen, dass diese die jeweiligen RAID-Konfigurationen (Redundant Array of Independent Disks) widerspiegeln.
Die relevanten Einträge befinden sich unter dem Stamm der Zeile (hd0,0) und den Zeilen, die den neuen Kernel enthalten.
server01:/boot/grub # cat menu.lst
# Modified by YaST2. Last modification on Wed Jul 24 18:27:21 GMT 2013
default 0
timeout 8
##YaST - generic_mbr
gfxmenu (hd0,0)/message
##YaST - activate
###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE Linux Enterprise Server 11 SP<#> - <VERSION> (default)
root (hd0,0)
kernel /vmlinuz-<VERSION>-default root=/dev/rootvg/rootvol
resume=/dev/rootvg/swapvol splash=silent crashkernel=256M-:128M
showopts intel_idle.max_cstate=0 vga=0x314
initrd /initrd-<VERSION>-default
###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE Linux Enterprise Server 11 SP<#> - <VERSION> (default)
root (hd0,0)
kernel /vmlinuz-<VERSION>-default root=/dev/rootvg/rootvol showopts ide=nodma
apm=off
noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1
nomodeset x11failsafe intel_idle.max_cstate=0 vga=0x314
initrd /initrd-<VERSION>-default
Zusätzlich starten Sie grub über die CLI, und geben Sie die folgenden Befehle ein:
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word,
TAB lists possible command completions. Anywhere else TAB lists the
possible completions of a device/filename. ]
grub> device (hd0) /dev/sda
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... failed (this is not fatal)
Running "embed /boot/grub/e2fs_stage1_5 (hd0,0)"... failed (this is not fatal)
Running "install /boot/grub/stage1 (hd0) /boot/grub/stage2 p /boot/grub/menu.lst "...
succeeded
grub>
Der Neustart des Servers sollte jetzt sicher sein. Geben Sie den Befehl uname -a ein, um zu überprüfen, ob der Kernel aktualisiert wurde.
server01:/root # uname -a
Linux server01 3.0.101-0.35-default #1 SMP Wed Jul 9 11:43:04 UTC 2014 (c36987d)
x86_64 x86_64 x86_64 GNU/Linux
server01:/ # find / -name "iomemory*.src.rpm"
/usr/src/packages/RPMS/x86_64/iomemory-vsl-<VERSION>.src.rpm
server01:/
# rpmbuild --rebuild /usr/src/packages/RPMS/x86_64/iomemory-vsl-<VERSION>.src.rpm
Installing iomemory-vsl-<VERSION>.src.rpm
...
Wrote:
/usr/src/packages/RPMS/x86_64/iomemory-vsl-3.0.101-0.35-default-<VERSION>.x86_64.rpm
server01:/
# rpm -ivh /usr/src/packages/RPMS/x86_64/iomemory-vsl-3.0.101-0.35-
default-<VERSION>.x86_64.rpm
Preparing... ########################################### [100%]
1:iomemory-vsl-3.0.101-0.########################################### [100%]
Wenn der alte Treiber noch aufgeführt ist, entfernen Sie ihn.
server01:/recover/FusionIO # rpm -qa | grep vsl
iomemory-vsl-3.0.101-0.35-default-<VERSION>
iomemory-vsl-3.0.80-0.7-default-<VERSION>
server01:~ # rpm -e iomemory-vsl-3.0.80-0.7-default-<VERSION>
Diese Anleitungen können auch verwendet werden, wenn neuere Treiber gewünscht werden. Die neueste von FusionIO unterstützte Treiberversion finden Sie auf der Support-Website von FusionIO im KB 857.
server01:/recover # rpm -qa | grep vsl
iomemory-vsl-3.0.80-0.7-default-<VERSION>
libvsl-<VERSION>
server01:/recover # rpm -qi iomemory-vsl-3.0.80-0.7-default-<VERSION>
Name : iomemory-vsl-3.0.80-0.7-default Relocations: (not relocatable)
Version : <VERSION> Vendor: Fusion-io
Release : 1.0 Build Date: Tue Aug 12 23:22:57 2014
Install Date: Tue Aug 12 23:27:46 2014 Build Host: server91.local
Group : System Environment/Kernel Source RPM: iomemory-vsl-<VERSION>.src.rpm
Size : 5059825 License: Proprietary
Signature : (none)
URL : http://support.fusionio.com/
Summary : Driver for ioMemory devices from Fusion-io
Description :
Driver for fio devices
Distribution: (none)
Die Wiederherstellungspartition sollte über zwei Ordner mit Treibern verfügen: CISCO_FusionIO und FusionIO. Der Anbieter für das RPM in diesem Beispiel ist FusionIO.
server01:/recover # cd FusionIO
server01:/recover/FusionIO # ls *vsl*src.rpm
iomemory-vsl-<VERSION>.src.rpm
server01:/recover/FusionIO # rpmbuild -?rebuild iomemory-vsl-<VERSION>.src.rpm
Installing iomemory-vsl-<VERSION>.src.rpm
...
Wrote:
/usr/src/packages/RPMS/x86_64/iomemory-vsl-3.0.101-0.35-default-<VERSION>.x86_64.rpm
server01:/recover/FusionIO # rpm -ivh
/usr/src/packages/RPMS/x86_64/iomemory-vsl-3.0.101-0.35-default-<VERSION>.x86_64.rpm
Preparing... ########################################### [100%]
1:iomemory-vsl-3.0.101-0.########################################### [100%]
server01:/recover/FusionIO # rpm -qa | grep vsl
iomemory-vsl-3.0.101-0.35-default-<VERSION>
Wenn der FusionIO-Treiber aktualisiert wird, sollten auch die Dienstprogramme aktualisiert werden.
server01:/recover/FusionIO # cd Installed
server01:/recover/FusionIO/Installed # ls
fio-common-<VERSION>.x86_64.rpm fio-util-<VERSION>.x86_64.rpm libvsl-<VERSION>.x86_64.rpm
fio-sysvinit-<VERSION>.x86_64.rpm
server01:/recover/FusionIO/Installed # rpm -Uvh libvsl-<VERSION>.x86_64.rpm
Preparing... ########################################### [100%]
1:libvsl ########################################### [100%]
server01:/recover/FusionIO/Installed
# rpm -Uvh fio-common-<VERSION>.x86_64.rpm fio-sysvinit-<VERSION>.x86_64.rpm
fio-util-<VERSION>.x86_64.rpm
Preparing... ########################################### [100%]
1:fio-util ########################################### [ 33%]
2:fio-common ########################################### [ 67%]
3:fio-sysvinit ########################################### [100%]
insserv: Service syslog is missed in the runlevels 4 to use service Framework
iomemory-vsl 0:off 1:on 2:on 3:on 4:on 5:on 6:off
Nach der Installation des neuen Treibers muss das System neu gestartet werden, um den Treiber zu aktivieren. Überprüfen Sie nach dem Neustart, ob die Versionen korrekt sind.
server01:/root # rpm -qa | grep vsl
iomemory-vsl-3.0.101-0.35-default-<VERSION>
libvsl-<VERSION>
server01:/root # rpm -qa | grep fio
fio-common-<VERSION>
fio-util-<VERSION>
fio-sysvinit-<VERSION>
Wenn der alte Treiber noch aufgeführt ist, entfernen Sie ihn.
server01:/root # rpm -qa | grep vsl
iomemory-vsl-3.0.101-0.35-default-<VERSION>
iomemory-vsl-3.0.80-0.7-default-<VERSION>
server01:~ # rpm -e iomemory-vsl-3.0.80-0.7-default-<VERSION>
Überprüfen Sie den Treiberstatus. Sie sollten eine Version sehen und die Adapter sollten online und angeschlossen sein.
server01:/root # fio-status | egrep -i "(driver|attached|online)"
Driver version: <version>
fct0 Attached
fioa State: Online, Type: block device
fct1 Attached
fiob State: Online, Type: block device
Entfernen Sie den Kommentar (#) und mounten Sie /hana/log, um die Änderungen in /etc/fstab rückgängig zu machen.
server01 :~ # su - <SID>admserver01:/usr/sap/<SID>/HDB00 # HDB start
StartService
OK
OK
Starting instance using: /usr/sap/HAN/SYS/exe/hdb/sapcontrol
-prot NI_HTTP -nr 00 -function StartWait 2700 2
12.08.2014 23:57:56
Start
OK
12.08.2014 23:59:10
StartWait
OK