目錄

簡介

必要條件

需求

採用元件

程式

1.停止HANA資料庫

2.備份日誌分割槽

3.解除安裝日誌分割槽和修改fstab

作業系統升級

4.升級SLES

升級後任務

5.檢查menu.lst

6.檢查組

7.驗證作業系統升級

8.重建FusionIO驅動程式

9.驗證FusionIO驅動程式

10.撤消fstab更改

11.啟動HANA資料庫

簡介

本文檔介紹在帶有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可能要求的最新安全補丁、更新和核心版本更新環境。

必要條件

需求

思科建議您瞭解以下主題：

- Linux管理

- SAP HANA管理

需要以下元件：

- SLES 11 for SAP OS(已註冊到Novell或Novell

- SLES 11 SP3安裝介質或對SP3儲存庫的本地訪問

- FusionIO驅動程式和實用程式

採用元件

本文中的資訊係根據以下軟體和硬體版本：

- 採用韌體1.5(4a)的C460 M2

- SLES 11 SP2，帶核心3.0.80-0.7

- SLES 11 SP3，帶核心3.0.101-0.35

- FusionIO ioDrive 320GB，帶驅動程式3.2.3版本950和韌體7.1.13

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路正在作用，請確保您已瞭解任何指令可能造成的影響。

程式

無論何時對作業系統(OS)執行主要操作（例如升級核心驅動程式，或更改核心引數），請確保您有您的HANA日誌分割槽的備份，最好儲存在裝置之外。您還應閱讀SAP、SUSE和思科支援管道中的任何相關發行說明。

對於包含FusionIO卡的SAP HANA系統（如C460），FusionIO驅動程式專為運行的核心而構建。因此，升級至新核心需要額外步驟。

最後，在更新過程中，必須停止HANA資料庫。

1.停止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.

2.備份日誌分割槽

停止HANA資料庫後，移至LOG區域並備份日誌分割槽。

server01 :~ # cd /hana/log

server01 :/hana/log # find . ?xdev | cpio ?oav > /backup/hana.log.cpio

3.解除安裝日誌分割槽和修改fstab

解除安裝日誌分割槽並在/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

作業系統升級

4.升級SLES

對於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

核心更新需要重新啟動，但現在不要重新啟動。

升級後任務

5.檢查menu.lst

在核心更新過程中，會建立新的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

6.檢查組

此外，從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>

7.驗證作業系統升級

現在重新啟動伺服器應該是安全的。輸入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

8.重建FusionIO驅動程式

8a。在/usr/src/packages/RPMS/中使用源RPM（選項1）

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>

8b。在/recover分割槽中使用源RPM（選項2）

如果需要更新的驅動程式，也可以使用這些說明。支援的最新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

9.驗證FusionIO驅動程式

安裝新驅動程式後，需要重新啟動系統才能啟用該驅動程式。重新開機後，確認版本是否正確。

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

10.撤消fstab更改

移除註釋(#)並裝載/hana/log以撤消/etc/fstab中的更改。

11.啟動HANA資料庫

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