Difference between revisions of "File Systems (日本語)"

From ArchWiki
Jump to: navigation, search
m (デバイスのフォーマット)
m
(One intermediate revision by the same user not shown)
Line 11: Line 11:
 
{{Article summary end}}
 
{{Article summary end}}
  
[[Wikipedia:File system|Wikipedia]] によると:
+
[[Wikipedia:ja:ファイルシステム|Wikipedia]] より:
 
:''ファイルシステムは、コンピュータのリソースを操作するための、オペレーティングシステムが持つ機能の一つ。ファイルシステムは抽象データ型の集まりであり、ストレージ、階層構造、データの操作/アクセス/検索のために実装されたものである。''
 
:''ファイルシステムは、コンピュータのリソースを操作するための、オペレーティングシステムが持つ機能の一つ。ファイルシステムは抽象データ型の集まりであり、ストレージ、階層構造、データの操作/アクセス/検索のために実装されたものである。''
  
Line 20: Line 20:
 
==ファイルシステムのタイプ==
 
==ファイルシステムのタイプ==
  
* [[Wikipedia:ext2|ext2]] '''Second Extended Filesystem''' は成熟した GNU/Linux ファイルシステムであり、非常に安定しています。欠点はジャーナリング(下で説明)と書き込みバリアをサポートしていないことです。ジャーナリングがないために電源を喪失したりクラッシュしたときにデータが消えてしまうことがあります。また root ({{ic|/}}) や {{ic|/home}} で使うとファイルシステムのチェックに長い時間がかかってしまいます。ext2 ファイルシステムは ext3 に変換可能です。
+
* [[Wikipedia:ja:ext2|ext2]] '''Second Extended Filesystem''' は成熟した GNU/Linux ファイルシステムであり、非常に安定しています。欠点はジャーナリング(下で説明)と書き込みバリアをサポートしていないことです。ジャーナリングがないために電源を喪失したりクラッシュしたときにデータが消えてしまうことがあります。また root ({{ic|/}}) や {{ic|/home}} で使うとファイルシステムのチェックに長い時間がかかってしまいます。ext2 ファイルシステムは ext3 に変換可能です。
 
* [[ext3]] '''Third Extended Filesystem''' は言うなればジャーナリングと書き込みバリアをサポートした ext2 です。ext2 と後方互換性があり、よくテストされていて、非常に安定しています。
 
* [[ext3]] '''Third Extended Filesystem''' は言うなればジャーナリングと書き込みバリアをサポートした ext2 です。ext2 と後方互換性があり、よくテストされていて、非常に安定しています。
 
* [[ext4]] '''Fourth Extended Filesystem''' は比較的新しいファイルシステムで、ext2 や ext3 と互換性があります。1エクサバイト(つまり1,048,576テラバイト)までのボリュームサイズと16テラバイトまでのファイルサイズをサポートしています。ext3 に比べサブディレクトリの限界が増え、64,000まで保持できます。オンラインでのデフラグも可能です。
 
