タグ

linuxに関するs1gのブックマーク (16)

  • NetworkManager+dnsmasqで名前解決の耐障害性を向上 | 外道父の匠

    クラウド・インスタンスにおけるDNSサーバーの指定は、DHCPサーバーから情報を取得して利用するようになっています。具体的には dhclient が resolv.conf を上書きする感じですが、最近は NetworkManager さんがこの辺の面倒を見てくれるので、まともな構成 ってやつを考えてみました。 ドンピシャで正着に至ったというわけではないですが、ひとつの有効な手段として扱うことはできそうです。 目次 概要 NetworkManagerがない場合 NetworkManagerのデフォルトの挙動 dnsmasqを利用する 任意のDNSサーバーを追加する 起動時の設定として組み込む dnsmasqのForward方式 DNSキャッシュ 耐障害性 理想の挙動 概要 NetworkManager は必ずしも必要なわけではないですが、CentOS7 など新し目のディストリビューションで

    NetworkManager+dnsmasqで名前解決の耐障害性を向上 | 外道父の匠
    s1g
    s1g 2016/02/12
  • 使いやすいシェルスクリプトを書く

    できればシェルスクリプトなんて書きたくないんだけど,まだまだ書く機会は多い.シェル芸やワンライナーのような凝ったことではなく,他のひとが使いやすいシェルスクリプトを書くために自分が実践していることをまとめておく. ヘルプメッセージ 書いてるシェルスクリプトが使い捨てではなく何度も使うものである場合は,体を書き始める前に,そのスクリプトの使い方を表示するusage関数を書いてしまう. これを書いておくと,後々チームへ共有がしやすくなる.とりあえずusage見てくださいと言える.また,あらかじめ書くことで,単なるシェルスクリプトであっても自分の中で動作を整理してから書き始めることができる.関数として書くのは,usageを表示してあげるとよい場面がいくつかあり,使い回すことができるため. 以下のように書く. function usage { cat <<EOF $(basename ${0})

  • Linuxカーネルチューニングのメモ - 電子書籍と趣味の部屋

    Post navigation ← Previous Home > Web関連 > 開発 > Linux > Linuxカーネルチューニングのメモ Linuxカーネルチューニングのメモ サーバー向けにLinuxカーネルのチューニングを行った際のメモです。 設定内容 今回行った /etc/sysctl.conf の設定内容は書きの通りです。 各パラメータの説明はコメントとして残しておきます。 # 共有メモリの最大サイズ。サーバーの搭載メモリ(1GB)に合わせて変更 kernel.shmmax = 1073741824 # システム全体の共有メモリ・ページの最大数 kernel.shmall = 262144 # システム全体のプロセス数の上限 kernel.threads-max = 1060863 # システム全体のファイルディスクリプタの上限 fs.file-max = 5242880

  • cgroupで、お手軽CPU使用率制限 - 海馬のかわり

    先日無償公開されたSoftetherをAmazon EC2のmicroインスタンスへ入れてみた。 しかしCPU性能がしょぼいのか、暗号化処理に結構負荷がかかるのか、CPUを使い果たしてしまう事態に。 さらには仮想環境ということでstealが多発し、輪をかけて使い物にならない。 ※これはEC2/microインスタンスの特性らしい。 http://qiita.com/items/8248ec4654cb809504c9 http://memo-off.blogspot.jp/2011/08/ec2-t1microcpu-steal.html そこで今回はcroup/cgroupsを用いて当該プロセスのCPU使用率を制限、さらにはstealも発生しないようにする。 ※croupは、Redhat系ならRHEL6/CentOS6から利用可能。 まずは、何もしない時のSoftetherプロセス(vpn

    cgroupで、お手軽CPU使用率制限 - 海馬のかわり
  • Amazon EC2(Linux)システム管理で知らないとハマる5つの環境設定 | DevelopersIO

    ども、大瀧です。みなさん、EC2をバリバリ使ってますか?使いたいときにすぐ使える仮想マシンとして、開発・検証から番まで幅広く活用されていると思います。 日頃EC2を業務で運用する中で、EC2インスタンスをコピーすると意図しない環境設定に変わってしまうというトラブルが度々あり、cloud-initというツールに拠ることがわかってきました。 「EC2インスタンスのコピーなんて、一旦インスタンスを作成したあとはあまりやらないのでは?」と思われがちですが、EC2独特の制限などもあり、実際の運用では思ったよりも頻繁にインスタンスのコピーが必要になります。インスタンスのバックアップ&リストアなどはイメージしやすいと思いますが、それ以外にも意外なケースとして以下があります *1。インスタンスのコピーは、AMI(Amazon Machine Image:インスタンスのバックアップ)を取得し、新規インスタ

    Amazon EC2(Linux)システム管理で知らないとハマる5つの環境設定 | DevelopersIO
    s1g
    s1g 2014/02/07
  • コンソールから切れたプロセスを標準出力につなげなおす - 絶品ゆどうふのタレ

    不慣れな環境を不意にいじった時にあるあるネタ。 とりあえずー とか言って勢いで書いたsetupスクリプトを実行してみたら意外と時間かかって、 ちょっと目を離した隙にsshの接続が切れちゃいました! 。。。ありますよね。ほんとよくありますよね。 そうなる予感はあったんだ なんて後の祭りです。ふとした油断から、screenもnohupすらも使わずにやってしまって、こんなことに。 shellがHUPしなかったからプロセスは生きてるものの、ログが見れないから進行状況がわからない。 うまく行ってるのかどうかモヤモヤした気持ちのまま、プロセスが終わるのをじっと待つ。。。 まぁ実に切ないです。 こんな時、いつも思うこと。 このプロセスの出力、もっかいstdoutに繋げられたらいいのに。。。 はい。というわけでつなげましょう。 長い前座ですみません。 切り離したプロセスを用意 #!/bin/bash wh

    コンソールから切れたプロセスを標準出力につなげなおす - 絶品ゆどうふのタレ
    s1g
    s1g 2014/02/06
  • サーバ管理に役立つVim技10選

    記事は Vim Advent Calendar 2013 の18日目です。17日目は cocopon さんの オシャレ派Vimmerのあなたへ。こだわりのカラースキームギャラリーを贈ります。 | ここぽんのーと でした。 ここではサーバ管理作業などで知っていると捗るだろうなと思っている Vim の使い方を 10 個ほど紹介したいと思います。 1. EDITOR 環境変数 まずはじめは EDITOR 環境変数。いきなり vim の使い方ではありませんが、自分が普段使うエディタをシステムに宣言しておくことは非常に重要です(かなり)。 UNIX 系 OS ではファイルを編集する際に使用するプログラムとしてこの値を参照するアプリケーションがいくつかあります。 例えばバージョン管理システム。CVS や Subversion、Bazaar、Mercurial、Git など多くの VCS ではコミット

    s1g
    s1g 2014/02/02
  • dockerについて社内勉強会で話しました - 圧倒亭グランパのブログ

    こんにちは!@at_grandpa です。 社内勉強会でdockerについて話す機会がありました。 以下に、勉強会で使用したスライドを載せます。 「dockerって聞いたことあるけどなんなんだ?」という人向けに作りました。 (自分もその立ち位置だったので) はじめてのdocker from at_grandpa 内容としては以下になります。 現在のサーバー運用が抱える問題 ( p.9 ) dockerを支える技術 ( p.56 ) AUFS LXC 実際にdockerを使う流れ ( p.85 ) pingとvimをインストールしてみる dockerのその他の機能 ( p.113 ) AUFSやLXCについては、以下のサイトが個人的にわかりやすかったです。 Dockerが利用しているAUFSとLXC スライド内で使用したURLはこちらです。 Docker: Linuxコンテナを使ってアプリ

    dockerについて社内勉強会で話しました - 圧倒亭グランパのブログ
  • [Linux]Swap領域をクリアする方法 · DQNEO日記

    開発に使ってるLinuxサーバで、Swap領域が大量に使用されて動作が重くなっていたのでSwap領域を解放するためにやったことのまとめ。 単純にサーバ再起動してもよいのだけど、それだと作業中のEmacsが落ちてしまうので開発効率がおちる。 サーバ再起動させずにSwapを空にする方法はないかと試行錯誤してみたら、うまくいきました。 メモリに空き容量がある場合 Swap usedの容量よりも実メモリの空き容量の方が大きい場合、単純にスワップをoffにしてonにすれば解決します。 swapoff -a && swapon -a (swapoffコマンドが見つからない場合は /sbin/swapoff などをあたってみてください。) メモリに空き容量がない場合 「スワップをoffにする」とは、ディスクに退避されてるデータをメモリに移動させることです。 なのでメモリの空き容量が足りない場合はswap

    [Linux]Swap領域をクリアする方法 · DQNEO日記
    s1g
    s1g 2014/01/19
  • どうしてメモリはスワップするのか!?

    こんにちは。斎藤です。 最近、新しいスキー板が欲しいなと思っています。現在使っているOGASAKAの板は5年目に入り、メーカーからこれ以上はチューンナップ(メンテナンス)はできないよ、と言われてしまいました。もし、次に買うなら、スノーボーダーの人と一緒にパウダーに飛び込みやすいセミファットタイプが良いのかなと考えています。皆さんのオススメ、ぜひ教えてください。 さて、今日はLinux Kernel上でのメモリ管理、特にページ回収(Page Reclaim)とスワップに絞り、「スワップの理由」「ページを回収する仕組み」そして「スワップの様子を観察する」の3点に分けてお話しします。「スワップするのが気持ち悪い」と考えている方は少なくないと思いますし、私もそう考えていた時期がありました。しかし、それは当に悪い事なのか、今回掘り下げて行きます。 ※主な対象Kernelは2.6.32(Red Ha

    どうしてメモリはスワップするのか!?
  • 一時ファイルとdentry cacheとメモリ - blog.nomadscafe.jp

    わりと長い間悩んでいたんだけど、最近解決したのでメモ。 サービスで利用しているsmalllightの画像変換サーバが、Apacheが使っているメモリ以上のメモリを使用し、Swapしたりメモリ枯渇でサーバがダウンするなどのことが何度かありました。 ↑メモリの動きはこんな感じ いろいろ調べた結果「dentry cache」なるものがメモリ多くを占めていることがわかりました。dentry cacheはディレクトリやファイル名とinodeとを結びつけに使われるキャッシュです。smalllightでは画像を変換する際に一時ファイルを作成するので、その情報が残るようです。 手元で再現させる 番で使っているサーバはCentOS5系ですが、手元のVagrant上のCentOS6(ファイルシステムはext4)で、再現させてみました。 use Parallel::Prefork; use File::Tem

  • RHEL カーネルパニックを意図的に発生させる

    障害テストなんかでよく使います。 RHEL系のOSはSysRqが有効化されてカーネルコンパイルされているのでマジックキーを使って簡単にカーネルパニックを発生可能。 # echo 1 > /proc/sys/kernel/sysrq # echo 1 > /proc/sys/kernel/panic # echo "c" > /proc/sysrq-trigger これでpanic rebootする。 書き込む文字を変えるといろいろな現象を意図的に起こせる。 詳細は kernel-doc パッケージに含まれる /usr/share/doc/kernel-doc-2.6.XX/Documentation/sysrq.txt に記載されている。 以下代表的なコマンド。 "c" panicさせる。kdumpの設定確認やどうしようも無くなったときに(テストの場合はsyncしてから "b" 即座にリブ

  • Linux女子部 systemd徹底入門

    Linux女子部 「Fedora最新技術情報&Systemd勉強会」 http://connpass.com/event/3859/ で使用した資料です。 変更履歴 2013/11/04 ver1.0 初版 2013/11/05 ver1.1 誤植修正、少し追記 2013/11/06 ver1.2 daemon-reload,mask,テンプレート機能を追記 2013/11/12 ver1.3 User/Groupオプションの説明追加 2013/11/24 ver1.4 誤植修正 2014/05/05 ver1.5 imjournalモジュールの説明追加Read less

    Linux女子部 systemd徹底入門
  • Linuxでファイルディスクリプタが足りなくなりサービス停止障害 - モーグルとカバとパウダーの日記

    今日、Web/メール等のサービスを稼働させてる自社のLinuxサーバが、突然サービスが停止してしまう障害が発生した。 特にメールでトラブルが広がっており、プロセス見るとdovecot deliverとpop3が多数止まっている状況だった。 ログを見ると、deliverは「still being delivered」というエラー、pop3は「Too many open files in system」等のエラーを吐いていた。 最初はメールだけのトラブルと思い、とりあえずdovecotとpostfixのstopを掛けたのだが、デーモンの親プロセスは死ぬもののdeliverもpop3もSTATが「D」や「Ds」となっていたため「# kill -9」しても死なず。 いくつかログを見たところ、ファイルシステムの障害は考えにくかったため、リブートするしかなかろうということで「# shutdown -r

    Linuxでファイルディスクリプタが足りなくなりサービス停止障害 - モーグルとカバとパウダーの日記
  • 標準教科書シリーズ お問い合わせ窓口

    標準教科書シリーズ お問い合わせ窓口

    標準教科書シリーズ お問い合わせ窓口
  • 2013年の新卒研修と社内ISUCONやりました - (1) 研修編 - KAYAC engineers' blog

    4月になり、新人が入ってくる季節になりました。技術部新卒研修担当の fujiwara です。 これまで弊社技術部では特に技術部としての研修というものを行っていなかったのですが、今年は何かやりたいねということで人事部に7日間確保してもらい、主に acidlemon と2人で新卒8人に研修をすることになりました。 研修の資料などは GitHub でプライベートリポジトリを作って作業しており、それをまとめたものを GitHub上で kayac/newbie-training として公開しています。 どのような内容にするかは事前に昨年度の新卒を含めたエンジニア陣で(社内勉強会でビールを飲みながら)話し合い、 現場で実務に追われてしまうと身につきにくい基礎的な内容 コードを書ける人は多いけどLinuxサーバの操作は不慣れな人が多いので、そのあたりを底上げする内容 をメインに構成してみました。また、7

    2013年の新卒研修と社内ISUCONやりました - (1) 研修編 - KAYAC engineers' blog
  • 1