NetAppでvolume snapmirrorを設定する手順


ONTAP9.1からONTAP9.7に転送するための手順例

参考になる日本語資料「ETERNUS AX series、ETERNUS HX series ONTAP 9 用SnapMirror 構成およびベストプラクティスガイド
↑の元となっているTR-4015「SnapMirror configuration and best practices guide for ONTAP 9

修正履歴
 2021/07/29-1 ボリュームの言語が異なっているとsnapmirror initializeが失敗する
 2021/07/29-2 ONTAP9.8だとnetwork interface createで-roleオプションがない

(1) ONTAP9.1で送り元SVM作成

まず、ONTAP9.1側で送り元となるSVMとボリュームを作成する。

今回はガワだけ作成しており、NFSやCIFS設定などは省略している

ontap91::> vserver create -vserver share206 -aggregate aggr1 -language ja_v1.UTF-8 -subtype default -rootvolume share206_root -rootvolume-security-style mixed
[Job 21] Job succeeded:
Vserver creation completed

ontap91::> vserver show
                               Admin      Operational Root
Vserver     Type    Subtype    State      State       Volume     Aggregate
----------- ------- ---------- ---------- ----------- ---------- ----------
ontap91     admin   -          -          -           -          -
ontap91-01  node    -          -          -           -          -
share206    data    default    running    running     share206_  aggr1
                                                      root
3 entries were displayed.

ontap91::> 

続いてボリューム割り当て

ontap91::> volume create -volume sharevol -aggregate aggr1 -size 10G  -vserver share206

Warning: The export-policy "default" has no rules in it. The volume will
         therefore be inaccessible.
Do you want to continue? {y|n}: y
[Job 24] Job succeeded: Successful

ontap91::> volume show
Vserver   Volume       Aggregate    State      Type       Size  Available Used%
--------- ------------ ------------ ---------- ---- ---------- ---------- -----
ontap91-01 vol0        aggr0        online     RW       3.16GB     2.27GB   28%
share206  share206_root aggr1       online     RW         20MB    18.75MB    6%
share206  sharevol      aggr1       online     RW         10GB    10.00GB    0%
3 entries were displayed.

ontap91::>

(2) ONTAP9.7で受け側SVM作成

受け側となるSVMとボリュームを作成する。

注: ボリュームの言語は送り側/受け側で同じとする必要があるため「volume language -volume ボリューム名」で確認すること。異なっているとsnapmirror initializeで失敗する。

受け側のボリュームは「type:DP」で作成する必要がある。

ontap97::> vserver create -vserver share207 -language ja_v1.UTF-8 -aggregate aggr1 -rootvolume share207_root -rootvolume-security-style mixed
[Job 20] Job succeeded:
Vserver creation completed.

ontap97::> vserver show
                               Admin      Operational Root
Vserver     Type    Subtype    State      State       Volume     Aggregate
----------- ------- ---------- ---------- ----------- ---------- ----------
ontap97     admin   -          -          -           -          -
ontap97-01  node    -          -          -           -          -
share207    data    default    running    running     share207_  aggr1
                                                      root
3 entries were displayed.

ontap97::>

type:DPでボリュームを作成する

ontap97::> volume create -volume sharevol_repl -aggregate aggr1 -size 10g -type DP -state online
[Job 23] Job succeeded: Successful

ontap97::> volume show
Vserver   Volume       Aggregate    State      Type       Size  Available Used%
--------- ------------ ------------ ---------- ---- ---------- ---------- -----
ontap97-01 vol0        aggr0_ontap97_01 online RW      807.3MB    430.5MB   43%
share207  share207_root aggr1       online     RW         20MB    18.70MB    1%
share207  sharevol_repl aggr1       online     DP         10GB    10.00GB    0%
3 entries were displayed.

ontap97::>

(3) snapmirror用にrole:interclusterのIPアドレスを割り当て

snapmirrorのrole:interclusterのLIF/IPアドレスを使用するため、送り側/受け側の双方で作成する必要がある。

