Linuxでのディスク割り当てのガイドラインと代表的なサイズについて

このQ&Aのポイント
  • Linuxでディスクを分割する際のガイドラインや代表的なサイズについて詳しく紹介します。
  • 現在のディスク割り当ての構成やサイズについて疑問がある場合について解説します。
  • Linuxのディスク割り当てにおける各ディレクトリの利用用途と適切なサイズについて説明します。
回答を見る
  • ベストアンサー

ディスクの割り当てについて

Linux(debian、CentOS)で、インストール時にHDDを分割する計画なのですが、 分割のよいガイドラインが分からないのです。 分かった内容としては、 /root ・・・カーネル5周期ぐらいのコンパイル分が収まる領域があればいい? 他不明^^; 前インストールしたときは、以下環境で割りました。 /  ・・・5GB /boot・・・2GB(ブート領域?) /home・・・100GB(個人フォルダ) /tmp・・・10GB(一時領域?) /usr・・・40GB(プログラムインストール領域?) /usr/local・・・40GB(プログラムインストール領域?) /var ・・・ 40GB(ログフォルダ?) /swap ・・・2048MB(仮想メモリ?) というように、割りましたが、 サイズを割り当てすぎなのでしょうか? 各ディレクトリに使われる利用用途が良くわかってないのが原因とわかっているのですが。。。。 『質問』 ・上記ディレクトリ構成で、linuxをインストールするときは問題ないのでしょうか?  →WindowsならCだけあればいいみたいなことです。利用用途としては、DMZでの利用、DBでの利用等を考えています。 ・「代表的なサイズ」と「なぜそのサイズでいいのか?」を教えていただけないでしょうか。  →やはり、自動で割り当てというのは、サーバーを構築する人間としては問題だと思っています。 どなたかご教授のほう宜しくお願いします。

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

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

そんなに詳しいわけではありませんが、Linuxでもswap領域は切り分けなければならないですけど、その他の領域はまとめることが可能なようです。 ただ/boot」は分離してDISKの先頭の方に確保するのが安全みたいです。 http://www.obenri.com/_install_cent5/disk_cent5.html (現在は大丈夫かもしれませんが) で、残りをすべて「/」にマウントすることは可能です。 「/boot」の容量も2GBもいりません。 「/home」はWindowsで言う「Users」「Documents and Settings」に当たるのと、ユーザー独自でインストールしたいプログラムの格納先になります。 「/var」には「/var/log」以外にCentOSの場合はPostgreSQLとか「/var/www」(Apacheのルートディレクトリ)などが入ります。 正直一基のDISKにインストールするのなら、前環境ほど細かく分ける必要はないと思います。 DBサーバーに使用し、複数台のDISKを使用するということなら、データベースファイルやWAL(トランザクションログ)の領域を分散して配置するのがいいと思いますが。

kureakai
質問者

お礼

簡潔に書いていただき、ありがとうございました。 たしかに/bootだけは、自動でも作成されてました。 /の配下に、ディレクトリが格納されていることも確認しました。

その他の回答 (4)

  • wingstar
  • ベストアンサー率37% (102/275)
回答No.5

> やはり、自動で割り当てというのは、サーバーを構築する人間としては問題だと思っています。 昔はHDDの容量も限られていたので、あれやこれやと考えてやりましたが、このご時世では特に何も考えずに自動でやってますね。 逆に各ディレクトリが、どのくらいの容量が必要なのかわかっているなら、別にパーティション分けしなくてもいいかと。 パーティションを分けていたことによるトラブルが発生するなら、私は自動かワンパーティションの方が良いと思ってます。

  • onosuke
  • ベストアンサー率67% (310/456)
回答No.4

