2. SAP HANAサーバーのシステムバックアップリストアガイド

2.1. 概要

図に使用される表記の凡例

../../_images/common_legend2.png

2.1.1. はじめに

2.1.1.1. 本文書の目的、位置づけ

  • この文書は、Enterprise Cloud2.0(以下、「ECL2.0」と記載します)上で、当社が提供するSAP HANAメニューをご利用するお客さまを対象としております。
  • Linuxのdump/restore、ならびにtarコマンドを用いたSAP HANAサーバーのシステム領域のバックアップおよびリストアの手順例を紹介します。

2.1.1.2. 事前にご準備いただくもの

  • Enterprise Cloud 2.0 ポータルに接続可能な環境

  • ベアメタルサーバーにリモートコンソールアクセス可能な環境

  • dump、tarパッケージがインストール済みのSAP HANAサーバー

  • Red Hat Enterprise Linux(以下RHEL) 6.7 インストール用isoファイル
    RHEL6.7のインストール用isoファイルは、SAP HANAサーバーの/root/images/に「rhel-server-6.7-x86_64-dvd.iso」として保存されています。作業端末にダウンロードしてご使用ください。
    本isoファイルは、ご利用のSAP HANAサーバーのRescue Boot用途でのみご使用頂けます。

2.1.1.3. 関連するサービス説明書

主に以下のサービス説明書を参照頂いた上で、本手順書をご確認ください。

2.1.1.4. 本書のご利用にあたって