まず、「network interface show -role intercluster」 もしくは「network interface show -service-policy default-intercluster」を実行してすでに設定されているかを確認する。

ontap91::> network interface show -role intercluster
There are no entries matching your query.

ontap91::>
ontap97::> network interface show -role intercluster
There are no entries matching your query.

ontap97::>

ないので作成する。

ontap91::> network interface create -vserver ontap91 -role intercluster -lif snapmirror_lif -home-node ontap91-01 -home-port e0a -address 172.17.44.222 -netmask 255.255.0.0 -status-admin up

ontap91::> network interface show -role intercluster
            Logical    Status     Network            Current       Current Is
Vserver     Interface  Admin/Oper Address/Mask       Node          Port    Home
----------- ---------- ---------- ------------------ ------------- ------- ----
ontap91
            snapmirror_lif up/up  172.17.44.222/16   ontap91-01    e0a     true

ontap91::>

ONTAP9.5ぐらいから「-service-policy default-intercluster」というオプションが増えている。

ontap97::> network interface create -vserver ontap97 -role intercluster -lif snapmirror_lif -service-policy default-intercluster -address 172.17.44.223 -netmask 255.255.0.0 -home-node ontap97-01 -home-port e0c

ontap97::> network interface show -role intercluster
            Logical    Status     Network            Current       Current Is
Vserver     Interface  Admin/Oper Address/Mask       Node          Port    Home
----------- ---------- ---------- ------------------ ------------- ------- ----
ontap97
            snapmirror_lif up/up  172.17.44.223/16   ontap97-01    e0c     true

ontap97::>

ONTAP 9.8だとnetwork interface createに-roleオプションがなくなっているが、「-service-policy default-intercluster」のみの指定でOKだった(マニュアル確認したらONTAP 9.5から-role interclusterから-service-policy default-intercluster に切り替わっていた)

ontap98::> network interface create -vserver ontap98 -lif snapmirror_lif -service-policy default-intercluster -address 172.17.44.235 -netmask 255.255.0.0 -home-node ontap98-01 -home-port e0c

ontap98::> network interface show -role intercluster
            Logical    Status     Network            Current       Current Is
Vserver     Interface  Admin/Oper Address/Mask       Node          Port    Home
----------- ---------- ---------- ------------------ ------------- ------- ----
ontap98
            snapmirror_lif
                         up/up    172.17.44.235/16   ontap98-01    e0c     true

ontap98::>

(4) cluster peerの作成

snapmirrorの前段階としてONTAP cluster同士を連携させるためのcluster peer(クラスタピア)を設定する。

どちらからやっても良いが「cluster peer create -peer-addrs 相手のinterclusterアドレス」を実行する。

ontap91::> cluster peer create -peer-addrs 172.17.44.223

Notice: Choose a passphrase of 8 or more characters. To ensure the authenticity
        of the peering relationship, use a phrase or sequence of characters
        that would be hard to guess.

Enter the passphrase:
Confirm the passphrase:

Notice: Now use the same passphrase in the "cluster peer create" command in the
        other cluster.

ontap91::>

ONTAP9.5以降では暗号化が標準設定されているため、ONTAP 9.1相手だと暗号化接続を試みるようで、下記の様にエラーとなる。

ontap97::> cluster peer create -peer-addrs 172.17.44.222

Notice: Use a generated passphrase or choose a passphrase of 8 or more
        characters. To ensure the authenticity of the peering relationship, use
        a phrase or sequence of characters that would be hard to guess.

Enter the passphrase:
Confirm the passphrase:

Error: command failed: Remote cluster would not use encryption for this
       relationship.

ontap97::>

これは、暗号化接続に関する設定オプションを明示的に指定することで回避できる。

ontap97::> cluster peer create -peer-addrs 172.17.44.222 -encryption-protocol-proposed none