>各ディレクトリに使われる利用用途が良くわかってないのが原因とわかっているのですが。。。。 観点がちょっとずれているように思います。 そもそも、「何故HDD分割しなければならないのか?(or 何故HDD分割が不要なのか?)」 上記の理由(理屈)を抑えていないのが、原因ではないでしょうか? パーティション分割する理由には、  ・ハードウェア、ソフトウェアの制約による理由  ・運用環境に依存する理由  ・過去には問題だった理由(採用技術/ソフトウェアの進歩で現在は問題とならない) などがあります。 また、パーティション分割には、以下の欠点もあります。  ・容量の利用効率が下がる。    ⇒容量見積りを誤ると、後で特定領域のみが容量不足となり困る。  ・管理が面倒。    ⇒何ごとも、シンプル・イズ・ベスト。     数が多いと、それだけで面倒です。 パーティション分割の欠点を上回る利点がない限りは、 パーティション分割すべきではないでしょう。 容量の話は、「パーティション分割する/しない」を決めた上で、 考えるべき話だと思います。 さて、以上の話を鑑みた上で、 質問文にあるような細かいパーティション分割は必要でしょうか? OS標準のパーティション分割をベースに再度見直しすることを、 オススメします。 <ハードウェア、ソフトウェアの制約による理由> /boot…「1024シリンダ以上の領域からブートできない問題」     「複雑なファイルシステムをbootloaderが理解できない問題」があるため、      ディスク先頭に、小容量のext2パーティションを用意する。      なお、高機能なbootloaderや最近のハードウェアでは、上記制約を無視できる場合もある。 <運用環境に依存する理由> /home… 数百人、数千人が利用するマルチユーザ環境では、     性能面、可用性、安全性などを考慮して、専用物理ディスクを割り当てるべきである。      ⇒従って、パーティション割りも別にする。      ⇒逆に、1人~数人しか使わない環境であれば、他と区別する必要性はない。      ⇒サーバ等で、運用管理者の作業領域(サービス運用環境に影響与えないように)       として、別枠にしておく場合もある。 swap領域…Linuxでは、Windowsのようにスワップファイルを利用する方法もあり、      スワップファイルを利用する場合、swap領域のパーティションは不要。      でも、専用パーティションの方が性能は良い。 /var、/tmp…非常に大量のログファイルや一時ファイルを作成するアプリがある場合、       iノード枯渇、ファイルシステム性能劣化の影響範囲を極小化するため、       別パーティションに分割して、性能、可用性、安全性を確保する。 その他…rawdeviceやblockdeviceを利用するため(DBMSなどの性能向上が目的)に     パーティション分けする。 <過去には問題だった理由>  ・頻繁なファイル更新により、ファイルシステムの性能劣化が発生する。    【過去の主な対策】     -/var、/tmp、/home等、更新頻度の高い箇所を分ける。      さらに、定期的にファイルシステムを再編成(バックアップ/リストア)      することで性能劣化を回避する。    【今の主な対策】     -ファイルシステムの技術革新により、性能劣化が昔に比べて少なくなった。  ・巨大なファイルシステムは、fsckに長時間かかる。    【過去の主な対策】     -容量が大きくならないよう、パーティションを細かく分割する。     -マシンが飛んだら、/var や /tmp はあきらめる(再フォーマットしてしまう)    【今の主な対策】     -ジャーナリングファイルシステムを利用することで、fsck時間を短縮する。

kureakai
質問者

お礼

非常に細かな情報ありがとうごじました。 リナックス系のサーバー構築をしたことがなかったので、 論点がずれてました。

  • gtx456gtx
  • ベストアンサー率18% (194/1035)
回答No.3

>やはり、自動で割り当てというのは、サーバーを構築する人間としては問題だと思っています。 何故? 私は、過去に経験のないシステム構成の場合はデフォルトを選択するようにします。 前提として、テスト環境で暫く運用し、この内容を検討して本格稼動のシステムを再構築するということですが・・・ それでも最初に構築する際は、各パーティションの使用率を30%以下になるようにしています。 >利用用途としては、DMZでの利用、DBでの利用等を考えています。 DMZもDBも運用次第で、殆ど変化しない場合もあるし、次第に増加する場合もあるので・・・判断できるのご質問者様しかいないと思います。 また、パーティション分割も/bootなど単独でパーティションとした方が良いものを除いて、パーティション分割しない人と細かくパーティション分割する人に分かれて、どっちでも良いと思っていますが。 LVMなど利用するとパーティションを拡張することもできるので・・・パーティション分割に必要以上に拘りを持つ意味が無くなっているように思います。

