タグ

ブックマーク / dsas.blog.klab.org (10)

  • Brocade VDX NOS 7.0 は Python が動く! : DSAS開発者の部屋

    KLab では物理のサーバインフラを複数システム運用していますが、最近そのうちの1つでネットワークスイッチのリプレースを実施しようとしています。新たに導入するスイッチは Brocade 社の VDX6740 なのですが、このスイッチの OS である NOS 7.0 では、なんとスイッチ上で Python を動かすことができます。ということで少し触ってみました。 とりあえず触ってみる 使い方は、 UNIX の shell から Python を使うのと同じ感覚です。まず、通常通りスイッチに ssh などでログインします。 $ ssh -l admin vdx-switch Welcome to the Brocade Network Operating System Software admin connected from 192.168.0.10 using ssh on sw01 sw

    Brocade VDX NOS 7.0 は Python が動く! : DSAS開発者の部屋
    ya--mada
    ya--mada 2017/04/25
    いいなぁvdx。nexus9372かvdx6740が欲しかったんだ。いつのまにかhp5900afになってたけど。
  • USBポートに挿すだけでインターネット接続を乗っ取るガジェットを作ってみた : DSAS開発者の部屋

    このエントリーは、KLab Advent Calendar 2016 の20日目の記事です。 煽り気味のタイトルですみません。少し前に話題になった「PoisonTap」に興味を惹かれ、どうやって動作しているのかを調べて、実際に手元で組み上げてみましたというお話です。(今回は半田ごては使いません) 先日、5V電源が欲しくて同僚にUSBポートを借りようとしたら全力で拒否されました。USBも気軽に挿してもらえない世の中じゃ... @pandax381 です。 *** 記事の内容は技術的な検証を行うことが目的であり、迷惑行為や犯罪行為を推奨するものではありません *** PoisonTap とは? PoisonTap とは、1ヶ月ほど前に Samy Kamkar 氏が公開して話題になったクラッキングデバイスです。 I've released PoisonTap; attacks *locked*

    USBポートに挿すだけでインターネット接続を乗っ取るガジェットを作ってみた : DSAS開発者の部屋
  • LVSの高負荷対策 その1 ~障害発生~ : DSAS開発者の部屋

    こんにちは。インフラ担当の岡村です。 昨年、あるサービスで使用中のロードバランサが停止してしまうという事件が起こりました。 事の顛末を、数回に分けて紹介していきたいと思います。 もし同様の事象にお困りの場合は、役立てて頂ければと思います。 システム構成 KLabのDSASでは、ロードバランサにLVS (Linux Virtual Server) を使用しています。 ロードバランサはマスタ-バックアップ構成になっており、マスタ側が停止してしまっても、通常はバックアップ側がマスタに昇格し、サービスを継続できるようになっています。 おおまかな構成は下図のようになります。 ある日の晩、突然ロードバランサ(マスタ側)の死活監視のアラート通知が届きます。 (なんだろう..。電源障害? その他HW障害? もしくはカーネルのバグを踏んだ?) 原因調査・復旧はもちろん必要ですが、冗長構成のため、とりあえずサ

    LVSの高負荷対策 その1 ~障害発生~ : DSAS開発者の部屋
  • ラズパイで作るネットワークエミュレータ(後編) : DSAS開発者の部屋

    前編で紹介したネットワークエミュレータ「PackDrop」のプロトタイプですが、雑に作ったわりに評判が良く予想外に需要が出てきてしまったので、ちゃんと業務での利用に耐えられる「量産型」を製作しました。 前回の記事がややウケで気を良くしています。@pandax381です。 機能追加 プロトタイプを作成してから暫くのあいだ試験運用してみたのですが、実際に使った方々からいつくか要望を受けました。 パケットをバーストロスさせるためのスイッチが欲しい 一定時間、連続的にパケットが消失するバーストロスを再現するときに「パケロスのボリュームを100%まで回してまた戻す」という作業が面倒なので、専用のスイッチを設けて欲しい。 稼働状況がわかるようにLEDをつけて欲しい 試験用のパラメータを設定したまま元に戻すのを忘れてしまい「あれ、なんか今日ネット遅くね?」という事案が多発したので、遅延・パケロスが設定さ

    ラズパイで作るネットワークエミュレータ(後編) : DSAS開発者の部屋
    ya--mada
    ya--mada 2016/04/21
    続き
  • ラズパイで作るネットワークエミュレータ(前編) : DSAS開発者の部屋

    ネットワークが絡んだ通信プログラムを開発していると、テストのために遅延やパケロスを意図的に発生させたくなることがあります。いまどきは IDE にネットワークエミュレーション機能が組み込まれていたり、仮想環境で容易に再現できたりもしますが、箱物のネットワークエミュレータがあるとネットワークの構成を気にせずカンタンに設置できるのですごく便利だったりします。世の中にはそういった製品が沢山あるので安価なものを買ってもいいのですが、新たにラズパイが届いたばかりだったので、これを使って超小型のネットワークエミュレータを自作してみました。前編と後編の二回に分けて紹介します。 最近、社内で「ラズパイおじさん」と呼ばれるようになりました。@pandax381 です。 ラズパイ + Linux = ネットワークエミュレータ 「ネットワークエミュレータを自作」と言うとなんだか凄そうな感じがしますが、実はものすご

    ラズパイで作るネットワークエミュレータ(前編) : DSAS開発者の部屋
    ya--mada
    ya--mada 2016/04/07
    無駄に工作しててイイな
  • DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

    MySQLのチューニングにおいて非常に重要となるメモリ(バッファ)関連のパラメータについて、 チューニングのポイント DSASのとあるDBサーバ(実メモリ4GB)の実際の設定値 をまとめてみます。 また、必要メモリの総量の計算や限界値を越えてないかチェックしてくれるスクリプトも紹介します。 是非、参考にしてみてください! まず最初に注意点を。 バッファには2つのタイプがあります。 グローバルバッファ スレッドバッファ グローバルバッファはmysqld全体でそのバッファが1つだけ確保されるもので、 これに対し、 スレッドバッファはスレッド(コネクション)ごとに確保されるものです。 チューニングの際にはグローバル/スレッドの違いを意識するようにしましょう。 なぜなら、スレッドバッファに多くのメモリを割り当てると、コネクションが増えたとたんにアッという間にメモリ不足になってしまうからです。 in

    DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!
    ya--mada
    ya--mada 2015/07/07
  • DSAS開発者の部屋:network

    在宅勤務に移行してから1ヶ月半ほど経過しました。通勤という概念が消滅したおかげで午前中から活動できるようになった @pandax381 です。 要約 フルスクラッチで自作した TCP/IP プロトコルスタックを xv6 に組み込み、一通りの機能が動作するようになりました。 I publish the implementation of TCP/IP network stack on xv6. I ported my user-mode TCP/IP stack, which was originally developed for learning, and added the e1000 driver and socket system calls. Some parts are still not enough, but they are working.https://t.co/nh

    ya--mada
    ya--mada 2014/04/23
    “Mac OSX で vmnet が BIOCSETIF できなくてハマった話し” libpcap
  • DBサーバ向けLinuxチューニングを考える 〜 メモリオーバーコミット編 : DSAS開発者の部屋

    Cでプログラムを書いていて大量のメモリを確保したくなったとき、大抵は mallocを使うと思いますが、その際には戻り値がNULLかどうかを判断してエラー処理に飛ばすと思います。しかし、Linux のメモリ管理サブシステムには「メモリ・オーバーコミット」という機構があり、実装されているメモリ以上の領域を確保できてしまいます。 #include <stdio.h> #include <stdlib.h> int main() { int i; char *p; for(i=0;i<65536;i++){ p = (char *)malloc(65536); if(0 == (long)p){ break; } } printf("SIZE=%dMB\n",i*65536/1024/1024); return(0); } swapoff したメモリ 1G のマシンでこれを実行するとこんな感じにな

    DBサーバ向けLinuxチューニングを考える 〜 メモリオーバーコミット編 : DSAS開発者の部屋
  • DSAS開発者の部屋

    12/27 から年末年始をはさんだ5日間で、技術系インターン「KLabサーバーサイドキャンプ」を開催しました。 今春3月に第2回も企画しているので、 その宣伝も兼ねて開催報告をします。 (尚、エントリー最終締切日が1/24(月)に迫っているので興味を持って頂けた方はお早めにご応募ください) キャンプの目的 このキャンプは、主にこれから就職活動を始める学生を対象にサーバーサイド開発を体験してもらい、今後の進路を考える上で参考にしてもらうことを目的としています。 そのため、Pythonでのある程度のプログラミング経験は前提としつつ、SQLやSSHなどを触ったことがない方でも参加できるように講義や課題を準備していました。 キャンプの内容 題材として、実際に遊べるリズムゲーム音ゲー)を用意しています。 このゲームにはユーザー登録機能と、複数人で同一曲を同時にプレイする機能があります。この2つの機

    DSAS開発者の部屋
  • 負荷試験ツール「インターネット破壊」を公開しました : DSAS開発者の部屋

    負荷試験ツール インターネット破壊を公開しました。 こちらはずっと社内で負荷試験に使用していたツールです。社内で使用していたものなので、ソーシャルアプリ向けの機能などが多少追加されていますが、もちろんんそれ以外のWebアプリケーションでも使用できます。 基的にはApache JMeterのようなWebアプリケーションむけのシナリオ負荷試験ツールです。コマンドラインオペレーションだけで実行でき、サーバー上で簡単に負荷試験を実施できるのが特徴です。POSTリクエストなどはもちろん、レスポンスのチェックやUserAgentの偽装、ランダムな値をパラメーターにセットする機能も実装しています。 注意: 当然ながら自分の管理下にないサイトに向けて負荷試験ツールを実行するのは絶対にやめてください。非常に危険です。 物騒な名前がついていますが、これは完全にわたしの小児的感性の趣味によるところです。地震で

    負荷試験ツール「インターネット破壊」を公開しました : DSAS開発者の部屋
  • 1