Notice: Use a generated passphrase or choose a passphrase of 8 or more
        characters. To ensure the authenticity of the peering relationship, use
        a phrase or sequence of characters that would be hard to guess.

Enter the passphrase:
Confirm the passphrase:

ontap97::>

設定完了後「cluster peer show」コマンドで「Availability:Available」となっていることを確認する。

ontap91::> cluster peer show
Peer Cluster Name         Cluster Serial Number Availability   Authentication
------------------------- --------------------- -------------- --------------
ontap97                   1-80-000008           Available      ok
1 entries were displayed.

ontap91::> 
ontap97::> cluster peer show
Peer Cluster Name         Cluster Serial Number Availability   Authentication
------------------------- --------------------- -------------- --------------
ontap91                   1-80-000008           Available      ok

ontap97::>

なお、設定完了後すぐはCluster Serial Numberが空欄になっているが、しばらく経つと表示されるはず。

(5) SVM peerの作成

volumeはSVMの配下にあるため、volume snapmirrorを行う場合は、SVMについてもpeer(SVM ピア)を設定する必要がある。

片側から「vserver peer create 」コマンドを実行する。

ontap91::> vserver peer create -vserver share206 -peer-vserver share207 -applications snapmirror -peer-cluster ontap97

Info: [Job 27] 'vserver peer create' job queued

ontap91::> vserver peer show
            Peer        Peer                           Peering        Remote
Vserver     Vserver     State        Peer Cluster      Applications   Vserver
----------- ----------- ------------ ----------------- -------------- ---------
share206    share207    initializing ontap97           snapmirror     share207
1 entries were displayed.

ontap91::> vserver peer show
            Peer        Peer                           Peering        Remote
Vserver     Vserver     State        Peer Cluster      Applications   Vserver
----------- ----------- ------------ ----------------- -------------- ---------
share206    share207    initiated    ontap97           snapmirror     share207
1 entries were displayed.

ontap91::>

上記でvserver peer createを実行したあと、もう片側では、まず「vserver peer show」で「State:pending」というステータスになっていることを確認する。

ontap97::> vserver peer show
            Peer        Peer                           Peering        Remote
Vserver     Vserver     State        Peer Cluster      Applications   Vserver
----------- ----------- ------------ ----------------- -------------- ---------
share207    share206    pending      ontap91           snapmirror     share206

ontap97::> 

これをaccpetすることで、SVM peerが成立する。

ontap97::> vserver peer accept -vserver share207 -peer-vserver share206

Info: [Job 24] 'vserver peer accept' job queued

ontap97::> vserver peer show
            Peer        Peer                           Peering        Remote
Vserver     Vserver     State        Peer Cluster      Applications   Vserver
----------- ----------- ------------ ----------------- -------------- ---------
share207    share206    pending      ontap91           snapmirror     share206

ontap97::> vserver peer show
            Peer        Peer                           Peering        Remote
Vserver     Vserver     State        Peer Cluster      Applications   Vserver
----------- ----------- ------------ ----------------- -------------- ---------
share207    share206    peered       ontap91           snapmirror     share206

ontap97::>

成立後、ONTAP 9.1側でも確認すると「peer State:peered」に変化しているはず

ontap91::> vserver peer show
            Peer        Peer                           Peering        Remote
Vserver     Vserver     State        Peer Cluster      Applications   Vserver
----------- ----------- ------------ ----------------- -------------- ---------
share206    share207    peered       ontap97           snapmirror     share207
1 entries were displayed.

ontap91::>

(6) snapmirrorの作成

snapmirrorを作成する。

ontap97::> snapmirror create -source-path share206:sharevol -destination-path share207:sharevol_repl -vserver share207 -throttle unlimited -identity-preserve false -type DP -schedule daily
Operation succeeded: snapmirror create for the relationship with destination "share207:sharevol_repl".

ontap97::> snapmirror show
                                                                       Progress
