「Ext4」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
34行目: 34行目:
 
====理由====
 
====理由====
   
  +
ext4 を完全に変換する案と ext3 をそのまま使用する案の折衷案として、既存の ext3 パーティションを ext4 としてマウントする方法があります。
A compromise between fully converting to ext4 and simply remaining with ext3 is to mount existing ext3 partitions as ext4.
 
   
'''Pros:'''
+
'''利点:'''
  +
* 互換性 (ext3 としてファイルシステムをマウントできます) – ext4 のサポートがないオペレーティングシステムからもファイルシステムを読み込むことが可能です (例: Windows の ext3 ドライバー)
* Compatibility (the filesystem can continue to be mounted as ext3) – This allows users to still read the filesystem from other operating systems without ext4 support (e.g. Windows with ext3 drivers)
 
* Improved performance (though not as much as a fully-converted ext4 partition) – See [http://kernelnewbies.org/Ext4 Ext4 - Linux Kernel Newbies] for details
+
* パフォーマンスが向上 (ext4 パーティションに完全に変換するのよりは劣ります) – 詳しくは [http://kernelnewbies.org/Ext4 Ext4 - Linux Kernel Newbies] を見て下さい
   
'''Cons:'''
+
'''欠点:'''
  +
* ext4 の機能を全て活用することはできません (マルチブロックアロケーションや遅延アロケーションなどのディスクフォーマットに変更を与える機能は使えません)
* Fewer features of ext4 are used (only those that do not change the disk format such as multiblock allocation and delayed allocation)
 
   
 
{{Note|Except for the relative novelty of ext4 (which can be seen as a risk), '''there is no major drawback to this technique'''.}}
 
{{Note|Except for the relative novelty of ext4 (which can be seen as a risk), '''there is no major drawback to this technique'''.}}
47行目: 47行目:
 
====方法====
 
====方法====
   
# Edit {{ic|/etc/fstab}} and change the 'type' from ext3 to ext4 for any partitions you would like to mount as ext4.
+
# {{ic|/etc/fstab}} を編集して ext4 としてマウントしたいパーティションの 'type' ext3 から ext4 に変更してください。
  +
# 変更したパーティションを再マウントします。
# Re-mount the affected partitions.
 
   
 
===ext3 パーティションを ext4 に変換===
 
===ext3 パーティションを ext4 に変換===
54行目: 54行目:
 
====理由====
 
====理由====
   
  +
ext4 の能力を活かすには、非可逆の変換をする必要があります。
To experience the benefits of ext4, an irreversible conversion process must be completed.
 
   
'''Pros:'''
+
'''利点:'''
* Improved performance and new features – See [http://kernelnewbies.org/Ext4 Ext4 - Linux Kernel Newbies] for details
+
* パフォーマンスの向上と新機能 – 詳しくは [http://kernelnewbies.org/Ext4 Ext4 - Linux Kernel Newbies] を見て下さい
   
'''Cons:'''
+
'''欠点:'''
  +
* Ext2Explore による読み取り専用アクセスは Windows から出来ますが、今のところデータを書き込むためのドライバーは存在しません。
* Read-only access from Windows can be provided by Ext2Explore, but there is currently no driver for writing data.
 
  +
* 一方通行 (ext4 パーティションを ext3 に'ダウングレード'することはできません)
* Irreversible (ext4 partitions cannot be 'downgraded' to ext3)
 
   
 
====方法====
 
====方法====
   
These instructions were adapted from http://ext4.wiki.kernel.org/index.php/Ext4_Howto and https://bbs.archlinux.org/viewtopic.php?id=61602.
+
以下の手順は http://ext4.wiki.kernel.org/index.php/Ext4_Howto https://bbs.archlinux.org/viewtopic.php?id=61602 から引用しています。
 
{{Warning|ext4 is backwards-compatible with ext3 until extent and other unique options are enabled. Note, however, that there are fewer benefits to using ext4 if the partition is not fully converted.}}
 
{{Warning|ext4 is backwards-compatible with ext3 until extent and other unique options are enabled. Note, however, that there are fewer benefits to using ext4 if the partition is not fully converted.}}
   
72行目: 72行目:
 
# Boot the live medium (if necessary). The conversion process with {{Ic|e2fsprogs}} must be done when the drive is not mounted. If converting one's root (/) partition, the simplest way to achieve this is to boot from some other live medium.
 
# Boot the live medium (if necessary). The conversion process with {{Ic|e2fsprogs}} must be done when the drive is not mounted. If converting one's root (/) partition, the simplest way to achieve this is to boot from some other live medium.
 
# Ensure the partition is '''NOT''' mounted
 
# Ensure the partition is '''NOT''' mounted
# Run {{Ic|tune2fs -O extent,uninit_bg,dir_index /dev/the_partition}} (where {{Ic|/dev/sdxX}} is replaced by the path to the desired partition, such as {{Ic|/dev/sda1}})
+
# {{Ic|tune2fs -O extent,uninit_bg,dir_index /dev/sdxX}} を実行 ({{Ic|/dev/sdxX}} は変換するパーティションのパスに置き換えて下さい、例: {{Ic|/dev/sda1}})
# Run {{Ic|fsck -f /dev/sdxX}}
+
# {{Ic|fsck -f /dev/sdxX}} を実行
# Recommended: mount the partition and run {{Ic|e4defrag -c -v /dev/sdxX}}.
+
# 推奨: パーティションをマウントして {{Ic|e4defrag -c -v /dev/sdxX}} を実行
# Reboot Arch Linux!
+
# Arch Linux を再起動してください
   
 
{{Note|The user '''MUST''' fsck the filesystem, or it will be unreadable! This fsck run is needed to return the filesystem to a consistent state. '''It WILL find checksum errors in the group descriptors''' -- this is expected. The '-f' parameter asks fsck to force checking even if the file system seems clean. The '-p' parameter asks fsck to 'automatically repair' (otherwise, the user will be asked for input for each error).
 
{{Note|The user '''MUST''' fsck the filesystem, or it will be unreadable! This fsck run is needed to return the filesystem to a consistent state. '''It WILL find checksum errors in the group descriptors''' -- this is expected. The '-f' parameter asks fsck to force checking even if the file system seems clean. The '-p' parameter asks fsck to 'automatically repair' (otherwise, the user will be asked for input for each error).
86行目: 86行目:
 
===予約ブロックの削除===
 
===予約ブロックの削除===
   
  +
デフォルトでは、ファイルシステムの 5% はフラグメントが起こらないように root ユーザーに予約されます。最近の大容量ディスクでは、パーティションを長期保存アーカイブとして使う場合、5%は必要以上に大きい値となります (詳しくは [http://www.redhat.com/archives/ext3-users/2009-January/msg00026.html このメール] を見て下さい)。パーティションが以下の条件を満たしているならば、ディスク容量を増やすために予約ブロックの割合を減らしても大抵は問題ありません:
By default 5% of a filesystem will be flagged as reserved for root user to avoid fragmentation. For modern high-capacity disks, this is higher than necessary if the partition is used as long-term archive (see [http://www.redhat.com/archives/ext3-users/2009-January/msg00026.html this email] for more info). It is generally safe to reduce the percentage of reserved blocks to free up disk space when the partition is either
 
   
  +
*パーティションがとても大きい (例えば 50GB 以上)
*Very large (for example >50 G)
 
  +
*長期保存用のアーカイブとして使っている、頻繁にファイルを作成したり削除することがない
*Used as long-term archive, i.e., where files will not be deleted and created very often
 
   
  +
予約ブロックを削減するには tune2fs ユーティリティを使います。次のコマンドは {{ic|/dev/sdXY}} パーティションの予約ブロックの割合を 1.0% に設定します:
Use the tune2fs utility to do this. The command below would set the percentage of reserved blocks on the partition /dev/sdXY to 1.0%:
 
   
 
tune2fs -m 1.0 /dev/sdXY
 
tune2fs -m 1.0 /dev/sdXY
   
  +
findmnt(8) を使うことでデバイスの名前を確認できます:
If you need to find your drive's device name, issue the following command:
 
   
  +
findmnt /the/mount/point
df -T | awk '{print $1,$2,$NF}' | grep "^/dev"
 
   
 
=== E4rat ===
 
=== E4rat ===
   
  +
[[E4rat]] は ext4 ファイルシステム用に作られたプリロードアプリケーションです。[[E4rat]] は起動時に開かれるファイルを記録して、アクセス時間が短縮されるようにパーティションにおけるファイルの配置を最適化します。そして起動時の初期段階でファイルを先読みします。[[E4rat]] は [[SSD]] を使っている場合は効果がありません。SSD のアクセス時間はハードディスクと比べると無視できるほどしかないためです。
[[E4rat|E4rat]] is a preload application designed for the ext4 filesystem. It monitors files opened during boot, optimizes their placement on the partition to improve access time, and preloads them at the very beginning of the boot process. [[E4rat|E4rat]] does not offer improvements with [[SSD|SSD]]s, whose access time is negligible compared to hard disks.
 
   
 
==トラブルシューティング==
 
==トラブルシューティング==
114行目: 114行目:
 
{{Warning|Disabling barriers when disks cannot guarantee caches are properly written in case of power failure can lead to severe file system corruption and data loss.}}
 
{{Warning|Disabling barriers when disks cannot guarantee caches are properly written in case of power failure can lead to severe file system corruption and data loss.}}
   
  +
バリアをオフにしたいときは {{ic|/etc/fstab}} の変更したいファイルシステムに {{Ic|1=barrier=0}} オプションを追加してください。例:
To turn barriers off add the option {{Ic|1=barrier=0}} to the desired filesystem in {{ic|/etc/fstab}}. For example:
 
   
 
# /dev/sda5 / ext4 noatime,barrier=0 0 1
 
# /dev/sda5 / ext4 noatime,barrier=0 0 1

2015年2月3日 (火) 19:45時点における版

関連記事

Ext4 は Linux で一番よく使われているファイルシステム、Ext3 の発展版です。多くの点で、Ext3 から Ext4 になって Ext2 から Ext3 に進んだときよりも大きな改善がされています。Ext3 では Ext2 にジャーナリングを追加したのがほとんどでしたが、Ext4 ではファイルデータを保存するファイルシステムの重要なデータ構造にメスが入っています。その結果、改良された設計、優れたパフォーマンス、信頼性、機能性を備えたファイルシステムが誕生しました。

ソース: Ext4 - Linux Kernel Newbies

新しく ext4 ファイルシステムを作成

パーティションをフォーマットするには次を実行:

# mkfs.ext4 /dev/partition
ヒント: オプションについては mkfs.ext4 の man ページを見て下さい。/etc/mke2fs.conf を編集すればデフォルトのオプションを見たり設定できます。

デフォルトでは、mkfs.ext4 はやや低めの比率の bytes-per-inode を使って、作成される inode の定量を計算します。容量が 750GB 以上のパーティションではこれだと inode 番号が大きくなりすぎて、ディスク容量の無駄になります。比率は -i オプションで直接設定することができます。1/6291456 なら 2TB のパーティションで 476928 の inode になります。

ext3 から ext4 に移行

ext3 パーティションを変換せずに ext4 としてマウント

理由

ext4 を完全に変換する案と ext3 をそのまま使用する案の折衷案として、既存の ext3 パーティションを ext4 としてマウントする方法があります。

利点:

  • 互換性 (ext3 としてファイルシステムをマウントできます) – ext4 のサポートがないオペレーティングシステムからもファイルシステムを読み込むことが可能です (例: Windows の ext3 ドライバー)
  • パフォーマンスが向上 (ext4 パーティションに完全に変換するのよりは劣ります) – 詳しくは Ext4 - Linux Kernel Newbies を見て下さい

欠点:

  • ext4 の機能を全て活用することはできません (マルチブロックアロケーションや遅延アロケーションなどのディスクフォーマットに変更を与える機能は使えません)
ノート: Except for the relative novelty of ext4 (which can be seen as a risk), there is no major drawback to this technique.

方法

  1. /etc/fstab を編集して ext4 としてマウントしたいパーティションの 'type' を ext3 から ext4 に変更してください。
  2. 変更したパーティションを再マウントします。

ext3 パーティションを ext4 に変換

理由

ext4 の能力を活かすには、非可逆の変換をする必要があります。

利点:

欠点:

  • Ext2Explore による読み取り専用アクセスは Windows から出来ますが、今のところデータを書き込むためのドライバーは存在しません。
  • 一方通行 (ext4 パーティションを ext3 に'ダウングレード'することはできません)

方法

以下の手順は http://ext4.wiki.kernel.org/index.php/Ext4_Howtohttps://bbs.archlinux.org/viewtopic.php?id=61602 から引用しています。

警告: ext4 is backwards-compatible with ext3 until extent and other unique options are enabled. Note, however, that there are fewer benefits to using ext4 if the partition is not fully converted.
  1. BACK-UP! Back-up all data on any ext3 partitions that are to be converted to ext4. A useful package for this, especially for / (root) partitions, is Clonezilla.
  2. Edit /etc/fstab and change the 'type' from ext3 to ext4 for any partitions that are to be converted to ext4.
  3. Boot the live medium (if necessary). The conversion process with e2fsprogs must be done when the drive is not mounted. If converting one's root (/) partition, the simplest way to achieve this is to boot from some other live medium.
  4. Ensure the partition is NOT mounted
  5. tune2fs -O extent,uninit_bg,dir_index /dev/sdxX を実行 (/dev/sdxX は変換するパーティションのパスに置き換えて下さい、例: /dev/sda1)
  6. fsck -f /dev/sdxX を実行
  7. 推奨: パーティションをマウントして e4defrag -c -v /dev/sdxX を実行
  8. Arch Linux を再起動してください
ノート: The user MUST fsck the filesystem, or it will be unreadable! This fsck run is needed to return the filesystem to a consistent state. It WILL find checksum errors in the group descriptors -- this is expected. The '-f' parameter asks fsck to force checking even if the file system seems clean. The '-p' parameter asks fsck to 'automatically repair' (otherwise, the user will be asked for input for each error). You may need to run fsck -f rather than fsck -fp.
ノート: Even though the filesystem is now converted to ext4, all files that have been written before the conversion do not yet take advantage of the extent option of ext4, which will improve large file performance and reduce fragmentation and filesystem check time. In order to fully take advantage of ext4, all files would have to be rewritten on disk. Use e4defrag to take care of this problem.
警告: If the user converted their root (/) partition, a kernel panic may be encountered when attempting to boot. If this happens, simply reboot using the 'fallback' initial ramdisk and re-create the 'default' initial ramdisk: mkinitcpio -p linux

Tips and tricks

予約ブロックの削除

デフォルトでは、ファイルシステムの 5% はフラグメントが起こらないように root ユーザーに予約されます。最近の大容量ディスクでは、パーティションを長期保存アーカイブとして使う場合、5%は必要以上に大きい値となります (詳しくは このメール を見て下さい)。パーティションが以下の条件を満たしているならば、ディスク容量を増やすために予約ブロックの割合を減らしても大抵は問題ありません:

  • パーティションがとても大きい (例えば 50GB 以上)
  • 長期保存用のアーカイブとして使っている、頻繁にファイルを作成したり削除することがない

予約ブロックを削減するには tune2fs ユーティリティを使います。次のコマンドは /dev/sdXY パーティションの予約ブロックの割合を 1.0% に設定します:

tune2fs -m 1.0 /dev/sdXY

findmnt(8) を使うことでデバイスの名前を確認できます:

findmnt /the/mount/point

E4rat

E4rat は ext4 ファイルシステム用に作られたプリロードアプリケーションです。E4rat は起動時に開かれるファイルを記録して、アクセス時間が短縮されるようにパーティションにおけるファイルの配置を最適化します。そして起動時の初期段階でファイルを先読みします。E4ratSSD を使っている場合は効果がありません。SSD のアクセス時間はハードディスクと比べると無視できるほどしかないためです。

トラブルシューティング

バリアとパフォーマンス

カーネル 2.6.30 から、データの整合性を確保するのに役立つ変更によって ext4 のパフォーマンスは落ちています [1]

Most file systems (XFS, ext3, ext4, reiserfs) send write barriers to disk after fsync or during transaction commits. Write barriers enforce proper ordering of writes, making volatile disk write caches safe to use (at some performance penalty). If your disks are battery-backed in one way or another, disabling barriers may safely improve performance.

Sending write barriers can be disabled using the barrier=0 mount option (for ext3, ext4, and reiserfs), or using the nobarrier mount option (for XFS) [2].

警告: Disabling barriers when disks cannot guarantee caches are properly written in case of power failure can lead to severe file system corruption and data loss.

バリアをオフにしたいときは /etc/fstab の変更したいファイルシステムに barrier=0 オプションを追加してください。例:

# /dev/sda5    /    ext4    noatime,barrier=0    0    1