ツチノコNOCラックマウント大会に参加しました

こんにちは!
学生ツチノコのsaiです。

今回、JANOG39に向けてのラックマウント大会(以下、体験会)がDMM.comラボにて開催されました!

※ラックマウント大会と称されていますが、正しいラックマウント方法を体験したり、NOC同士の親睦を深めるイベントです。

 

また、皆さん御存知かとは思いますが、改めてJANOG39についてご紹介します。

JANOG39とは

JANOGミーティングは、日本中のネットワークオペレータが一堂に集い、活発に情報交換と議論を行うことを目的と しています。
今回39回目を迎えたJANOGミーティングを開催するにあたり、私たちは『見つける、そして動きだす』というテーマ を掲げました。
参考 : https://www.janog.gr.jp/meeting/janog39/

 

まず、体験会ではケガのないように軍手の装着を推奨しています。

ラックマウントの際、いつの間にか切れてる!なんて事もあるそうなので、作業をする際は注意が必要です。
↓ 軍手集合写真

軍手集合写真

 

 

その後、本作業を行う前には、使用するサーバ内部の鑑賞会も開かれました。

鑑賞会

第一印象は「メモリの数やばい!」でしたが

まじまじと色んなところを見てみると、カバーの背面に取り外し説明書がついていたりと親切な設計になっています。

また、パーツはがっちり固定され取りずらいイメージだったのですが、思いのほか取り外ししやすかったのも印象的でした!

 

さて、この後はお楽しみの本作業です。

二人一組でレールを取り付け、サーバを取り付け、最後に裏をナットとネジで止め・・・まるでプラモデルを作る少年になったかのように夢中になっていました。

%e3%83%a9%e3%83%83%e3%82%af%e3%83%9e%e3%82%a6%e3%83%b3%e3%83%88%e5%a4%a7%e4%bc%9a1-2 %e3%83%a9%e3%83%83%e3%82%af%e3%83%9e%e3%82%a6%e3%83%b3%e3%83%88%e5%a4%a7%e4%bc%9a2-2

そして、どの作業でも
「装着する前はレールを一回引く」
「レールは折れやすいから蹴らないように気をつける」
など、今後のラックマウント作業に役立つアドバイスを頂けたのでどこかのイベントでも活かしていこうかなと思っています。

 

皆さんも何かのイベントでラックマウントをする機会があれば、超楽しいので是非やってみてください!
(配線もオススメです!!)

 

PPAP – Printing Performance Achitecture Protocol

そろそろ忘年会シーズンです。
PPAP、練習してますかー?

ちなみにPPAPというのは、HPの独自プロトコルです。
詳細は以下を読んでください。

PPA – HP Printing Performance Architecture
http://www.undocprint.org/formats/page_description_languages/ppa

 

英語は苦手ですよね?
最近パワーアップしたというGoogle翻訳を使ってみました。

PPAPをGoogle翻訳

英語

The PPA protocol is actually composed of two protocols: a lower-level packet protocol called VLink and the Sleek Control Protocol (SCP). The VLink protocol regulates all data transferred back and forth between the printer and the computer. SCP sends command sequences to tell the printer to do things like load a sheet of paper, eject, and print a sweep.

Although PPA is a bi-directional protocol, I have mainly concentrated on its uni-directional component. It is not required for the host to be aware of the bi-directional nature of the device, which makes this easy to do.

All values are stored in big endian format.

日本語

PPAプロトコルは実際には、VLinkと呼ばれる低レベルパケットプロトコルとSCP(Sleek Control Protocol)という2つのプロトコルで構成されています。 VLinkプロトコルは、プリンタとコンピュータ間で転送されるすべてのデータを制御します。 SCPは、コマンドシーケンスを送信して、プリンタに用紙のセット、取り出し、掃引などの処理を指示します。

PPAは双方向プロトコルですが、私は主にその一方向コンポーネントに集中しています。 ホストがデバイスの双方向性を認識することは必須ではありません。このため、これを簡単に行うことができます。

すべての値はビッグエンディアン形式で格納されます。

 

ほぼ完璧な翻訳。
Google翻訳すげー、というネタでした。

忘年会で無駄な小ネタを披露してツルツル滑って欲しいな、と願っています。

cd ../../../ をなんとかしました

おはようございます。ライトノベル好きのツチノコです。年末年始に読むライトノベルは決めましたか?

さてansibleのplaybookを書いていたりすると、ディレクトリ構造が深くなりがちです。
作業中に深いディレクトリから浅いディレクトリへ移動するときにめんどいのでなんとかしました。
・cd ../../../ などで上がろうとすると、いくつ上がるんだっけとか、間違って ./ や …/ と typo する
・popd しようとしても移動先ディレクトリがスタックに入ってるとは限らない

watanabe-k@deploy:~/openstack-playbook/roles/image/templates/etc/glance/rootwrap.d$ pwd
/home/watanabe-k/openstack-playbook/roles/image/templates/etc/glance/rootwrap.d
watanabe-k@deploy:~/openstack-playbook/roles/image/templates/etc/glance/rootwrap.d$ # ここから openstack-playbook/roles に cd したい