Source            Destination Mirror  Relationship   Total             Last
Path        Type  Path        State   Status         Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
share206:sharevol XDP share207:sharevol_repl Uninitialized Idle - true -

ontap97::>

ONTAP 9.7ではType:DPを指定してもType:XDPに変換されるようだ。

(7) snapmirrorの初期化/転送開始

snapmirrorは作成したあと、初期化操作を別途行う必要がある。

ontap97::> snapmirror initialize -destination-path share207:sharevol_repl
Operation is queued: snapmirror initialize of destination "share207:sharevol_repl".

ontap97::> snapmirror show
                                                                       Progress
Source            Destination Mirror  Relationship   Total             Last
Path        Type  Path        State   Status         Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
share206:sharevol XDP share207:sharevol_repl Uninitialized Transferring 0B false 03/04 05:57:49

ontap97::>

初期化が終わると、「Mirror State:Snapmirrored」となり、データの転送が開始される「Relationship Status:Transferring」

ontap97::> snapmirror show
                                                                       Progress
Source            Destination Mirror  Relationship   Total             Last
Path        Type  Path        State   Status         Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
share206:sharevol XDP share207:sharevol_repl Snapmirrored Transferring 0B true 03/04 05:58:57

ontap97::>

転送が終わると「Relationship Status:Idle」となる。

ontap97::> snapmirror show
                                                                       Progress
Source            Destination Mirror  Relationship   Total             Last
Path        Type  Path        State   Status         Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
share206:sharevol XDP share207:sharevol_repl Snapmirrored Idle - true -

ontap97::>

OVAファイルをOVFに変換する


NetAppシミュレータの古いバージョンは圧縮ありのOVAファイルで提供されている。

これをvSphere 7.0環境で使おうとすると、圧縮されているので使えない、と拒否される。

変換ツールを使ってもよいのだが、手動でも変換できる

OVAファイルは中にovfファイルとvmdkファイルが入っているだけのtarファイルなので、7zipなどのツールを使って展開できる。

vsphere 7.0ではvmdk.gzは使えないので、これも展開する

OVFファイルの中身はXMLファイルとなっていて、元の中身は、vmdk.gzのファイルを指定している。

これを展開後のファイル名とファイルサイズに置き換える

また「ovf:compression=”gzip”」という記述も削除する

こうやって出来たOVFファイルとVMDKファイルを複数指定してvSphereで読み込ませる。

読み込ませる下記の様な形で「5ファイル」という表示になる

記述に問題なければOVFテンプレートのデプロイが継続できる。

ONTAP 9.5でSVM DR設定


ONTAP 8.x 7-modeではボリューム単位でしかsnapmirrorができませんでしたが、ONTAP 9.5では、SVM DRという機能を使ってSVMの機能ごとsnapmirrorできるようになっています。

ONTAP 8.3時代の分かりやすい絵「SVMのディザスタ リカバリの設定
ONTAP 9.xのドキュメント「SnapMirror SVMレプリケーションの概要

参考になる日本語資料「ETERNUS AX series、ETERNUS HX series ONTAP 9 用SnapMirror 構成およびベストプラクティスガイド」「ETERNUS AX/HX series データ保護パワー ガイド」(出典)

下記の環境であるとした場合のコマンド実行例を書く。

送り元となるクラスタ名 netapp001c
送り元となるSVM名 netapp001
受け側となるクラスタ名 netapp002c
受け側となるSVM名 netapp001-dr

(1) クラスタピア設定

GUIなどでクラスタピアを設定

コマンドだとcluster peerコマンドで実施。

netapp001c::> cluster peer create -peer-addrs 相手のintercluster IP

Notice: Use a generated passphrase or choose a passphrase of 8 or more
        characters. To ensure the authenticity of the peering relationship, use
        a phrase or sequence of characters that would be hard to guess.

Enter the passphrase:
Confirm the passphrase:

Notice: Now use the same passphrase in the "cluster peer create" command in the
        other cluster.

netapp001c::>
netapp002c::> cluster peer create -peer-addrs 相手のintercluster IP

