タグ

ブックマーク / www.na3.jp (109)

  • 最新のSSD5機種とRAIDカードのパフォーマンス検証 - 元RX-7乗りの適当な日々

    少し時間が経ってしまったのですが、今年の夏頃に書いた検証レポートを公開します。 最新の機種と書きつつ、昨年のモデルのSSDが1つ混じっていたりなど、突っ込みどころはあるのですが、何かの参考になれば幸いです。 はじめに 昨今、記憶媒体装置の1つであるSSD(Solid State Drive)は、コンシューマー/エンタープライズを問わず、かなり普及してきている。 価格対容量のコストパフォーマンスや容量そのものに関しては、ハードディスクにかなわないものの、SSDの高いI/O性能(特にランダムアクセス)は非常に魅力的であることと、特に、低容量のもの(120GB以下等)であれば1万円以下で購入できる時代となってきており、コスト面に関しても手を出しやすくなってきている。 ところで、弊社のサービスで利用されているディスクの多くは、SATA/SASのハードディスクを利用しているケースが多い。 中には、F

    最新のSSD5機種とRAIDカードのパフォーマンス検証 - 元RX-7乗りの適当な日々
  • LinuxでディスクのRAIDメタデータを削除する - 元RX-7乗りの適当な日々

    # 何かあった時のために、某若手に送るログ。というかメモ。 ディスクは一度RAIDを組むと(ソフトウェア/ハードウェアRAID問わず)、ディスクにRAIDのメタデータ(スーパーブロック)を持ちます。 RAIDカードでハードウェアRAIDを組んだ後に、ディスクを初期化(Initialize)して使いたい場合、RAIDカードのBIOSで出来ればいいのですが、RAIDカードが無かったり上手く適合しなかった場合にどうするか、という話。 Google先生に聞くと、Linuxではdmraidコマンドやmdadmコマンドを使うと良いと教えてもらえます。 # dmraid -r /dev/sdf /dev/sdf: ddf1, ".ddf1_disks", GROUP, ok, 1952448512 sectors, data@ 0まずはチェック。(ディスクのデバイス名は事前に確認しておきましょう。) #

    LinuxでディスクのRAIDメタデータを削除する - 元RX-7乗りの適当な日々
  • xfsが壊れたので修復... - 元RX-7乗りの適当な日々

    久しぶりにxfsを壊した。 DRBDを入れている環境で、ちょっと無茶な検証テストをしたら、HeartbeatでPrimaryに昇格(切り替わり)できなくなって、ちょっと調べてみたらマウントできなくなっていた。久しぶりにやったのでメモ。 # mount /dev/drbd0 /data mount: 構造体を内容消去する必要がありますこんな感じで。壊れた・・・。 mount: Structure needs cleaning英語だと、こんな感じのメッセージじゃろ。 # xfs_check /dev/drbd0 ERROR: The filesystem has valuable metadata changes in a log which needs to be replayed. Mount the filesystem to replay the log, and unmount it

    xfsが壊れたので修復... - 元RX-7乗りの適当な日々
  • crontabの"-i"オプションで"-r"のうっかりミスを防止する - 元RX-7乗りの適当な日々

    今、お風呂からあがって、TwitterのTLを見てたら「crontab -e は「絶対に」使ってはいけない - ろば電子が詰まつてゐる」のエントリを読んで、その勢いで書く。 crontabコマンドにはrオプション(Remove)があり、これを実行すると何の警告もなく全てが消え失せる。 crontab -e は「絶対に」使ってはいけない - ろば電子が詰まつてゐる 確かに、(僕も含めて) 誰もが一度くらいは怖い/ドキドキするような思いをするのかもしれないですが、crontabコマンドには"-i"オプションという、削除時に確認のプロンプトを出してくれるオプションが存在します。 つまり、aliasでこのオプションをつけておけば良いわけですな。 $ crontab -e crontab: installing new crontab $ crontab -r $ crontab -l no cro

    crontabの"-i"オプションで"-r"のうっかりミスを防止する - 元RX-7乗りの適当な日々
  • crontabでの「%」の扱い - 元RX-7乗りの適当な日々

    昔、遭遇した気もするが、また忘れていたのでメモ。多分、常識の範疇w crontabにこんな感じで設定を仕込もうとしたんですね。 */5 * * * * /usr/bin/iotop -b -k -t -n 2 -o >> /var/log/iotop/"`hostname`_`date '+%F_%H'`" すると、「メールが /var/spool/mail/root にあります」とメールが届きまして、、、 /bin/sh: -c: line 0: unexpected EOF while looking for matching ``' /bin/sh: -c: line 1: syntax error: unexpected end of fileこんな感じで怒られたわけです。 あんれー?と思って、"/var/log/cron"を確認すると、 CROND[17743]: (root)

    crontabでの「%」の扱い - 元RX-7乗りの適当な日々
  • 噂の高速SSDを積んだAmazon EC2インスタンスのI/Oベンチマークをとってみた - 元RX-7乗りの適当な日々

    先日、Amazon EC2で使える、2TB分のSSDを積んだ新しいインスタンスタイプ(High I/O Instances / High I/O Quadruple Extra Large Instance)が発表されました。 ディスクI/O性能が高速なインスタンスは初登場なので、I/Oがシビアに要求されるデータベース等の利用においては、期待を寄せちゃいますよねー。 http://aws.typepad.com/aws_japan/2012/07/aws%E7%99%BA%E8%A1%A8-new-high-io-ec2-instance-type-hi14xlarge-2-tb-of-ssd-backed-storage.html というわけで、このSSDのディスクI/Oパフォーマンスがどのくらい速いのかを試してみちゃいました。厳密なベンチマークではないですが、参考になれば幸いです。 ・

    噂の高速SSDを積んだAmazon EC2インスタンスのI/Oベンチマークをとってみた - 元RX-7乗りの適当な日々
  • Linuxでファイルやディスクの中身を完全に消去する - 元RX-7乗りの適当な日々

    大事なファイルを削除したいときやディスクを廃棄・譲渡する時などは、データを完全に消去したいものです。 正直、プロではないので、データ復旧の詳細は詳しくありませんが、rmコマンドでデータを消去してもddコマンド等でデバイスを吸い出して、細かく解析していけば(あまり断片化されていなければ)データは復旧できるかもしれません。 そんなときは、"shred"コマンドが使えるようです。 "shred"を使うと、データの内容を特別なパターンで繰り返し上書きを行い、論理的に破壊することが可能です。 "shred"はGNUのcoreutilsに含まれているコマンドで、おそらくLinuxであれば何もインストールせずとも使えるコマンドかと思います。 尚、"shred"を利用してのディスク廃棄などは、自己責任でお願いします。 さて、"shred"の使い方は、、、 $ shred -u hoge.txtな感じで、-

    Linuxでファイルやディスクの中身を完全に消去する - 元RX-7乗りの適当な日々
  • Linuxのメモリ上のキャッシュを解放する - 元RX-7乗りの適当な日々

    いつも思いだすのに時間がかかるというか、ググるのでメモ。 例えば、ベンチマークとかをとっていて、残ったキャッシュを奇麗さっぱりに消したい時とかに使う。 Linuxのメモリで保持しているキャッシュをクリアするには、以下を実行する。 # sync # echo 3 > /proc/sys/vm/drop_caches 値の意味としては、、、 1: ページキャッシュを解放 2: dentry、inode を解放 3: ページキャッシュ、dentry、inode を解放 以下を参考に。 /proc/sys/vm/drop_caches (Linux 2.6.16 以降) このファイルに書き込みを行うことで、クリーンなキャッシュ、dentry、 inode をメモリ上から外し、そのメモリを解放する。 ページキャッシュを解放するには、 echo 1 > /proc/sys/vm/drop_caches

    Linuxのメモリ上のキャッシュを解放する - 元RX-7乗りの適当な日々
  • 「DevOps Days Tokyo 2012」でChefの話をしてきたので資料を公開します - 元RX-7乗りの適当な日々

    5/26(Sat.)に「DevOps Days Tokyo 2012」が日で開催され、その中でご縁を頂きまして日語枠でお時間をもらい、Chefを使った取り組みについて話をさせていただきました。 DevOps Days Tokyo 2012 - welcome このイベントでは、「DevOps Cafe」といった今世界で一番DevOpsの最先端情報が発信されていると言われるPodcastを配信している enStratus の John Willis 氏や、 DTO Solutions の Damon Edward 氏、Chefの開発元である Opscode の George Moberly 氏などといったビッグゲストの話を日国内で聞けるといったDevOpsの祭典ともいえるイベントだったと思います。 その中で僕の話はと言うと、所属している会社で取り組んでいるアメーバピグの運用の話や、その

    「DevOps Days Tokyo 2012」でChefの話をしてきたので資料を公開します - 元RX-7乗りの適当な日々
  • 「MySQL Casual Talks vol.3」に参加してきたよ、のメモ - 元RX-7乗りの適当な日々

    4/19に、"カジュアル"ではなく"ガチュアル"と定評のある「MySQL Casual Talks」の第3回目に参加してきました。 尚、このイベントの過去の参加記録は以下。 「MySQL Casual Talks vol.1」に参加してきたよ、のメモ 「MySQL Casual Talks vol.2」に参加してきたよ、のメモ 今回は、すごくたくさん人がいたので、誰かがブログでまとめてくれるっしょー、とか思っていたのですが、ひょっとしたら誰もまとめていないんじゃないか疑惑、かもしれなかったので、重い腰をあげてエントリを書いてみることにしました。 駄菓子菓子! 当日は皆さんスピード感あふれる発表が多かったのと、僕はTwitterに書いていたりしたので、手元のメモがあまりないんですよね...(*´σー`)エヘヘ ということで、公開されている資料を集めて貼り付けた方がメモよりわかりやすいんじゃな

  • Linuxのbonding(802.3ad)で発生したトラフィックの偏りをなおした話 - 元RX-7乗りの適当な日々

    はじめに とある環境の話。internalのLinuxサーバでbonding(ボンディング)を組んでいました。modeは4。802.3ad(LACP)準拠のリンクアグリケーションなモードです。 ちなみに、bondingとは・・・ ちなみに、"bonding"とは、ネットワークインターフェースを冗長化(または負荷分散)する方法で、複数のNICを束ねて1に見せることができます。チーミング(teaming)と呼ばれたりもしますね。 で、Linuxではbondingにもいくつかモードがあって、複数のポリシーの中から選択することができます。 balance-rr 又は 0 - 耐障害性とロードバランシングのためラウンドロビンポリシーを設定します。利用可能な第 1 のインターフェースからそれぞれのボンディングされたスレーブインターフェースで送受信が順次行われます。 active-backup 又は

    Linuxのbonding(802.3ad)で発生したトラフィックの偏りをなおした話 - 元RX-7乗りの適当な日々
  • DNSラウンドロビンを使った時にアクセス・負荷が偏る話 - 元RX-7乗りの適当な日々

    昨日に続き、アクセスが偏る系のエントリです。 なにかと議論のネタになるDNSラウンドロビンですが、今日はDNSラウンドロビンを使った時に、各IPアドレスにくるリクエスト数に偏りが出るという話。 DNSラウンドロビンで設定されているFQDNに、コマンドラインで"host"とか"nslookup"のコマンドを何度か実行すると、返ってくるIPアドレスリストの順序が入れ替わっていくことが確認できると思います。 基的に、クライアントはそのIPアドレスリストの上(最初)からアクセスを行うため、これによって(一応)負荷分散が実現できるはずですが、特定環境のクライアントでは、ラウンドロビンとはならずに必ず特定のIPアドレスにアクセスするケースがあるのです。(既知の事実ですが。) この事は、Wikipediaの該当ページにも記載されています。 主にIPv6における宛先アドレス選択アルゴリズムとして定義され

    DNSラウンドロビンを使った時にアクセス・負荷が偏る話 - 元RX-7乗りの適当な日々
  • 大量の接続がやってきた!ヤァ!ヤァ!ヤァ! - 元RX-7乗りの適当な日々

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

    大量の接続がやってきた!ヤァ!ヤァ!ヤァ! - 元RX-7乗りの適当な日々
  • デブサミ2012の資料「大規模化するピグライフを支えるインフラ 〜MongoDBとChefについて〜」を公開します - 元RX-7乗りの適当な日々

    今年で10周年を迎えた「Developers Summit 2012」 まずは10周年おめでとうございます。そして"いつも"ありがとうございます。 そんな記念すべき(通称)デブサミで機会をいただいて話をしてきましたので、資料を公開します。私としては、2010年以来の2回目の登壇となりました。 ※ 参考: デブサミ2012で、MongoDBとかChefを実サービスで使っている話をします オープン3週間でユーザ数100万人を突破したピグライフは、これまでのアメーバのサービスの中でも類を見ないスピードで成長しています。そのため、このピグライフを構成するアーキテクチャや開発/運用についても、よりスケーラビリティが確保できるインフラが求められます。セッションでは、それらを支える取り組みについて、実際の事例をベースにお話しします。 10年後も世界で通じるエンジニアであるために Developers

    デブサミ2012の資料「大規模化するピグライフを支えるインフラ 〜MongoDBとChefについて〜」を公開します - 元RX-7乗りの適当な日々
  • Linuxでのリモート越しの差分チェック(diff)色々 - 元RX-7乗りの適当な日々

    今さっき、サクッと書き殴ったワンライナーなので突っ込みどころはあると思いますが、汚いのを承知の上で備忘録的に公開してみようと思う。ポータビリティ重視。 ※ ちなみにノンパス設定している環境です(^^;)。必要に応じて各種パラメータを書き換えて実行してください。 ローカルの1ファイルと、リモートサーバにある1ファイルの差分チェック $ ssh 192.168.1.1 "cat /usr/local/apache2/conf/extra/httpd-mpm.conf" | diff - ./httpd-mpm.confこれは基。ユーザ名を付ける時は、"username@192.168.0.1"とか指定してください。(><) ローカルの1ファイルと、複数のリモートサーバそれぞれにある1ファイルの差分をチェック $ for i in `seq 1 10`; do IP=192.168.1.${i

    Linuxでのリモート越しの差分チェック(diff)色々 - 元RX-7乗りの適当な日々
  • 「Web開発者のための大規模サービス技術入門」を読んだ - 元RX-7乗りの適当な日々

    はてなさんの技術知識/ノウハウが詰まった大規模Webサービスを支えるための技術書。著者/編集者様より献いただきました。id:naoyaさん、id:stanakaさん、そして技術評論社さん、ありがとうございます! [Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ) 作者: 伊藤直也,田中慎司出版社/メーカー: 技術評論社発売日: 2010/07/07メディア: 単行(ソフトカバー)購入: 80人 クリック: 1,849回この商品を含むブログ (133件) を見る このブログでもお世話になっている、はてなさんのWebサービスは今や月間ユニークユーザ数は1500万人超とのこと。大きなトラフィックを支える多くの技術要素は一日一晩で身につくものではありません。この書籍では、はてなのサービスを題材として

    「Web開発者のための大規模サービス技術入門」を読んだ - 元RX-7乗りの適当な日々
  • 指定したバックグラウンドプロセスをデーモン化する - 元RX-7乗りの適当な日々

    昔、「ログアウト後もコマンドを実行し続けたい場合」というエントリで"nohup"コマンドの使い方を書いたのですが、nohupし忘れた時はどうすればいいのか、という話。 指定したバックグラウンドプロセスをデーモン化するためにdisownというbashの組み込みコマンドがあります。 #!/bin/sh while :; do sleep 5 done ためしに上記のようなスクリプトを用意して、"&"付で実行します。 $ sh test.sh & [1] 2692 $ jobs [1]+ 実行中 sh test.sh &次に、disownコマンドを実行します。引数には"%"+ジョブ番号を指定します。(上記例だとジョブ番号は"1") $ disown %1 $ jobs $ この通り。psコマンドの結果は↓ $ ps -edf ・・・省略・・・ nami 2692 1708 0 02:25 pts

    指定したバックグラウンドプロセスをデーモン化する - 元RX-7乗りの適当な日々
  • 社内で発表したChefの紹介LTの資料を公開しました - 元RX-7乗りの適当な日々

    私の勤めている会社では半期に一回、研究課題レポートの制度があるのですが、そこで審査の過程を経て、受賞するとインセンティブが出ます。で、見事Chefをネタに受賞できたわけなんですが、その代わり、受賞すると皆の前で発表しなくてはいけないという決まりがありまして。。。 # 何気に前回も受賞・発表したんですけどね。 で、その様子は会社のエンジニアブログで紹介されているのですが、そこで公開するために発表資料をSlideShareにアップしたところ、想像以上にブクマがついていたので、ここでも紹介しておきます。うひ。 サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT) from Yuuki Namikawa この資料、あくまでLT用なので内容は薄いです(汗) そして、版権的に問題がありそうなネタ画像を仕込んでいたのですが、それも外して公開しているので、当に普通で申し訳

    社内で発表したChefの紹介LTの資料を公開しました - 元RX-7乗りの適当な日々
  • HTTPで疎通やレイテンシを確認する「httping」 - 元RX-7乗りの適当な日々

    少し前に、某所のサーバ(自分たちで管理)で、通常時は問題ないのだけど、時々HTTPレスポンスで数秒かかる現象が見受けられたので、再現させるときに目視確認でひたすらHTTPリクエストが送れてレイテンシが確認できる「httping」を利用しました。 httpingは、所謂"ping"のHTTP版。HTTPリクエストでポーリングしてくれるコマンドです。ICMPは受け付けないけどHTTPはOK、そんなサーバにも監視などで使えます。 インストール Ubuntuでは、aptでインストールできました。簡単。 $ sudo apt-get install httpingこれだけです。 簡単な使い方 $ httping (URLまたはIPアドレス)で、実行可能です。以下、実行例。 $ httping http://xxx.xxx.xxx.xxx/ PING xxx.xxx.xxx.xxx:80 (http:

    HTTPで疎通やレイテンシを確認する「httping」 - 元RX-7乗りの適当な日々
  • 「MySQL Casual Talks vol.2」に参加してきたよ、のメモ - 元RX-7乗りの適当な日々

    第1回に引き続き、"あまりカジュアルではない?"が定説となりつつあるw「MySQL Casual Talks」の第2回が開催されたので、行ってきました。前回に引き続き面白かったので、自分のメモ書きを貼り付けておきます。 (全然追いついてないメモも多いし、スピード感たっぷりだったので間違った記載もあるかもですが、そこはご了承を...) # 例によって、発表資料が出揃ったらそちらを見ていただいた方が良いです。 ちなみに、第1回のメモエントリは、、 「MySQL Casual Talks vol.1」に参加してきたよ、のメモ - 元RX-7乗りの適当な日々 追記 このエントリでもまとめ的に、公開された資料も紹介させていただいておりますw MySQLでNoSQL (@oinume) View more presentations from Kazuhiro Oinuma 生沼さん、実はMySQL