kureakai
質問者

お礼

>LVMなど利用するとパーティションを拡張することもできるので・・・パーティション分割に必要以上に拘りを持つ意味が無くなっているように思います。 確かにおっしゃられると通りだとおもいました。 ありがとうございました。

  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.2

分割しなくてはならないというのが、今や勘違いですけどね。 ディレクトリーとしての分割や、クオータによる制限を考えると 一台のHDDを分割して使う必然性は無いのです。 古典的には、分割することが普通でしたし swapについては、異なるファイルシステムとして構築するのが標準なので 分割するのが今も普通です。 でも、たとえばUbuntuを自動インストールすると パーティションは、swapとシステムの2つしか作られませんし… それで、不都合に出会うことも、普通はありません。 Windowsでは、システムとデータの分割を、事前に計画する必然性がありますが… UNIX系のファイルシステム管理では、/dev/sda1の中にあった/homeを 容量不足で、別のHDDに変更しようという時にも OSでのマウント設定を変更するだけで、アプリケーションごとの設定や ディレクトリー記憶機構の整合性維持に手間がかかるということがありません。 (Windowsでは、各アプリについて、C:からD:への設定変更の手間がかかります) ですから、必要に応じて、後から変更することは自由ですし、困難ではありません。 パーティションを分割するデメリットとしては、既にとまどっている適切な容量割り当てや 物理的なシーク量の増大といった問題があります。 反面パーティション分割のメリットとしては、ファイルシステムチェックが短時間で終わる。 標準のext2,3,4以外のxfs,jfs,RaiserFSなど、用途に合わせて選択しやすい。 (起動パーティションには使えないファイルシステムもあります) 容量を、他の用途によって食いつぶされてシステムが異常動作することを避けやすい。 といったものがありますが…、そう大きなメリットでは無い場合も多いでしょう。 ジャーナリングファイルシステムではチェック時間も短めですしね。 一度、分割せずに運用してみて、ある程度経ってからduで状況を見れば どのディレクトリーにどのくらいの容量が必要なのかはわかると思います。 それで、容量不足に出会うようなことがあれば 追加HDDの運用として、はじめて割り当てを考えれば充分です。 私自身は、MythTVの大量ログファイルのトラブルくらいしか容量問題に出会ったことはありません。 そもそも、LinuxをデスクトップPCとして使う程度なら、10GBでも余裕なのですから… (ソースコードを展開することが多ければ、10GBでは全然足りませんけど…) ちなみに、MythTVを無計画に運用すると、/var/lib/mythtv/recordings,livetvが容量を食いつぶし /var/log/mythtvが容量を食いつぶし、/var/lib/mysqlの容量不足でMySQLが稼働不能になります。 myisamchkの世話にかかるようなことにもなります。 うちは、起動ディスクが64GBのSSDで、/var/lib/mythtvを別ディスクにしておいたんですが そこの空きが無くなったというエラーログを大量に吐き出して、/var自体が溢れたわけです orz これ、/varを別パーティションに分けていても、何の意味もありません。 ですから、こういう兼ね合いは、よくよく考えて、その上で分ける必要があります。 うちの例では、mythtvのログとMySQLのデータを、別々のパーティションに置くように パーティション分割を行なうか、あるいはログディレクトリーを クオータで制限することで解決できたのだろうと思います。 まぁ、引越先がデジアナ変換の無いアパートだったので 当面、MythTVは止めているんですけどね。 (そういうわけで、クオータの使い方は学んでいません。日常的には不要ですし)

kureakai
質問者

お礼

linuxサーバーを立てる=ディスクを割る。 という考えでいました。 非常に詳細な情報教えていただきありがとうございます。