Notice: Use a generated passphrase or choose a passphrase of 8 or more
        characters. To ensure the authenticity of the peering relationship, use
        a phrase or sequence of characters that would be hard to guess.

Enter the passphrase:
Confirm the passphrase:

netapp002c::>

それぞれで同じパスフレーズを入力していれば「cluster peer show」で見た時に「Availability:Available」となる

netapp002c::> cluster peer show
Peer Cluster Name         Cluster Serial Number Availability   Authentication
------------------------- --------------------- -------------- --------------
netapp001c                   1-80-000008           Available      ok

netapp002c::>

(2) 受け側となるSVMを作成

受け側NetApp上で、受け側となるSVM(ピアSVM)を、dp-destinationというタイプで作成。

まずは、受け側に作られているSVMを確認するため「vserver show」を実行

netapp002c::> vserver show
                               Admin      Operational Root
Vserver     Type    Subtype    State      State       Volume     Aggregate
----------- ------- ---------- ---------- ----------- ---------- ----------
netapp002    data    default    running    running     netapp002tm netapp002c_
                                                      p_root     01_NL_SAS_1
netapp002c   admin   -          -          -           -          -
netapp002c-01
            node    -          -          -           -          -
netapp002c-02
            node    -          -          -           -          -
4 entries were displayed.

netapp002c::>

ピアSVMを「vserver create -vserver netapp001-dr -subtype dp-destination」で作成し、「vserver show」で作成されたことを確認

netapp002c::> vserver create -vserver netapp001-dr -subtype dp-destination
[Job 937] Job succeeded:
Vserver creation completed.

netapp002c::>
netapp002c::> vserver show
                               Admin      Operational Root
Vserver     Type    Subtype    State      State       Volume     Aggregate
----------- ------- ---------- ---------- ----------- ---------- ----------
netapp001-dr data    dp-destination        stopped     -          -
                               running
netapp002    data    default    running    running     netapp002tm netapp002c_
                                                      p_root     01_NL_SAS_1
netapp002c   admin   -          -          -           -          -
netapp002c-01
            node    -          -          -           -          -
netapp002c-02
            node    -          -          -           -          -
5 entries were displayed.

netapp002c::>

作成したピアSVM netapp001-drは「stopped」状態となっている。

(3) SVM peerを作成1 受け側で関係の設定

受け側NetApp上で、送り元SVMとのSVM peerを作成

「vserver peer create -vserver 受け側SVM -peer-vserver 送り元SVM -applications snapmirror -peer-cluster 送り元NetAppクラスタ」を実行

netapp002c::> vserver peer create -vserver netapp001-dr -peer-vserver netapp001 -applications snapmirror -peer-cluster netapp001c

Info: [Job 938] 'vserver peer create' job queued

netapp002c::> 

実行後、「vserver peer show」を実行し、作成の状況を確認。

netapp002c::> vserver peer show
            Peer        Peer                           Peering        Remote
Vserver     Vserver     State        Peer Cluster      Applications   Vserver
----------- ----------- ------------ ----------------- -------------- ---------
netapp001-dr netapp001    initializing netapp001c         snapmirror     netapp001

netapp002c::>

しばらく待つとPeer Stateが「initiated」に変化

netapp002c::> vserver peer show
            Peer        Peer                           Peering        Remote
Vserver     Vserver     State        Peer Cluster      Applications   Vserver
----------- ----------- ------------ ----------------- -------------- ---------
netapp001-dr netapp001    initiated    netapp001c         snapmirror     netapp001

netapp002c::> 

(4) SVM peerを作成2 送り元で関係受諾

送り元NetApp上で、受け側からのSVM peer要求を受諾。

まずは「vserver peer show」で状況を確認

netapp001c::> vserver peer show
            Peer        Peer                           Peering        Remote
