今回は、Linuxのパーティションについて考えてみようと思います。
パーティションとは
コンピュータのハードディスクのパーティション (Partition) とは、ハードディスクの記憶領域を論理的に分割すること、あるいは分割された個々の領域を指す。パーティションを作成することをパーティショニング (Partitioning) ともいう。
wikiより引用
普段Linuxをインストールする際に自動でパーティションを区切ることが多いので、パーティションがどのように区切られているか把握していないことが多くありますが、/var
や/root
、/usr
などがあります。
パーティションの構造
LinuxはプログラムやOSのよってパーティションを分け、その中にファイルを保存していたりします。
Ubuntu22.04の場合は、以下のようなパーティション構成になっています。
- /usr : インストールしたプログラムなどが置かれている領域。
- /var : ログなどのデータを保存する領域。再起動しても消えない。
- /swapfile : swap用の領域。
- /boot : Linuxがbootする際に最初に読まれる領域。
- /etc : 設定ファイル等が保存されている領域。
- /home : ユーザデータ(ドキュメントやダウンロードなど)が保存されている領域。
- /tmp : テンポラリデータを保存する領域。再起動などで消える。
- /snap : snapアプリケーションが配置される領域。
- /media : USBなどのリムーバブルディスクが表示される領域。
- /mnt : 一時的なマウントポイント用の領域。
- /cdrom : CD-ROMをマウントする領域。
- /opt : 実行時に書き換えが発生しないアプリケーションの領域。
- /srv : FTPやApacheで使用するユーザ毎の領域。
インストール直後の容量と考慮事項
Ubuntu 22.04をインストールして、アップデートをかけた後の容量は以下の通りです。
フォルダ名 | インストール後容量 | 備考 |
usr | 5.8GB | ソフトウェアのインストール容量考慮。 |
var | 2.7GB | ログの保管ポリシーを考慮。 |
swapfile | 2.1GB | 搭載メモリ量により可変。 |
boot | 171.6MB | – |
etc | 17.3MB | インストールするソフトウェア数により可変。 |
home | 15.9MB | ユーザデータを保存する量により可変。 |
tmp | 77.8KB | – |
snap | 45.1KB | インストールするソフトウェア数により可変。 |
media | 8.21KB | マウントポイントのため、考慮不要。 |
mnt | 4.1KB | マウントポイントのため、考慮不要。 |
cdrom | 4.1KB | マウントポイントのため、考慮不要。 |
opt | 4.1KB | – |
srv | 4.1KB | – |
基本的には、目的により容量は可変になります。
これがDBサーバなのか、Webサーバなのか、デスクトップ用途なのかで方針がだいぶ変わります。
各容量のサイジング
経験的に、これくらいあればよいかな?というものを中の人の主観と薄っぺらい根拠を元に必要になるであろう容量を算出していきたいともいます。
なお、トータルのディスクは60GBを目安に決定していきます。
フォルダ名 | 必要量量 | サイジング根拠 |
usr | 10GB~ | インストールするソフトウェアの容量にもよるが、デフォルトで5.8GB消費していることから、10GBもあればある程度の環境は問題ない。インストールするソフトウェアのサイズにより、+αで設定する。 |
var | 5GB~10GB | ログが保存されることから、容量は多めに見積もってもよい。 自宅サーバで使用しているログのデータが5~8GB程度なので、それ以上確保しておけば問題ないと思う。(実際は出力されるログの行数と容量により勘定する。) ただ、DBなどをインストールすると、この領域が使用される場合があるため、DBをインストールする際は容量を多くとったほうが良い。 |
swapfile | 4GB~ | swapは搭載メモリ量により、可変となる。 基本的に搭載しているメモリの量と同程度取っておけば問題ない。 |
boot | 300MB~500MB | ブートローダの領域のため、そこまで多く必要としない。 |
etc | 1GB | 主に設定ファイルが置かれていることから、そこまで多くなくてもよい。 |
home | 2GB~ | Homeディレクトリを多用するデスクトップ環境などでは、容量を多くとることを推奨。 Windowsでいうところのユーザプロファイル領域だと思えばよい。 10GB必要な人もいれば1GBで十分な人もいる。 |
tmp | 1GB | 再起度されると消えることから、多くの容量は必要ないと思う。適当に1GBぐらい確保しておけばいいかなーぐらいの感覚。 |
snap | 5GB~ | これはsnapインストールをする場合に必要になる領域のため、インストールするソフトウェア数により、可変。 |
media | 0B | 極小サイズのためサイジング不要。 |
mnt | 0B | 極小サイズのためサイジング不要。 |
cdrom | 0B | 極小サイズのためサイジング不要。 |
opt | 0B | 極小サイズのためサイジング不要。 |
srv | 0B | 必要に応じて+αで容量を確保する。 |
環境によりけりですが、普段使いであればこの程度でよいのではないでしょうか。
ただ、実際に本番環境に適用するためにはそれなりの根拠が必要となるので、ちゃんとサイジングしないといけない気がしますが・・・
まとめ
今回は、Linuxのパーティショニングはどのような方針でサイジングすればよいか?を簡単に説明してみました。
Linuxの環境により可変な部分が多いですが、根本的な考え方は変わらないので、必要な部分に必要な量を優先順位をつけてサイジングする。ということが大切になってきます。(ディスク容量も無料ではないので。)
なお、このサイジング方針にはいろいろな異議があると思いますので、一つの方針としてとらえていただければ幸いです。
おまけ
本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
willserverのnoteも開設したのでフォローお願いします。
コメント