游乐游手机版
首页/系统平台/文章详情

Solaris系统硬盘分区知识详解

时间:2026-06-19 07:51
在Solaris系统中,每块磁盘默认划分为8个分区,分区编号从0到7。通过format命令可以快速验证这一分区结构——选择硬盘后,分区信息会清晰显示。以Solaris 9系统、Ultra 60平台为例,执行format命令后的输出如下: format Searching for disks

在Solaris系统中,每块磁盘默认划分为8个分区,分区编号从0到7。通过format命令可以快速验证这一分区结构——选择硬盘后,分区信息会清晰显示。以Solaris 9系统、Ultra 60平台为例,执行format命令后的输出如下:

# format
Searching for disks...done
A VAILABLE DISK SELECTIONS:
0. c0t0d0 ;
/pci@1f,4000/scsi@3/sd@0,0
Specify disk (enter its number): 0
selecting c0t0d0
[disk formatted]
Warning: Current Disk has mounted partitions.
FORMAT MENU:
disk - select a disk
type - select (define) a disk type
partition - select (define) a partition table
current - describe the current disk
format - format and analyze the disk
repair - repair a defective sector
label - write label to the disk
analyze - surface analysis
defect - defect list management
backup - search for backup labels
verify - read and display labels
sa ve - sa ve new disk/partition definitions
inquiry - show vendor, product and revision
volname - set 8-character volume name
! - execute , then return
quit

面对这么多输出信息,无需紧张。最关键的是第一行:0. c0t0d0 。它表明Ultra 60中仅安装了一块硬盘。c0t0d0的具体含义稍后会详细介绍,尖括号内的内容说明了硬盘的容量和柱面参数,最后的物理地址则指定了硬盘在系统中的实际位置。日常运维时,主要关注format检测到的硬盘数量是否与已安装的数量一致——例如,如果你安装了两块硬盘,但这里只显示一块,就需要认真排查硬件或连接问题。

接着看FORMAT MENU,在下方命令列表中,输入了p(即partition的缩写),随后进入了PARTITION MENU:

PARTITION MENU:
0 - change `0' partition
1 - change `1' partition
2 - change `2' partition
3 - change `3' partition
4 - change `4' partition
5 - change `5' partition
6 - change `6' partition
7 - change `7' partition
select - select a predefined table
modify - modify a predefined partition table
name - name the current table
print - display the current table
label - write partition map and label to the disk
! - execute , then return
quit

这样一来,就清晰证明了Solaris下每个磁盘包含8个分区(编号0-7)。后面各命令的具体含义可参考英文介绍,具体使用方法将在后续内容中详细展开。下面进入正题。

磁盘分区的三个步骤

在向一块硬盘写入数据之前,必须先进行分区和格式化操作。整个过程通常分为三步:

  1. 物理格式化(低级格式化,LLF)——硬盘被划分成磁道,磁道再被分成扇区,每个扇区填充随机数据。几乎所有硬盘在出厂前已完成这一步,因此用户只需进行后续两步操作。
  2. 分区——将硬盘分割成若干部分(分区或分片),每个分区由若干柱面组成。在Solaris中,一个分区通常对应一个文件系统,分区不能包含多个文件系统,文件系统也不能跨越多个分区。分区操作使用的正是前面提到的format命令。
  3. 逻辑格式化(高级格式化,HLF)——Solaris使用newfs命令实现高级格式化,默认文件系统为UNIX文件系统(UFS)。高级格式化会将每个分区分成若干柱面组,每个柱面组包含几个连续柱面。文件系统在这些柱面组中建立文件和目录,尽量将同一文件的数据保存在同一柱面组,从而减少磁头移动,加快读取速度。

UFS文件系统的块类型

UFS使用四种类型的块:

引导块

引导块存储系统启动所需信息,总是位于硬盘的第一个柱面组,占用分区前8KB空间。

超级块

