ボリューム言語切り替えは面倒
NetAppのボリューム言語をja_JP.PCKからutf8mb4に変えたいな、と思うとsnapmirrorでのボリューム以降ではなくて、rsyncやrobocopyなどを使ってコピーする必要がある。
例えば、robocopyでやるなら以下の様なバッチファイルを動かしてコピーする
@echo off
set TIME2=%TIME: =0%
set LOGDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%-%TIME2:~0,2%%TIME2:~3,2%
robocopy \\netappfs\shares1 \\netappfsnew\shares1 /mir /copyall /R:0 /W:0 /LOG+:D:\LOGS\netappfs-shares1-%LOGDATE%.txt
robocopy \\netappfs\document \\netappfsnew\document /mir /copyall /R:0 /W:0 /LOG+:D:\LOGS\netappfs-document-%LOGDATE%.txt
D:\LOGS に実行ログを吐き出すが、バッチファイルの実行開始時間を元にしたファイル名となるので、ログ確認がしやすい
失敗した切り替え手順
IPアドレスが確保出来なかったということなので、旧NetAppのサービス用IP と 新NetAppの仮接続用IPしかない、ということなので
旧NetAppのネットワークケーブル抜いてから
新NetApp側のIPアドレスを切り替えてAD参加
旧NetApp側のIPアドレスを新NetAppについてた仮接続用IPに切り替え
旧NetAppのネットワークケーブルを接続して、AD参加
ということをやればいいかなーと以下の手順で実施した。
が・・・これだと旧NetAppがnetappfsとして参加していた情報の方が勝つらしく、12の段階で旧サーバがnetappfsだとしてAD上のアクセス情報を持っていこうとしているっぽく、問題が発生した。
このため新NetAppをもう1度Active Directoryに参加させるという対処を行う羽目になった。
- 旧NetAppが ADに netappfs で参加している
- 新NetAppが ADに netappfsnew で参加してデータ移行
新::> vserver cifs create -vserver netappfs -cifs-server netappfsnew - 切り替え日
- 旧NetAppのADをdown
旧::> vserver cifs modify -vserver netappfs -state-admin down - 新NetAppのADをdown
新::> vserver cifs modify -vserver netappfs -state-admin down - 旧NetAppのネットワークケーブルを外す
(旧NetAppのIPアドレスは変更していない) - 新NetAppでIPを引き継ぎ
新::> network interface modify -vserver netappfs -lif ~ -address サービス用IP - 新NetAppをnetappfsとしてAD参加
新::> vserver cifs modify -vserver netappfs -cifs-server netappfs - 新NetAppにクライアントからアクセスできるか確認
問題ないことを確認 - ケーブルを外した状態で旧NetAppのIPを変更
旧::> network interface modify -vserver netappfs -lif ~ -address 別IP1 - 旧NetAppのネットワークケーブルをつなぐ
- 旧NetAppをAD再参加
旧::> vserver cifs modify -vserver netappfs -cifs-server netappfs-old
→ クライアントから新NetApp(netappfs)にアクセスできなくなる
新NetAppで「vserver cifs check」コマンドを実行すると
「down SecD Error: no server available」といったエラーが出ている - 新NetAppのAD登録名を一時的に別のものに参加したあと、正式名で再参加
新::> vserver cifs modify -vserver netappfs -state-admin down
新::> vserver cifs modify -vserver netappfs -cifs-server netappfstmp
新::> vserver cifs modify -vserver netappfs -state-admin down
新::> vserver cifs modify -vserver netappfs -cifs-server netappfs
→ クライアントから新NetApp(netappfs)にアクセスできるようになる
同じではないが、OUがちゃんと変更されていない場合の再変更手順「Organizational Unit (OU) is not updated in ONTAP after Active Directory object move」を見ると「vserver cifs stop -vserver netappfs」で止めたあと、もう1回「vserver cifs modify -vserver netappfs -cifs-server netappfs -ou OU=NewOU」と実行する、という風になっていた
いつもの切り替え手順
いつもは旧NetAppのサービス用IP と 新NetAppの仮接続用IP、旧NetAppの仮接続用IPの3つを用意してもらって切り替えている
1. 旧NetAppが ADに netappfs で参加している
2. 新NetAppが ADに netappfsnew で参加してデータ移行
新::> vserver cifs create -vserver netappfs -cifs-server netappfsnew
3. 切り替え日
4. 旧NetAppのADをdown
旧::> vserver cifs modify -vserver netappfs -state-admin down
5. ケーブルを外した状態で旧NetAppのIPを変更
旧::> network interface modify -vserver netappfs -lif ~ -address 旧NetAppの仮接続用IP
6. 旧NetAppをAD再参加
旧::> vserver cifs modify -vserver netappfs -cifs-server netappfs-old
7. 新NetAppのADをdown
新::> vserver cifs modify -vserver netappfs -state-admin down
8. 新NetAppでIPを引き継ぎ
新::> network interface modify -vserver netappfs -lif ~ -address サービス用IP
9. 新NetAppをnetappfsとしてAD参加
新::> vserver cifs modify -vserver netappfs -cifs-server netappfs
10. 新NetAppにクライアントからアクセスできるか確認
問題ないことを確認
メモ
secd logにログが出ているらしい?
/mroot/etc/log/mlog/secd.log というパス? (Overview of ONTAP Logs)
SVMのマシンアカウントのパスワードを再設定する「vserver cifs domain password reset」を実行することで解消する?