本書を参照いただくにあたって、以下の点にご留意ください。

  • 本書では、Linuxのdump/restore、ならびにtarコマンドを用いたSAP HANAサーバーのシステム領域のバックアップおよびリストア手順を、一例として紹介します。お客さまの環境ならびに構成において、動作することを保証するものではありません。
  • 本書では、ロジカルネットワークの作成やファイアウォールの作成、仮想サーバーの作成などのECL2.0の一般的な操作について記載しておりません。一般的な操作は、ECL2.0チュートリアル(https://ecl.ntt.com/documents/tutorials/)をご参照ください。
  • 本書では、リモートコンソールアクセスからの操作を前提としております。リモートコンソールアクセス方法については、ECL2.0チュートリアル ベアメタルサーバーへのアクセス方法(https://ecl.ntt.com/documents/tutorials/rsts/Baremetal-Server/setting/rca.html)をご参照ください。
  • 本書の記載は、予告なく変更する場合がございますので、あらかじめご了承ください。

2.2. SAP HANAサーバーのシステムバックアップ

2.2.1. システムバックアップ概念図

下記のシステム構成を前提としています。
バックアップ保存領域として仮想サーバーを用いてNFSサーバーを構築します。NFSボリュームは仮想サーバーメニューのデータボリュームを使用して作成します。
SAP HANAサーバーのローカルディスクおよび外部ストレージであるファイルストレージ(プレミアム)内のシステムファイルを、NFSサーバー上にバックアップします。
../../_images/br-1.png

SAP HANAサーバーのOS、SAP HANAのバージョンは次のとおりです。

製品   バージョン
OS Red Hat Enterprise Linux for SAP HANA 6.7
SAP HANA SAP HANA Platform Edition 1.0 SPS11(1.00.110.00.1447753075)

SAP HANAサーバーのディレクトリ構成は次のとおりです。

デバイス タイプ ラベル マウントディレクトリ 本手順でのバックアップ対象
/dev/sda1 vfat /boot/efi Y
/dev/sda2 ext4 /boot Y
/dev/sda3 ext4 / Y
/dev/sda4 swap Y
/dev/sda5 ext4 /home Y
external storage NFS /hana/data N  ※HANA studio等でバックアップリストアを実施する想定
external storage NFS /hana/log N  ※HANA studio等でバックアップリストアを実施する想定
external storage NFS /hana/shared Y

2.2.2. システムバックアップ手順

2.2.2.1. runlevel1での起動

grub.confの編集

# vi /boot/efi/EFI/redhat/grub.conf

“hiddenmenu”をコメントアウトし、”Single User Mode”を追記します。

(変更前)
========
******
hiddenmenu
******
title Red Hat Enterprise Linux (2.6.32-573.el6.x86_64)
root (hd0,1)
kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=UUID=  ***** rhgb quiet
initrd /initramfs-2.6.32-573.el6.x86_64.img
========
(変更後)
========
******
#hiddenmenu
******
title Red Hat Enterprise Linux (2.6.32-573.el6.x86_64)
root (hd0,1)
kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=UUID=  ***** rhgb quiet
initrd /initramfs-2.6.32-573.el6.x86_64.img
title Red Hat Enterprise Linux (2.6.32-573.el6.x86_64) Single User Mode
root (hd0,1)
kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=UUID=  ***** rhgb quiet 1
initrd /initramfs-2.6.32-573.el6.x86_64.img
========

OSの再起動

# shutdown –r now

グラフィカルブートローダ画面で、追加したSingle User Modeを選択します。

../../_images/br-2.png

2.2.2.2. バックアップ対象の情報収集

リストア時に必要になる情報を収集します。
画面キャプチャを撮るなどし、誤りなく情報を記録することを強く推奨します。

ファイルストレージ(プレミアム)のマウント情報の取得

# cat /etc/fstab

/hana/sharedの<ExternalStorage-IP>、<ExternalStorage-Vol-ID> を記録します。

========
******
<ExternalStorage-IP>:/<ExternalStorage-Vol-ID>/nfs  /hana/shared           ******
******
========
../../_images/br-3.png

ファイルシステムのUUID情報の取得

ファイルシステムのUUIDを記録します。
# blkid
========
/dev/sda5:        UUID=”<UUID>”    TYPE=”ext4”
/dev/sda1: ****** UUID=”<UUID>” TYPE=”vfat”
/dev/sda2:              UUID=”<UUID>” TYPE=”ext4”
/dev/sda3:              UUID=”<UUID>” TYPE=”ext4”
/dev/sda4:            UUID=”<UUID>” TYPE=”swap”
========
../../_images/br-4.png

ディスクパーティション情報の取得

ディスクパーティション情報を記録します。
# parted /dev/sda
 (parted) unit s
 (parted) print

  ========
  ******
  1    <Start>s        <End>s          <Size>s       <File system>          <Flags>
  2    <Start>s        <End>s          <Size>s       <File system>
  3    <Start>s        <End>s          <Size>s       <File system>
  4    <Start>s        <End>s          <Size>s       <File system>
  5    <Start>s        <End>s          <Size>s       <File system>
  ========

  (parted) quit
../../_images/br-5.png

ネットワークインタフェース情報の取得

データプレーン用ネットワークインタフェース情報を取得します。
なお、本手順は、上記の概念図の通り、ネットワークインタフェースにvlanが設定さていることを前提としています。
# cd /etc/sysconfig/network-scripts/
# cat ifcfg-bond0.<データプレーン用のvlanID>
========
DEVICE=bond0.<データプレーン用のvlanID>
BOOTPROTO=static
BROADCAST=<broadcast address>
IPADDR=<IP address>
NETMASK=<netmask>
NETWORK=<network address>
ONBOOT=yes
VLAN=yes
========

ストレージプレーン用ネットワークインタフェース情報を取得します。

# cat ifcfg-bond1.<ストレージプレーン用のvlanID>
========
DEVICE=bond1.<ストレージプレーン用のvlanID>
BOOTPROTO=static
BROADCAST=<broadcast address>
IPADDR=<IP address>
NETMASK=<netmask>
NETWORK=<network address>
ONBOOT=yes
VLAN=yes
========
../../_images/br-6.png

2.2.2.3. バックアップ作業

バックアップ先NFSサーバーのvolumeのマウント

NFSサーバーのvolumeをマウントするために必要となるサービスを起動します。

# /etc/init.d/network start
# /etc/init.d/rpcbind start

バックアップ用ディレクトリを作成します。

# mkdir /backup

NFSサーバーのVolumeをマウントします。

# mount –t nfs <NFS Server-IP>:/<directory> /backup

ext4ファイルシステムのバックアップ取得

dumpコマンドを用いてバックアップを取得します。

# dump -0uf /backup/sda2.dump /dev/sda2
# dump -0uf /backup/sda3.dump /dev/sda3
# dump -0uf /backup/sda5.dump /dev/sda5

vfatファイルシステムのバックアップ

tarコマンドを用いてバックアップを取得します。

# cd /boot/efi
# tar czvf /backup/dev_sda1.tar.gz .

/hana/sharedのバックアップ

tarコマンドを用いてバックアップを取得します。

# mount /hana/shared
# cd /hana/shared
# tar czvf /backup/hana_shared.tar.gz .

2.2.2.4. バックアップ事後作業

バックアップ先NFSサーバーのvolumeのアンマウント

# umount /backup

不要ディレクトリの削除

# rmdir /backup

grub.confの戻し

# vi /boot/efi/EFI/redhat/grub.conf

“hiddenmenu”のコメントアウトを外し、追加した”Single User Mode”を削除します。

(変更前)
========
******
#hiddenmenu
******
title Red Hat Enterprise Linux (2.6.32-573.el6.x86_64)
root (hd0,1)
kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=UUID=  ***** rhgb quiet
initrd /initramfs-2.6.32-573.el6.x86_64.img
title Red Hat Enterprise Linux (2.6.32-573.el6.x86_64) Single User Mode
root (hd0,1)
kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=UUID=  ***** rhgb quiet 1
initrd /initramfs-2.6.32-573.el6.x86_64.img
========
(変更後)
========
******
hiddenmenu
******
title Red Hat Enterprise Linux (2.6.32-573.el6.x86_64)
root (hd0,1)
kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=UUID=  ***** rhgb quiet
initrd /initramfs-2.6.32-573.el6.x86_64.img
========

OSの再起動

# shutdown –r now

2.3. SAP HANAサーバーのシステムリストア

2.3.1. システムリストア概念図

本手順は下記のシステム構成を前提としています。
バックアップ保存領域であるNFSサーバーからSAP HANAサーバーに対して、
NFSサーバー上にバックアップしたSAP HANAサーバーのシステムファイルを、SAP HANAサーバーのローカルディスクおよび外部ストレージ(ファイルストレージ(プレミアム))内にリストアします。
../../_images/br-7.png

SAP HANAサーバーのOS、SAP HANAのバージョンは次のとおりです。

製品   バージョン
OS Red Hat Enterprise Linux for SAP HANA 6.7
SAP HANA SAP HANA Platform Edition 1.0 SPS11(1.00.110.00.1447753075)

SAP HANAサーバーのディレクトリ構成は次のとおりです。

デバイス タイプ ラベル マウントディレクトリ 本手順でのリストア対象
/dev/sda1 vfat /boot/efi Y
/dev/sda2 ext4 /boot Y
/dev/sda3 ext4 / Y
/dev/sda4 swap Y
/dev/sda5 ext4 /home Y
external storage NFS /hana/data N  ※HANA studio等でバックアップリストアを実施する想定
external storage NFS /hana/log N  ※HANA studio等でバックアップリストアを実施する想定
external storage NFS /hana/shared Y

2.3.2. システムリストア手順

2.3.2.1. リストア対象サーバーをレスキューモードで起動

リストア対象サーバーのシャットダウン

サーバーが起動していた場合は、ECL2.0ポータルより、リストア対象サーバーのシャットダウンを実行します。

ISOファイルのセット

HPのiLO Integrated Remote Consle でVirtual DrivesのImage Fileに作業端末の「rhel-server-6.7-x86_64-dvd.iso」をセットします。

../../_images/br-8.png
../../_images/br-9.png

サーバの起動

カスタマーポータルで、ベアメタルサーバの「サーバの起動」をクリックします

../../_images/br-10.png

ISOブートを選択し、サーバの起動を実行します

../../_images/br-11.png

レスキューモードの選択

“HP”のロゴが表示されたタイミングで、左カーソルキーを押下し、起動モードを選択する画面に入り、レスキューモードを選択します。

../../_images/br-12.png

言語、キーボード設定

”Choose a Language”画面で”English”を選択します。
“Keyboard Type”画面で”us”を選択します。
../../_images/br-13.png
../../_images/br-14.png

Rescue Methodの設定

“Rescue Method”画面で”Local CD/DVD”を選択します。

../../_images/br-15.png

ネットワーク設定

“Setup Networking”画面で”No”を選択します。
../../_images/br-16.png

Linuxのマウント設定

“Rescue”画面で”Skip”を選択します。

../../_images/br-17.png

shellの起動

“shell Start shell”を選んだ状態で、”OK”を選択します。

../../_images/br-18.png

2.3.2.2. ディスクパーティションの設定

ディスクパーティションの作成

バックアップ時に”(parted) print”コマンドで取得したディスクパーティション情報を参照し、パーティションを設定します。
# parted /dev/sda
 (parted) mklabel gpt
 Yes

 (parted) unit s

sda1の設定

(parted) mkpartfs
Partition name? (Enter)
File system type? fat16
Start? <sda1のStart>s
End? <sda1のEnd>s

(parted) set
Partition number? 1
Flag to Invert? boot
New state? [on]/off? on

sd2の設定

(parted) mkpart
 Partition name? (Enter)
 File system type? ext4
 Start? <sda2のStart>s
 End? <sda2のEnd>s

sda3の設定

(parted) mkpart
 Partition name? (Enter)
 File system type? ext4
 Start? <sda3のStart>s
 End? <sda3のEnd>s

sda4の設定

(parted) mkpartfs
 Partition name? (Enter)
 File system type? linux-swap(v1)
 Start? <sda4のStart>s
 End? <sda4のEnd>s

sda5の設定

(parted) mkpart
 Partition name? (Enter)
 File system type? ext4
 Start? <sda5のStart>s
 End? <sda5のEnd>s

設定値が、バックアップ時に取得したパーティション情報と等しいことを確認します。

(parted) print

OSの再起動

パーティション設定を反映するために、OSを再起動します。

(parted) quit
# reboot

ディスクパーティションの確認

設定値が反映されており、バックアップ時に取得したパーティション情報と等しいことを確認します。

# parted /dev/sda
(parted) unit s
(parted) print

partedコマンドから抜けます。

(parted) quit

2.3.2.3. リストア対象のディスクパーティションのフォーマット

ext4ファイルシステムの作成

バックアップ時に”blkid”コマンドで取得したUUID情報を入力します。

# mkfs.ext4 /dev/sda2
# mkfs.ext4 /dev/sda3
# mkfs.ext4 /dev/sda5

# tune2fs -U <sda2のUUID> /dev/sda2
# tune2fs -U <sda3のUUID> /dev/sda3
# tune2fs -U <sda5のUUID> /dev/sda5

swapパーティションの作成

バックアップ時に”blkid”コマンドで取得したUUID情報を入力します。

# mkswap -U <swapのUUID> /dev/sda4

vfatファイルシステムの作成

バックアップ時に”blkid”コマンドで取得したUUID情報を入力します。
※sda1のUUIDは、上記UUIDから”-(ハイフン)”を除いて入力します
# mkfs.vfat /dev/sda1
# mkdosfs –i <sda1のUUID> /dev/sda1

2.3.2.4. ネットワーク設定

NFSサーバーとファイルストレージ(プレミアム)にアクセスするために、ネットワークインタフェースの設定を実施します。
本手順では、上記の概念図の通り、データプレーン用のインタフェースをeth0、2、ストレージプレーン用のインタフェースをeth1、3としています。
eth番号がデータプレーンとストレージプレーンで逆になっていた場合は、0と1を置き換える必要があります。
また、それぞれvlanが設定されている前提です。

データプレーン用インタフェースの設定

バックアップ時に取得したインタフェース情報を参照し、ifcfg-ethファイルを編集します。
※bondingを構成する必要はありません。
# cd /etc/sysconfig/network-scripts
# vi ifcfg-eth0.<データプレーン用のvlanID>
========
DEVICE=eth0.<データプレーン用のvlanID>
BOOTPROTO=static
ONBOOT=yes
BROADCAST=<broadcast address>
IPADDR=<IP address>
NETMASK=<netmask>
NETWORK=<network address>
USERCTL=no
VLAN=yes (vlanが設定されていない場合は設定しない)
========

ストレージ用IFの設定

# cd /etc/sysconfig/network-scripts
# vi ifcfg-eth1.<ストレージプレーン用のvlanID>
========
DEVICE=eth1.<ストレージプレーン用のvlanID>
BOOTPROTO=static
ONBOOT=yes
BROADCAST=<broadcast address>
IPADDR=<IP address>
NETMASK=<netmask>
NETWORK=<network address>
USERCTL=no
VLAN=yes (vlanが設定されていない場合は設定しない)
========

2.3.2.5. リストア用ディレクトリの設定

リストア用ディレクトリの作成

# mkdir /backup
# mkdir /mnt/sda1
# mkdir /mnt/sda2
# mkdir /mnt/sda3
# mkdir /mnt/sda5
# mkdir /mnt/shared

各デバイスのマウント

各デバイスをリストア用ディレクトリにマウントします。
/mnt/sharedは、バックアップ時に取得した”ファイルストレージ(プレミアム)のマウント情報”をもとに入力します。
# mount –t nfs –o nolock <NFS Server-IP>:/<directory> /backup
# mount -t vfat /dev/sda1 /mnt/sda1
# mount -t ext4 /dev/sda2 /mnt/sda2
# mount -t ext4 /dev/sda3 /mnt/sda3
# mount -t ext4 /dev/sda5 /mnt/sda5
# mount -t nfs –o nolock <ExternalStorage-IP>:/<ExternalStorage-Vol-ID>/nfs /mnt/shared

2.3.2.6. リストア作業

restoreコマンド、tarコマンドを用いてリストアします。

sda2のリストア

# cd /mnt/sda2
# rm –r ./*
# restore -rf /backup/sda2.dump

sda3のリストア

# cd /mnt/sda3
# rm –r ./*
# restore -rf /backup/sda3.dump

sda5のリストア

# cd /mnt/sda5
# rm –r ./*
# restore -rf /backup/sda5.dump

sda1のリストア

# cd /mnt/sda1
# tar xzvf /backup/dev_sda1.tar.gz

/hana/sharedのリストア

# cd /mnt/shared
# rm –rf ./*
# tar xzvf /backup/hana_shared.tar.gz

2.3.2.7. リストア用ディレクトリの削除

デバイスのアンマウント

# cd /
# umount /mnt/sda1
# umount /mnt/sda2
# umount /mnt/sda3
# umount /mnt/sda5
# umount /mnt/shared

NFSサーバーのvolumeのアンマウント

# umount /backup

ディレクトリの削除

# rmdir /mnt/sd*
# rmdir /mnt/shared
# rmdir /backup

2.3.2.8. UEFI Boot Manager の設定修正

OSの再起動

OSを再起動し、レスキューモードで起動します。

# reboot

HPのロゴが表示されたタイミングで、左カーソルキーを押下し、起動モードを選択する画面に入り、レスキューモードを選択します。

各種設定

”Choose a Language”画面で”English”を選択します。
“Keyboard Type”画面で”us”を選択します。
“Rescue Method”画面で”Local CD/DVD”を選択します。
“Setup Networking”画面で”No”を選択します。
“Rescue”画面で”Continue”、”OK”、”OK”を選択します。
../../_images/br-19.png
../../_images/br-20.png
../../_images/br-21.png
起動の選択画面で、”shell Start shell”を選んだ状態で、”OK”を選択します。
../../_images/br-22.png

ルートパーティションの変更

レスキューモード環境のルートパーティションをファイルシステムのルートパーティションに変更します。
# chroot /mnt/sysimage

リストア前のOSのboot IDの確認

リストア前のOSのBoot IDを確認します。
# efibootmgr
========
******
Boot**<前Boot ID>*** Red Hat Enterprise Linux 6
******
========
../../_images/br-23.png

Boot エントリの追加

Bootエントリに、 リストア後のRHEL6.7をブート優先順位を1位として新たに追加します。

# efibootmgr -c -p 1 -l '\EFI\redhat\grub.efi' –L “Red Hat Enterprise Linux 6”

Bootエントリに、 RHEL6.7が追加されたことを確認します。

========
******
BootOrder: <新Boot ID>*,000E,<前Boot ID>******
******
Boot<前Boot ID>* Red Hat Enterprise Linux 6
******
Boot<新Boot ID>* Red Hat Enterprise Linux 6
******
========
../../_images/br-24.png

前Boot エントリの削除

リストア前のOSのBootエントリを削除します。
 ※Boot IDは4桁を入力します。
# efibootmgr –b <前Boot ID> -B
エントリが削除されていることを確認します。
========
******
BootOrder: <新Boot ID>,000E,******
******
Boot<新Boot ID>* Red Hat Enterprise Linux 6
******
========
../../_images/br-25.png

2.3.2.9. 不要ディレクトリおよびファイルの削除

# rm /restoresymtable
# rm /boot/restoresymtable
# rm /usr/sap/restoresymtable
# rmdir /backup

2.3.2.10. grub.confの戻し

# vi /boot/efi/EFI/redhat/grub.conf

“hiddenmenu”のコメントアウトを外し、追加した”Single User Mode”を削除します。

(変更前)
========
******
#hiddenmenu
******
title Red Hat Enterprise Linux (2.6.32-573.el6.x86_64)
root (hd0,1)
kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=UUID=  ***** rhgb quiet
initrd /initramfs-2.6.32-573.el6.x86_64.img
title Red Hat Enterprise Linux (2.6.32-573.el6.x86_64) Single User Mode
root (hd0,1)
kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=UUID=  ***** rhgb quiet 1
initrd /initramfs-2.6.32-573.el6.x86_64.img
========
(変更後)
========
******
hiddenmenu
******
title Red Hat Enterprise Linux (2.6.32-573.el6.x86_64)
root (hd0,1)
kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=UUID=  ***** rhgb quiet
initrd /initramfs-2.6.32-573.el6.x86_64.img
========

2.3.2.11. 再起動

サーバーを再起動し、リストア作業を完了させます。

# exit
# reboot