Linux

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)色々

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

ping: icmp open socket: Operation not permitted

今日「某所のサーバがおかしいから見てほしい」とお願いされて、そのサーバにSSHでログインし、pingを実行しようとしたら、なんとpingがうてない。 $ ping 172.xx.xx.xxx ping: icmp open socket: Operation not permitted ほほう。困った。・・・が、rootユ…

grepで指定オプションを自動付加してくれる環境変数 "GREP_OPTIONS"

"GREP_OPTIONS"という環境変数に、常に付けておきたいオプションをあらかじめ指定しておくと、grepコマンドやxgrep(egrepとかfgrepとか...)を実行したときに、自動でオプションをつけて実行してくれます。 例えば、、、 $ export GREP_OPTIONS="--color=auto…

指定したバックグラウンドプロセスをデーモン化する

昔、「ログアウト後もコマンドを実行し続けたい場合」というエントリで"nohup"コマンドの使い方を書いたのですが、nohupし忘れた時はどうすればいいのか、という話。 指定したバックグラウンドプロセスをデーモン化するためにdisownというbashの組み込みコマ…

Ubuntu(Debian)でのamd64(x86_64)

Ubuntu Serverで、諸事情でdpkgコマンドでパッケージ(debファイル)をインストールしようとして、debファイルを探していると、アーキテクチャがi386用とamd64用しかなくて、あれ、Intel系の64ビットOS使っているんだけど、どうしたものかと思ったのでメモ。 …

新人のLinuxサーバ管理者におススメしたい1冊の書籍

ここ1〜2ヶ月くらい、色々な方に「最近入った新卒に読んでもらいたいLinuxの入門書とかってないですか?」と聞かれることがすごく多かったので、ここで紹介してみたいと思います。ここで対象にしているのは、会社の新人研修なんかで1〜2日くらいは軽くLinux…

HTTPで疎通やレイテンシを確認する「httping」

少し前に、某所のサーバ(自分たちで管理)で、通常時は問題ないのだけど、時々HTTPレスポンスで数秒かかる現象が見受けられたので、再現させるときに目視確認でひたすらHTTPリクエストが送れてレイテンシが確認できる「httping」を利用しました。httpingは、…

Linuxのサーバをリモートから強制的にOSリブートする

先日、諸々の都合で遠隔にあるテスト環境のサーバ(Linux)のカーネルパラメータを弄っていたのですが、ちょっと設定(メモリまわり)がイキすぎてしまいw、コマンド実行というかforkできなくなってしまった(Cannot allocate memory...)。んで、shutdownコマン…