:::: MENU ::::

C.a.T!

CATch a TAIL!

Japanese sub culture and tech.

  • 5月 27 / 2014
  • 0
linux

Apple bluetooth keyboard を Linux で使う

20140527

自宅で使っているマシンはMacBook Proで、外部ディスプレイにつなげて使っています。
メインのディスプレイは外部ディスプレイなので、キーボードは別途 Apple bluetooth keyboard をつなげて使っています。
で、会社ではUbuntuマシンをメインマシンにして使っているのですが、キーボードの使用感を統一したいので家と同じ Apple bluetooth keyboard を使っています。
接続自体は特に問題ないのですが、キーの配置について少し工夫がいるのでご紹介。

Continue Reading

  • 4月 24 / 2014
  • 0
linux

Linuxからリモートデスクトップ接続する

20140424

会社で使ってるメインの環境はUbuntu Linuxなんですが、会社としての公式サポートOSはWindowsです。
そのため、あらゆるシステム、サービスがWindows基準で設計されているのでUbuntuで全ての仕事をこなすことはできません。
ということでWindowsは、Virtualbox上で動かしてUbuntuなどからリモートデスクトップ接続して使っています。
Linuxのリモートデスクトップクライアントはいろいろあるのですが、定番のrdesktopを使っています。

Continue Reading

  • 1月 10 / 2014
  • 0
linux, mac

tmuxのcopy-pipeで少しすっきり

20140110

tmuxを使っていてちょっと困るのがクリップボード周りの処理で、クリップボードと連携させるにはtmuxのコピーバッファを一時ファイルに吐き出して、それをOS側のクリップボードツールに取り込むというような面倒なことしないといけませんでした。
tmux1.8で、copy-pipeというものが導入されてこの辺がすっきりしました。

Continue Reading

  • 12月 08 / 2013
  • 0
engineer, linux

Dropboxクローン、ownCloudを試す

20131208

Dropboxはとても便利で自分も常用しています。
ただ、企業では情報漏洩リスクからブロックされていることが多いんですよね。
まあ、自分の会社がそうなんですが。
だったら勝手Dropboxを立てればいいじゃない、ということでDropboxクローンのownCloudを試してみました。

Continue Reading

  • 9月 03 / 2012
  • 0
devops, linux

たくさんのマシンに一気にコマンドを投入する

会社で数十台のクラスタを組んで、EC2もどきを運用しているのですが、基本的にボランティアでやっているので運用はできるだけ省力化したい。

Puppet使ってセットアップやメンテの大部分を自動化したりはしているのですが、トラブルの調査などがどうしてもめんどい。

全ノードに一気にコマンド発行して結果を見たいとか、よくありますよね。

この手の、一気に複数のマシンにコマンドを発行する仕組みはいくつかあります。

あたりを試したことはあったのですが、Cluster SSH は、ある程度のノード数以上になると実用的じゃないし、dsh は、ノードから返ってくる結果とノードの対応が取りづらい。

そこで、 pdsh を試してみました。

Ubuntuリポジトリにも入ってますのでインストールは簡単。

[code lang=”bash”]
# sudo apt-get install pdsh
[/code]

リモートコマンドの発行に ssh を使うため、以下のファイルを作ります。

  • /etc/pdsh/rcmd_default

[code lang=”bash”]
ssh
[/code]

コマンドを発行するメンテ用マシンとかでssh公開鍵を生成して、各ノードへのsshを証明書ベースでできるようにしておくのは pdsh 以外のツールと同じ。

で、コマンドを実行すると

[code lang=”bash”]
# pdsh date
node022: Mon Sep 3 12:29:15 JST 2012
node014: Mon Sep 3 12:29:15 JST 2012
node021: Mon Sep 3 12:29:15 JST 2012
[/code]

という感じで、各ノードに一気にコマンドを発行して、リターンをノードと対応づけられる形式で表示してくれます。

発行するノードのリストは、

[code lang=”bash”]
node014
node021
node022
[/code]

みたいな感じでテキストファイルを作っておき、例えば ~/node.list とかとして保存しておきます。

で、コマンドを発行する時に、

[code lang=”bash”]
export WCOLL=~/node.list
[/code]

のように WCOLL 環境変数として指定しておけば、ノードを pdsh コマンドにいちいち指定しなくても一気に発行できます。

自分が運用しているクラスタは、そう頻繁にノードの出入りがないので、リストを作って上記環境変数を設定して使っています。

もちろん、

[code lang=”bash”]
# pdsh -x node014,node21 date
[/code]

というように、コマンドに直接指定することもできます。

実際に運用を担当している方には分かると思いますが、こういうのあるとないとでは、かなり運用作業にかかる時間、コストが変わってきます。

何より、運用担当者のストレスが下がるのがでかい。