関連するQ&A

  • Win98-Debian デュアルブート

    Windows98SE と Linux(Debian) とのデュアルブートを計画中です。解説書によるとブートローダーはHDDの先頭から8GB以内に置くのが良いとありましたので、次の様なパーティション構成を考えました。(先頭から) ・Win98システム関係+プログラム(3GB)/Linux /boot 部分(50MB)/その他のLinux領域(10GB)/Win98データファイル用(約17GB) (HDD容量30GB・Linux領域は適宜内部分割) この場合 Win98 用のパーティションが分断されますが問題はないでしょうか。 また、Win と Linux とを両方起動させておき、画面を切替える様な感じで使い分けることはできますでしょうか。 以上どちらかでも結構ですので、宜しくお願い致します。

  • 未割り当て領域について教えて下さい

    USBメモリーの未割り当て領域について。 USBにLinux mint(13)とXubuntu13.10をこの順番でインストールして無事デュアルブートにしました。Xubuntuを入れる時にパーティションの切り方を間違ったのか1GBの未使用領域が出来ています。このサイズを他のパーティション(出来ればスワップ領域)に取り込もうとしていますが上手く行きません。他のパーティションを削除せずに可能な方法が何か無いでしょうか。 現在の構成: sdb1 ext4 linux mint primary sdb2 linux sawap logical sdb3 ext4 boot primary sdb4 ext4 Xubuntu primary unallocated logical 尚、「パーティションは4つしか出来ない。full stop」或は「フォーマットしなければ使えない(フォーマット出来ない)」の回答を求めているのではありません。4つパーティションを切った結果出来てしまった未割り当て領域をどうすれば生かす事が出来るのか例えばどうすれば未割り当て領域をアクティブにし既存のパーティションの一つに入れ込む事が出来るのかが質問内容です。色々のソフトを使っていますが上手く行きません。USBメモリーの仕様で一旦全部削除するしか方法は無いのでしょうか。

  • パーティションについて教えてください。

    私は今windowsとlinuxのデュアルブートしています。そのさいパーティションは次のように振り分けました。windowsでは、システムが199.0MB,Cドライブが314GBです。linuxでは、システムがswap領域が約1GBで、それ以外が280GBです。全体が600GBくらいあったのでこのように振り分けましたが、今回またインストールし直そうと考えています。どのように振り分けたらよいかよければ助言をください。

  • パーティション作成で、予期しないエラーで作成できない

    Windows XP SP2です。 パーティション作成で下記のエラーメッセージが出ます。 予期しないエラーが発生しました。エラーの詳細については、システムイベントログを確認してください。 ディスク管理コンソールを閉じて、ディスク管理またはコンピュータを再起動してください。 イベントログでは、 ソース LDM ファイル名  dmadmin.exe 製品名 Logical Disk Manager for Windows NT パラメータが間違っています。 (80070057) 何か解決策はあるのでしょうか。 Webのここを参考にとか、何かあったら教えてほしいです。 160GBのディスクを下記のような、パーティションに区切り使用しております。 1.Windows XP 50GB 2.Fedora /boot 100MB 3.Vine Linux /boot 100MB 4.拡張パーティション 5.Fedora / 20GB 6.Vine Linux / 20GB 7.Fedora用swap 1GB 8.Vine Linux用swap 1GB 9.Debian用swap 1GB 10.Debian /boot 100MB 11.Debian / 20GB 12.FAT32 30GB ここで、残りをNTFSのパーティションを作ろうとしています。 このエラーが出ると同時に、6.~12.が削除されてしまいます。

  • このパーティションの切り方は適切ですか?

    Vine Linux で1台のマシンに Web&メールサーバーを組もうと思います。 これから新しいハードディスクにOSをインストールするのですが、 ・読み書きの多いディレクトリは専用のパーティションに置く ・読み書きの多いパーティションはハードディスクの先頭に近いほうがパフォーマンス的に良い という情報をどっかのサイトで見たので、 それにしたがってパーティションを切ろうと思っているのですが、 /dev/hda (合計80GB)   /dev/hda1   /boot  100MB   /dev/hda2   /var    4GB   /dev/hda3   swap    2GB   /dev/hda4   拡張領域     /dev/hda5 /usr    4GB     /dev/hda6 /     2GB     /dev/hda7 /home   68GB のような構成って適切でしょうか?

  • Redhat Linux5 について

    Redhat Linux5をインストールするとき、インストールパッケージの選択が可能ですが、そのパッケージはどのパーティションにインストールされるのでしょうか? パーティションは、/boot /usr /var /opt /home / swap が存在します。 /usrか/optかなぁ?と思うのですが、よろしくお願いします。

  • パーティション空き領域の結合

    /dev/sda1 1GB ....(1)SWAP領域 /dev/sda2 3GB ...."/" /dev/sda3 3GB ...."/home" /dev/sda4 10GB ....(2)空き 上記構成にパーティションを切り、Linux(ディストリビューションはSUSE)をインストールしたのですが、 (1)のSWAP領域を削除し、(2)の空き領域といっしょのパーティションとして別OSを入れようとしたのですが、 (1)のSWAP領域を削除しただけでは、(2)の空き領域とは別パーティションとして認識されてしまいます。 /dev/sda1 1GB ....(1)空き←SWAP削除して。 /dev/sda2 3GB ...."/" /dev/sda3 3GB ...."/home" /dev/sda4 10GB ....(2)空き 下記のように(1)の空き領域を(2)の空き領域に移動させることはできますか? /dev/sda2 3GB ...."/" /dev/sda3 3GB ...."/home" /dev/sda4 11GB ....(2)空き+(1)空き SWAP領域作成せずにパーティション切りなおしてLINUX再インストールは できればしたくありません。 ご教授お願いします。

  • swapって?

    Linuxをインストールする途中に、swap領域を設定っていうところがあったのですが、swapとはどういう役目をしているのでしょうか? あと、OpenOfficeをインストールしたのですが、日本語がすべて化けて表示されています・・・。インストールの最初の画面から化けてましたが、ちゃんとインストールする方法はありますでしょうか? もしなければアンインストールしようと思うのですが、僕が持っているLinuxの本では、アンインストールの行い方は一切書かれていません・・・。 それか単純にディレクトリをrmで消せばよいのでしょうか? 宜しくお願いします。

  • インストール時の手動構成

    linuxとかのインストールはしたことがあるのですが、 今回はじめてSolarisのインストールをしました。(Console sessionでインストールしました) ただ、DISKの分け方が分からないのです。 1点目:overlapがわかりません。 AutoLayoutで、作成したところ、overlapというものが作成されていました。 この領域にかなりほぼ割り当てDISKサイズ全てが割り当てられているように見えるのです。 カスタマイズしようにしても、インターネットで調べてみたところ 「この領域はさわるべきではない」等書かれていました。 ==割り当てられた領域(HDD 20GB)=== File sys Size / 6461 swap 517 overlap 20449 /export/home 13507 この領域「overlap」は何のためにあるのでしょうか。正直ほぼ全領域が使用されており 可能ならば、削除して、/varとかに割り当てたいのです。 2点目:手動で割り当てるときに作成するもの Manual Layoutで作成したいのですが、 何の領域を作成すればいいのでしょうか。 ttp://www.kkaneko.com/computer/solaris/sol9.html この人のサイトを参考に、 「/」「/var」「/usr」「/usr/local」「/opt」「/export/home」 ぐらいの領域を作成しようかと思っているのですが、「overlap」はいるのでしょうか? 以上2点です。 どなたかわかるかたご教授のほうよろしくお願いします。

  • Linuxのパーティションの分割についておしえてください

    Linuxをさわりはじめていますが、 インストールの時に設定するパーティション(領域)の分割について教えてください。 使っているものはCentOS5.1なのですが、 デフォルトの設定に従うと、以下のようになってしまいます。 swap 2G程度 /boot 100M程度 /   残りすべて(LVMで構築されている) 気になっているのは、「/」がLVMで構築されており、 危ないのではないかとおもう点です。 LVMは便利なので利用したいと思いますが、 「/」以外にすべきではないかとも考えています。 詳しい方、運用も考慮した場合 どのように領域を確保すべきがアドバイスをいただきたいと思います。 よろしくお願いします。