技術のご紹介

このブログを購読する

IT開発センターBlog

ALLインクレ日誌ITニュース製品応用事例技術tips技術リリース

サーバ運用技術

こんにちは、IRDの粟野です。

2013年9月11日今回は、インクレイブのインフラ技術についてふれてみたいと思います。

インクレイブでは、お客様から受託を請け負うと共に、そのバックエンドにあるサーバやネットワークの設計から構築、運用まで任せていただける業務も多くあります。
一旦稼働してしまえば、24時間365日休むこと無く動き続けるのがWEBシステムですので、「設定しただけ」「設置しただけ」では、長期間安定的にサービスを提供していくことは難しく、日常的なモニタリングや定期的なメンテナンス、負荷状況に合わせたチューニングが必要になってきます。

お客様のサービスの特性を理解し、最適な運用環境を提供するために、「モニタリング」「メンテナンス」「チューニング」というサービスを通して、その安定運用を支えていく事は、長年インクレイブが製品と受託という2つのレーンの中で培ってきた実績による、インクレイブの得意とする分野になります。

▼サーバの監視業務とは
インクレイブのサーバは全て、負荷監視、ディスク容量監視、死活監視を行い、トラブルの発生を未然に防ぐ体制を標準機能として設定しています。
しかし、このような監視体制でも、突然のアクセス増加や上位ネットワークのトラブルなどにより、サーバやネットワークの動作が不安定になることがあります。
不具合を検知した場合、弊社エンジニアにより、障害の原因を特定するための切り分け作業から、実際の問題点の洗い出し、そしてその問題を解決するための対応までを行っていきます。

▼より安定したサービスを実現するために
インクレイブでは、お客様に提供するサービスの安定稼働のために、障害時の対応は勿論のこと、24時間365日体制で監視業務を続けております。
また、サーバ構成の定期的な見直しやスペックアップ、障害時の自動復旧システムの導入等もおこなっており、更なるサービスの安定稼働をはかっております。

このように、サーバの設計から構築、その後の安定的な運用や専門エンジニアによるコンサルティング等、お客様がWebサービスで実現したいこと全てをワンストップで提供できますので、何か気になる点などございましたら、お気軽にご相談下さい。

PAGE TOP

jQueryMobile1.0が正式リリース

jQueryMobile
こんにちは。仲沢です。
日経トレンディが選ぶ「2011年ヒット商品ベスト30」が発表されましたが、予想通り1位はスマートフォンでしたね。
そのスマートフォンアプリ開発をサポートするフレームワークとして注目していたjQueryMobile正式版が先日リリースされました。

jQueryMobileはjQueryのUIをベースに開発されたモバイルデバイス向けのフレームワークです。スマートフォンのみならずタブレットデバイスやデスクトップまで幅広いプラットフォームに対してHTML5やCSS3の技術をベースとしたUIを提供することを目的としています。

私も早速jQueryMobileを利用して、スマフォサイトを作ってみました。
多少のお作法が必要となりますが、慣れてくればリッチなUIを持つスマフォサイトを短時間で構築することができます。

HTML5やCSS3といった最新技術はPC向けのブラウザにはまだ対応しきれていない部分が多いので、PC向けサイトに利用することは実質的にはできません。
一方スマートフォンブラウザでは、それらの技術を実装したレンダリングエンジンを採用しているので、HTML5やCSS3をためらわず使うことができます。

新技術を利用したPC向けサイトを作る上でのノウハウを身に付けることにも繋がりますので、jQueryMobileを利用してスマフォサイトを作ってみてはいかがでしょうか?

今後はjQueryMobileを使ったスマフォサイトの作り方もご紹介していきたいと思います。

PAGE TOP

Apacheをrestartしても正常に起動しないときに確かめること

Apacheをrestartしても正常に起動しないときに確かめること

こんにちは、粟野です。

