Linux

AWS Command Line Interface(awscli)を使ってみた

今更な話題ではありますが、Pythonで作られたAWS Command Line Interface(aws-cli: 従来のJavaで動いていたEC2 API Toolsとは別物)を入れて動かしてみました。メモ的な感じで残しておきます。aws-cliは、pipで管理できるし、これ1つで複数のAWSサービスを扱…

muninサーバのチューニングの考え方

色々見ていたら、ちょっと思うところがあったので、tweetしようと書き始めたんだけど、長くなってしまったのでブログに残しておこうと思う。 muninのサーバは、対象ノードが多くなってきたりして、処理が増えてくると、多くのケースでネックになってくるのは…

Linuxサーバがディスク容量不足になった!何か消さねば!ってなった時にどう対処するか

とりとめもなく書いてみる。主にルーキー向けです。 サーバの運用とかやっていると、不定期ではあるが、たまにタイトルのようなディスク容量が逼迫する話題に直面します。 まぁ、それが起こるのは一旦良いとして、みんなこういう時、どうやって調べているの…

Linux/Mac/Windowsでハードウェア構成に関する情報を調べる

サーバ/クライアントPC問わず、今使っているマシンのハードウェア構成がどのようなものかをOS上で確認したくなることもあるでしょう。 そんな時にお手軽に調べられる方法を、たまーにググったりするので、Linux/Mac OS X/Windowsの3つのOSの場合の調べ方をこ…

Chef 11 で Chef Server WebUI を使えるようにしてみる(chef11アレコレ)

昨日の「Chef 11 での client/server/knife のセットアップ手順(+α)」のエントリの続きです。 Chef ServerとClientは基本的にRESTなHTTP APIを介してやりとりを行うのですが、ChefにはServer APIをGUI(ブラウザ)で操作できるchef-server-webuiが標準でついて…

Chef 11 での client/server/knife のセットアップ手順(+α)

遅れながら、Chefの新しい11系のバージョンを触ってみました。 つまづいた途中経過を含めて、セットアップのログや動きで気付いた事を簡単に残しておきます。尚、今回使ってみた実行環境は、CentOSの6系です(Linux)。 結論から申し上げますと、Chefの新しい…

Amazon EBS の性能ベンチマーク その3 (Provisioned IOPS編)

さて、またまた昨日のエントリ「Amazon EBS の性能ベンチマーク その2 (Standard-Vol増量編)」の続きです。ここまでの経緯は以下。 Amazon EBS の性能ベンチマーク その1 (Standard編) Amazon EBS の性能ベンチマーク その2 (Standard-Vol増量編) ここまでの…

Amazon EBS の性能ベンチマーク その2 (Standard-Vol増量編)

昨日エントリ「Amazon EBS の性能ベンチマーク その1 (Standard編)」の続きです。昨日のエントリで、次はEBSボリュームのサイズを20GBではなく、もっと大きなものにしてみたら、どうなるのだろう?と疑問となった部分があるので、そこのベンチマーク結果とな…

Amazon EBS の性能ベンチマーク その1 (Standard編)

以前、「噂の高速SSDを積んだAmazon EC2インスタンスのI/Oベンチマークをとってみた」でAmazon EC2で利用できるSSDボリュームのベンチマークを取った際に、EBSボリュームに関しても簡単に計測しているのですが、もう少し詳細に見てみようと思い、もうちょっ…

xfsファイルシステムのデフラグ方法とパフォーマンスについて

4/1のエントリで、頑張ってブログを書く頻度を上げます、と言ったまま4日が経過し、このままだとただのエイプリルフールの戯言になりかねないと思ったので、ちょっと調べてみたログを残します。 XFSの設計はエクステントベースで、ファイルの内容は1つ以上の…

RHELやCentOSで169.254.0.0/16へのルーティング(APIPA)を削除

家のサーバで見かけて、どうやって消すんだったかいな、と調べたのでメモ。(業務でちょろっと設定した程度だとすぐ忘れる...) RHEL系のOSをインストールしたばかりの状態だと、以下のような感じで「169.254.0.0/16」へのルーティングが存在していると思いま…

muninの表示がクソ重くなっていたのを劇的に改善した話

某所の"munin"がびっくりするくらい画面表示が重くなっていて、ひょんなことから改善することになった話。前提条件として、このmuninが動いているサーバは数百台のノード(サーバ)を管理している状態で、muninのバージョンは2.0系でした。本当は、後学のため…

Apache(DSO有効)でmod_sslを追加したときに躓いたアレコレ

最近の定番パターンですが、若手があれこれ苦労していたので、一緒になってハマってみたログです。タイトル通りですが、DSO(Dynamic Shared Object)サポートが有効になっているApacheに、後からmod_sslを追加しようとしたのですが、どうも apxs の実行で失敗…

なぜかJenkinsを起動させたらパケットロスが多発しまくったのを無理やり直した話

※ まず、はじめに、僕があまりJenkins自体の挙動に詳しくないので、誰か正しい直し方をご存知の方がいらっしゃったら、教えてほしいです。 本題。これは明らかな環境依存下(特にネットワークまわり)での話なのですが、KVM上でのLinux(CentOS 5/6系)な環境で…

LSIのRAIDカードのファームウェアをダウングレードしてみる

ちょっと事情があって、LSIのRAIDカード(今回使ったのは、"LSI MegaRAID SAS 9265-8i")のFirmwareをダウングレードしてみた。その時のログ。 ちなみに、ファームウェアをアップグレード(バージョンアップ)する場合も、ダウングレード(バージョンダウン)する…

