DigiLoog

PC関係の事なら何でもいけるそんな処

Archive for the ‘Linux’ Category

/dev/randomのエントロピー不足対応

2018年05月19日(土) - 22:57 | カテゴリ: Linux

ns-lab BBのサーバ群は基本的に仮想サーバで構築しており、
ハイパーバイザーはKVM・Hyper-Vが主に、VPSを借りたりもしている。
その時微妙に問題になるのが深夜のスクリプト処理でCPUが奪い合いになる事と、
/dev/randomのエントロピー不足によるReadLockであったりする。

今までは表面化していなかったのだが、kernel 4.16辺りで導入された、
“crng_init” の初期化仕様変更に伴い、起動直後から/dev/randomを直参照する必要が出てきた。
ただ、起動直後は乱数の元となるエントロピーが溜まっていない為、
ReadLockが発生してしまいOSの起動が止まってしまった。
この問題に行き着く迄に1週間を費やし、kernelリビルドを10回程実行 ヘ(゚∀゚ヘ)

LKML.ORGを見るとこの問題の対応方針がまだ決まっていない見たいだが、
CVE-2018-1108の脆弱性対応も含まれているらしく、仕様がひっくり返る事は無さそう。
「だったら起動直後からエントロピーを蓄積出来る方法が無い物か」と、
/dev/randomエントロピー蓄積に使えそうな物を探してみた。


gdnsdとnginxでGSLB構築

2018年03月24日(土) - 19:52 | カテゴリ: Linux

ロードバランサには大きく分けて2種類ある。

1つ目がロードバランサの代名詞であるLSLB(LocalServer Load Blancing)で、
アプライアンスだとF5社のBIG-IP、A10社のThunder/AXなどの負荷分散目的を差す事が多い。
LSLBに対応したOSSも多く、ns-lab BBでも利用しているHAProxyとかが該当する。

2つ目が広域負荷分散と言われるGSLB(GlobalServer Load Blancing)で、
F5社のBIG-IP、Citrix社のNetScaler等が該当しコチラもそれなりに種別が多い。

ただ、OSSでGSLB動作に対応している物は少なく、
探した限りだと企業レベルでの採用事例は無く、殆どが自作GSLBだった。
というのも、OSSで自前構築するよりAWSのRoute53を使うか、
仕組みは簡単なので企業レベルならフルスクラッチした方が楽だからだと思う。

………

今回ひょんな事からGSLBの仕組みを把握しつつフル活用する必要が出てきたのだが、
自前で環境を持っていない事もあり技術検証が出来ていなかった。
さらに、その中でUDPリバースプロキシを動かす必要も出てきてしまった為、
ns-lab BBのバックボーンサーバとして、
gdnsdでGSLB(権威DNS)、nginxでUDPリバースプロキシを連携させつつGSLBを構築してみた。
 

  • 構築手順
    nowsky system-lab memo > gdnsd
    nowsky system-lab memo > NGINX

KVMゲストでkernel-4.15.2を使ったら起動しなくなった

2018年02月12日(月) - 19:23 | カテゴリ: Linux

Googleから発表のあったCPU脆弱性に対応する為、連休を使って自鯖のアップデートを順次行っていた。
本番系はkernelをパッケージ管理システムで管理しているので、そのままアップデートで問題ないのだが、
テスト鯖はkernelもビルドして構築しているので、対応に合わせてkernelを入れなおす必要があった。

という事で、2018/02/11時点の最新kernelである4.15.2を使ったのだが、
kernelを入れ替えた後、画面がブラックアウトして起動しなくなった… _(:3」∠)_
テスト環境と言っても、キャッシュDNSサーバを兼用していたり、
監視システムの一部を担っているので直さないと不味く、徹夜してなんとか原因っぽい所まで突き止めた。

という事で、今回はハマりかけた事の顛末などを時系列ベースで書いてみようと思う。
免責事項:英文など解釈を間違っていたらゴメンナサイ


  • 応援中

    D.C.5 Sweet Happiness ~ダ・カーポ5~スイートハピネス 2025年3月28日(金)発売予定 予約受付中
    バカップル・サプリメント