Vserver     Vserver     State        Peer Cluster      Applications   Vserver
----------- ----------- ------------ ----------------- -------------- ---------
netapp001    netapp001-dr pending      netapp002c         snapmirror     netapp001-dr

netapp001c::> 

Peer Stateが「pending」となっていることを確認。

pending状態を「vserver peer accept -vserver 送り元SVM -peer-vserver 受け側SVM」を実行して受諾。

netapp001c::> vserver peer accept -vserver netapp001 -peer-vserver netapp001-dr

Info: [Job 922] 'vserver peer accept' job queued

netapp001c::> 
netapp001c::> vserver peer show
            Peer        Peer                           Peering        Remote
Vserver     Vserver     State        Peer Cluster      Applications   Vserver
----------- ----------- ------------ ----------------- -------------- ---------
netapp001    netapp001-dr peered       netapp002c         snapmirror     netapp001-dr

netapp001c::>

Peer Stateが「peered」に変わったら受諾処理が完了です。(処理中はpendingのままです)

(5) SVM peerを作成3 受け側でも受諾を確認

受け側NetApp上で、SVM peerが成立したことを確認

netapp002c::> vserver peer show
            Peer        Peer                           Peering        Remote
Vserver     Vserver     State        Peer Cluster      Applications   Vserver
----------- ----------- ------------ ----------------- -------------- ---------
netapp001-dr netapp001    peered       netapp001c         snapmirror     netapp001

netapp002c::>

(6) snapmirrorの作成

まず、現状のsnapmirrorの状態を送り元と受け側で確認しておく。

netapp001c::> snapmirror show
This table is currently empty.

netapp001c::> 

netapp002c::> snapmirror show
This table is currently empty.

netapp002c::> 

snapmirrorの作成は、受け側NetApp上で実行する。

「snapmirror create -source-vserver 送り元SVM -destination-vserver 受け側SVM -type DP -policy DPDefault -schedule hourly -identity-preserve true」と実行する。

-schedule hourly というのは1時間ごとに同期を取る、という設定となる。このスケジュールを別のものにすることもできる。

netapp002c::> snapmirror create -source-vserver netapp001 -destination-vserver netapp001-dr -type DP -policy DPDefault -schedule hourly -identity-preserve true

netapp002c::> 

作成後、「snapmirror show」を実行すると下記の様に、「Mirror State:Uninitialzied」「Relationship Status: Idle」で表示される。

netapp002c::> snapmirror show
                                                                       Progress
Source            Destination Mirror  Relationship   Total             Last
Path        Type  Path        State   Status         Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
netapp001:   XDP  netapp001-dr: Uninitialized
                                      Idle           -         true    -

netapp002c::>

(7) snapmirrorの初期化開始

受け側NetApp上でsnapmirrorの初期化を開始する。

「snapmirror initialize -destination-path 受け側SVM:」を実行する。

netapp002c::> snapmirror initialize -destination-path  netapp001-dr:

netapp002c::> 

実行後、snapmirror showで実行し、「Relationship Status: Transferring」になっていることを確認。

netapp002c::> snapmirror show
                                                                       Progress
Source            Destination Mirror  Relationship   Total             Last
Path        Type  Path        State   Status         Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
netapp001:   XDP  netapp001-dr: Uninitialized
                                      Transferring   -         true    -

netapp002c::>

(8) Snapmirrorの完了を確認

ボリュームを含めてすべてのデータ転送が終わると「Mirror State: Snapmirrored」「Relationship Status: Idle」に変化します。

netapp002c::> snapmirror show
                                                                       Progress
Source            Destination Mirror  Relationship   Total             Last
Path        Type  Path        State   Status         Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
netapp001:   XDP  netapp001-dr: Snapmirrored
                                      Idle           -         true    -

netapp002c::> 

Backup ExecでNetAppのNDMPバックアップを行おうとしたときに0x20500106(542114054)というエラーになる


Backup ExecでNetAppのNDMPバックアップを行おうとしたときに0x20500106(542114054)というエラーになるという問題が発生した。