24時間365日、比較的安定して稼働してくれているapacheですが、たまに機嫌が悪くなり再起動が必要になることがあります。
そんな場合はWebサーバの再起動を行うのですが、通常は以下のコマンドで問題なく完了します。

#/etc/init.d/httpd restart

httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

普段はこれだけで再起動が完了してしまうのですが、この手順で正常に起動しない場合はちょっと面倒なことになります。

そこで今回は、そんな時どこから調べていくのかを簡単にご紹介したいと思います。

■statusを確認する
※予め「/etc/init.d/httpd status」等でプロセスIDを調べておくと役に立ちます。

# /etc/init.d/httpd status

httpd (pid  6000) を実行中...

プロセスが正常に起動しているように見えます。
正しく起動していない場合は「httpd は停止しています」「httpd は停止していますがサブシテムがロックされています」「httpd が停止していますが PID ファイルが残っています」と表示されます。

・「httpd は停止しています」の場合
何らかの原因で起動できていません。
設定ファイルが壊れている場合や、間違っている場合が考えられますので、「/etc/init.d/httpd configtest」を実施してみたり、apacheのログファイルを見て原因を探ります。

・「httpd (pid 6000) を実行中…」の場合
pidファイルとプロセスが残っているか既に立ち上がっています。
ブラウザから接続確認等を行なってみます。正しく表示されない場合は、apacheのrootプロセスが正しく終了しなかった、動作が不安定な事が考えられますので、手動でkillしてみます。(但し、再起動前のプロセスIDと同じ場合は再起動されていないという事になります。)

・「httpd は停止していますがサブシステムがロックされています」の場合
何らかの原因で起動しません。「/var/lock/subsys/httpd」にロックファイルが残っている場合もこのエラーになります。
システムに問題のない場合はstartを実施してみると、うまい具合にロックファイルを更新してくれます。

・「httpd が停止していますが PID ファイルが残っています」の場合
システムに問題のない場合はstartを実施してみると、うまい具合にPIDファイルを更新してくれます。

■再起動してみる
対応を実施し、再度再起動してみます。

#/etc/init.d/httpd restart

httpd を停止中:                                            [失敗]
httpd を起動中:                                            [  OK  ]

・起動した場合
対応完了

■起動したメッセージが表示されて実際には起動しない場合
どうしてもプロセスが起動しない場合は、エラーログ「/var/log/httpd/error.log」を確認します。

[Mon Jun 01 00:00:00 20xx] [emerg] (28)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!: Couldn't create accept lock
[Mon Jun 01 00:00:00 20xx] [emerg] (28)No space left on device: Couldn't create accept lock

これらのエラーが記録されている場合は、Apache がセマフォを使いきっていることが考えられます。

セマフォを確認します。

# ipcs -s | grep apache

0x00000000 47415398   apache    600        1
0x00000000 47448167   apache    600        1
0x00000000 47480936   apache    600        1
0x00000000 47743081   apache    600        1

起動していない状態でapacheの表記があることがおかしいので、セマフォを開放するために下記コマンドを実行。

# for semid in `ipcs -s | grep apache | cut -f2 -d" "`; do ipcrm -s $semid; done

これにより、メモリが解放された事を確認します。

# ipcs -s | grep apache

WEBサーバの起動してみます

# /etc/init.d/httpd start

httpd を停止中:                                            [失敗]
httpd を起動中:                                            [  OK  ]

■それでも起動しない場合
初心に戻って、ディスク容量、iノード、メモリの状態などを再度確認します。
この段階で起動させることができないと、本腰を入れて障害対応となりますので今回は割愛します。

以上、apacheが正しく起動できない場合の対応例でした。
Apacheが上手く起動しない場合にお役に立てれば幸いです。

※本内容はCentOS+Apache構成での対応の一例です。参考例としてご参照下さい。作業の前は必ずコンテンツ等のバックアップを取ることをお勧めします。

PAGE TOP