.bashrc に以下のfunctionを定義します。

# .bashrc
function upto() {
    if [ $# -eq 0 ]; then
        cd ~
    else
        ptn=$(echo -n $1 | sed -e 's/\/$//g;s/\//\\\//g;')
        exp='s/\(.*'$ptn'[^/]*\/\).*/\1/g'
        dir=$(pwd)"/"
        cd $(echo $dir | sed -e "$exp")
    fi
}

function upto_completion() {
    COMPREPLY=( $(compgen -W "$(pwd|sed -e 's/\// /g')" ${COMP_WORDS[COMP_CWORD]} ) )
}
complete -F upto_completion upto

これでカレントディレクトリのパスの一部を指定して、そのディレクトリにcdするコマンドuptoができました。

$ upto pathの一部

こんな感じで使えます。

watanabe-k@deploy:~/openstack-playbook/roles/image/templates/etc/glance/rootwrap.d$ upto roles
watanabe-k@deploy:~/openstack-playbook/roles$

補完も効きます(候補がsortされるけど・・・)

watanabe-k@deploy:~/openstack-playbook/roles/image/templates/etc/glance/rootwrap.d$ upto [tab][tab]
etc                 glance              home                image               openstack-playbook  roles               rootwrap.d          templates           watanabe-k

部分一致にも対応してます。

watanabe-k@deploy:~/openstack-playbook/roles/image/templates/etc/glance/rootwrap.d$ upto openstack
watanabe-k@deploy:~/openstack-playbook$

べんり。

p.s. 華麗なる探偵アリス&ペンギンおもしろいですね

酉の日なのでUTPケーブルで熊手を作ってみた

今日はポッキーの日ですが、酉の市の日でもあります。

酉の市
https://ja.wikipedia.org/wiki/%E9%85%89%E3%81%AE%E5%B8%82

今年の酉の市は11月11日と23日、深夜0時から24時間続きます。

昨晩新宿の花園神社に行ってきました。
沢山の提灯が吊られ、縁起物である熊手が沢山売られていました。

img_4364

小さいのを1つ買ってみましたが、自分でも作ってみたくなりますよね。

img_4368

ということで、みんなの手元にあるUTPケーブルを使って熊手を自作してみます。

素材、道具

  • UTPケーブル
  • ニッパー
  • ケーブルストリッパー
  • 細径電動ドリル

img_4373

ケーブルを剥く

ケーブルストリッパーで 被膜を剥きます。

img_4374

img_4376

被膜を加工

開いて、ドリルで穴を開けていきます。
安全のためダンボール箱に養生テープで固定しつつ作業をしています。

img_4382

img_4383

ケーブルを整形

より線をほどいて、まっすぐにして、いつもの順番に揃えます。

img_4386

img_4389

パーツを組み合わせて整形

被覆の穴にケーブルを通して整形します。

img_4391

img_4393

飾って完成

とりあえずディスプレイに貼ってみました。

img_4395

 

30分ほどで作れます。

みなさんも作ってみてはいかがでしょうか?

もの作りは楽しいです。

DMM.make AKIBA も今日で2周年です。

オープンソースカンファレンス 2016 Tokyo/Fallに参加してMQの話を聞いてきた

 

こちらのブログでもお知らせしましたが、オープンソースカンファレンス 2016 Tokyo/Fallで、弊社大山がMQについて、お話をしてきました。
img_0339

ツチノコブログでも話題に上がるMQの話を聞いて私なりにかみ砕いてレポートしようと思います!

そもそもMQとは?

MQはえむきゅーと読みます。not もきゅ(*´ω`*)
アプリケーション上でプロセス間のやりとりをサポートする処理方式のことです。

osc2016-mq-3-638

プロセスAとプロセスBがそれぞれ処理を走らせた際、お互いの処理が終わるのを待たずに処理を終えることができます。
プロセスを放り込めばMQにお任せできるので、システムの裏側でよく使われている手法です。

なぜMQなのか?

osc2016-mq-17-638

分散システムを単純にできる!
システムを作るときにシンプルな構成にできることもポイント。
-高可用性がある
-拡張性がある

 

MQにはいろいろある!

osc2016-mq-19-638

代表的なプロトコル/実装の特徴を紹介

AMQP(RabbitMQ)
MQTT(ActiveMQ)
STOMP(NewtMQ)
Kafka
ZeroMQ

AMQP(RabbitMQ)

Advanced Message Queuing Protocol
柔軟なメッセージルーティングができる。

MQTT(ActiveMQ)

軽量なプログラム。
ヘッダサイズが小さく、確実にメッセージを発行してくれる。

Kafka

順序付け負荷分散の両方を提供できる。
メッセージを格納し、キャッシュするためのファイルシステムに依存している。

まとめ

  • 万能なMQはない!
  • 用途にあった適切なMQを選択するのが大事。
  • Broker-MQ でパフォーマンス出したかったら NATS 使えばいいと思う!
    (但し、諸所の制約 (トランザクションなし、永続化しない、at-most-once な到達保証) を許容できるならば…)

発表資料