技術的詳細をみてみてもよく分からない。

該当の共有を確認すると日本語のディレクトリがある。

そして、NetApp上でボリュームの言語を確認するとja_JP.PCK_v2とUTF-8以外を使用している。

nas01c::> volume show -fields language
vserver   volume language
--------- ------ --------
<略>
svm1      testlang2
                 ja_JP.PCK_v2
nas01c::> 

では、日本語ではなく英数のディレクトリ名に変更

Backup Exec上で問題なく開くことができるようになった。

とりあえず、ボリュームの言語設定の問題であることは判明。

検索すると「How to enable Unicode or UTF-8 Language Support for the NDMP Option」というBackup Exec 11時代の古い記述を発見

ここに書かれている HKEY_LOCAL_MACHINE\SOFTWARE\Veritas\Backup Exec For Windows\Backup Exec\NDMP の UseUTF8の値は「0」であり、UTF-8じゃないボリュームという設定になっているように見える。

この値の変更は、NDMPアクセスをするごとに反映されるようでBackupExecサービスやサーバ再起動は不要だった。

が・・・今回のja_JP.PCK_v2ボリューム上の日本語ディレクトリ問題には対処できなかった。

では、この値変更はBackupExec 21.0で不要かというとそうではなくて、ja_JP.UTF-8ボリュームだと日本語ディレクトリが文字化けで表示される、という問題が発生している。

これが「UseUTF8」の値を「1」に設定することで文字化けが解消されることは確認できた。

さて、本題に戻って、ja_JP.PCK_v2ボリューム上に日本語ディレクトリがある場合にエラーとなる件の対処方法があるかです。

とりあえずボリューム名をクリックするとバックアップ選択はされ、バックアップも完了できました。(レジストリ UseUTF8は0で実施)

リストアを選択すると、きちんと日本語で表示されています。

共有内のファイルを削除してリストアしてみると、正常にリストアされました。

しかし、「実験」だけをリストアしようとするとエラーとなりました。

というわけで、ja_JP.PCK_v2上に日本語ディレクトリがあっても、ボリューム全体をバックアップするのであれば問題無く動作する。

リストア時も全体であればリストアが成功するが、日本語ディレクトリは個別に指定するリストアは失敗する、という動作となりました。

ちなみにja_JP.UTF-8ボリューム上の日本語ディレクトリは文字化けでした。(レジストリUseUTF8は0)

文字化けしている状態であっても、文字化けディレクトリだけを指定してリストアすると正常にリストアできていました。(レジストリUseUTF8は0)


逆にレジストリUseUTF8を1にしてバックアップしたものはリストアできるか検証

ja_JP.UTF-8ボリューム上の日本語は表示できているが、ja_JP.PCK_v2ボリューム上は文字化けています。

リストアジョブを実行してみると成功します。

ja_JP.UTF-8ボリュームではファイル名も問題無くリストアできています。

ja_JP.PCK2_v2の方は文字化けでリストアされています。

ややこしいことにディレクトリ内のファイルについては文字化けせずにリストアされています。

おそらく、指定した階層についてだけ影響があり、それ以下の階層についてはNetApp側で処理されるため元のファイル名のままリストアできたものと想定されます。

NetApp ONTAP9.xでNDMPバックアップする場合の設定項目


NetApp ONTAP 9.xでNDMPバックアップを取得する際に必要な設定項目についての覚え書き

公式のマニュアル:SVMを対象としたNDMPの設定FlexVolのSVMを対象としたNDMPモードの管理

以前は各物理ノードがNDMPを受け付けていたものが、現在はNetAppの管理Storage VM(クラスタ)がNDMPの命令を受け付けるようになっている。

(1) NDMPの有効化

まず、現状有効になっているかを「vserver services ndmp status」を実行して確認する。

ontap-select-cluster::> vserver services ndmp status
This table is currently empty.

ontap-select-cluster::>

有効にするには「vserver services ndmp on -vserver 管理SVM名」を実行する

