系统管理指南:设备和文件系统

创建 UFS 文件系统

必须格式化磁盘并将其分片之后,才能在其中创建 UFS 文件系统。磁盘片是磁盘的物理子集,由单一范围的连续块组成。片可以用作提供交换空间等的原始设备,或者用于保存基于磁盘的文件系统。有关格式化磁盘和将磁盘分片的完整信息,请参见第 11 章,管理磁盘(概述)

磁盘和存储管理产品(如 SolarisTM 卷管理器)用于创建更复杂的。卷的范围不局限于单个片或单个磁盘。有关使用卷的更多信息,请参见《Solaris Volume Manager 管理指南》。


注 –

Solaris 设备名称使用术语“片”(设备名称中使用字母 s)表示片编号。片也称为分区


由于 Solaris OS 会在安装过程中自动创建 UFS 文件系统,因此只是偶尔需要创建这些文件系统。如果希望执行以下操作,则需要创建(或重新创建)UFS 文件系统:

使用 newfs 命令是创建 UFS 文件系统的标准方法。newfs 命令是 mkfs 命令的便利前端,前者实际上用于创建新文件系统。newfs 命令可从将包含新文件系统的磁盘的标号中读取参数缺省值,如每个柱面的磁道数和每个磁道的扇区数。所选的选项会传递给 mkfs 命令以生成文件系统。

有关 newfs 命令所用的缺省参数的信息,请参见 newfs(1M)

Procedure如何创建 UFS 文件系统

开始之前

请确保已满足以下先决条件:

有关查找磁盘和磁盘片编号的信息,请参见第 12 章,管理磁盘(任务)

有关格式化磁盘和将磁盘分片的信息,请参见第 11 章,管理磁盘(概述)

  1. 您必须是超级用户或承担等效角色。

  2. 创建 UFS 文件系统。


    # newfs [-N] [-b size] [-i bytes] /dev/rdsk/device-name
    
    -N

    显示 newfs 命令会传递给 mkfs 命令的参数,而不实际创建文件系统。此选项是用于测试 newfs 命令的一种好方法。

    -b size

    指定文件系统的块大小,每块为 4096 或 8192 字节。缺省值为 8192。

    -i bytes

    指定每个 inode 的字节数。缺省值根据磁盘大小而异。有关更多信息,请参见 newfs(1M)

    device-name

    指定在其中创建新文件系统的磁盘设备的名称。

    系统会请求进行确认。


    注意 – 注意 –

    执行此步骤之前,请确保为片指定了正确的设备名称。如果指定错误的片,则在创建新文件系统时将删除其内容。此错误可能会导致系统出现紧急情况。


  3. 要验证是否创建了 UFS 文件系统,请检查新文件系统。


    # fsck /dev/rdsk/device-name
    

    其中 device-name 参数指定包含新文件系统的磁盘设备的名称。

    fsck 命令可检查新文件系统的一致性,报告出现的任何问题,并在修复问题之前进行提示。有关 fsck 命令的更多信息,请参见第 22 章,检查 UFS 文件系统一致性(任务)fsck(1M)


示例 18–1 创建 UFS 文件系统

以下示例说明如何在 /dev/rdsk/c0t1d0s7 中创建 UFS 文件系统。


# newfs /dev/rdsk/c0t1d0s7

/dev/rdsk/c0t1d0s7:  725760 sectors in 720 cylinders of 14 tracks, 72 sectors

        354.4MB in 45 cyl groups (16 c/g, 7.88MB/g, 3776 i/g)

super-block backups (for fsck -F ufs -o b=#) at:

 32, 16240, 32448, 48656, 64864, 81072, 97280, 113488, 129696, 145904, 162112,

 178320, 194528, 210736, 226944, 243152, 258080, 274288, 290496, 306704,

 322912, 339120, 355328, 371536, 387744, 403952, 420160, 436368, 452576,

 468784, 484992, 501200, 516128, 532336, 548544, 564752, 580960, 597168,

 613376, 629584, 645792, 662000, 678208, 694416, 710624,

 fsck /dev/rdsk/c0t1d0s7

#

创建 UFS 文件系统后...

要挂载 UFS 文件系统并使其可用,请转到第 19 章,挂载和取消挂载文件系统(任务)

Procedure如何创建多 TB UFS 文件系统

对多 TB UFS 文件系统的支持假定作为 Solaris 卷管理器、VxVM 卷或大于 1 TB 的物理磁盘提供的多 TB LUN 可用。

创建多 TB UFS 文件系统之前,请首先验证是否执行了以下任一操作:

有关多 TB UFS 文件系统的更多信息,请参见64 位: 对多 TB UFS 文件系统的支持

  1. 成为超级用户。

  2. 在逻辑卷上创建多 TB UFS 文件系统。

    例如,此命令可为 1.8 TB 的卷创建 UFS 文件系统:


    # newfs /dev/md/rdsk/d99
    
    newfs: construct a new file system /dev/md/rdsk/d99: (y/n)? y
    
    /dev/md/rdsk/d99:    3859402752 sectors in 628158 cylinders of 48 tracks, 
    
    128 sectors
    
            1884474.0MB in 4393 cyl groups (143 c/g, 429.00MB/g, 448 i/g)
    
    super-block backups (for fsck -F ufs -o b=#) at:
    
    32, 878752, 1757472, 2636192, 3514912, 4393632, 5272352, 6151072, 702...
    
    Initializing cylinder groups:
    
    ........................................................................
    
    super-block backups for last 10 cylinder groups at:
    
     3850872736, 3851751456, 3852630176, 3853508896, 3854387616, 3855266336,
    
     3856145056, 3857023776, 3857902496, 3858781216,
    
    # 
  3. 验证新创建的文件系统的完整性。

    例如:


    # fsck /dev/md/rdsk/d99
    
    ** /dev/md/rdsk/d99
    
    ** Last Mounted on 
    
    ** Phase 1 - Check Blocks and Sizes
    
    ** Phase 2 - Check Pathnames
    
    ** Phase 3 - Check Connectivity
    
    ** Phase 4 - Check Reference Counts
    
    ** Phase 5 - Check Cyl groups
    
    2 files, 2 used, 241173122 free (0 frags, 241173122 blocks, 0.0% 
    
    fragmentation)
    
    # 
  4. 挂载新创建的文件系统并对其进行验证。

    例如:


    # mount /dev/md/dsk/d99 /bigdir
    
    # df -h /bigdir
    
    Filesystem             size   used  avail capacity  Mounted on
    
    /dev/md/dsk/d99        1.8T    64M   1.8T     1%    /bigdir

Procedure如何扩展多 TB UFS 文件系统

创建多 TB UFS 文件系统后,可以使用 growfs 命令扩展该文件系统。例如,使用在前面的过程中为卷创建的文件系统,可以将其他磁盘添加到此卷。然后,扩展文件系统。

  1. 成为超级用户。

  2. 将其他磁盘添加到卷。

    例如:


    # metattach d99 c4t5d0s4
    
    d99: component is attached
    
    # metastat
    
    d99: Concat/Stripe
    
        Size: 5145882624 blocks (2.4 TB)
    
        Stripe 0:
    
            Device     Start Block  Dbase   Reloc
    
            c0t1d0s4      36864     Yes     Yes
    
        Stripe 1:
    
            Device     Start Block  Dbase   Reloc
    
            c3t7d0s4          0     No      Yes
    
        Stripe 2:
    
            Device     Start Block  Dbase   Reloc
    
            c1t1d0s4          0     No      Yes
    
        Stripe 3:
    
            Device     Start Block  Dbase   Reloc
    
            c4t5d0s4          0     No      Yes
  3. 扩展文件系统。

    例如:


    # growfs -v /dev/md/rdsk/d99
    
    /usr/lib/fs/ufs/mkfs -G /dev/md/rdsk/d99 5145882624
    
    /dev/md/rdsk/d99:    5145882624 sectors in 837546 cylinders of 48 tracks, 
    
    128 sectors
    
            2512638.0MB in 5857 cyl groups (143 c/g, 429.00MB/g, 448 i/g)
    
    super-block backups (for fsck -F ufs -o b=#) at:
    
     32, 878752, 1757472, 2636192, 3514912, 4393632, 5272352, 6151072, 702...
    
    Initializing cylinder groups:
    
    .........................................................................
    
    super-block backups for last 10 cylinder groups at:
    
     5137130400, 5138009120, 5138887840, 5139766560, 5140645280, 5141524000,
    
     5142402720, 5143281440, 5144160160, 5145038880,
    
    # 
  4. 挂载已扩展的文件系统并对其进行验证。

    例如:


    # mount /dev/md/dsk/d99 /bigdir
    
    # df -h /bigdir 
    
    Filesystem             size   used  avail capacity  Mounted on 
    
    /dev/md/dsk/d99        2.4T    64M   2.4T     1%    /bigdir

Procedure如何将 UFS 文件系统扩展为多 TB UFS 文件系统

使用以下过程可将 UFS 文件系统的大小扩展为大于 1 TB。此过程假定最初使用 newfs -T 选项创建 UFS 文件系统。

  1. 成为超级用户。

  2. 确定当前磁盘或卷的大小。

    例如,以下卷的大小为 800 GB:


    # metastat d98
    
    d98: Concat/Stripe
    
        Size: 1677754368 blocks (800 GB)
    
        Stripe 0:
    
            Device     Start Block  Dbase   Reloc
    
            c0t1d0s4          0     No      Yes
    
        Stripe 1:
    
            Device     Start Block  Dbase   Reloc
    
            c3t7d0s4          0     No      Yes
  3. 将卷增至大于 1 TB。

    例如:


    # metattach d98 c1t1d0s4
    
    d98: component is attached
    
    # metastat d98
    
    d98: Concat/Stripe
    
        Size: 2516631552 blocks (1.2 TB)
    
        Stripe 0:
    
            Device     Start Block  Dbase   Reloc
    
            c0t1d0s4          0     No      Yes
    
        Stripe 1:
    
            Device     Start Block  Dbase   Reloc
    
            c3t7d0s4          0     No      Yes
    
        Stripe 2:
    
            Device     Start Block  Dbase   Reloc
    
            c1t1d0s4          0     No      Yes
  4. 将磁盘或卷的 UFS 文件系统扩展为大于 1 TB。

    例如:


    growfs -v /dev/md/rdsk/d98
    
    /usr/lib/fs/ufs/mkfs -G /dev/md/rdsk/d98 2516631552
    
    /dev/md/rdsk/d98:    2516631552 sectors in 68268 cylinders of 144 tracks, 
    
    256 sectors
    
            1228824.0MB in 2731 cyl groups (25 c/g, 450.00MB/g, 448 i/g)
    
    super-block backups (for fsck -F ufs -o b=#) at:
    
     32, 921888, 1843744, 2765600, 3687456, 4609312, 5531168, 6453024, 737...
    
     8296736,
    
    Initializing cylinder groups:
    
    ......................................................
    
    super-block backups for last 10 cylinder groups at:
    
     2507714848, 2508636704, 2509558560, 2510480416, 2511402272, 2512324128,
    
     2513245984, 2514167840, 2515089696, 2516011552,
  5. 挂载已扩展的文件系统并对其进行验证。

    例如:


    # mount /dev/md/dsk/d98 /datadir
    
    # df -h /datadir 
    
    Filesystem             size   used  avail capacity  Mounted on 
    
    /dev/md/dsk/d98        1.2T    64M   1.2T     1%    /datadir

对多 TB UFS 文件系统问题进行疑难解答

使用以下错误消息和解决方案可以对多 TB UFS 文件系统问题进行疑难解答。

错误消息(与以下内容类似):

mount: /dev/rdsk/c0t0d0s0 is not this fstype.
原因

尝试在运行早于 Solaris 10 发行版的 Solaris 发行版的系统上挂载大于 1 TB 的 UFS 文件系统。

解决方案

在运行 Solaris 10 或更高发行版的系统上挂载大于 1 TB 的 UFS 文件系统。

错误消息

"File system was not set up with the multi-terabyte format."  "Its size 

cannot be increased to a terabyte or more."
原因

尝试扩展不是使用 newfs -T 命令创建的文件系统。

解决方案
  1. 备份要扩展为大于 1 TB 的文件系统的数据。

  2. 使用 newfs 命令重新创建文件系统,以创建多 TB 文件系统。

  3. 将备份数据恢复到新创建的文件系统中。