今更ですが・・・
あけましておめでとうございます
本年も気ままに更新したいと思いますのでよろしくお願いいたします
さて、早速ですが・・・
以前、テクてくLotus技術者夜会で
「Dominoサーバー、引っ越すってよ!!」
こんなテーマでLTさせていただきました
結果知りたいよね
ということで、大まかな流れとともに覚書として書いていきたいと思います
1.プライベートクラウドの保守(?)が切れるらしい
よくわからないですが、こんな内容でした。
期日は2019年1月下旬ごろまでに引き渡しをしなければならないとの事。
移行できるチャンスは1月の3連休の中日の日曜日と、その週の土曜の夜から日曜の夕方までとかなり限られた時間の中のお引越しでした。
2.お引越し条件が厳しい
Dominoは1台運用なので1日以上停止すると業務的に問題が出てしまいます。
移行するDBは4000DB近く、容量で500GB前後・・・
以前のお引越しの時は、半分くらいだったので半日程度の停止でOSコピーで対応できていました。
データはもちろん同期していなければダメです。
11月の終わりに新サーバーの環境をもらい、1月下旬で引き渡し・・・無理ぽ
そこで思いついたのが、
追加サーバーを立ててレプリカで作成すれば同期できるし
Server.id差し替えれば簡単じゃねということです。
(レプリカって確かDBID一緒だったはず)
・新サーバーの構築依頼
・現Dominoから追加サーバーを作成→server.idを新Dominoへ
・新Dominoインストール、セットアップ(Directory構成同じにする)
・新Dominoに移行ツールDBをスケジュールエージェントで実行
・時折、Pullコマンドを発行しながら様子をみる
・引っ越し当日、Server.idを入れ替えて引っ越し終了!
これが結果
レプリカがどんどん作られていき・・・
順調に移行準備が進んでいました
4.一番の強敵、64GB越えのDB
そうです、これが一番の問題でした。
実サイズ140GBが1DB、70GBが2DBと64GBを超えたDBが3つもありました。
LZ1形式の圧縮とDAOSに助けられていたのです・・・
むやみやたらとDAOSチェックが付いていたので、
これを改めるために移行先DominoではDAOSの設定をやめました→必要なものだけに絞り込もうという考えでした。
当たり前ですが・・・
限界だバカヤロー!!って怒られちゃいました
<対策案を考える>
・DBを分けてしまおう
ということで、運よくこのDBは年度を持っていたので、年度別に分けてから考えようと思いました。
4DBに割れてしまって、改修がとても困難になる事と、改修に時間がかかることでやはり断念。。。
それで今回打ち出した裏技が
「V10、英語版しかないけど・・・いっとく?」だったわけです。
5.壁越えを実施
まず、V10.0.1をインストール/セットアップ
64GBの壁は無事に超えられたのか・・・?
よっしゃー
無事に3DBとも64GBの壁を越えたので、
テスト環境にて動作確認をしていました。
今のところ、問題ない!!表示も問題ない
6.入れ替え日当日
最後のPullコマンドも終わり、server.idを入れ替えていざ起動!!
基本的な動作確認は終わったから細かい動きの検証をすれば終わりだー!
そう思っていた時でした。
・POIのライブラリがエラー表示していて開かない?
→これはJVMの問題っぽいです
・権限おかしくない?
→DJXで日本語で設定している読者フィールド値が完全に無効?
→DBの動き的には変な挙動はなかった
・ポータルの一部分がちゃんと表示されない?
→なんで??
・自前で作成したBootstrap組み込みXPagesのレイアウトが大変なことに
→これ、テーマとかだろうな・・・
時間の許す限り、バグやエラーを出してもらいました。
そして、筆者は皆さんにこう言いました。
「切り戻しします」
誰か筆者を慰めてくださいっ
ということで、全作業を含んだ作業時間12時間でV10にする時の課題をたくさん得られた1日になったのは収穫ですが、
アディショナルタイムに逆転ゴールを決められて負けたサッカーの試合後の気持ちになったのは言うまでもありませんでした。
作業の帰り、やっぱり悔しくてどうにか簡単に引っ越し出来ないか考えてみました。
V10を使わないで移行する方法・・・あっ
次なる案を思いついたのですが、それはまた次回に紹介したいと思います。
P.S
上司に今回の作業報告したら筆者にやさしく
「DBの移行は成功したんだから失敗じゃないよ」と
やさしくフォローしていただきました。
今回はV10にしないけど、決してあきらめたわけではありません
今日はこの辺で・・・
あでゅー