ontap-select-cluster::> vserver services ndmp on -vserver ontap-select-cluster

ontap-select-cluster::> 

有効になったことを「vserver services ndmp show」を実行して確認する。

ontap-select-cluster::> vserver services ndmp show
VServer       Enabled   Authentication type
------------- --------- -------------------
ontap-select-cluster
              true      challenge
svm0          false     challenge
2 entries were displayed.

ontap-select-cluster::> 

(2) ユーザ作成

NDMPアクセス用のユーザを、NetAppのローカルユーザとして作成する。

下記の例では「backupadmin」というユーザを作成している。「role:backup」という権限で作成することが重要です。

なお、ここで指定するパスワードをそのままNDMPバックアップ時に指定するわけではありません。

ontap-select-cluster::> security login create -user-or-group-name backupadmin -application ssh -authmethod password -role backup

Please enter a password for user 'backupadmin':
Please enter it again:
ontap-select-cluster::> 

NDMPバックアップ時に使用するパスワードは、自動生成のパスワードになります。

「vserver services ndmp generate-password -vserver 管理SVM名 -user ユーザ名」でパスワードを確認します。なお、ユーザ作成時のパスワードを元に生成しているので、generate-passwordを実行するたびにパスワードが変わるということはありません。

ontap-select-cluster::>  vserver services ndmp generate-password -vserver ontap-select-cluster -user backupadmin

 Vserver: ontap-select-cluster
    User: backupadmin
Password: qG5CqQHYxw9fE57g
ontap-select-cluster::> 

(3) LIFの作成

NDMPバックアップは、ネットワークインタフェースのroleがinterclusterであるものを使用します。

現状のinterclusterを確認するには「network interface show -role intercluster」を実行します

ontap-select-cluster::> network interface show -role intercluster
There are no entries matching your query.

ontap-select-cluster::>

存在しない場合は、新規で作成するか、既存のLIFを流用するための設定を行います。

流用する場合は公式マニュアルの「LIFの設定」をみていろいろやります。(面倒くさいはず)

作成する際は、「-home-node」と「-home-port」で主として使用する物理ノードとネットワークポートを指定します。

ontap-select-cluster::> network interface create -vserver ontap-select-cluster -lif cluster_intercluster -role intercluster -service-policy default-intercluster -address 172.17.44.109 -netmask 255.255.0.0 -home-node ontap-select-node -home-port e0a

ontap-select-cluster::>

作成されたことを「network interface show -role intercluster」を実行して確認します。

ontap-select-cluster::> network interface show -role intercluster
            Logical    Status     Network            Current       Current Is
Vserver     Interface  Admin/Oper Address/Mask       Node          Port    Home
----------- ---------- ---------- ------------------ ------------- ------- ----
ontap-select-cluster
            cluster_intercluster
                         up/up    172.17.44.109/16   ontap-select-node
                                                                   e0a     true

ontap-select-cluster::> 

メモ

「vserver show -ins」で表示される「Allowed Protocols」「Disallowed Protocols」の扱い

物理ノードに対するNDMPが有効になっていないか?「system service ndmp show」で「Enabled:false」を確認

対象となるSVMと、必要となるロールの違い:SVMを対象としたNDMPモードでのユーザ認証

Storage Virtual Machine(SVM)を対象としたNDMPモードでは、NDMPユーザ認証がロールベース アクセス制御と統合されます。SVMのコンテキストでは、NDMPユーザのロールはvsadminまたはvsadmin-backupのどちらかである必要があります。クラスタのコンテキストでは、NDMPユーザのロールはadminまたはbackupのどちらかである必要があります。

SVMのfirewall policy設定でinterclusterのポリシーでNDMPが許可されているか「system services firewall policy show -policy intercluster」

NetApp NDMP設定の詳細確認「vserver services ndmp show -ins」の「Preferred Interface Role」に書かれているroleのインタフェースがNDMPに使用できる