YAPC::ASIA Hachioji 2016 mid in Shinagawa
![つくって学ぶLinuxコンテナの裏側](https://cdn-ak-scissors.b.st-hatena.com/image/square/9526b040637c2900c9614ab839985c043e82acfb/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F62d5bf77408a4355a86e47eaabc3e4bb%2Fslide_0.jpg%3F6532885)
YAPC::ASIA Hachioji 2016 mid in Shinagawa
Googleが、太古のディストリビューションであるRed Hat 7.1から、10年新しいDebianベースのディストリビューションへ、ライブアップグレードした話を紹介する。 そのあと、自分の身の回りの環境と比較し、参考にすべきポイントを考察する。 原文は USENIX LISA の投稿論文だ。しかし、中身は論文体というよりは、事例の紹介といった適切かもしれない。 MERLIN, M. Live Upgrading Thousands of Servers from an Ancient Red Hat Distribution to 10 Year Newer Debian Based One. In Proceedings of the 27th conference on Large Installation System Administration (LISA) (2013),
Linus Torvalds / 青木靖 訳 2016年2月 (TED2016) クリス・アンダーソン 奇妙な話です。あなたのソフトウェアであるLinuxは何百万というコンピュータの中にあり、インターネットのかなりの部分を動かしています。さらに実際に使われているAndroid端末が15億台くらいあって、その1台1台にもあなたのソフトウェアが入っています。これはすごいことで、その開発本部ともなれば、さぞ大層な施設なんだろうなと思っていたので、この写真を見たときはびっくりしました。これがその — Linux世界本部なんですよね?(笑)(拍手) リーナス・トーバルズ 大したものには見えませんよね。この写真の中で最も興味深く、多くの人が反応する部分は、あのトレッドミル・デスクです。私の仕事場で一番興味深いものですが、私はもう使っていません。この2つは関連していると思います。私の働き方として、外的な
最近、Docker以外のコンテナ型仮想化技術の流れとして、自作コンテナエンジンの時代が来るのではないかと感じている。 自作コンテナエンジンとは、コンテナ型仮想化技術を構成する個々の要素技術を組み合わせ、自分の用途にあわせて最適化したコンテナエンジンのことだ。 他のOSのコンテナ仮想化技術について疎いため、以下ではLinuxに限定して話を進める。 概要 Dockerも含めて、Linuxコンテナはコンテナを構成する複数の要素技術の組み合わせである。自分のやりたいことに対して、Dockerをはじめ既存のコンテナエンジンが複雑すぎるケースがある。そこで、自分の用途にあわせてコンテナエンジンを自作することを考えてみる。libcontainerに代表されるように、Linuxコンテナエンジンを自作しやすい環境が整いつつある。今後は、巨大なコンテナエンジンに対して、UNIX哲学に基づいて制御可能な小さなコ
初めまして、新卒入社の桑折(@2k0ri)と申します。 入社から今日まで約3ヶ月間、研修およびOJTを受けさせて頂いておりました。 その初OJTのステージング環境で、デプロイ先ディレクトリのシンボリックリンクを消すつもりが デプロイディレクトリを中身ごとrm -rfする という重度のやらかしをしでかしました。 30秒うちひしがれた後、ググって extundeleteというコマンドを見つけてからの 自分が行ったリカバリーの手順を残します。 なお、このコマンドはext3/ext4フォーマット専用になります。 1. サーバーへのアクセスを出来る限り抑えるように周知 最近のLinuxのデファクトFSであるext4フォーマットは、rmされたデータの跡地に 待ったなしで容赦なく新しいデータが書き込まれていきます。 そのため、何よりもまず失われたデータが上書きされないように、 該当サーバーでやらかしたこ
[速報]マイクロソフト、BashシェルをWindowsに搭載。Emacs、VT100などサポート。Build 2016 マイクロソフトは開発者向けの年次イベント「Build 2016」を米サンフランシスコで開催しています。初日の基調講演では、Windows 10が登場して1年を記念した大型アップデート「Windows 10 Anniversary Update」を発表。 その中で、UNIXやLinuxで使われているシェルの1つ「Bash」がWindowsに搭載されると発表がありました。 本物のBashがWindowsで走る Kevin Gallo氏。Corporate Vice President, Windows and Devices Group。 Bash on Windowsを発表する。 これは本物のBashだ。仮想マシンでもクロスコンパイルされたツールでもなく、ネイティブのUbu
主にアプリケーション開発者向けに、Linuxサーバ上の問題を調査するために、ウェブオペレーションエンジニアとして日常的にやっていることを紹介します。 とりあえず調べたことを羅列しているのではなく、本当に自分が現場で使っているものだけに情報を絞っています。 普段使っているけれども、アプリケーション開発者向きではないものはあえて省いています。 MySQLやNginxなど、個別のミドルウェアに限定したノウハウについては書いていません。 ログインしたらまず確認すること 他にログインしている人がいるか確認(w) サーバの稼働時間の確認 (uptime) プロセスツリーをみる (ps) NICやIPアドレスの確認 (ip) ファイルシステムの確認(df) 負荷状況確認 top iostat netstat / ss ログ調査 /var/log/messages or /var/log/syslog /
ほとんどのLinuxアプリケーションに使われているGNU Cライブラリの「glibc」に深刻な脆弱性が見つかり、米GoogleとRed Hatの研究者が開発したパッチが2月16日に公開された。 脆弱性は2008年5月にリリースされたglibc 2.9以降のバージョンに存在する。Googleによると、glibcで「getaddrinfo()」ライブラリ機能が使われた際に、スタックベースのバッファオーバーフローの脆弱性が誘発されることが判明。この機能を使っているソフトウェアは、攻撃者が制御するドメイン名やDNSサーバ、あるいは中間者攻撃を通じて脆弱性を悪用される恐れがあるという。 Googleの研究者は、先にこの問題を発見していたRed Hatの研究者と共同で調査を進め、脆弱性を突くコードの開発に成功したとしている。パッチの公開に合わせて、攻撃には利用できないコンセプト実証コードも公開した。こ
Linuxの find コマンドは、ファイルを検索するために利用するコマンドです。 find は、様々な条件でファイルを検索できます。実行ファイルだけを検索したい場合があり、今回は、実行ファイル(xがたってるファイル)を検索する例を紹介します。 読み方 find ふぁいんど ELF いーえるえふ 概要 シェルの上でコマンドがどこにあるのか調べるために、よく使われるのは which/where/whence のビルトインコマンドでしょう。それらのコマンドは、パスが通っていて、 x ビットがたってるファイルを検索してくれます。補足になりますが、 x ビット とは、実行権限 のことで、x ビット のたっているコマンドが実行できます。 以下は、which コマンド で cc コマンドのパスを探す例です。 ここでは、パスが通ってる、通ってないに関わらず、 x ビットがたっているファイルや ELF の
はじめに Amazon EC2でLinuxサーバを新規構築する場合は弊社ではAmazon Linuxをお勧めすることが多いです。その理由としてはAWSのツールが最初から入っていてAmazonのサポートも受けやすいからです。Amazon Linuxを使ったことがない方はどんなディストリビューションなのか特徴を知りたいのではないかと思いますので、CentOSとの違いも含めまとめてみました。以下はAWS公式サイトのページになります。 Amazon Linux AMI Amazon Linuxの特徴 Amazon LinuxはRedHat系のディストリビューションになります。CentOSやRHELを使ったことがある方なら同じように使えるのではないかと思います。CentOSとの比較をしながらAmazon Linuxの特徴を見ていきたいと思います。CentOSはAWS MarketPlaceにあるCe
[速報]マイクロソフトとレッドハットが戦略的提携。両社の統合チームがAzure上のRed Hat社Linuxサポート、.NET Coreに対応など マイクロソフトとレッドハットは、ハイブリッドクラウドの開発運用の支援強化などを軸とした戦略的提携を発表しました。 大きなトピックの1つが、マイクロソフトとレッドハットによるハイブリッド環境に対する統合サポートの提供です。両社のサポートエンジニアがマイクロソフト本社であるレドモンドに集まって統合チームとしてサポートを提供します。 これでMicrosoft Azureは、WindowsとLinuxのどちらを用いたハイブリッドクラウドであっても、顧客に統一的なサポートを提供できる環境を実現したわけです。 また、Linux版の.NETとなる.NET CoreがRed Hat Linux Enterprise、Atomic Host、そしてレッドハットの
タイトルはかなり挑戦的(?)ですがあまり気にしないでください。 ※注意 このエントリで紹介しているオプション、コマンドはCentOSでしか動作確認をしていません。 その他ディストリビューションや、インストール方法によっては挙動が異なる場合があります。 「less」 使ってますか? エンジニアなら普段Linuxに触る機会が多々あるかと思います。 エンジニアのみならずMacだったりUbuntuだったりで私用PCでもターミナルが使えるようになっている方は多いかもしれません。 私は普段の仕事ではサーバの運用管理をしています。 仕事柄触る頻度が高いのはLinuxサーバです。 そして、使うのは大体CLIです。 そもそもLinuxでGUIを触る機会がなかなかありません。 大体リモートからターミナルで接続してCLIでちょいちょいっと処理をする感じですね。 GUIである場合でもLinuxを使っていればターミ
概要 Linuxサーバの反応が遅い場合の調査手順のメモ。 実行する場合は自己責任でお願いします。 原因として考慮すべき事項 サーバが遅い場合には様々な原因がありますが、以下を考慮します。 CPU負荷 メモリ不足 ディスクI/O負荷 ネットワークI/O負荷 まず、どれが原因か調査する必要があります。 top コマンド 最初は「top」コマンドを利用します。 top - xx:xx:xx up 0 min, 1 user, load average: 1.44, 0.51, 0.18 Tasks: 87 total, 1 running, 86 sleeping, 0 stopped, 0 zombie Cpu(s): 0.7%us, 0.3%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 2057692k total, 291
性能測定コマンド sar :システム稼動状況 mpstat:CPU稼働状況 vmstat:仮想メモリ稼働状況 free :メモリ情報 iostat:ハードディスク,CPU使用状況 ps :プロセス情報 top :プロセス情報 目安 CPU CPU使用率:90%以上 CPU待ちプロセス数:2より大きい(1CPUあたり) メモリ メモリ使用量:ページングの発生回数 ディスク ディスク使用率:80%以上 ネットワーク ネットワーク使用率:80%以上 パケット衝突回数:送信パケットの10%以上 sarコマンド # sar [オプション] [-o ファイル名] 取得間隔 取得回数 -u:CPU:CPU使用状況 -q:CPU:プロセスキュー、システム稼動負荷 -r:メモリ:メモリ,スワップ領域使用状況 -R:メモリ:メモリ動作状況 -B:メモリ:ページング統計値 -W:メモリ:スワッピング統計値 -b
こんにちは。 マネーフォワードでアグリゲーション開発を担当しています中川です。 今回のブログは、私が bash スクリプトを書く際に心がけている事のおさらいをします。 知ってて当たり前のことかも知れませんが、意外と理解されていないアレです。 では、私が bash スクリプトを書く際によく使う記述を一つずつ紹介します。 2種類の shebang シェルスクリプトの一行目に必ず記述する #! で始まる行を shebang と言います。 bash スクリプトの shebang は、bash を絶対パスで指定する方法と、env を使って指定する方法の二種類あります。 bash を絶対パスを指定する方法 #!/bin/bash env を使ってを指定する方法 #!/usr/bin/env bash 前者は /bin/bash が使われます。 (/bin/bash が存在しなければスクリプトの起動時に
ログファイルの監視に「tail -f」コマンドを使っている方は多いかもしれません。ファイルの末尾を表示する「tail」コマンドに、ファイル末尾に追加されたデータを追跡表示する「-f」オプションを指定することで、手軽にログの監視ができる便利なコマンドです。 しかし最近、「tail -f」より便利なコマンドとして「less +F」の使用を推奨するブログ記事「Stop using tail -f (mostly)」が公開され話題となりました。 「less」はテキストファイルの内容を表示する、ページャーと呼ばれるソフトウェアですが、これに「+F」オプションを指定することで、「tail -f」より便利なファイル監視コマンドとして使えるらしいのです。具体的に「less +F」が「tail -f」より便利な点として以下の2点が挙げられています。 監視モードと通常モードをlessを起動したまま行き来できる
Home Subscribe Unixデーモンの仕組み 12 March 2015 おはこんばんちは!! 尾藤 a.k.a. BTO です。 みなさん、Unixデーモンよく使ってますよね。 Webエンジニアなら、Webサーバ、メールサーバ、DBサーバ、cronなどがよく使われるのではないでしょうか。 24時間365日黙々と働き続けるUnixデーモン達。 身近な存在だと思いますが、実はどういう仕組みで動いているのかご存じない方も多いのではないでしょうか。 先日、オトバンクでUnixデーモンの仕組みについて勉強会をやったので、その内容をまとめます。 デーモンとは では、デーモンとはいったい何なのでしょうか。 Unixライクシステムにおいて、バックグランドで動作して様々な処理を実行してくれるプロセスがデーモンです。 デーモンには明確な定義はありませんが、だいたい次のような条件を満たすプロセスが
UNIXの基本をなすプロセスやシグナルなどを分かりやすく解説した技術ドキュメント「Process Book」がGitHubにて公開されています。 同ドキュメントは、プロセスの生成、プロセスとファイル入出力、ファイルディスクリプタ、preforkサーバーの作り方、ゾンビプロセスと孤児プロセス、シグナルとkill、プロセスグループとフォアグランドプロセスといった話題を解説するドキュメントで、GitHubのreleasesディレクトリにはPDF、epub形式のファイルも格納されています。 UNIX環境でプログラムを開発する際に役立つだけではなく、普通のユーザーとしてターミナルを使ってコマンド操作を行う際にも役に立ちそうな内容だと思います。
プロセスアカウンティング用に広く利用できる物として "Process Accounting Utility" があります。環境によって、パッケージの名前が、 psacct もしくは acct になっているものです。 $ # インストール (ubuntu) $ apt-get install acct 用意されているコマンド lastcomm: 実行されたコマンドの表示 ac : ユーザの接続時間の表示 sa: 過去に実行されたコマンドの集計/フィルタ ※ 質問の要件を満たすために、一般ユーザーからはこれらのコマンドが実行できないようにしてください。 アカウンティングサービスの実行 $ # サービスの開始 $ /etc/init.d/acct start $ # サービスの停止 $ /etc/init.d/acct stop 実際は、accton コマンドによってプロセス監視が始められます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く