運用管理

 

サーバのラッキングやケーブリングの際、手元に「必要なものがない」ってよくありませんか?

その幾度、取りに行くのですが腰がいたくていたくて。^^;

また、取ってきた場所に戻さなかったりして、後々問題となることもしばしば。

メモ帳などの文房具やタイラップなど細かいものもよく必要になりますので、

人数分腰袋を用意して、その中に必要なものを入れるようにしました。

腰袋はこんな感じです。

写真 (7)

 

指を保護するために手袋もしっかりと入っています。

電動ドライバーもあるのですが、さすがに全員の腰袋には入れていません。

雑感

桜島の大噴火で思います。

911

アイスランドの大噴火

タイの大洪水

これらの災害やテロでインフラにおいても影響がありましたね。

911の時はCISCOのルータが届かず。

アイスランドの大噴火では、ヨーロッパからRSAのキーが届かなかった。

タイの大洪水はみなさんも記憶に新しいと思いますがハードディスクの供給に多大な影響を及ぼしました。

こうやって見ると、災害やカントリーリスクはみなさんに取っても対岸の火事ではありません。

いつどこに潜んでいるか分からない

起こった後では非常に無力です。

前もって多くの機器を確保しておくことも検討の一つになりますが、まずは余裕を持ったスケジュールを立てるのが重要ではないでしょうか。

機器以外にも、ディザスタリカバリーなども予算に合わせて検討するいい機会かもしれませんね。

最後に

鹿児島の皆さま謹んでお見舞い申し上げます。

ネットワーク

 

まだ設計段階で変更する可能性はあるのですが、

ルータリプレースのネットワーク図を手書きでお伝えします。

と思ったんですが、私の絵心では無理でしたので、

スタッフから無理やりネットワーク図をかっぱらってきました。

有力候補のJuniper社製品での構成です。

network_01

上流はBGP、内部ルーティングはOSPF+ファブリック

ディストリビュートスイッチはvLAG(mLAG)の構成です。

glusterfs

 

2GBの10個のファイルを生成し、そのスループットの最大値と
そのファイルをすべて読み込んだ時のスループットを計測してみました。

すっぱい計測結果ですが、とりあえずあるものは共有します。^^;

ディスクタイプ Peer台数 タイプ インターフェース 2GB書き込み(最大時) 読み込み時のスループット ローカルドライブにて読み込み時のスループット
SAS 14台 ストライプ 1G 108MB/s 101MB/s
SATA 16台 レプリカ2 10G 52MB/s 285MB/s
SATA 4台 ストライプ 1G 32MB/s 100MB/s
SATA 8台 レプリカ2 1G 51MB/s 100MB/s
iodrive 3台 レプリカ3 10G 80MB/s 170MB/s 1110MB/s

 

※書き込み:for i in seq 1 10;do dd if=/dev/zero of=testfile${i} bs=1M count=2048;done
※読み込み:time cat testfile* > /dev/null

実運用のせいもあってか書き込みのテストで、ストライプ4台の構成で速度が出ていないものがありますが、実際はレプリカよりは早いと思います。

読み込みについてですが残念ながら1Gインターフェースのせいで頭を打っており最大スループットがわかりません。すみません。

レプリカであろうがストライプであろうが、10Gインターフェースが重要なのかがわかるかと思います。

ストライプで10GインターフェースのGlusterも現在構築中ですので、

このあたりの実測値は後日、ここのコメントでお知らせ出来ればと思っています。

ちなみに

画像サーバはiodriveでglusterというお話をさせていただいたかと思いますが、

ピア3台レプリカ3で構成しているので、すべてのサーバで同じファイルを持っています。

そのファイルをGlusterのボリューム経由ではなくiodriveから直接読み込むことで、

上記の実測値にある170MB/sではなく1110MB/sが叩き出せるようになっています。

簡単な話、nginxのドキュメントルートをiodriveにあるbrickに設定しているだけです。

読み込みしかさせないため、このような工夫で高速化を図っています。

linux

ツチノコの子分です
親分同様オールドタイプですが頑張ります

RedHat系のRunレベルが0~6+Sがあることはご存知と思いますが、
皆さんはどのRunレベルを使ったことがありますか?

2,4を除いた6つのRunレベルを使用されている方が多いと思います。

実は私が入社最初に関わったプロジェクトでは、Runレベルの2,4を通常運用で使用していました。

どのように使用していたかというと、各Runレベルに以下のスクリプトを作成していました。
 Runレベル2 :プロジェクトで作成したアプリケーションなどの起動スクリプトとプロセス起動確認スクリプトを作成
 Runレベル4 :Runレベル2で起動したアプリケーションの停止スクリプトなどとプロセス停止確認スクリプトを作成

サーバを起動(Runレベル3)後、サービスを起動する際にいちいちプロセスの起動スクリプトを起動せず、Runレベル2へスイッチすることでサービスを開始していました。
停止する場合はRunレベルを4に切り替えることですべてのプロセスを一発で停止していました。

今考えると、各Runレベルの起動手順や、Runレベル2・4が普段使用されていないことなどのLinuxの仕様をよく理解した上で運用オペレーションを簡略化させていた巧妙な使用方法だと改めて感心しました。

ちなみに皆さんはRunレベル1とSの違いをご存知ですか
ためしにRunレベルを1に切り替えた後”runlever”コマンドでRunレベルの遷移を確かめてみては

PAGE TOP