Handbook:Parts/Installation/Disks/ja

ブロックデバイス
Gentoo Linuxの、そしてLinux一般の、ブロックデバイス、パーティション、Linuxファイルシステムを含めた、ディスクやファイルシステム中心の考え方について詳しく見てみましょう. ディスクの入出力とファイルシステムについて理解することで、インストールのためのパーティションとファイルシステムを構築できるようになります.

まずはブロックデバイスについて見ていきます. SCSIドライブやシリアルATAドライブは両方ともや、などのようなデバイスハンドルとしてラベル付されます. 更にモダンなマシンでは、PCI ExpressベースのNVMeソリッドステートディスクは、、などのようなデバイスハンドルを持ちます.

下の表は、各種のブロックデバイスがシステム上のどこにあるかを判断するのに役立つでしょう:

上のブロックデバイスは、ディスクへの抽象的なインターフェースを表しています. ユーザープログラムはこれらのブロックデバイスを用いて、デバイスが SATA、SCSI、もしくは他のものであるかどうかを心配することなしにディスクと通信することができます. プログラムは容易にディスク上の記憶領域を、ランダムアクセスできる 4096 バイト (4K) ごとの連続領域としてアドレッシングできます.

はじめに
パーティションが作成できたら、その上にファイルシステムを作成します. 次の節ではLinuxがサポートする各種ファイルシステムを紹介します. どのファイルシステムを使うかをすでに決めているなら、パーティションにファイルシステムを適用するへ進みましょう. そうでなければ、次の節を読んで利用可能なファイルシステムについて知るのがよいでしょう.

ファイルシステム
Linux は多くのファイルシステムをサポートしていますが、それらの多くは特定の目的をもって配備するのが賢明なものです. 特定のファイルシステムのみが アーキテクチャ上で安定して動作するとされています - 重要なパーティションに実験的なファイルシステムを選択するときは、事前にファイルシステムのサポート状況を十分に知っておくことを推奨します. '''ext4 はすべてのプラットフォームで、すべての目的で推奨されるファイルシステムです. '''以下は、網羅的ではないリストです


 * btrfs
 * スナップショット、チェックサムによる自己修復、透過的圧縮、サブボリューム、RAIDの統合など、多くの先進機能を提供する次世代のファイルシステムです. 深刻な問題への対処がより新しい LTS カーネルブランチのリリースにしか含まれていないので、5.4.y より前のカーネルを btrfs と実運用するのは安全性の保証がありません. さらに古いカーネルブランチではファイルシステム破損の問題はよくあることで、4.4.y より古いものは特に危険で破損しやすいです. 古い (5.4.y より前の) カーネルでは、圧縮が有効化されているとより破損が発生しやすいです. RAID 5/6 とクオータグループは、btrfs のすべてのバージョンで安全ではありません. さらに btrfs では内部断片化 (空き領域が DATA + SYSTEM チャンクにピン留めされているが、METADATA チャンクが必要としている) のために、 が空き領域を報告したのに ENOSPC でファイルシステムの操作に失敗するという、直感に反することが起きることがあります. 加えて、a single 4K reference to a 128M extent inside btrfs は、空き領域が存在するが割り当てには利用できないということを引き起こすことがあります. これも  が空き領域を報告するのに btrfs は ENOSPC を返す原因になり得ます.  をインストールして定期的に実行するスクリプトを構成することで、btrfs をリバランスして ENOSPC 問題の可能性を減らすことができますが、空き領域が存在するのに ENOSPC のリスクは消えはしないでしょう. ENOSPC が発生するかは用途によります. 運用中の ENOSPC のリスクが許容できない場合は、別のものを使うべきです. btrfs を使うなら、問題が発覚している構成を避けることを確実にしてください. ENOSPC は例外として、最新のカーネルブランチに存在する問題にういての情報は btrfs wiki status page で確認できます.


 * ext4
 * もともと ext3 のフォークとして作られた ext4 は、新機能、パフォーマンスの向上と、ディスク上でのフォーマットの適度な変更による、サイズ制限の撤廃を提供します. ボリュームは1EBまで広げることができ、最大のファイルサイズは16TBです. 古典的なext2/3のbitmap block割当ての代わりに、ext4 はextentを使い、大きなファイルでのパフォーマンスを向上し、断片化を減らしています. ext4は他にもより洗練されたアロケーションアルゴリズム(遅延割当てと複数ブロック割当て)を提供し、ファイルシステムドライバーに、ディスク上のデータのレイアウトを最適化するより多くの方法を与えています. ext4 は推奨される、全目的、全プラットフォームのファイルシステムです.


 * f2fs
 * Flash-Friendly File Systemはもともと、SamsungによってNANDフラッシュメモリで利用するために作られました. 2016年Q2現在、このファイルシステムはまだ未熟なものと思われますが、GentooをmicroSDカードやUSBスティックや他のフラッシュベースの記憶装置にインストールする際にはすばらしい選択でしょう.


 * JFS
 * IBMの高パフォーマンスジャーナリングファイルシステムです. JFSは軽量、高速かつ信頼できる、B+木ベースのファイルシステムで、様々な条件で良いパフォーマンスが出ます.


 * XFS
 * メタデータジャーナリングのあるファイルシステムで、堅牢な機能セットを持ち、スケーラビリティに最適化されています. XFSはどうやら、様々なハードウェアの問題に対してはあまり寛大ではないようですが、継続的に新しい機能を取り入れるようにアップグレードしてきています.


 * VFAT
 * 別名FAT32. Linuxでサポートされていますが、標準的なUNIXパーミッションの設定をサポートしていません. ほとんど、他のOS(Microsoft WindowsまたはApple macOS)との相互運用性/交換のために使われていますが、いくつかのシステムブートローダーファームウェア(たとえばUEFI)でも必要になります. UEFIシステムを使用している場合は、システムをブートするためにはVFATでフォーマットされたEFIシステムパーティションが必要になるでしょう.


 * NTFS
 * この "New Technology" ファイルシステムは、Windows NT 3.1以降のMicrosoft Windowsのフラッグシップファイルシステムです. VFATと同様、BSDやLinuxが正しく動作するために必要なUNIXパーミッション設定や拡張属性を保持しないため、ほとんどの場合ルートファイルシステムとして使うべきではありません. Microsoft Windowsとの相互運用/交換のためにのみ使うべきです(のみの強調に注意してください).

