| 中国 |
|
|
|
![]() |
管理系统和工作组: HP-UX 系统管理员指南 > 第 2 章 规划工作组规划管理文件系统 |
|
本节旨在解决规划管理文件系统时可能遇到的一些问题。包括以下内容: 有关管理文件系统所用的步骤的信息,请转至“管理文件系统”。 系统文件、应用程序文件和用户文件都必须驻留在文件系统中,才能供操作系统和应用程序使用。 整个 HP-UX 文件系统由目录树或层次结构组成,以根目录为起点。虽然文件系统可以显示为一个单一系统,实际上却可以包含多个不同的“组成部分”,这些组成部分分别存储在不同的设备或逻辑卷中。要使用户能够访问某个文件系统(根文件系统除外)中的文件,必须“挂接”该文件系统。此操作可以在引导过程中手动或自动执行,具体方法就是将该文件系统添加到现有目录树中的某个目录下。添加额外文件系统所在的目录称为挂接点。
也可以卸除文件系统,如果需要,还可以将其重新添加到其他挂接点中。 有关步骤信息,请转至“卸除文件系统 ”。 为一个文件系统创建新的组成部分的原因有多种,其中包括:
表 2-3 HP-UX 发行版的文件系统限制
自 HP-UX 11.0 起,定期文件系统 (JFS) 便被安装为根文件系统和其他 HP-UX 文件系统的缺省类型。但是,HP-UX 还可使用另外四个文件系统类型。下表列出了有关每个文件系统类型的信息: 表 2-4 HP-UX 文件系统类型
可以将 JFS 和其他文件系统混合安装在同一个计算机系统中。
许多文件系统管理命令现在都提供了一个 -F 文件系统类型选项,用于指定文件系统类型。使用下列关键字可以指定相应的文件系统类型:
即使没有在命令行中指定 -F 文件系统类型,HP-UX 也可以确定原有文件系统中运行的命令的文件系统类型。 有关文件系统包装的详细信息,请参阅 fs_wrapper (5)。 有关文件系统转换的步骤信息,请参阅“将现有的文件系统转换为 JFS”。 JFS 是 VERITAS 定期文件系统 (VxFS) 的 HP-UX 实现,高度可靠性和快速恢复功能是其主要特征。自 10.30 版本起,JFS 便是缺省的 HP-UX 文件系统。HP-UX 11i 操作环境中包含 VxFS。 HP-UX 操作系统软件中附带有基本 JFS 功能。除了安装称为 HP OnLineJFS 的独立订货产品之外,JFS 还提供了联机管理功能,包括备份、调整大小和碎片整理。 正因为 JFS 有如此多的优点,因此您花费一定的时间来了解其使用方法是非常值得的。 有关 JFS 文件系统的步骤信息,请转至:
什么是 JFS? JFS 是 HP-UX 10.01 中引入的 VERITAS 定期文件系统 (VxFS) 的 HP-UX 实现。它以高可靠性、快速恢复以及联机管理操作(包括备份、调整大小以及碎片整理)为特征。 JFS 在 HP-UX 中的应用历史有多久? JFS 的 HP 实现过程跨越多个发行版本:
如何比较定期文件系统 (JFS) 与 HFS?
与 HFS 相比,JFS 可以更快地从系统故障中恢复,这应归功于其记录文件系统结构变化的机制。在崩溃后进行系统引导时,文件系统使用日志进行同步以加快恢复速度,其运行方式类似于 fsck,但却比后者迅速。快速恢复功能在性能要求高的环境或需要处理大量数据的环境中尤为重要。 JFS 的数据吞吐量高于 HFS(I/O 更快)。这归功于 JFS 的文件组织形式,它将文件存储在包含多个数据块的盘区中。 可选的 HP OnLineJFS 产品允许您执行某些任务(例如,文件系统备份,以及在不卸除文件系统的情况下扩大或缩小该系统),从而使系统维护更加方便。HFS 不具备这些功能。 使用 JFS 配置文件系统的缺点是什么? 您可能不希望在内存有限的系统中配置 JFS,因为 JFS 对内存的需求大于 HFS。 JFS 的使用是否受到 LVM 的某种限制(请参阅“逻辑卷管理器(Logical Volume Manager,LVM)”)? 无论 JFS 是否由 LVM 进行管理,均可在任何文件系统中使用 JFS。 如何管理 JFS? 可以使用 SAM 或 HP-UX 命令来管理 JFS。SAM 提供的实用程序可以创建(添加)和备份 JFS 文件系统,并调整其大小。 如果安装了可选 HP OnLineJFS 程序包(在某些联机帮助页中称为 Advanced VxFS),则可使用 SAM 的 VxFS Maintenance 菜单选项在联机时查看盘区和目录碎片、重新组织盘区和目录、调整 JFS 文件系统的大小以及使用 JFS 文件系统的快照进行联机备份。 在命令行中,可以使用:
JFS 如何工作? JFS 以盘区(即作为一个单元的相邻磁盘块)的形式将空间分配给各个文件。各盘区的大小可以在一个块至数兆字节之间变化。这种文件数据组织方式使得 JFS 能够处理大量 I/O 请求,因此,其效率高于一次仅读取或写入一个块的处理方式。 JFS 将结构化更改划分为各种事务处理,并在实际进行更改之前将这些事务处理记录在磁盘上的意向日志中。如果系统崩溃,fsck 只需扫描意向日志,并完成当时正在进行的事务处理。与必须从头到尾进行扫描以发现症结所在的传统文件系统相比,这种工作方式不仅加强了文件系统的完整性,而且还显著缩短了恢复时间。 JFS 提供的 mount 选项可以延迟或禁用事务处理日志记录。这使得系统管理员能够在文件系统的完整性与性能之间进行权衡,从而在优化非关键或临时文件系统的性能的同时,确保关键文件系统的完整性。 如果安装了可选 HP OnLineJFS 产品,则可在活动的 JFS 文件系统中执行多种管理操作,包括调整文件系统的大小、重新组织该系统中的文件以确保其连续性以及重新组织目录以回收未使用的空间。此外,还可以获取已挂接文件系统的快照进行备份。快照可以提供在特定时间与文件系统一致的只读视图,正如文件系统一样,快照也会不断发生变化。结合利用意向日志获得的快速恢复功能,联机管理可以大大增加文件系统的可用性。 JFS 事务处理包括哪些内容? 事务处理由与某项更改相关的所有系统操作组成。例如,在文件中写入信息会使该文件增大,这将涉及为其分配额外空间、更新其盘区映射、增加其大小以及更新其最后修改时间等操作。这些更改被当作一个事务处理,并在任何更改实际发生之前记录到日志中。一旦这些更改发生,此事实也将被记录到意向日志中。 必须保证 JFS 事务处理具有整体性质;也就是说,组成事务处理的所有操作只能是全部成功完成,或都未完成。即使是在系统崩溃之后,文件系统也不会处于中间状态,即某些操作完成,而其他操作未完成。通常,对于激活某个事务处理的系统调用,当其返回应用程序时,即会提交该事务处理(即保证完成);但 JFS 挂接选项中可能存在会延迟事务处理日志记录的例外。不过,即使事务处理日志记录被延迟,事务处理仍具有整体性质,文件系统仍不会处于中间状态。 用户数据是否是事务处理的一部分? 用户数据通常不会作为事务处理的一部分。而是被放入缓存中,但不一定会写入磁盘,除非 sync (1M) 的确在运行。但是,如果应用程序采用同步写入方式(例如,使用 O_SYNC 标志打开文件),用户数据便会被作为事务处理的一部分,且与文件系统元数据(I 节点,盘区映射等)一样具有整体性质。 JFS 盘区是什么?操作系统如何使用这些盘区? JFS 以盘区(即被作为一个单元的相邻的连续磁盘块)的形式将空间分配给各个文件。各盘区的大小可以在一个块至数兆字节之间变化。这种文件数据组织方式使得 JFS 能够处理大量 I/O 请求(即处理多个块中的 I/O),因此,其效率高于一次仅读取或写入单个块的处理方式。 如果按顺序读取文件,JFS 可能需要提取超出读取单个系统调用所需的更多当前盘区,以使缓存中的数据能够在将来进行读取。这种提前读取的方式不涉及额外的 I/O 操作,因为数据连续存储在磁盘上。但是,利用单个 I/O 请求带入缓存的数据要多于当时所需的数据。 写入系统调用的数据先放置在缓存中,并在日后快速写入磁盘。这称为延迟写入。最后,在快速写入数据时,JFS 将寻找等待快速写入相邻块中的其他数据,并尝试将所有数据划分到一个较大的 I/O 请求中。 JFS 盘区由一个起始块编号和一个块计数共同表示。当一个文件增大时,JFS 首先尝试增加该文件中最后一个盘区的大小。
JFS 如何分配盘区以处理文件增长问题? 当某个文件增大时,可以添加新的盘区,或增加最后一个盘区的大小(假设该盘区后面具有足够的可用空间)。如果最后一个盘区后面没有足够的可用空间,JFS 将分配一个独立的非连续盘区。 可选 HP OnLineJFS 产品使您能够对不连续盘区进行碎片整理。这种重组方式包括移动文件系统中的数据块,从而合并盘区并使文件更加连续。有关详细信息,请参考 SAM 联机帮助或 fsadm_vxfs (1M)。 JFS 将结构化更改划分为各种事务处理,并在进行更改之前将这些事务处理记录在磁盘上的意向日志中。例如,在文件中写入信息会使该文件增大,这将涉及为该文件分配额外空间、更新其盘区映射、增加其大小以及更新其最后修改时间等操作。这些更改将被作为一个事务处理,并在任何更改实际发生之前将其记录到日志中。一旦这些更改发生,此事实也将被记录到意向日志中。 如果系统崩溃,fsck 只需扫描意向日志,并完成当时正在进行的事务处理。这称为日志重放。与必须从头到尾进行扫描以发现症结所在的传统文件系统相比,这种工作方式不仅加强了文件系统的完整性,而且还显著缩短了恢复时间。因为意向日志可用于 fsck,所以,文件系统的大小并不重要,系统崩溃时未完成的事务处理的数目才是重要因素。即使对于非常活跃的文件系统而言,日志重放所需的时间一般也不会超过十秒。 有关详细信息,请参阅“处理文件系统损坏的问题” 每个 JFS 文件系统都拥有自己的意向日志。系统会在创建文件系统时为意向日志预留一定的空间;该空间的大小日后无法更改。意向日志是一个用户看不见的文件,但您可以使用 fsdb 工具来转储该文件。 用户数据通常不会被作为事务处理的一部分,而是使用普通的 UNIX 延迟写入语法将其存放在缓存中(即并不保证将其写入磁盘,除非 sync 的确在运行)。但是,如果应用程序采用同步写入方式(例如,使用 O_SYNC 标志打开一个文件),用户数据便会被作为事务处理的一部分,要么全部成功完成,要么全部不完成,这一点与文件系统元数据的写入方式相同(例如,目录、I 节点、自由盘区映射)。 意向日志在哪些情况下包含文件数据? 意向日志中通常只包含有关文件系统元数据(例如,超级块、I 节点和目录)的信息。 但是,如果写入块的大小等于或小于 8 KB,则同步写入的文件数据(即文件是使用 O_SYNC 或 O_DSYNC 选项打开的)将被记录到意向日志中。对于基本 JFS 和 HP OnLineJFS(又称为 Advanced VxFS 程序包)而言,此行为是正确的,但可以使用挂接命令的 nodatainlog 选项更改此行为(请参阅 mount_vxfs (1M))。
意向日志的建议大小为多少? 缺省情况下,意向日志的大小是根据文件系统的大小设置的。其大小通常为 1 MB。 如果文件系统:
是否可以增加意向日志的大小?意向日志写满时会如何?是否会出现错误,性能是否会受到影响? 否。如果意向日志被写满,不会对用户产生什么影响。I/O 可能会出现阻塞现象,但此现象可以在多种与意向日志无关的情况下发生,而且也不会造成什么影响。意向日志被写满时,不会出现错误。 如何获悉意向日志的大小? 可以使用 fsdb 来查看意向日志的大小。但此文件系统调试程序只应由高级用户使用,因为如果使用不当,它会对文件系统造成破坏。有关相关信息以及关于 JFS 超级块格式的详细信息,请参阅 fsdb_vxfs (1M)。 如何修改意向日志的大小? 请使用 mkfs -F vxfs 命令和此 -o 选项:-o logsize=n,其中 n 是分配给意向日志的块的数目。n 必须介于 32 至 2048 之间。 有关语法信息,请参阅 mkfs_vxfs (1M)。 JFS 具有哪些挂接选项?应在何时使用这些选项? JFS 提供的 mount 选项可以延迟或禁用事务处理日志记录,并控制用户数据是同步写入还是延迟写入。这些设置使得系统管理员能够在文件系统的完整性与性能之间进行权衡,从而在优化非关键或临时文件系统的性能的同时,确保关键文件系统的完整性。 有关语法信息,请参阅 mount_vxfs (1M)。 通过 JFS 可以使用哪些日志记录选项? JFS 提供了多种选项来控制如何将事务处理记录到磁盘中,如下所列。缺省选项 log 可以在系统出现故障时最大限度地维护系统的完整性。大多数情况下(包括使用 SAM 挂接 JFS 文件系统和进行冷安装在内),建议使用日志记录模式 delaylog。
通过 JFS 可以使用哪些写入选项? JFS 提供了多种选项来控制用户数据写入磁盘的方式:
此外,系统管理员还可以控制写入的处理方式,无论是否使用 O_SYNC。
对于所有的 JFS 选项,比较有用的日志记录与缓存的组合有哪些? mount -o log,mincache=dsync
mount -o log
mount -o delaylog
mount -o nolog,convosync=delay
使用 OnLineJFS 可以执行哪些联机操作? 安装了可选 HP OnLineJFS 产品之后,可以在活动 JFS 文件系统中执行的管理操作包括:
JFS 快照是什么?它为何有用? 快照(可用于 HP OnLineJFS)是活动文件系统的连续而稳定的视图,用于执行活动文件系统的备份。它使得系统管理员能够及时获取文件系统在特定时间的状态(无需脱机并复制文件系统),将该文件系统的映像挂接在任何位置并进行备份。 例如,可以将 /home 的快照挂接在 /tmp/home 下。最初,相同的目录和文件会出现在 /home 和 /tmp/home 下,但用户仍能够访问和修改主文件系统 (/home)。这些更改不会出现在快照中。相反,/tmp/home 会在获取快照时继续反映 /home的状态。 在用户看来,快照就像一个以只读方式挂接的常规文件系统。快照应始终按只读方式挂接;也就是说,不能对其中的任何目录或文件进行修改。 但系统内部还会执行一些其他任务。
所有这些操作都是在内核中透明地进行的。 如何利用快照进行工作? JFS 快照可用来执行文件系统的联机备份。有关步骤,请转至“如何创建和备份 JFS 快照文件系统 ”。 快照文件系统必须驻留在独立于原始文件系统的磁盘或逻辑卷中。生成快照时,系统会将先前存储在设备中的任何数据覆盖掉。 命令和应用程序不需更改,便可利用快照进行工作,因为内核负责在快照设备或主设备上查找快照数据,并负责在更新单个块之前及时将其从主文件系统复制到快照设备中。由于这种写入复制方案,快照可以立即创建,且只需足够的空间来存放可能在挂接快照时变化的块。 快照卷的大小应为原始文件系统的 10-20%。快照卷不需要以任何方式进行构建;也没必要在挂接快照文件系统之前为其执行 newfs 命令。 挂接快照时,对原始文件系统所做的更改将不会反映在快照中。快照是原始文件系统的“冻结”映像。 一旦快照被卸除,其中的内容便会丢失。 快照具有哪些局限性? 快照设备的空间可能会被用完。之所以发生此情况,可能是因为该设备的空间太小、主文件系统太不稳定或者快照的挂接时间太长。一旦快照设备被写满,内核便无法从任何地方复制主文件系统的块。在此情况下,内核无法保存文件系统的稳定视图,从而使快照无法访问。系统管理员通常会在问题更正之后(例如,使用一个空间更大的快照设备,或选择在主文件系统比较稳定时生成快照)创建一个新的快照。 OnLineJFS 备份与标准备份有何不同? OnLineJFS 备份需要使用文件系统的快照,而不是文件系统本身。 有关如何执行联机备份的明确信息,请参阅“备份 JFS 快照文件系统”。 进行联机备份时,快照与 LVM lvsplit 实用程序相比,各有哪些优缺点? 此问题假设已在系统中安装了 HP MirrorDisk/UX 和 HP OnLineJFS。
JFS 快照的优点:
JFS 是否具有快照文件系统接口? fscat 实用程序为 JFS 快照文件系统提供了一个接口,该接口类似于其他 JFS 文件系统的专用文件所调用的 dd 实用程序提供的接口。在大多数 JFS 文件系统中,为了将文件系统备份到磁带中,该文件系统的块或字符专用文件提供了对该系统的原始映像的访问。fscat 实用程序将快照显示为字节流,以便在管道中进行处理或写入磁带。 有关详细信息,请参考 fscat_vxfs (1M)。
此外,JFS 与 HFS 对文件及文件系统的大小的限制是相同的:
JFS 采取哪些措施来确保系统的良好性能? JFS 文件系统的性能通常要优于 HFS 文件系统,这是由于前者采用了大盘区、优化的文件系统空间使用方式、大量预读以及相连文件。但是,文件系统的自然结果是出现数据块碎片。 HP OnLineJFS 采用一种有效的方式对文件系统空间进行碎片整理,从而恢复文件系统的性能。可以使用 SAM 对 JFS 文件系统进行碎片整理,也可以使用 fsadm 命令直接从命令行对其进行碎片整理。 可以执行两种碎片整理方式:目录碎片整理和盘区碎片整理。 应每隔多长时间对 JFS 文件系统执行一次碎片整理(重组)? 为了获得最佳性能,内核盘区分配器必须能够在必要时找到大盘区。要维护文件系统的性能水平,应针对所有 JFS 文件系统定期运行 fsadm 实用程序,以减少碎片。碎片整理频率取决于文件系统的使用情况、活动方式以及性能的重要性,这意味着既可能需要每日运行一次,也可能是每月运行一次。 然而,要使繁忙的文件系统获取最佳性能,应每晚对其进行碎片整理。 如何对 JFS 文件系统进行碎片整理?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||