File systems (简体中文)

From ArchWiki
Revision as of 20:02, 19 November 2012 by Pedro (Talk | contribs)

Jump to: navigation, search

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end

翻译状态: 本文是英文页面 File_Systems翻译,最后翻译时间:2012-10-19,点击这里可以查看翻译后英文页面的改动。

Tango-preferences-desktop-locale.png本页面需要更新翻译,内容可能已经与英文脱节。要贡献翻译,请访问简体中文翻译组Tango-preferences-desktop-locale.png

附注: please use the first argument of the template to provide more detailed indications.

From Wikipedia:

A file system (or filesystem) is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device(s) which contain it. A file system organizes data in an efficient manner and is tuned to the specific characteristics of the device.

Individual drive partitions can be setup using one of the many different available filesystems. Each has its own advantages, disadvantages, and unique idiosyncrasies. A brief overview of supported filesystems follows; the links are to wikipedia pages that provide much more information.

Before being formatted, a drive should be partitioned.

文件系统类型

不同分区可以使用不同文件系统,每种文件系统都有其优缺点和特性。下面对支持的文件系统作简要介绍,链接指向的维基百科页面有更详细的介绍。

  • ext2 Second Extended Filesystem,古老、可靠的 GNU/Linux 文件系统。非常稳定,一个缺点是不支持日志记录或隔离。不支持日志会导致在突然断电或当机时可能导致数据丢失。因为文件系统检查的时间很长,不适合根目录 (/) 和 /home 使用。ext2可以容易地转换成ext3。
  • ext3Third Extended Filesystem,基于ext2系统, 并添加了日志记录功能。 ext3向前兼容ext2,非常成熟稳定。
  • ext4Fourth Extended Filesystem,向前兼容ext2和ext3,最大支持1EB(也就是1,048,576 TB)文件系统,支持单个16TB的文件,增加ex3中的子目录最大个数32,000到64,000,可以在线碎片处理。
  • ReiserFS(V3):Hans Reiser 主持编写的高性能的日志文件系统,使用一种非常独特有趣的数据存储检索方法。ReiserFS 效率非常高, 特别在处理很多小文件的时候更是如此。ReiserFS在挂载的时候相对比较慢. 性能稳定。 ReiserFS 现在的开发并不活跃(最新的版本是Reiser4)。通常是/var目录的好选择。
  • JFS:IBM提供的日志文件系统(Journaled File System),是第一个支持日志的文件系统。它在 IBM AIX® 操作系统中开发了多年,之后移植到 GNU/Linux 中。JFS 效率非常高并且CPU资源占用率比其他任何一个文件系统都要低。并且在格式化、挂载和磁盘检测的时候都非常快,在各方面的表现都非常突出,尤其是与 deadline I/O 调度器结合。(参见 JFS.) 不如ext系列或者ReiserFS那样广泛支持,但非常成熟稳定。
    注意: JFS 文件系统无法用磁盘工具如 gpartedparted magic 缩小。
  • XFS:另一个很早的日志文件系统,原来由 Silicon Graphics 为 IRIX 操作系统开发,之后移植到 GNU/Linux。特别适合处理大文件。在格式化和挂载的时候也很快。基准测试显示在处理小文件时稍慢。XFS 非常成熟,同时支持在线碎片处理。
    注意: XFS 文件系统无法用磁盘工具如 gpartedparted magic 缩小。
  • vfat:即Virtual File Allocation Table(虚拟文件分配表)。这种文件系统技术简单,受各种系统广泛支持。这种格式常用于固态存储卡,便于系统间文件交换。VFAT支持长文件名。
  • Btrfs:也被叫做“Better FS”,Btrfs是一个新文件系统,它具有许多 Sun/Oracle 优秀的ZFS文件系统的功能。包括快照、多磁盘带状划分(striping)和镜像(没有 mdadm 的软 raid),校验、增量备份和实时压缩(即可以节省空间,还能提高性能)等等。 在 2011 年 1 月仍处于 "不稳定" 状态。但是已经以实验状态进入内核主代码树。Btrfs 将成为 linux 未来的文件系统,各主要发行版的安装程序都提供了将其作为根文件系统的选项。
  • nilfs2New Implementation of a Log-structured File System,由NTT开发。该文件系统将所有数据以连续的类似日志的结构储存,新数据只添加不改写。这种设计减少了寻址时间,相对传统的 Linux 文件系统能防止在崩溃发生后的数据丢失。
  • Swap is the filesystem used for swap partitions.
  • NTFS - File system used by windows. Mountable with many utilities (e.g. NTFS-3G).

关于日志

除ext2,上面的文件系统都支持日志记录。日志文件系统具有数据容错能力,在数据写入文件系统前会记录日志,若写入时发生崩溃,可以避免元数据损坏。注意不同文件系统日志记录有区别。 仅 ext3 和 ext4 支持 data-mode journaling,同时记录数据和元数据的日志,但默认不启用,因为对性能影响很大。其它文件系统仅提供记录元数据日志的ordered-mode journaling。尽管都能在系统崩溃后将系统返回正常状态,data-mode journaling 为数据提供了更大的安全防护,但性能有所降低,因为数据会被写两次(第一次到日志,第二次到磁盘)。可以根据数据的重要性选择文件系统。

Format a device

Warning: formatting a device removes everything on it, make sure to backup everything you want to keep.
Note: the authors of this article cannot be considered responsible of any data loss, hardware deterioration or any other problem related to this article.

Pre-requirements

Before starting, you need to know which name Linux gave to your device. Hard drives and USB sticks show up as /dev/sdx, where "x" is a lowercase letter, while partitions show up as /dev/sdxY, where "Y" is a number.

If the device you want to format is mounted, it will show up in the MOUNTPOINT column from:

$ lsblk

If your device is not mounted:

# mount /dev/sdxY /some/directory

And to unmount it, you can use umount on the directory you mounted the disk on:

# umount /some/directory
Note: Your device must be unmounted to format and create a new file system.

Step 1: delete old partitions, create new ones

For that you can use fdisk (for MBR) or gdisk (for GPT). See partitioning for more information.

# fdisk /dev/<device>
Note: Enter m to display the available commands.

Step 2: create the new file system

In console

To create a file system you just have to use mkfs:

# mkfs -t ext4 /dev/<partition>

As mkfs is just a unified front-end for the different mkfs.fstype tools, you need to install the packages providing these tools for each filesystem you want to use:

GUI tools

There are several GUI tools for partition management: