サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
nosa.cocolog-nifty.com
章立ては以下の通りです。 1章 Webサービスでのインフラの役割 2章 Webサービスを支えるインフラ技術の基礎知識 3章 Webサービスのサーバ構成ベストプラクティス 4章 Webサービスを始めるときのインフラ手配の基礎知識 5章 Webサービスの運用(1) システム監視の基本 6章 Webサービスの運用(2) ステータス モニタリング 7章 Webサービスのチューニング(1) ボトルネックの見つけ方 8章 Webサービスのチューニング(2) チューニングレシピ インフラエンジニアという点では同業なのですが、私は自社サービスでのインフラエンジニアなのに対して馬場さんはBtoBを中心としたインフラエンジニアという立場の違いを感じて個人的にとても楽しく読ませていただきました。例えば自社サービスの場合はその時々で自分たちが使いたいものを割と自由に選定して使えるのに対して、BtoBの場合はまずは
サーバNIC(Network Interface Card)の可用性向上や負荷分散にはNIC冗長化が有効です。NIC冗長化については拙著「インフラエンジニアの教科書」にも記しましたが、bonding、チーミング、リンクアグリゲーションなど様々な呼び名があります。今回はLinux上でのNIC冗長化の話しとなりますので、bondingについての話題となります。 【bondingとは】 bondingとは、複数のNICが搭載されているマシンのNICを束ねて1つの仮想的なNICとして扱うことのできる技術です。例えば1GbpsのNICポートが4つ搭載されているサーバとL2スイッチの間を4本のLANケーブルで接続してbonding設定を有効にさせると、冗長化が行われて最低1本が正常であれば1~3本に問題があっても通信が継続できたり、負荷分散が行われて通信帯域幅を4Gbpsに拡張されたりといった使い方が
Linuxの空きメモリ状況はfreeコマンドで確認できるのは有名ですが、出力結果がどのように構成されているのか正確に知らない部分があったので、今回改めて整理してみました。 【freeの出力結果を見てみる】 freeコマンドを実行すると下記のように表示されます。単位はKB(Kilo byte)です。
今回は家庭用外付けストレージケースを選定して悩んだときの話を記してみます。 個人利用の場合は業務利用と違って全て自腹なので、価格的にかなり妥協しないと厳しいです。価格を落とす分ある程度妥協しなければなりませんが、何を妥協するかは大きな選択です。重要なデータを保存するわけなので絶対にデータ消失が発生しないという条件と共に、家庭用途とのことで価格や本体の大きさなんかも気になるところです。 【個人要件】 絶対的な要件としては、現実的な値段の製品のうち、狭い空間にきちんと収まりつつ、絶対にデータが消失しない製品/環境であるということです。それを前提として各ベンダーの製品仕様を元に具体的に要件に落とし込んだのが下記の通りです。 ・絶対条件 値段(5万円以下。できれば3万円以下)、大きさ(w150 x h300 x d250以下)、静音、搭載本数(3.5inch 4本以上搭載可能) ・迷った条件 RA
他のサーバにrsyncしたいときがあります。その場合考えなければならないのが認証です。よく見られるのは送信先のSSH公開鍵を送信元に登録することで認証をスルーする方法です。しかしrsyncの場合、そんなことをせずともパスワードなしでrsyncできるということを最近知りましたので記録を残しておきます。 【送信先での設定】 まずはパスワードなしでrsyncするために、送信先サーバに下記の要領で/etc/rsyncd.confに追記します。rsyncdの再起動は不要です。 [USERDATA] comment=user data path=/home/user read only=false uid=user gid=user hosts allow=送信元サーバのIPやFQDN hosts deny=* 【送信元でのrsync実行】 続いて送信元でのrsync実行となります。下記の要領でrsy
「RAIDという仕組みは本当に安全なのか?」という懸念が昔からあったので、今回RAID5のParity algorithmについて研究してみました。(RAID6のParity algorithmについて研究しましたが、それはまた今度) 【RAID5の特徴】 RAID5の特徴について改めて整理すると以下のようになるかと思います。 •Block単位でパリティ分散記録する。 •水平パリティを1つ用いる。水平パリティにはXOR方式を用いることが一般的。 •HDDが1本壊れても復旧できる。 【XOR(排他的論理和)について】 RAID5ではXORを用いてパリティを生成しますので、まずはXORについておさらいしておきます。
ご無沙汰しています。 前回の記事から1年半近く経ってしまっています。前回のエントリーでLINEが3500万ユーザと書いてますが、現在は2億数千万ユーザとなってますのでずいぶんと伸びたものです。感謝感謝です。 さて、「インフラエンジニアの教科書」という本を書きましたのでご報告させていただきます。おかげさまで出版社の方曰く「ただいま、素晴らしい初速で売れています」だそうで、一部売り切れてしまったお店もあるそうです。おそれいりますが気長に入荷をお待ちください。 書評してくださった方がいらっしゃるのでリンクさせていただきます。どうもありがとうございます。^^ ・『インフラエンジニアの教科書』この本をなんと呼ぶ?教科書と呼ぶ! ・The textbook of the infrastructure enginee ・インフラエンジニアの教科書"を読んで 一応執筆時にこだわった点をアピールしてみます。
先日リクナビNEXTさんから取材を受けました。写真入りで恥ずかしいですが。(笑) リリース1年弱で登録ユーザー数3,500万人突破した無料通話・メールアプリ「LINE」を支えるインフラ開発 (記事掲載の2012年5月23日時点では3500万ダウンロードでしたが、この記事を書いている2012年6月13日時点では4100万ダウンロードを超えているようです。本当に凄い勢いですよね) 最近大ヒットしているLINEですが、あまりにも成長スピードが速すぎてインフラ構築は本当にきついです。企業秘密に触れない範囲でちょっとだけ舞台裏を暴露してしまうと、以前はサーバ納品速度がボトルネックでした(今は違います。それは内緒)。 いくらサーバを増設してもすぐに追加増設を求められる状況で、サーバ発注から納品までの期間をいかに縮めるか大変苦労しました。特にタイ洪水のときはHDDがなかなか確保できず、HDD確保後生産し
送料無料で何でも安く早く買えるAmazon。とても便利なのでよく利用していますが、最近とてもがっかりした話がありますので書いてみます。 先日AmazonでASUS社のマザーボードを買ったのですが、数ヶ月に壊れてしまいました。そのこと自体はどうしようもないことなので特に何も思っていませんが、問題はAmazonの対応です。 箱には、修理対応は購入店を経由してほしい旨書いてあったのでAmazonに連絡してみました。すると機械類については直接メーカーに問い合わせてくれという。そこでメーカーに連絡してみるとやはり購入店に連絡してくれという。 仕方ないので再度Amazonに連絡してみると、Amazonでは◯ヶ月以内の初期不良交換は無料で行うが、それ以降だと手数料がかかるが、今回は事情が事情なので、今回に限り無料で交換を行うという返事が返ってきた。 冗談じゃない。 こちらは保証期間中に壊れたので無償修理
ここ5年ほど社内システム関連の部署に異動となっていたため、システム管理的な話題があまりなくてブログを更新できてませんでしたが、昨年9月に突然古巣のインフラ部門に異動となって戻ってきたため、ブログの更新を再開しようと思います。 あと、ずっと所属会社名を伏せていましたが、ちょっと考え方を変えて、今年から所属会社名をオープンにすることにしました。 所属会社はNHN Japan株式会社です。サービスブランドはHangame、NAVER、そしてlivedoorの3つです。社員数は多分1500人くらい、サーバ台数は数千台規模の会社となります。私は現在そこでサーバ部門の管理職を行っています。 最近はスマートフォン上で動く「LINE」というサービスが世界規模で大ブレイクしていまして、毎週100万人規模でユーザが増えています。今日時点でユーザ数が1500万人くらいです。このペースだと年内1億ユーザに到達して
SSHクライアントソフトとして普段puttyを愛用していますが、タブモードで使えないことだけが不満でした。そこでなんとかならないかと調べてみたら、PuTTY Connection Managerを入れればよいとわかりましたのでご紹介します。(追記: 2014/12/16 現在は開発中止してるみたいです) →PuTTY Connection Manager Downloads->Current beta versionの中にある「Standalone Executable」をダウンロードすれば、あとはそのexeファイルを実行し、putty本体の所在地を指定するだけでタブ版puttyが起動します。 ※最後に「インフラエンジニアの教科書」という本を出版させていただきました!という宣伝で締めさせていただきます。
コンソール上でキー操作をしている時に突然キー入力できなくなる問題に遭遇することがあります。これは簡単に再現&解除できます。 CTRL+s : キー入力できなくなったように見える操作 CTRL+q : キー入力できなくなった状態を解除する操作 このキー操作がどのような経緯で生まれたのか等は別のWEBサイトに譲るとして、この機能自体恒久的に必要ないという大多数の方は、以下のコマンドを実行することでキー入力が受け付けられなくなる機能が無効になります。 $ stty stop undef ログイン毎にこの入力をするのが面倒な方は.bashrcに追記しておくと良いでしょう。
L2~L4スイッチあたりは馴染みがある人が多いと思いますが、L1スイッチについては聞いたことすらない人も多いのではないでしょうか。L1スイッチは大規模サイトでは必須と言っても過言ではないくらい重要となります。というわけで今回はL1スイッチについて記してみます。 【L1スイッチとは?】 L1スイッチとは、物理層で切り替え(スイッチ)することのできるネットワーク機器となります。ある意味パッチパネルでの切り替えを電気的に行える機械とも言えます。かつ市販されているL1スイッチではメーカー毎に様々な機能が付加されている場合が多いです。 ※余談ですが、レピータHUBもレイヤー1に該当しますが、レピータHUB自体にスイッチ機能はないのでレピータHUBがL1スイッチかと問われると微妙な気がします。 【L1スイッチのよくある使い道: ログ分析&IDS】 大規模サイトでよく使われる用途としてはログ分析&IDS
MySQLの出力結果を棒グラフで表示できたらいいなぁと思っていろいろ実験していたらうまくいってしまったのでご紹介してみます。 【普通の場合】 普通は以下のようになりますよね。出力結果だけ見てもどうもよくわかりません。 ■SQL文 mysql> select date_format(regdate, "%Y/%m/%d %H") date, count(*) count from usert group by date order by date asc; ■出力結果 +---------------+-------+ | date | count | +---------------+-------+ | 2010/11/01 00 | 405 | | 2010/11/01 01 | 276 | | 2010/11/01 02 | 188 | | 2010/11/01 03
ログが溜まってくると、必要な情報を探しにくくなるので古いログを別のところに移動させたいと思うようになります。今回はそんな場合のためのcron設定を記してみます。 【cron設定】 いろいろな方法があるかと思いますが、今回はシンプルにいきます。 5 3 * * * /usr/bin/find /home/user/logs/*log -maxdepth 1 -type f -mtime +6 -exec /bin/mv {} /home/user/oldlogs/ \; 1> /dev/null 細かいオプションの意味は以下の通りです。 ・「-maxdepth 1」・・・検索対象のディレクトリを1階層に制限する。 ・「-type f」・・・検索対象をファイルに限定する。 ・「-mtime +6」・・・データが修正された時間が7日以前のもの。+6とは7日(144時間)前~過去を指す。(+7でな
apache生ログをWEB上から見たいという要望を受けて簡単にPHPで作ってみましたのでご紹介致します。突っ込みどころ満載かと思いますが、その場合はコメントに記載いただけましたら幸いです。改善的コメント大歓迎です。 ※重大な警告:この手のスクリプトは重大なセキュリティホールを招く場合がありますので、もし実利用される場合は十分ご注意ください。 【プログラムの概要】 今回作成したプログラムでは、特定ディレクトリ内のファイルリストを取得して一覧を出します。そして一覧の中から特定ファイルをクリックするとそのファイルの最後10行(もしくは指定行数)を表示するというものです。例えばこんな感じです。 web1 top> tail - access_log 38543 access_log 5435 access_log 23533 error_log 10206 error_log 236 error_
サーバ台数が増えてくると、例えば同じ種類のサーバをスケールアウトしているとき、1台だけ設定ミスがあったとしてもなかなか気付きづらくなります。サービスの安定稼動のためにはこういった些細なミスは完全に潰しておく必要があります。そこで今回はサーバ間の設定ファイル差異を比較するスクリプトを作りましたのでご紹介してみます。 【前準備】 まずはこちらでも記したような方法で、パスワードなしで各サーバにSSH接続できるようにしておいてください。 【サーバ間の設定ファイル差異を比較するスクリプト】 下記スクリプトをどこかに保存してください。ファイル名は便宜上「filediff.sh」とでもしておきます。そして、今回比較するファイル名を羅列し、かつサーバ番号(下記の例だと10.0.0.1の設定ファイルを10.0.0.2~10の設定ファイルと比較しています)を書き換えてください。 $ cat > filedif
各サーバ群にソースコードを配信するためにrsyncを使っているところも多いと思います。この操作をWEB上から行えるようになれば、例えばデザイナーがちょっとした画像データを配信するといった場面などで便利そうです。そこで今回はrsyncをWEB上から実行する方法について記してみたいと思います。 【ハマりどころ確認】 WEB上からrsyncを実行するのって、簡単に見えて実はちょっと難しいのです。ハマりどころは2つあります。それは (1) rsyncを実行するユーザがパスワードなしで配信先サーバにSSH接続できるようにしておかなければならない。 (2) 配信先サーバでは、rsyncを実行するユーザと同じ名前のユーザで、該当ファイルやディレクトリの書き込み/編集権限を持っていなければならない。 というものです。 (1)については、こちらでも記したような方法で、パスワードなしで他のサーバにSSH接続で
サーバ台数が増えてくると、サーバ間移動のたびにパスワード入力が求められるのが手間になってきます。これは何とかしたいところです。そこで今回はパスワードなしで他のサーバにSSH接続する方法を記していきます。 ※今回、他のサーバにログインしようとするサーバを「admin」、ログインされるサーバを「web1」、対象ユーザを「user」としておきます。 【admin側の作業】 まずは秘密鍵と公開鍵を作ります。 $ su - user $ ssh-keygen -t rsa (とりあえず全部Enterで) すると、秘密鍵(id_rsa)と公開鍵(id.rsa.pub)が生成されるので、公開鍵(id_rsa.pub)だけを「web1」にコピーします。 $ scp /home/user/.ssh/id_rsa.pub user@web1:/home/user/.ssh/id_rsa.pub_admin 【
サーバリソース監視をする際、MTRG、Cacti、Nagiosなどを使う場合が多いですが、SNMPベースのツールは設定が面倒です。 そこで今回はSNMPを使わないお手軽サーバリソース監視ツールとしてmuninを手軽に導入する方法について記してみたいと思います。自動インストールスクリプト付きです。 【muninを使う前に最低限知っておいたほうが良いこと】 muninでは、監視用WEBサーバに入れるパッケージ「munin」と監視対象の各ノードに入れる「munin-node」があります。ただし監視用WEBサーバには「munin」だけでなく「munin-node」も入れなければなりません。 【監視用WEBサーバでの設定】 監視用WEBサーバ上では以下のスクリプトをroot権限で実行してみてください。(myhostnameのところだけそのサーバのホスト名に直した方がよいでしょう) cd /root/
MySQLでは細かいレベルの権限付与が可能ですが、大抵の場合そこまで細かいレベルの権限付与は必要ないですよね? マニュアルを読まないか、もしくはちょっとしたメモ書きを見る程度でおおよそ使い方が理解できるくらいならいいのに、といつも思います。 そこで今回は、MySQLのユーザ権限付与の中でも、とりわけよく行われる手順だけを簡単にまとめてみました。 【まず知っておいたほうが良いこと】 ユーザはmysqlデータベース内のuserテーブルに作られます。 次に例えば以下のユーザの情報を見てみると「_priv」系のカラム値が全部「Y」であることがわかります。この場合はグローバルレベル権限として全部「Y」なので、全てのテーブルに対して接続が可能となります。 mysql> select * from user where User='adminuser' \G **********************
今回は、いわゆるMySQLでレプリケーションを行う方法を記してみます。非常に今更感がありますが、自分にとってかゆいところに手が届く文献がなかったので、自分でも一度まとめてみようと思いました。 【MySQLにおけるレプリケーションとは】 MySQLにおけるレプリケーションとは、マスターサーバでの更新情報がほぼリアルタイムにスレーブサーバに同期化される仕組みのことを指します。 マスターサーバ上で更新が起こると、バイナリログ(更新ログとも呼ばれる)に更新情報が記録されていきます。スレーブサーバは随時マスターサーバ上の更新情報を追いかけることでマスターサーバ上のデータをスレーブサーバ上で再現していきます。 レプリケーションにはシングルマスタ構成とマルチマスタ構成があり、通常はシングルマスタ構成を使います。シングルマスタ構成は1台のマスターサーバの下に複数台のスレーブサーバがぶらさがっているイメージ
最近「ソーシャルアプリをやることになって、コンテンツは作れるけどインフラ周りが全然わからないので助けて欲しい」という相談をよく受けるので、よい機会ですので数回に分けてノウハウを記していこうと思います。というわけで今回はソーシャルアプリのサービスを行う際に考えておくべきことを記してみたいと思います。 【初期サーバ台数を多めにしておく】 「お金が無いので最初は少ないサーバ台数でサービスインをして、ユーザ動向を見ながらサーバを増やしていきたい」と思う人も多いと思います。 しかしソーシャルアプリの場合、サービスイン直後に大量のユーザが押し寄せてサーバダウンしてしまう場合が多々あることや、サービスイン直後に慌ててサーバ増強が必要となってもそれができる余裕がない場合も多いと思うので、初期サーバ台数を多めに準備しておき、ユーザ動向を見て事後にサーバ台数を調整するのが良いと思います。 【大量のテストデータ
先日本屋の中でぶらぶらしていたら、なかなか良い本を見つけたのでご紹介してみます。オープンソースソフトウェアがどのように作られていて、またどのように作れば良いか具体的に説明されていて結構面白かったです。オープンソースってプログラミング力以前にどういうルールで作ればいいのかという段階でつまずくことがありますが、この本があればそのレベルは軽くクリアできます。 こういう実践的な情報はWEB上でもなかなか見つからないので貴重です。内容が結構良いのに無名(だと思う)なのはもったいないです。 以下引用。 「システム管理者もオープンソース開発者も必読の1冊! OSSのブラックボックスを丸ごと解説!! 本書は、Linuxが「どのように構成されているのか」「その構成要素はどのよう にして作られているのか」についてを平易に解説、UNIX系OSを裏側から支える 数々の仕組みを理解できます。Linuxを日常的に利用
以前副業できる方を募集させてくださいというエントリーを書き、たくさんご応募いただきました。どうもありがとうございます。 現在の状況なのですが、 ・不景気なため、案件が激減 ・不景気なため、応募者が激増。 ・不景気なため、案件の単価が日に日に低下 という暗い状況となっています。よってせっかくご応募いただいてもこれまで1件も案件をご紹介できなかった方が大勢いらっしゃいますし、もしくは案件があっても単価が安いか要求レベルが高すぎてご紹介できないという場合が非常に多いです。まぁ私は、たまたま何らかのご縁でご相談いただいた内容を見て適切そうな方にご紹介している程度なので、良い案件がたくさん集まるはずもないし、そもそもたくさん集めようとも思ってないのですが。 が、最近にわかに相談を受ける回数が増えてきているけれども残念ながら該当する人がいなくてご紹介できない案件があります。それはソーシャルアプリ関
過去にHDD障害によるデータ消失を何度も経験しているため、バックアップには多少神経質になっているところがあります。かといって面倒くさいのはもっと嫌。そこで考えたのは、Linuxが動いているマシンにUSBメモリを突っ込んでそこにバックアップデータを流し込む方法です。こうしておけばいざHDDが壊れてもUSBメモリだけ引っこ抜き他のマシンにマウントするだけですぐにデータを移行できるので楽ちんです。 今回はそんなテーマで記してみます。(root権限でお試しください) 【USBメモリをマウントする方法】 まずはUSBメモリをマウントさせなければなりません。USBメモリをマシンに突っ込み、「# dmesg」とすると、「sdb1」のような感じのものが出てくると思います。これを覚えておき # mkdir /mnt/extdisk # mount -t vfat /dev/sdb1 /mnt/extdisk
iPhoneアプリやソーシャルアプリ市場の登場によって、小人数でもそれなりの収益が得られる環境が整い起業に走る人が増えてきたように思います。しかし実際にやってみるとサーバ費用が結構かかり、あわてて資金調達をせざるを得なくなったという話しをよく聞きます。しかし融資と投資を混同する人が多いようで、資金調達の場においてこの違いを混同しているような素振りを見せたらその時点でアウトです。 そこで今回は資金調達の基本、特に融資と投資の違いについて述べてみたいと思います。 【融資とは】 融資とは、銀行や政府系金融機関などからお金を借りることを指します。借りたお金は後日利息をつけて返さなければなりません。融資というのは利息で稼ぐビジネスモデルなので貸し倒れリスクを最も嫌います。よって普通は実績のない創業したばかりの会社にはお金を貸してもらえないです。 ただし、担保があるか、もしくは公的機関がベンチャー支
他の人から頼まれたので、ソーシャルアプリ専用ホスティングサービスをざっと調べてみました。せっかく調べたのでブログでも公開してみます(注:今回は単なるクラウドや普通のホスティングなどのサービスは対象外)。 ※他にもあったらぜひ教えてください ■GMO「GMOアプリクラウド」 ソーシャルアプリに必要なものがパッケージ化されていて大変便利。個人的に一番のおすすめ。 ・初期費用無料 ・準備期間完全無料、さらに公開後も4日間20台無料 ・アクセス解析ツール無料 ・ロードバランサー無料 ・WEBコントロールパネルからサーバの増減が可能 ・最短2日でサーバやインフラ用意可能 ■ライブドア「DATAHOTEL for Social」 単なるホスティングだけでなく日常運用・監視まで対応してくれるので、インフラ担当エンジニアが全くいない会社には便利かも。 ・初期費用無料 ・月額課金開始はアプリのサービスインか
次のページ
このページを最初にブックマークしてみませんか?
『sanonosa システム管理コラム集』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く