超级块存储文件系统的元信息,包含以下内容:

  • 文件系统总块数(大小)
  • 数据块数目
  • 索引节点数目
  • 柱面组数目
  • 块大小
  • 磁盘碎片大小
  • 空闲块个数
  • 空闲索引节点个数

超级块极其重要,Solaris采用多个备份确保其安全。当系统未正常关闭或硬盘出现故障时,默认超级块可能损坏或与备份不一致。此时系统重启时会自动调用fsck命令进行修复。若fsck无法自动修复,需要手动执行以下步骤:

  1. 以单用户模式进入系统(如在PROM的ok状态下执行boot -s,或通过sync;sync;sync;init 0进入)。
  2. 若损坏的文件系统已挂载,切换到另一目录并卸载它,例如:
    # cd /
    # umount /var
  3. 使用newfs -N命令显示备用超级块的位置:
    # newfs -N /dev/dsk/c0t0d0s1
    /dev/rdsk/c0t0d0s1: 961248 sectors in 204 cylinders of 19 tracks, 248 sectors
    469.4MB in 13 cyl groups (16 c/g, 36.81MB/g, 17664 i/g)
    super-block backups (for fsck -F ufs -o b=#) at:
    32, 75680, 151328, 226976, 302624, 378272, 453920, 529568, 605216, 680864,
    756512, 832160, 907808,
  4. 从列出的备用超级块中选取一个,用fsck命令修复:
    # fsck -F ufs -o b=453920 /dev/rdsk/c0t0d0s1

索引节点(i节点)

索引节点包含文件除去文件名以外的所有信息,每个i节点占用128字节,包括以下内容:

  • 文件类型(普通文件、目录、块设备、字符设备、链接等)
  • 文件权限(读、写、执行)
  • 硬链接数
  • 所有者用户ID
  • 所属组ID
  • 文件大小(字节)
  • 包含15个磁盘块地址的数组
  • 最近访问、修改、创建的时间

文件系统创建时,会在每个柱面组中创建一定数量的i节点。当程序产生大量小文件时,i节点可能不够用,此时需要增加i节点数量;反之,若只需存放少数大文件,可减少i节点以节省磁盘空间。使用newfs-i选项可以调整i节点数量。查看i节点使用情况可用/usr/ucb/df -i命令:

# /usr/ucb/df -i
Filesystem          iused   ifree  %iused  Mounted on
/dev/dsk/c0t0d0s0  131672 1929384     6%  /

注意:文件系统一旦创建,就无法改变i节点数目。如果i节点不够用,需要备份数据,创建包含更多i节点的新文件系统,再恢复数据。

存储块(数据块)

存储块占用了文件系统其余所有空间,用于存放实际数据。每个存储块的大小在创建文件系统时确定。对普通文件,存储块存放文件内容;对目录,存储块存放目录中所有文件的i节点号和文件名。

磁盘命名

回到最开始用format看到的c0t0d0,Solaris使用cXtXdXsX格式表示磁盘设备名。具体含义如下:

  • cX:逻辑控制器编号。系统检测磁盘时按顺序分配数值,第一个为0,第二个为1,以此类推。IDE系统下,第一个IDE通道为0,第二个为1。
  • tX:物理总线目标号,也称为SCSI标识符。每个磁盘有唯一目标号用于寻址。IDE磁盘中主盘为0,从盘为1。
  • dX:逻辑单元号(LUN)。在磁盘阵列中,LUN用于区分阵列中的单个磁盘。单个磁盘或IDE磁盘通常设为0。
  • sX:分区号,取值0–7,对应磁盘的8个分区。

因此,c0t0d0s0的含义就很清楚了:控制器0、目标0、LUN 0上的第一个分区。这便是系统中第一个硬盘的根分区(boot disk)的典型标识。

来源:https://www.jb51.net/os/Solaris/1694.html
上一篇在Solaris 9系统上安装Oracle 10g RAC集群的完整步骤与注意事项 下一篇Solaris 10快速配置Apache+MySQL+PHP环境
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送