* [[ext4]] '''Fourth Extended Filesystem''' は比較的新しいファイルシステムで、ext2 や ext3 と互換性があります。1エクサバイト(つまり1,048,576テラバイト)までのボリュームサイズと16テラバイトまでのファイルサイズをサポートしています。ext3 に比べサブディレクトリの限界が増え、64,000まで保持できます。オンラインでのデフラグも可能です。
* [[Wikipedia:ReiserFS|ReiserFS]] (V3) ハンス・ライザーによる高いパフォーマンスを誇るジャーナリングファイルシステムで、目新しい独創的なアルゴリズムでデータを管理します。ReiserFS はとても速いともてはやされていますが、特に小さいファイルを扱うときにそれは顕著です。ReiserFS はフォーマットも速いですが、マウントは比較的遅くなります。成熟していて安定しています。ReiserFS (V3) は現在では活発には開発されていません。{{ic|/var}} に使うのが一般的に良いと思われます。
+
* [[Wikipedia:ja:ReiserFS|ReiserFS]] (V3) ハンス・ライザーによる高いパフォーマンスを誇るジャーナリングファイルシステムで、目新しい独創的なアルゴリズムでデータを管理します。ReiserFS はとても速いともてはやされていますが、特に小さいファイルを扱うときにそれは顕著です。ReiserFS はフォーマットも速いですが、マウントは比較的遅くなります。成熟していて安定しています。ReiserFS (V3) は現在では活発には開発されていません。{{ic|/var}} に使うのが一般的に良いと思われます。
* [[Wikipedia:JFS (file system)|JFS]] IBM の '''Journaled File System''' はジャーナリング機能を持った最初のファイルシステムです。GNU/Linux に移植される前は IBM AIX® OS で長い間開発されていました。JFS は全ての GNU/Linux ファイルシステムの中で使用する CPU リソースが一番少ないです。フォーマット、マウント、ファイルシステムチェック (fsck) は高速です。JFS はデッドラインの I/O スケジューラと連携して全体的に良いパフォーマンスを発揮します。ext シリーズや ReiserFS ほどは広くサポートされていませんが、成熟して安定しています。{{Note|JFS ファイルシステムは '''gparted''' のようなディスクユーティリティではシュリンクできません。}}
+
* [[Wikipedia:ja:Journaled File System|JFS]] IBM の '''Journaled File System''' はジャーナリング機能を持った最初のファイルシステムです。GNU/Linux に移植される前は IBM AIX® OS で長い間開発されていました。JFS は全ての GNU/Linux ファイルシステムの中で使用する CPU リソースが一番少ないです。フォーマット、マウント、ファイルシステムチェック (fsck) は高速です。JFS はデッドラインの I/O スケジューラと連携して全体的に良いパフォーマンスを発揮します。ext シリーズや ReiserFS ほどは広くサポートされていませんが、成熟して安定しています。{{Note|JFS ファイルシステムは '''gparted''' のようなディスクユーティリティではシュリンクできません。}}
* [[Wikipedia:XFS|XFS]] は最古のジャーナリングファイルシステムの一つで、Silicon Graphics によって IRIX OS 向けに開発され GNU/Linux に移植されました。大きなファイルやファイルシステムを扱うのに速いパフォーマンスを発揮し、フォーマットやマウントも高速です。比較ベンチマークテストによると多数の小さいファイルを速く扱うのは苦手です。XFS は成熟していてオンライン・デフラグもできます。{{Note|XFS ファイルシステムは '''gparted''' のようなディスクユーティリティではシュリンクできません。}}
+
* [[Wikipedia:ja:XFS|XFS]] は最古のジャーナリングファイルシステムの一つで、Silicon Graphics によって IRIX OS 向けに開発され GNU/Linux に移植されました。大きなファイルやファイルシステムを扱うのに速いパフォーマンスを発揮し、フォーマットやマウントも高速です。比較ベンチマークテストによると多数の小さいファイルを速く扱うのは苦手です。XFS は成熟していてオンライン・デフラグもできます。{{Note|XFS ファイルシステムは '''gparted''' のようなディスクユーティリティではシュリンクできません。}}
* [[Wikipedia:File Allocation Table#VFAT|VFAT]] もしくは '''Virtual File Allocation Table''' は技術的にシンプルであり事実上全てのオペレーティングシステムでサポートされています。異なる OS 間でデータを共有するのにメモリーカードを利用するためにフォーマットするのに使えます。VFAT は長いファイル名をサポートしています。
+
* [[Wikipedia:ja:File Allocation Table#VFAT|VFAT]] もしくは '''Virtual File Allocation Table''' は技術的にシンプルであり事実上全てのオペレーティングシステムでサポートされています。異なる OS 間でデータを共有するのにメモリーカードを利用するためにフォーマットするのに使えます。VFAT は長いファイル名をサポートしています。
 
* [[Btrfs (日本語)]] またの名を "Better FS", '''Btrfs''' は新しいファイルシステムで Sun/Oracle の [[Wikipedia:ZFS|ZFS]] に似たパワフルな機能を備えています。機能としては、スナップショット、マルチディスク・ストライピング、ミラーリング (mdadm を使わないソフトウェア RAID)、チェックサム、増分バックアップ、容量の節約だけでなく優れたパフォーマンスも得られる透過圧縮などがあります。2011年1月現在、Btrfs は安定状態ではなく実験的なものとしてメインラインカーネルにマージされています。将来的に Btrfs は全てのメジャーなディストリビューションのインストーラで標準になる GNU/Linux ファイルシステム として期待されています。
 
* [[Btrfs (日本語)]] またの名を "Better FS", '''Btrfs''' は新しいファイルシステムで Sun/Oracle の [[Wikipedia:ZFS|ZFS]] に似たパワフルな機能を備えています。機能としては、スナップショット、マルチディスク・ストライピング、ミラーリング (mdadm を使わないソフトウェア RAID)、チェックサム、増分バックアップ、容量の節約だけでなく優れたパフォーマンスも得られる透過圧縮などがあります。2011年1月現在、Btrfs は安定状態ではなく実験的なものとしてメインラインカーネルにマージされています。将来的に Btrfs は全てのメジャーなディストリビューションのインストーラで標準になる GNU/Linux ファイルシステム として期待されています。
* [[Wikipedia:NILFS|NILFS2]] '''New Implementation of a Log-structured File System''' は NTT により開発されました。NILFS は連続的なログのようなフォーマットですべてのデータを書き込み、それらは追記されるのみで、決して上書きされません。従来の Linux ファイルシステムで起こるデータ損失を最小限にするのと同様にシーク時間を減らすように設計されています。
+
* [[Wikipedia:ja:NILFS|NILFS2]] '''New Implementation of a Log-structured File System''' は NTT により開発されました。NILFS は連続的なログのようなフォーマットですべてのデータを書き込み、それらは追記されるのみで、決して上書きされません。従来の Linux ファイルシステムで起こるデータ損失を最小限にするのと同様にシーク時間を減らすように設計されています。
 
* [[Swap (日本語)]] は swap パーティションに使われるファイルシステムです。
 
* [[Swap (日本語)]] は swap パーティションに使われるファイルシステムです。
* [[Wikipedia:NTFS|NTFS]] - Windows で使われるファイルシステム。マウントするための多くのユーティリティがあります(例えば [[NTFS-3G]])。
+
* [[Wikipedia:ja:NT File System|NTFS]] - Windows で使われるファイルシステム。マウントするための多くのユーティリティがあります (例えば [[NTFS-3G]])。
  
 
===ジャーナリング===
 
===ジャーナリング===
  
ext2 を除いた上記の全てのファイルシステムは[http://en.wikipedia.org/wiki/Journaling_file_system ジャーナリング]をします。ジャーナリングによってファイルシステムに移される前に変更を記録することで障害から復旧できます。システムがクラッシュしたり電源を喪失した時、これらのファイルシステムは素早く復旧しほとんどの場合で破損しません。記録スペースがファイルシステムに作られます。
+
ext2 を除いた上記の全てのファイルシステムは[http://ja.wikipedia.org/wiki/ジャーナリングファイルシステム ジャーナリング]をします。ジャーナリングによってファイルシステムに移される前に変更を記録することで障害から復旧できます。システムがクラッシュしたり電源を喪失した時、ファイルシステムは素早く復旧しほとんど破損しません。記録スペースがファイルシステムに作られます。
  
 
全てのジャーナリング技術は同じというわけではありません。ext3 と ext4 はデータモード・ジャーナリングを行うことができ、データとメタデータ両方を記録します。データモード・ジャーナリングは速度が遅くなるのでデフォルトでは無効にされています。他のファイルシステムはオーダーモード・ジャーナリングを提供し、メタデータのみを記録します。クラッシュのあとジャーナリングによってファイルシステムを正常にもどす際、データモード・ジャーナリングはデータの喪失や変造を最大限に防ぎます。しかし代わりにパフォーマンスを妥協する必要があります。データモード・ジャーナリングは2つの書き込み命令を使っています: 初めはジャーナルに、次にディスクに行います。ファイルシステムのタイプを選ぶ時はシステムのスピードとデータの安全性のトレードオフを考えて下さい。
 
全てのジャーナリング技術は同じというわけではありません。ext3 と ext4 はデータモード・ジャーナリングを行うことができ、データとメタデータ両方を記録します。データモード・ジャーナリングは速度が遅くなるのでデフォルトでは無効にされています。他のファイルシステムはオーダーモード・ジャーナリングを提供し、メタデータのみを記録します。クラッシュのあとジャーナリングによってファイルシステムを正常にもどす際、データモード・ジャーナリングはデータの喪失や変造を最大限に防ぎます。しかし代わりにパフォーマンスを妥協する必要があります。データモード・ジャーナリングは2つの書き込み命令を使っています: 初めはジャーナルに、次にディスクに行います。ファイルシステムのタイプを選ぶ時はシステムのスピードとデータの安全性のトレードオフを考えて下さい。

Revision as of 05:49, 7 March 2013

概括 help replacing me
利用できるファイルシステムの種類の概要。
関連記事
Partitioning (日本語)

Wikipedia より:

ファイルシステムは、コンピュータのリソースを操作するための、オペレーティングシステムが持つ機能の一つ。ファイルシステムは抽象データ型の集まりであり、ストレージ、階層構造、データの操作/アクセス/検索のために実装されたものである。

個々のドライブパーティションに、多くのファイルシステムのなかから1つを設定することができます。ファイルシステムはそれぞれにメリット、デメリット、特徴があります。ここではサポートされているファイルシステムの概要を記述します。より多くの情報を見るには Wikipedia へのリンクを辿って下さい。

フォーマットする前に、ドライブはパーティションされている必要があります。

ファイルシステムのタイプ

  • ext2 Second Extended Filesystem は成熟した GNU/Linux ファイルシステムであり、非常に安定しています。欠点はジャーナリング(下で説明)と書き込みバリアをサポートしていないことです。ジャーナリングがないために電源を喪失したりクラッシュしたときにデータが消えてしまうことがあります。また root (/) や /home で使うとファイルシステムのチェックに長い時間がかかってしまいます。ext2 ファイルシステムは ext3 に変換可能です。
  • ext3 Third Extended Filesystem は言うなればジャーナリングと書き込みバリアをサポートした ext2 です。ext2 と後方互換性があり、よくテストされていて、非常に安定しています。
  • ext4 Fourth Extended Filesystem は比較的新しいファイルシステムで、ext2 や ext3 と互換性があります。1エクサバイト(つまり1,048,576テラバイト)までのボリュームサイズと16テラバイトまでのファイルサイズをサポートしています。ext3 に比べサブディレクトリの限界が増え、64,000まで保持できます。オンラインでのデフラグも可能です。
  • ReiserFS (V3) ハンス・ライザーによる高いパフォーマンスを誇るジャーナリングファイルシステムで、目新しい独創的なアルゴリズムでデータを管理します。ReiserFS はとても速いともてはやされていますが、特に小さいファイルを扱うときにそれは顕著です。ReiserFS はフォーマットも速いですが、マウントは比較的遅くなります。成熟していて安定しています。ReiserFS (V3) は現在では活発には開発されていません。/var に使うのが一般的に良いと思われます。
  • JFS IBM の Journaled File System はジャーナリング機能を持った最初のファイルシステムです。GNU/Linux に移植される前は IBM AIX® OS で長い間開発されていました。JFS は全ての GNU/Linux ファイルシステムの中で使用する CPU リソースが一番少ないです。フォーマット、マウント、ファイルシステムチェック (fsck) は高速です。JFS はデッドラインの I/O スケジューラと連携して全体的に良いパフォーマンスを発揮します。ext シリーズや ReiserFS ほどは広くサポートされていませんが、成熟して安定しています。
    Note: JFS ファイルシステムは gparted のようなディスクユーティリティではシュリンクできません。
  • XFS は最古のジャーナリングファイルシステムの一つで、Silicon Graphics によって IRIX OS 向けに開発され GNU/Linux に移植されました。大きなファイルやファイルシステムを扱うのに速いパフォーマンスを発揮し、フォーマットやマウントも高速です。比較ベンチマークテストによると多数の小さいファイルを速く扱うのは苦手です。XFS は成熟していてオンライン・デフラグもできます。
    Note: XFS ファイルシステムは gparted のようなディスクユーティリティではシュリンクできません。
  • VFAT もしくは Virtual File Allocation Table は技術的にシンプルであり事実上全てのオペレーティングシステムでサポートされています。異なる OS 間でデータを共有するのにメモリーカードを利用するためにフォーマットするのに使えます。VFAT は長いファイル名をサポートしています。
  • Btrfs (日本語) またの名を "Better FS", Btrfs は新しいファイルシステムで Sun/Oracle の ZFS に似たパワフルな機能を備えています。機能としては、スナップショット、マルチディスク・ストライピング、ミラーリング (mdadm を使わないソフトウェア RAID)、チェックサム、増分バックアップ、容量の節約だけでなく優れたパフォーマンスも得られる透過圧縮などがあります。2011年1月現在、Btrfs は安定状態ではなく実験的なものとしてメインラインカーネルにマージされています。将来的に Btrfs は全てのメジャーなディストリビューションのインストーラで標準になる GNU/Linux ファイルシステム として期待されています。
  • NILFS2 New Implementation of a Log-structured File System は NTT により開発されました。NILFS は連続的なログのようなフォーマットですべてのデータを書き込み、それらは追記されるのみで、決して上書きされません。従来の Linux ファイルシステムで起こるデータ損失を最小限にするのと同様にシーク時間を減らすように設計されています。
  • Swap (日本語) は swap パーティションに使われるファイルシステムです。
  • NTFS - Windows で使われるファイルシステム。マウントするための多くのユーティリティがあります (例えば NTFS-3G)。

ジャーナリング

ext2 を除いた上記の全てのファイルシステムはジャーナリングをします。ジャーナリングによってファイルシステムに移される前に変更を記録することで障害から復旧できます。システムがクラッシュしたり電源を喪失した時、ファイルシステムは素早く復旧しほとんど破損しません。記録スペースがファイルシステムに作られます。

全てのジャーナリング技術は同じというわけではありません。ext3 と ext4 はデータモード・ジャーナリングを行うことができ、データとメタデータ両方を記録します。データモード・ジャーナリングは速度が遅くなるのでデフォルトでは無効にされています。他のファイルシステムはオーダーモード・ジャーナリングを提供し、メタデータのみを記録します。クラッシュのあとジャーナリングによってファイルシステムを正常にもどす際、データモード・ジャーナリングはデータの喪失や変造を最大限に防ぎます。しかし代わりにパフォーマンスを妥協する必要があります。データモード・ジャーナリングは2つの書き込み命令を使っています: 初めはジャーナルに、次にディスクに行います。ファイルシステムのタイプを選ぶ時はシステムのスピードとデータの安全性のトレードオフを考えて下さい。

デバイスのフォーマット

Warning: フォーマットはデバイスの全てのデータを消去します。保持したいデータはバックアップを取って下さい。

要件

はじめる前に、Linux がつけたデバイスの名前を知る必要があります。ハードドライブや USB スティックは /dev/sdx のように表示され、"x" は小文字の英字で、パーティションは /dev/sdxY のように表示され、"Y" は数字です。

フォーマットしたいデバイスがマウントされているなら、次のコマンドの MOUNTPOINT カラムに表示されます:

$ lsblk

デバイスがマウントされていない時は:

# mount /dev/sdxY /some/directory

umount をマウントしたディレクトリに使うことでアンマウントできます:

# umount /some/directory
Note: 新しいファイルシステムを作ったりフォーマットするにはデバイスがアンマウントされていなければなりません。

Step 1: 古いパーティションを削除し新しいパーティションを作る

これには fdisk (MBR用) か gdisk (GPT用) を使います。詳しくは Partitioning (日本語) を見て下さい。

Step 2: 新しいファイルシステムを作る

コンソールで

ファイルシステムを作るには mkfs を使います:

# mkfs -t ext4 /dev/<partition>

mkfs は異なる mkfs.fstype ツールを使うための統合フロントエンドであり、使いたいファイルシステムにあわせてツールが含まれるパッケージをインストールする必要があります:

GUI ツール

パーティション管理のための GUI ツールがいくつかあります: