solaris学习1:磁盘

简介:

这篇blog是我对磁盘分区的一些认识,可能随着我理解的提高而修改一些。
接触solaris有一段时间了,想对磁盘的认识作个简单整理。下面是我的一些基本认识整理:
1、   磁盘和磁盘控制器
磁盘(指温氏硬盘不是SSD固态硬盘)包括盘片(存储部分)和磁盘驱动器(包括电机、磁头、机械臂等),需要注意的是硬盘有数个盘片,每盘片两个面,每个面一个磁头。每个盘片在分区时的划分是一致的,即盘片1、盘片3是一模一样的。
磁盘控制器:是磁盘的控制设备,一个磁盘控制器可以控制多个磁盘,如IDE控制器、sata控制器等

上图已很好的说明了什么是磁盘控制器。另外 操作系统只关心磁盘控制器的类型和磁盘控制器的工作模式
磁盘控制器工作模式一般有:IDE(PATA)、SATA、AHCI、RAID等,而磁盘控制器工作模式与磁盘类型是基本无关的。这也就是说,即使你是SATA的硬盘,而如果磁盘控制器开启的是IDE工作模式,那么系统也仅仅把你的SATA硬盘当做一个IDE硬盘来对待。0 K( L( j/ f- f
同一个磁盘控制器可能会存在多种工作模式,例如同时拥有PATA、AHCI和RAID工作模式,一般可以在CMOS中进行设置。而每种工作模式下磁盘 控制器的硬件ID又是不同的,也就是说虽然磁盘控制器还是这个磁盘控制器,但由于它工作模式的变更,它的硬件ID也随之变更,那么就需要为它重新安装磁盘 控制器驱动。" A% x3 t- S- y9 c1 ~0 E! r, R
这样也从另外一个角度解释了为什么系统安装完毕后,如果更改磁盘控制器工作模式,会造成蓝屏的问题。例如安装系统时,磁盘控制器工作模式为SATA, 系统为磁盘控制器安装的是SATA模式的驱动,而一旦磁盘控制器工作模式改为了AHCI,由于系统里针对磁盘控制器的驱动仍是SATA模式的,系统无法正 常操作磁盘控制器,所以就出现蓝屏宕机的情况。
  
2、  服务器常用的磁盘接口类型:SCSI、SATA、SAS

3、  磁盘物理存储结构:sector 、track、cylinder
heads : 磁盘面,盘片面
sector扇区:512字节,多个连续sector组成簇(即数据块),OS通常以数据块对磁盘读写。在创建磁盘分区时可以自定义每个簇包含的sector数量,默认通常为8个。新标准将每个sector的容量从512字节增加到4096字节,不过新标准的磁盘还没有产品上市。
track 磁道: 容量随半径增大而增加,即外面磁道比里面磁道有更多sector。
cylinder 柱面: 从外到内(区别光盘的从内到外)编号,最外面的柱面编号为“0”。
下面是solaris的一个slice的信息:
# prtvtoc /dev/dsk/c0d0s0
* /dev/dsk/c0d0s0 partition map
* Dimensions:
*     512 bytes/sector
*      63 sectors/track
*     255 tracks/cylinder
*   16065 sectors/cylinder
*   31263 cylinders
*   31261 accessible cylinders
 
4、  硬盘标识: VTOC和EFI
VTOC是传统硬盘标识,但只能创建小于1TB的文件系统。EFI可以创建大于1TB的文件系统,但不支持IDE硬盘、不能作为启动盘启动OS、不能用SMC管理等缺点。
在solaris中format命令的label可以查看,VTOC label为SMI。soaris9以前版本不能识别EFI,对于EFI要注意几个地方:首先是分区的基本单位,VTOC分区以柱面为基本单位来分区,即s1分区可能为柱面100~2000间,而EFI标号中不存储柱面、磁头,扇区信息大小以块数报告,即以扇区号进行操作,分区大小用“块”(block)来表示,如s1分区为sector 100~2000间。EFI 标号的大小通常为 34 个扇区,因此分区从第 34 个扇区开始。此特性意味着任何分区都不能从扇区零 (0) 开始。
# prtvtoc /dev/rdsk/c0t0d0s0       ##VTOC
* /dev/rdsk/c0t0d0s0 partition map 
* Dimensions: 
* 512 bytes/sector 
* 63 sectors/track 
* 15 tracks/cylinder 
* 945 sectors/cylinder 
* 8894 cylinders 
* 8892 accessible cylinders
 
# prtvtoc /dev/rdsk/c3t1d0s0       ##EFI
* /dev/rdsk/c3t1d0s0 partition map 
* Dimensions: 
* 512 bytes/sector 
* 2479267840 sectors 
* 2479267773 accessible sectors
 
其次slice不同,如下:
                      X86                             SPARC
VTOC      10个slice,号码为0~9         8个slice,号码为0~7
 EFI           7个slice,号码为0~6         7个slice,号码为0~6
s0默认是根分区“/”,包含启动信息。
s1默认代表交换分区(swap)
关于S2问题,在VTOC中,在SPARC机器上是代表整个硬盘,在X86机器上代表类型为Solaris的那个分区的整个空间(如果整个硬盘都划成solaris分区,那就代表整个硬盘了)。
在EFI中,S2 分区也是一个普通的可用分区,全盘表示方法为 cxtydz。EFI label 盘上的有一个UUID(Universally Unique Identifer),直接复制(相当于ghost)会导致两盘的UUID重复,某些软件产品读到重复UUID时会发生数据问题,因此需要在复制后重新生成UUID。
s8、s9是保留分片,用户不能使用。

由上图可以看出,如果安装solaris时选择默认分片,则会使用s0、s1、s7,s2代表整个磁盘,那么剩余的只有s3、s4、s5、s6分区可用。
 
 
5、  solaris的slice分片
BSD也是用slice来分区(相当于windows的C、D、E盘分区)。
windows、linux、unix都以柱面为最小单位来分区。
为方便理解以windows的角度理解磁盘分区,以便对solaris的分区更深入理解。

主引导扇区和引导扇区:
主引导扇区是0号柱面、0号磁头、0号磁道的第一个扇区,大小512字节,主引导记录MBR占446字节,DPT分区表占64字节,其它的就不写了。其中MBR是引导程序,DPT是记录4个主分区用的,不做引导。另外有且只有一个扩展分区(特殊主分区),扩展分区不可以直接使用,必须以逻辑分区的形式出现,逻辑分区是以链式形式存在的,即每个逻辑分区都记录下一个逻辑分区的位置信息,依次串联,逻辑分区表记录分区信息和一个指向下一个逻辑分区的指针,当一个逻辑分区损坏,则下一个逻辑分区不可用,上一个可用,即逻辑分区是OS管理的级别。
每个分区都有引导扇区。
当slice高级格式化成USF文件系统时,以下几个块需了解:
超级块:超级块存储文件系统信息(块大小、总块数、柱面数等),有多个备份来确保它的安全-- 备份超级块,因为超级块包含着临界数据,所以他被复制到每一个柱头组用来防止灾难发生。当文件系统被建立之后,这个工作就已经完成了。当超级块损坏时,系统在重启时会调用fsck来自动修复,如果fsck无法自动修复,就需要手动修复,下面是手动修复的两步:
newfs -N /dev/rdsk/c0t0d0s6    列出备用超级块在文件系统中的位置。
fsck -F ufs -o b=106368(位置值)/dev/rdsk/c0t0d0s6
i节点: i节点表存放在超级块之后,其长度是由超级块中的s_isize字段决定的,其作用是用来描述文件的属性、长度、属主、属组、数据块表等,不包括文件名。
在创建文件系统时可以用newfs -i来增加或减少索引节点的数目。一旦文件系统建立,就无法更改索引节点数目,许多小文件容易消耗索引节点数。可以用df -i查看每个slice的i-node状况。如果文件系统i-node不够用,只能创建新的文件系统,将原文件系统数据备份再copy到新文件系统里。

磁盘容量的计算:
存储容量=磁头数(盘片数)×磁道(柱面)数×每道扇区数×每扇区字节数
___________________________|-----磁道的总字节数-----|      
_______________|-------磁盘一个盘面的总字节数------------|
__________|-----磁盘容量(磁头数个盘面)--------------------|

slice命名:c#t#d#s#
c --controller number 控制器编号(如HBA、RAID控制器)
t --target number 目标编号(每个 磁盘、磁带、CDROM等设备的硬件地址),也可认为是磁盘插槽。
d --disk number 磁盘编号,标识第几个磁盘,如第一个磁盘为d0,也可以是逻辑单元号LUN(磁盘阵列)。
s --slice number 分区编号,通常为0~7,

slice和文件系统关系:一个slice不能包含多个文件系统,同样一个文件系统不能跨越多个slice。

6、 磁盘硬件设备名字(其它设备暂且另说明)
设备的3种名字:物理设备名、逻辑设备名、实例名
物理设备名: /devices 
逻辑设备名:/dev/dsk、/dev/rdsk(裸磁盘逻辑名)下指向/devices的link。
                   对每个物理磁盘上的每个片slice,都有两个唯一的存取路径:块设备路 径(/dev/dsk)和裸设备路径(/dev/rdsk)
实例名: 内核为系统的每个设备指定的缩写名字,如IDE硬盘为dad、scsi硬盘为sd、sata硬盘为cmdk。查看磁盘的实例名:iostat -E ,每个设备和其实例名的映射在/etc/path_to_inst文件中(不要轻易修改此文件)。
物理设备名和逻辑设备名的link关系
lrwxrwxrwx   1 root     root          51  1ÔÂ 15ÈÕ 15:36 c0d0s0 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0:a
lrwxrwxrwx   1 root     root          51  1ÔÂ 15ÈÕ 15:36 c0d0s1 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0:b,依次类推.
slice分片的对应:s0 -->cmdk@0,0:a     s1 -->cmdk@0,0:b

lrwxrwxrwx   1 root     root          51  1ÔÂ 15ÈÕ 15:36 c0d0p0 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0:q
lrwxrwxrwx   1 root     root          51  1ÔÂ 15ÈÕ 15:36 c0d0p1 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0:r
lrwxrwxrwx   1 root     root          51  1ÔÂ 15ÈÕ 15:36 c0d0p2 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0:s
主分区的对应:p0 -->cmdk@0,0:q   p1-->cmdk@0,0:r,依次类推.

7、  命令 format (format为sparc分区,fdisk为x86平台用即容量不超过1TB)、prtvtoc

8、 每个slice分区表两个术语

Tag: 用于描述此分区中挂载的文件系统的数值。即标记此分区的用途。
0=UNASSIGEND 1=BOOT 2=ROOT 3=SWAP 4=USR 5=BACKUP 7=VAR 8=HOME 11=RESERVED

Flag: 分区读写挂载标志
wm:可写且可挂载   wu 可写不可挂载  rm 只读可挂载 ru 只读不可挂载
wm rm swap分区的标志。

理解实例以windows的PM分区软件角度看
1、 一个磁盘全部为solaris分区
以windows的PM分区软件角度看

从solaris的format查看

solaris系统下划分三个slice,但PM无法查看。

2、 三个主分区(有ntfs、fat32、solaris)

相当于windows下PM分区软件看有三个主分区:ntfs、fat32、solaris,而solaris系统安装在solaris分区下有三个slice分区,但在PM无法体现。

3、 扩展分区下的逻辑分区
由于没有VM环境,只能文字说明(有时间会建vm测试下面陈述)。假设(PM分区软件看)磁盘划分为:c:\ (主分区NTFS)、solaris分区(主分区)、EXT扩展分区(逻辑分区1、逻辑分区2(fat32))
现在在solaris系统下如何挂载逻辑分区2。
solaris没有定义设备符号来表示硬盘的逻辑分区,所以逻辑分区通常使用c#t#d#p#:x 来表示。
现在有两种情况:当逻辑分区1为ntfs时,则逻辑分区2表示为:c0t0d0p2:1 ,从1开始的。当逻辑分区1为fat32时,则逻辑分区2表示为:c0t0d0p2:2,逻辑分区1表示为:c0t0d0p2:1
其它为
c:\ (主分区NTFS)--- c0t0d0p1
solaris分区  --- c0t0d0p3
EXT扩展分区   --- c0t0d0p2

9、 查看文件系统类型


================================================
IE报错后将所有网页自动关闭
方法一、
  重新注册IE项,修复IE注册。从开始->运行
  regsvr32 actxprxy.dll”
  regsvr32 shdocvw.dll
二、 查看 进程情况,看是否有异常的进程
     IE的插件过多,查看是否有IE插件导致
     IE 安全设置问题
三、 升级到IE8.0
1.控制面板 添加删除 里卸载 IE 
2.控制面板 添加删除 添加WINDOWS组件 里找到 IE然后卸掉
3.C:\Program Files\目录下找到Internet Explorer 删除Internet Explorer 
4.注册表删除 
①对IE 5.0的重装可按以下步骤进行: 
第一步:打开“注册表编辑器”,找到[HKEY_LOCAL_ MACHINE\Software\Microsoft\Internet Explorer],单击其下的Version Vector键。 
第二步:在右侧窗格中双击IE子键,将原来的“5.0002”改为“4.0”,单击“确定”后退出“注册表编辑器”。 
第三步:重启后,就可以重装IE 6。0了。 
②IE 6.0的重装有两种方法: 
方法1:打开“注册表编辑器”,找到[HKEY_LOCAL_ MACHINE\SOFTWARE\Microsoft\Active Setup\ 
Installed Components\{89820200-ECBD-11cf-8B85-00AA005B4383}],将IsInstalled的DWORD值改为0就可以了。







      本文转自fuhaixiong 51CTO博客,原文链接:http://blog.51cto.com/heliy/171707,如需转载请自行联系原作者


相关文章
|
7月前
|
Linux
如何在 Linux 上列出磁盘?
如何在 Linux 上列出磁盘?
66 0
如何在 Linux 上列出磁盘?
|
5月前
|
存储 Linux 文件存储
linux-磁盘应用
linux-磁盘应用
36 0
|
6月前
|
存储 IDE Linux
Linux中的磁盘
在Linux操作系统中,通常需要对某些分区进行特殊配置,以满足不同存储需求,例如交换区或LVM(逻辑卷管理)物理卷。磁盘扮演着永久存储器的角色,而RAM(随机存储器)和交换区则用于临时存储。当执行命令时,命令会从硬盘复制到RAM,以便计算机处理器(CPU)可以更快地访问。
|
6月前
|
缓存 安全 Linux
Linux 中如何安全地抹去磁盘数据?
Linux 中如何安全地抹去磁盘数据?
|
9月前
|
Linux
Linux的磁盘分区和添加磁盘
Linux的磁盘分区和添加磁盘
98 0
|
存储 Linux
Linux 温习(六): LVM 磁盘(二)
逻辑卷管理器(Logical volume Manager)是 Linux 系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而 LVM 技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的低层架构和布局,就可以实现对硬盘分区的动态调整。
185 0
|
存储 Linux
Linux 温习(六): LVM 磁盘(一)
逻辑卷管理器(Logical volume Manager)是 Linux 系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而 LVM 技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的低层架构和布局,就可以实现对硬盘分区的动态调整。
155 0
|
安全 IDE Linux
【Linux】磁盘
文章目录 前言 一、定义 二、物理属性 2.1 物理/数据结构
143 0
【Linux】磁盘
|
存储 Unix 数据库
solaris 11.4 硬盘管理
solaris 11.4 硬盘管理
138 0
|
存储 IDE Linux
linux磁盘及文件系统
linux磁盘及文件系统
214 0
linux磁盘及文件系统