LAMP環境のパーティション構成(CentOS)についての質問

このQ&Aのポイント
  • LAMP環境のパーティション構成について、質問があります。
  • 具体的な環境構成を示しながら、HDDのパーティションの分割数とサイズについて教えてください。
  • また、既存の認識が正しいかどうかも知りたいです。
回答を見る
  • ベストアンサー

LAMP環境でのパーティション構成(CentOS)

初めての投稿となりますが、宜しくお願い致します。 私は、Windows系のサーバエンジニアとしての経験はある程度ある者です。 この度、Linuxサーバも扱う事となり勉強しております。 ITインフラ系エンジニアの方で、 商用サーバのLAMP環境構築経験のある先生へ質問があります。 以下のような構成においてLAMP環境を構築する場合、 定石となるHDDのパーティションの分割数及びサイズがありましたら教えて頂けないでしょうか。 --- ◯OS CentOS 6.3(64bit) ◯Hardware構成 HDD容量:300GB(RAID1適用後) メモリ容量:16GB CPU個数:2個(1個4スレッド、合計8スレッド) ◯システム構成 APP+DBサーバ一体型 (1台の物理サーバ上にLAMP環境を構築) --- ネット上で検索した範囲では、以下のような認識です。 「swap」 →メモリ容量の1.5倍 (24GB) 「/boot」 →100MB(ハードウェア構成と関係なく固定) 「/」    → HDD容量の10% (30GB) 「/home」 → HDD容量の10% (30GB) 「(以外)」 →上記を引いた残りのHDD容量(約216GB) ここからが質問となります。 (1)上記認識は正しいでしょうか? Noなら、何を基準にするべきか? (2)「(以外)」は、更に細かく分割されてますか? Yesなら、それぞれのサイズの割合は? (例:「/var(MySQL用)」「/usr(Perl用)」に分割、「80%(173.4GB)」「20%(42.6GB)」の割合とする) 上記2点が質問となります。 お時間がある際(ないとは思いますが・・)に、お答え頂けますと大変助かります。 以上、宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんにちわ。 LAMPではなく、FAMPではあるのですが・・・ 一応、CentOS向けの組み方です。 ・swap  本当にその容量が必要でしょうか?  メモリ16Gあるのであれば、スワップが24Gになるのですが  そのような高負荷であるサーバーを構築するほうのが、おかしいともいえます。  swapがいらないわけではありませんが、ストレージアクセスによって  サーバーが激重にならないように、逆にメモリ容量の半分程度におさえておきます。  swapにいくようであれば、まずメモリを増設するか、分散化することを強くおすすめします。  →swap=10G程度  #うまくすれば、swapなしでの運用も可能ですが、逆にハードルが高くなります。 ・/boot  予備を見積もって、もう少しあってもよいかもしれません。  →/boot=200M程度 ・/  システム障害リスクを減らすために、/usr を除外します。  →/ = 8G程度 ・/usr  除外されたものよりの差です。  →/usr = 30G程度  ※perl用と記載されていますが、基本システム以外の全てが入ります ・/home  妥当かもしれませんが、ご自由に・・・  →/home = 30G 68.2 ・/var  データを置くものは、極力ここから除外して、専用マウントポイントを作ります  →/var = 5G ・/var/www/  仮定ですが・・・  →/var/www = 20G ・/var/lib/mysql  残り全部  →/var/lib/mysql = 300G-93.2G 障害時、fsck が自動実行され、今のLinuxでは、ジャーナリングでほぼすぐに 復帰できるのですが、それでも復帰できない場合もありえます。 (これはRAID1にしたからといって、対処できるわけではありません) 基準は、対障害対処になりますので・・・ p.s.swap除く1パーティションでも運用できますし、逆に、こちらのが容量の自由度が高くなるだけで、  障害対処時に困ってしまいます。

FlowerSunRain
質問者

お礼

ymda様 質問した後にすぐ御回答頂けたにも関わらず 御連絡が遅れて大変失礼致しました。 swap領域は、いくつかの説明サイトで実メモリの1.5~2倍というのが多かった事と Windowsサーバのページファイルサイズを実メモリの1.5倍程度に常にしていたため、 同じ感覚でいけるだろう、と勘違いしておりました。 それはともかく、まさかこれほど丁寧な説明を頂けるとは思いもしませんでした。 私ももっと勉強して、人格とスキルを向上致します。 御支援有難う御座いました。

その他の回答 (2)

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.3