パーティションにファイルシステムを適用する
パーティションまたはボリュームの上にファイルシステムを作成するには、ファイルシステムごとに異なるユーザースペースのユーティリティが利用可能です. 下表でファイルシステムの名前をクリックすると、それぞれに追加の情報が得られます：

例えば、パーティション構造例の通りに、ルートパーティション（）を ext4 として設定するには、次のコマンドが使えます:

ext4 を (8 GiB 未満の) 小さいパーティションに使用するときは、十分な inode 数を確保できるように適切なオプションを指定してファイルシステムを作成する必要があります. これは、各ファイルシステム毎に、以下のコマンドのうちのひとつを使用することで行えます:

上のコマンドは通常では、「inodeあたりのバイト数」を16kBから4kBに減らすので、ファイルシステムに4倍のinode数を確保できます.

それでは、新しく作成したパーティション（または論理ボリューム）にファイルシステムを作成しましょう.

スワップパーティションを有効にする
はスワップパーティションを初期化するために使われるコマンドです：

スワップパーティションを有効化するには、を使います：

上述のコマンドで、スワップを作成して有効化しましょう.

ルートパーティションのマウント
パーティションが初期化され、ファイルシステムを格納したので、それらのパーティションをマウントする時です. コマンドを使用しますが、作成されたすべてのパーティションに必要なマウントディレクトリを作成することを忘れないでください. 例として、 rootパーティションをマウントします.

このあと解説の中で、proc ファイルシステム(仮想的なカーネルとのインターフェース)が、他のカーネル擬似ファイルシステムと同様にマウントされますが、まず最初は、Gentooインストールファイルをインストールします.