本文檔介紹在帶有FusionIO卡的C460系統上針對資料處理(SAP)中的系統、應用程式和產品的軟體和系統開發(SUSE)Linux Enterprise Server(SLES)11從Service Pack(SP)2升級到SP3的步驟。SAP High Performance Analytic Appliance(HANA)系統在安裝時隨附適用於SAP應用程式的最新版本SLES 11和驅動程式版本。在系統的整個生命週期中,客戶負責使用SAP或SUSE可能要求的最新安全補丁、更新和核心版本更新環境。
思科建議您瞭解以下主題:
需要以下元件:
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
無論何時對作業系統(OS)執行主要操作(例如升級核心驅動程式,或更改核心引數),請確保您有您的HANA日誌分割槽的備份,最好儲存在裝置之外。您還應閱讀SAP、SUSE和思科支援管道中的任何相關發行說明。
對於包含FusionIO卡的SAP HANA系統(如C460),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