Linuxで全ユーザのコマンド統計を取得

"3日続いたら褒めて"シリーズに便乗して、僕も頑張ってブログを更新したいと思う。まずはライトなネタから。 タイトル通りですが、皆がオペレーションするようなサーバで他のユーザが主にどんなコマンドを使っているかをチェックするワンライナー。 # cut -d…

bashのTAB補完(パス名補完)で.svnを無視したい場合

ソースコード等をSubversionとかでバージョン管理している場合、チェックアウトしたディレクトリに。.svnとかが含まれていて、ターミナルなんかでbashのTAB補完するとき邪魔だなって思うことがありますよね。 単一のディレクトリしかない場合、TABを連打して…

LinuxでディスクのRAIDメタデータを削除する

# 何かあった時のために、某若手に送るログ。というかメモ。ディスクは一度RAIDを組むと(ソフトウェア/ハードウェアRAID問わず)、ディスクにRAIDのメタデータ(スーパーブロック)を持ちます。RAIDカードでハードウェアRAIDを組んだ後に、ディスクを初期化(Ini…

crontabでの「%」の扱い

昔、遭遇した気もするが、また忘れていたのでメモ。多分、常識の範疇w crontabにこんな感じで設定を仕込もうとしたんですね。 */5 * * * * /usr/bin/iotop -b -k -t -n 2 -o >> /var/log/iotop/"`hostname`_`date '+%F_%H'`" すると、「メールが /var/spool…

噂の高速SSDを積んだAmazon EC2インスタンスのI/Oベンチマークをとってみた

先日、Amazon EC2で使える、2TB分のSSDを積んだ新しいインスタンスタイプ(High I/O Instances / High I/O Quadruple Extra Large Instance)が発表されました。 ディスクI/O性能が高速なインスタンスは初登場なので、I/Oがシビアに要求されるデータベース等の…

crontabの"-i"オプションで"-r"のうっかりミスを防止する

今、お風呂からあがって、TwitterのTLを見てたら「crontab -e は「絶対に」使ってはいけない - ろば電子が詰まつてゐる」のエントリを読んで、その勢いで書く。 crontabコマンドにはrオプション(Remove)があり、これを実行すると何の警告もなく全てが消え失…

xfsが壊れたので修復...

久しぶりにxfsを壊した。DRBDを入れている環境で、ちょっと無茶な検証テストをしたら、HeartbeatでPrimaryに昇格(切り替わり)できなくなって、ちょっと調べてみたらマウントできなくなっていた。久しぶりにやったのでメモ。 # mount /dev/drbd0 /data mount:…

複数のbondingインターフェースごとにmode等の設定を分けたいとき

若者が苦しんでいたので、ちょっと調べてみた。/etc/modprobe.conf (CentOS 5系) もしくは /etc/modprobe.d/bonding.conf (CentOS 6系) に、 alias bond0 bonding alias bond1 bondingこんな感じのみの記載で、↑のファイルにOptionsは書かない。 各々のイン…

Linuxのメモリ上のキャッシュを解放する

いつも思いだすのに時間がかかるというか、ググるのでメモ。 例えば、ベンチマークとかをとっていて、残ったキャッシュを奇麗さっぱりに消したい時とかに使う。Linuxのメモリで保持しているキャッシュをクリアするには、以下を実行する。 # sync # echo 3 > …

Linuxのbonding(802.3ad)で発生したトラフィックの偏りをなおした話

はじめに とある環境の話。internalのLinuxサーバでbonding(ボンディング)を組んでいました。modeは4。802.3ad(LACP)準拠のリンクアグリケーションなモードです。 ちなみに、bondingとは・・・ ちなみに、"bonding"とは、ネットワークインターフェースを冗長…

大量の接続がやってきた!ヤァ!ヤァ!ヤァ!

※ 以下、フィクションです。 はじめに: こんなサーバ(↓dstat) (裏バッチによりiowaitとLAが高いのは一時的な仕様とする) 気付けばログに・・・ Mar 29 18:08:02 hostname kernel: printk: 48843 messages suppressed. Mar 29 18:08:02 hostname kernel: TCP…

特定のユーザが持つプロセス全てにシグナルを送る

さっき、killコマンドのmanを読んでいて気付いた。 pid に -1 を指定した場合、 sig で指定したシグナルが、呼び出し元のプロセスがシグナルを送る許可を持つ全てのプロセスに送られる。但し、プロセス番号 1 (init) へはシグナルは送られない。 Man page of…

複数のtarファイルを一気に展開する

特定のディレクトリ内に存在する複数のtar.gzファイルを一括して解凍・展開したい場合のメモ。 xargsコマンドの"-n"オプションがポイント。(追記あり) $ find ./ -type f -name "*.tar.gz" | xargs -n 1 tar zxftarコマンドは展開(抽出)の際に、同時に複数の…

あるディレクトリ以下の全てのbinディレクトリにPATHを通したい時

Linuxの開発/検証環境とかで色々とプロダクトをインストールした時って、毎度環境変数のPATHを設定するの面倒くさいですよね。そんな時は、片っ端からbinとかsbinディレクトリにパスを通しちゃいます(^^;) $ export PATH=$PATH:`find /usr/local -type d -na…

Linuxでのリモート越しの差分チェック(diff)色々

今さっき、サクッと書き殴ったワンライナーなので突っ込みどころはあると思いますが、汚いのを承知の上で備忘録的に公開してみようと思う。ポータビリティ重視。※ ちなみにノンパス設定している環境です(^^;)。必要に応じて各種パラメータを書き換えて実行し…