既に回答付いていますが…。 swapはそんなに要らなさそうです。 あと、/bootは100Mだとカーネルのパッケージが3つ入るかどうか…なんてことになりかねないのでもっと大きい方がいいでしょう。 カーネルの更新があったら必ずリブートして、古いカーネルは削除する。 なんて運用なら100モでも何とかなるかも知れませんが、商用に使うのに新しいカーネルの動作検証なしで古いカーネルを削除。なんてのはどうかと思いますし…。 # 自宅サーバのCentOS5.xでは/bootが100Mで足りていましたが、仮想環境のCentOS6.xではカーネル更新のたびに容量不足の警告が…。 障害発生時に復旧がちょっと大変ですが…/boot以外をLVMで構築する。 という手も使えます。 こちらならパーティションの容量を後から可変にもできますし。 # それなりに手間は掛かりますけどね。 「LVM サイズ変更」辺りで検索すると出てくるかと。

FlowerSunRain
質問者

お礼

Wr5様 質問した後にすぐ御回答頂けたにも関わらず 御連絡が遅れて大変失礼致しました。 /boot上にカーネルパッケージが蓄積される・・ きっと基本的な事なんでしょうね、まったく知りませんでした。。 LVMはWindowsのDynamicディスクのようなものという認識で、 私もディスク障害復旧対応を想定すると、適用しない方向で考えております。 きめ細かい御回答有難う御座いました。

  • notnot
  • ベストアンサー率47% (4847/10260)
回答No.2

>(1)上記認識は正しいでしょうか? Noなら、何を基準にするべきか? かなり間違ってます。そもそも質問の原点が間違っています。 「なにに使うか」を外して、分割基準はありません。 >「swap」 →メモリ容量の1.5倍 (24GB) 一番の大間違い。 swap = 必要な論理メモリ量 - 実メモリ量 です。 >「/boot」 →100MB(ハードウェア構成と関係なく固定) Kernerlを何世代保存するかによる。 2-3世代なら100MBで足りる。余裕を持つなら200MBで。 >「/」    → HDD容量の10% (30GB) 他のパーティションに割り当てた残り。 >「/home」 → HDD容量の10% (30GB) ユーザごとのファイルに必要な容量。 開発サーバーならかなり必要。本番サーバー専用ならほとんど要らない。 あと、分けるとすると、 /var /usr /opt

FlowerSunRain
質問者

お礼

notnot様 質問した後にすぐ御回答頂けたにも関わらず 御連絡が遅れて大変失礼致しました。 「swap = 必要な論理メモリ量 - 実メモリ量」 なるほど、それならば開発機で負荷テストを行った上で 見積もるのが最善のようですね。。 「/home」は、確かに開発機は、 テスト用のスクリプトやらログやらでグチャグチャになりそうですし アドバイスの通り、サイズを大きめにしときます。 (開発機ですし、LVMも良さそうですね) 各パーティションへのHDD容量の割当も非常にわかりやすく勉強になりました。 御指導有難う御座いました。

