本文档介绍在带FusionIO卡的C460系统上,从Service Pack(SP)2升级到SP3的步骤,以升级软件和系统开发(SUSE)Linux Enterprise Server(SLES)11 for Systems, Applications and Products in Data Processing(SAP)。SAP高性能分析设备(HANA)系统在安装时随SAP应用和驱动程序版本的SLES 11的最新版本一起提供。在系统生命周期内,客户有责任使用SAP或SUSE可能请求的最新安全补丁、更新和内核版本来更新环境。
Cisco 建议您了解以下主题:
需要以下组件:
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
无论何时在操作系统(OS)上执行主要操作,如对内核驱动程序的升级或对内核参数的更改,请确保您有HANA日志分区的备份,最好存储在设备外部。您还应阅读SAP、SUSE和思科支持渠道中的任何相关版本说明。
对于包含FusionIO卡(如C460)的SAP HANA系统,FusionIO驱动程序专为运行内核而构建。因此,升级到新内核需要额外的步骤。
最后,在更新过程中,必须停止HANA数据库。
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.
停止HANA数据库后,移至LOG区域并备份日志分区。
server01 :~ # cd /hana/log
server01 :/hana/log # find . ?xdev | cpio ?oav > /backup/hana.log.cpio
卸载日志分区并在/etc/fstab中注释它,这样它在重新启动后不会自动装载日志分区。这是必需的,因为内核升级后,需要在装载日志分区之前重建FusionIO驱动程序。
server01:~ # umount /hana/log
server01:~ # vi /etc/fstab
server01:~ # cat /etc/fstab | grep "log"
#/dev/md0 /hana/log xfs defaults 1 2
对于Service Pack升级,请遵循Novell知识库文章7012368中记录的流程。
如果需要,请配置代理服务,以便服务器可以访问镜像。
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
内核更新需要重新启动,但暂时不要重新启动。
在内核更新过程中,将创建新的GNU(GNU的Not Unix)GR和Unified Bootloader(GRUB)条目。验证/boot/grub/menu.lst,确保它们反映了特定的独立磁盘冗余阵列(RAID)配置。
相关条目位于行根(hd0,0)和包含新内核的行下。
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
此外,从CLI启动grub并输入以下命令:
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>
现在应该可以安全地重新启动服务器。输入uname -a命令以验证内核是否已升级。
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%]
如果旧驱动程序仍列出,请将其删除。
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>
如果需要较新的驱动程序,也可使用这些说明。FusionIO支持的最新驱动程序版本可在FusionIO支持站点的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)
恢复分区应具有两个带驱动程序的文件夹:CISCO_FusionIO和FusionIO。本例中RPM的供应商是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>
如果FusionIO驱动程序已升级,则应升级实用程序。
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
安装新驱动程序后,需要重新启动系统以激活驱动程序。重新启动后,验证版本是否正确。
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>
如果旧驱动程序仍列出,请将其删除。
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>
验证驱动程序状态。您应该看到一个版本,适配器应在线并连接。
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
删除注释(#)并装入/hana/log以撤消/etc/fstab中的更改。
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