関連するQ&A

  • RAID-1環境のパーティションの構成について

    お世話になります。 現在、経理用のDBサーバを構築するために DELLのエントリークラスのサーバを選択しようと思っております (利用者は5人程度、DBはパッケージ製品) サーバの構成は Windows 2003 Server SATA HDD2基搭載して、RAIDコントローラで RAID-1のミラーリングの環境にしようと思っているのですが 選択項目でパーティションの設定について RAIDを構築した環境ではどのようなパーティション設定がのぞましいのでしょうか? ブートパーティションを 12GB・16GB・20GB・フルから選択できるようですが 何かご助言がありましたらよろしくお願いいたします。

  • LAMP構成のAPサーバー

    JAVAでPGを組んだことがないのでよくわからないのですが、 LAMP環境でWEBとAPサーバー(物理的に)を分けることはある(できる)のでしょうか? WEBサーバーとDBサーバーを物理的に分ける構成はよく理解できる(confなどでIPを指定するなど)のですが、 WEBサーバーとAPサーバーを分けるとなるとプログラム的にどのような指定方法となりますでしょうか?JAVAでも結構ですので例を簡単に挙げていただけると幸いです。

    • ベストアンサー
    • PHP
  • RAID1の構成

    以下の構成にてサーバを運用中なのですが、Cドライブ(OSなどのシステムが入ったパーティション)の容量が現在12GBしか割り当てられておらず、不足してしまっているため、HDDの変更を行おうという次第ですが、ハードRAIDを組んだことがないので、どのような手順で組めばよいのか具体的にわかりません。 やりたいことは (1)新たに2台のHDD(1TB)を購入します。 (2)現在マシンについているHDD(160GB、RAID1)2台を取り外し、HDD(1TB)を接続します。 (3)HDD(1TB)2台でRAID1を構築します。 (4)RAID1のHDDをパーティション分割します。(Cドライブ100GB、残りDドライブ) (4)再度HDD(160GB)を接続し、EASEUS DISK COPYというツールを使ってパーティションごとにデータをコピーします。 主に(3)のRAIDの構成の部分がわからりません。 以下URLの情報を参考にしたのですが、(以下URLサイト内の)手順3のところで無理やり終了してしまえばよいのでしょうか?(OSをインストールするつもりはないため) http://support2.jp.dell.com/jp/jp/faq/201529.asp このような方法を選ぶ理由として ・現在サーバに入っているソフトは業者に入れてもらったものなどがあるため、自分でインストールできない。(する方法が具体的にわからない) という点があります。 以下構成 メーカー:DELL 品番:PowerEdge 800 OS:Windows server 2003 StandardEdition 日本語版 チップセット:intel E7221 CPU:Pentium4 520(2.8GHz) HDD:SATA 160GB 2台 RAID1(パーティションCドライブ12GB、残りDドライブ) RAIDコントローラ:CERC SATA/6ch メモリ:DDR2 PC4300 2GB ご教授いただけると助かります。よろしくお願いいたします。

  • パーティション

    Linuxでwebサーバを自宅で構築したいと思っていますが、 パーティション分割がぜんぜん理解出来ません。 下記の条件でどのくらいのバイト分割が良いかご教授お願いします。 --------------------------------------------------------------- 1.主にwebサーバとして使用 2.HDD:108GB(36×3) メモリ:1G OS:CentOS(RedHatとほぼ同じとか) 3.勉強の為、出来るだけ/(スラッシュ)を切りたいと思っています。 4.アクセスlogは基本的に2週間保存できれば0kです 5.アクセスは個人運営のHPにしては多いくらいを目標にと考えています。 6.RAID等の冗長性は必要無いと考えています。 (mondoでバックアップは取ろうとは考えています。) 7.swap,/,/boot,/usr,/home,/var,/tmp,(/opt)で構成したいかな? --------------------------------------------------------------- なにぶんコレに関してはド素人なので、無理な事を言ってたり、変な事を言ってたりするかも知れませんが、お許し下さい。 また、情報も足りない部分はご依頼して頂けるのならできるだけ補足いたします。 こんなんでいいんじゃない?っていう気楽な気持ちでも良いので何卒回答を宜しくお願いします。

  • パーティション分割について

    パソコンを買おうと思っています HDDは1Tのもので パーティション分割 Cドライブ 80GB+残りの容量 パーティション分割 Cドライブ 120GB+残りの容量 パーティション分割 Cドライブ 160GB+残りの容量 パーティション分割 Cドライブ 200GB+残りの容量 パーティション分割 Cドライブ 250GB+残りの容量 パーティション分割 Cドライブ 350GB+残りの容量 パーティション分割 Cドライブ 500GB+残りの容量 パーティション分割 Cドライブ 750GB+残りの容量 パーティション分割 Cドライブ 1000GB+残りの容量 上記から選ぶ事ができます パーティション分割は必要なのでしょうか 必要なら上記のどれがいいでしょうか 例えば電気屋さんの店頭に並んでいる富士通や東芝などのパソコンはパーティション分割されているのでしょうか パーティション分割はしてあたりまえの事なのでしょうか パソコン購入者がほとんど行う事なのでしょうか 全然わからなくて困っています メリットやデメリットを含めて回答いただければと思います よろしくお願いします

  • パーティション分割の割合

    PCの買い替えを考えているのですが、その時に パーティションの分割(C:OS、プログラム D:データ) をしようと思うのですが、どれくらいの割合で割れば いいでしょうか?購入を考えているPCのスペックは OS:Xp CPU:Core 2 Duo E6850 3GHz メモリ:2GB HDD:500GB です。Cにインストールするソフトの容量は3~5GBくらいに なりそうです。 助言の方よろしくお願いします。

  • パーティション分割について

    パソコンを買おうと思っています HDDは1Tのもので パーティション分割 Cドライブ 80GB+残りの容量 パーティション分割 Cドライブ 120GB+残りの容量 パーティション分割 Cドライブ 160GB+残りの容量 パーティション分割 Cドライブ 200GB+残りの容量 パーティション分割 Cドライブ 250GB+残りの容量 パーティション分割 Cドライブ 350GB+残りの容量 パーティション分割 Cドライブ 500GB+残りの容量 パーティション分割 Cドライブ 750GB+残りの容量 パーティション分割 Cドライブ 1000GB+残りの容量 上記から自分で選ぶ事ができます 主に画像処理などでパソコンを使うのですが どういう風に分割すればよいでしょうか ちなみにお店からは80Gと500Gを勧められています 80と500では数値が全然違いますし どうしていいかわからず困っています 詳しい方わかりやすくいろいろ教えて下さい よろしくお願いします

  • レンタル掲示板構築の環境仕様について

    携帯用のスレッド式レンタル掲示板の運営を考えています。 雰囲気的には http://look2.info/ のようなものになります。 そこで構築の環境仕様が定まらず皆様のお力をお借りできればと思い今回投稿させていただきました。 掲示板のシステム環境は [LAMP]Linux Apache Mysql Php を予定しています。 サーバー環境は Xeon 3.6GHz×2 8GB 146GB(SCSI×3 RAID5) を予定しています。 ヒットすることを想定での運営となると 負荷に備えサーバーを分散することが賢明と考えました。 上記URLでは、 サブドメインを振り当てたサーバーの追加方法を行っているように思うのですが、 当方では固定ドメインでの運営をしたく思います。 掲示板というサイトの性質上、ラウンドロビンも有効ではありません。 負荷分散装置の利用も考えましたが、 データベースをどのように利用したら良いのかわかりません。 他に最適な環境仕様がございましたらご教授ください。 よろしくお願いいたしますm(_ _)m

  • パーテーション分割とHDDリカバリーについて

    acer aspiaer one happyを購入(まだ届いていませんが)。 前のacer製品を見たことがありますがCドライブのみでした。 aspiaer one happyはHDDリカバリタイプなのですが、 パーテーションを分割したいと考えています。 もし分割してCドライブの容量を減らした場合、HDDリカバリのときに不都合が生じるのでしょうか? 例えば総容量250GB(HDDリカバリ含む)をCドライブ80GB+その他にした場合、HDDリカバリをしようとした場合、普通に行えるものなのでしょうか?それとも初期値(Cドライブ容量)が違うと不都合が生じるのでしょうか? *リカバリディスクはもちろん作成します。 *不都合が生じるようであれば外部HDDバックアップ(クローン)の使用も視野に入れています。 *場合によってはUbuntu10.4とのデュアルブートも視野に入れています。 *acer aspiaer one happy CPU atom N550(2コア、4スレッド) メモリ1GB HDD250GB WINDOWS7 starter HDDリカバリタイプは初めてなのでご教授ください。

  • 一般的なLAMPでの開発環境・手順を教えてください

    今までWAMP(windowsサーバー、Apache、MySQL、PHP)での開発が多かったため、 LAMPでの一般的な開発手順がよく分りません。 WAMPの時はこんな感じでした。 1.ローカルPCに本番と同じ環境を構築(SVNからチェックアウト(更新)) 2.ローカル環境で開発、テスト 3.エクスプローラーから開発サーバーにアクセス、ローカルのソースで上書き 4.開発サーバーでテスト、SVNにコミット 5.リモートデスクトップで本番サーバーにアクセス、SVNからチェックアウト(更新) 6.本番サーバーでテスト LAMPだとどうなりますか。 こんな感じでしょうか? 1.ローカルPC(windows)に本番と同じ環境を構築(SVNからチェックアウト(更新)) 2.ローカル環境で開発、テスト 3.WinSCP、FFFTPなどのソフトで開発サーバーに繋いで、ローカルのソースをアップ 4.開発サーバーでテスト、SVNにコミット 5.Tera Termなどのソフトで本番サーバーに繋ぎ、コマンドでSVNからチェックアウト(更新) 6.本番サーバーでテスト 一番不明なのは、3の部分でして、 Linuxサーバーに置いてあるソースをいじるには、以下の方法しかないのでしょうか? ・FTP接続が可能な場合、FFFTPなどのソフト経由 ・FTP接続が不可能な場合、WinSCPなどのソフト経由 ・Tera Termなどから、テキスト編集コマンド(viなど)で直接編集  ⇒ファイルをアップするっていうことをコマンドからはできないんでしょうか。 ごくごく一般的な開発手順を教えてください。

    • ベストアンサー
    • PHP