- 论坛徽章:
- 0
|
11.2 硬盘管理
硬盘是存储数据的设备,在整个系统中具有很重要的地位。详细了解硬盘的管理方法是非常必要的。本节主要介绍硬盘的有关知识和管理方法。
11.2.1 硬盘管理概述
1.硬盘标识(Disk Labels)
硬盘标识是专门存放硬盘的控制、结构和盘片信息的地方。目前,Solaris 10支持两种硬盘标识:VTOC和EFI。VTOC是传统的硬盘标识,但它只能创造小于1 TB大小的文件系统(1TB=1000GB)。EFI标识可以支持操作系统创造大于1 TB的文件系统。
需要指出的是,Solaris 10在运行64位内核时支持多TB的UFS文件系统,详细情况请见第12章文件系统的介绍。而在使用EFI标识的情况下,运行32位的Solaris 10系统也可以支持大于1TB的UFS文件系统。
EFI标识硬盘虽然比VTOC标识硬盘支持文件系统大,但是它也有一些限制:
SCSI驱动器ssd当前支持的磁盘最大只能为2 TB。如果你需要大于2 TB容量的磁盘,请使用磁盘和存储管理产品(如Solaris卷管理器)来创建较大的设备。
EFI硬盘标识不支持IDE硬盘。
EFI标识硬盘不能作为启动盘启动操作系统。
EFI标识硬盘的全盘表示为cxtydz。
不能用Solaris Management Console管理工具来管理EFI标识硬盘,但可以用format工具来管理。
2.盘片(Disk Slices)介绍
一个物理盘划分为几个部分,单个部分被称为盘片。存储在硬盘的文件包含在文件系统中,而每个文件系统所在的硬盘部分是一个盘片(Disk Slices)。当我们设置盘片时,需要记住下面的概念:
每个盘片上装有一个文件系统;
没有文件系统可以跨越多个盘片。
对于SPARC和x86系统平台,盘片的设置稍微有所不同,下面我们来汇总一下这些不同,如图11-2所示。
表11-2 盘片在SPARC和x86上的不同
SPARC平台
x86平台
全部的硬盘都贡献给了Solaris
硬盘使用fdisk命令来分区,一个分区可装一个操作系统
VTOC(lable标识)的硬盘可以分为8个盘片,号码是0~7
VTOC(lable标识)的硬盘的fdisk分区可以分为10个分区,号码为0~9
EFI(lable标识)的硬盘可以分为7个盘片,号码为0~6
EFI(lable标识)的硬盘可以分为7个盘片,号码是0~6
需要说明的是,在x86平台的fdisk分区,fdisk分区是硬盘dos分区的一部分,是为了安装多操作系统时,留给其他一些其它的操作系统(如Solaris)的。盘片常用方法如表11-3所示。
表11-3 盘片的常用方法
盘片
文件系统
通常情况下,可在服务器或客户机上找到
解 释
0
Root(/)
都能
安装操作系统的文件和目录,系统不能在EFI lable的硬盘上启动
1
swap
都能
提供虚拟内存
2
—
都能
在VTOC硬盘下,表示整个硬盘。大小不能被改变
在EFI硬盘下,只是一个普通的盘片号码
3
/export
都能
用户可以按照自己的需要定义这个盘片,也可以用来安装客户机需要的操作系统版本
4
都能
用户可以按照自己的需要定义这个盘片
5
/opt
都能
用户可以按照自己的需要定义这个盘片,可以用来安装一些应用软件。如果在盘片没有分配给/opt文件系统空间的话,这个/opt目录大小为0
6
/usr
都能
主要安装一些命令、文档和常用库文件等
7
/home或
/export/home
都能
主要是安装一些用户的文件
8
N/A
N/A
不适用VTOC硬盘
EFI硬盘的保留盘片,不能修改和删除这个盘片
9
—
都能
不使用EFI硬盘
VTOC硬盘上保留盘片
3.硬盘分区表
硬盘标识的一个重要的组成部分就是分区表,它存放着盘片、盘片的边界和盘片的大小等信息。查看分区表的内容可使用format命令。表11-4就是描述分区表的术语。
表11-4 分区表术语
分区表术语
值
描 述
号码
0~7
VTOC硬盘:分区或盘片号0~7
EFI硬盘:分区或盘片号0~6
Tag
0=UNASSIGNED 1=BOOT
2=ROOT 3=SWAP 4=USR
5=BACKUP 7=VAR
8=HOME 11=RESERVED
数字号码表示文件系统被挂接(mount)的分区号
Flags
wm
这个分区可以写和挂接(mount)
wu
这个分区是可以写的,但是不能被挂接。这是swqp分区
rm
这个分区可以被读,也可以被挂接
4.Format命令简介
Format命令是系统管理员使用管理硬盘的工具。它的用处和详细信息如表11-5所示。
表11-5 Format工具的用处和详细信息
用 处
详细信息
在操作系统上寻找所有的硬盘驱动
报告下列信息:
目标所在的位置
硬盘的结构
硬盘是否被格式化
硬盘是否有被mount上的分区
找回硬盘标识
方便硬盘修复操作
修复有缺陷的硬盘扇区
允许管理员修复硬盘驱动或者回到出厂设置
格式化和分析硬盘
创建扇区和校验扇区
硬盘分区
硬盘分成盘片并在每个盘片上创建单个文件系统
增添硬盘标识
写硬盘名和控制信息到硬盘,目的是为了硬盘的恢复
11.2.2 查看硬盘信息
硬盘的信息主要包括硬盘的使用情况、分区情况和标识内容。
1.查看硬盘的使用情况
键入du命令可以查出每个文件或目录占用了多少个512字节的硬盘块。若某目录含子目录,则在计算块数时,子目录中的内容也包括在内。
host%du
2913 ./3.0templates
639 ./Srt
347 ./Howto
1998 ./Clipart
607 ./Newtemplates
38 ./Modemstuff
2004 ./Config/Art
6593 ./Config
13280
host%
上面例子中的输出以512字节的块为单位,欲换算成兆字节(MB),应除以2048,上例中,13280/2048=6.48MB。
也可以用du-k列出以K为单位的输出结果,使用du-s可以只列出总空间大小而无须列出详细目录大小。
2.查看硬盘的分区的情况
使用format命令可以查看到硬盘分区表的信息:
# format
Searching for disks...done
Specify disk (enter its number):1
Selecting c0t0d0
format> partition
partition> print
Current partition table (original):
Total disk cylinders available: 8892 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 root wm 1110 - 4687 1.61GB (0/3578/0) 3381210
1 swap wu 0 - 1109 512.00MB (0/1110/0) 1048950
2 backup wm 0 - 8891 4.01GB (0/8892/0) 8402940
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 home wm 4688 - 8891 1.89GB (0/4204/0) 3972780
partition> q
format> q
#
上面的信息显示硬盘共有三个分区,分布在0,1,7号盘片上,2号盘片标识整个硬盘。
3.查看或更改硬盘标识内容
(1)先来查看硬盘的标识。
检查硬盘标识的命令是prtvtoc。需要说明的是,查看EFI标识也使用这个命令。
使用prtvtoc命令查看VTOC标识:
# prtvtoc /dev/rdsk/c0t0d0s0
* /dev/rdsk/c0t0d0s0 partition map
*
* Dimensions:
* 512 bytes/sector
* 63 sectors/track
* 15 tracks/cylinder
* 945 sectors/cylinder
* 8894 cylinders
* 8892 accessible cylinders
*
* Flags:
* 1: unmountable
* 10: read-only
*
* First Sector Last
* Partition Tag Flags Sector Count Sector Mount Directory
0 2 00 1048950 3381210 4430159 /
1 3 01 0 1048950 1048949
2 5 00 0 8402940 8402939
7 8 00 4430160 3972780 8402939 /export/home
使用prtvtoc命令查看EFI标识:
# prtvtoc /dev/rdsk/c3t1d0s0
* /dev/rdsk/c3t1d0s0 partition map
*
* Dimensions:
* 512 bytes/sector
* 2479267840 sectors
* 2479267773 accessible sectors
*
* Flags:
* 1: unmountable
* 10: read-only
*
* First Sector Last
* Partition Tag Flags Sector Count Sector Mount Directory
0 2 00 34 262144 262177
1 3 01 262178 262144 524321
6 4 00 524322 2478727100 2479251421
8 11 00 2479251422 16384 2479267805
从上面可以出,EFI标识写到第34扇区,从34扇区以后才进入硬盘分区。
(2)更改硬盘标识。
将硬盘从VTOC标识更改为EFI标识的方法是:先选定需要更改的硬盘号,然后再键入lable命令,就会出现让你选择标识类型的菜单。过程如下:
# format -e
Searching for disks...done
AVAILABLE DISK SELECTIONS:
1. c1t0d0 <SunW18g cyl 7506 alt 2 hd 19 sec 248>
/sbus@2,0/QLGC,isp@2,10000/sd@0,0
2. c1t1d0 <SunW18g cyl 7506 alt 2 hd 19 sec 248>
/sbus@2,0/QLGC,isp@2,10000/sd@1,0
3. c1t8d0 <SunW18g cyl 7506 alt 2 hd 19 sec 248>
/sbus@2,0/QLGC,isp@2,10000/sd@8,0
4. c1t9d0 <SunW18g cyl 7506 alt 2 hd 19 sec 248>
/sbus@2,0/QLGC,isp@2,10000/sd@9,0
Specify disk (enter its number): 4
selecting c1t9d0
[disk formatted]
format> label
[0] SMI Label
[1] EFI Label
Specify Label type[0]: 1
Ready to label disk, continue? yes
format> quit
完成。
11.2.3 修复坏的硬盘扇区
硬盘故障发生后,我们首先关注的是硬盘上的数据是否丢失。我们可以先将数据备份,再修复硬盘的坏扇区,如果还是不能修复,就需要换一块新的硬盘了。
下面介绍怎样修复坏硬盘扇区。
(1)将文件存档。
如果硬盘坏了,但还可以访问硬盘,那么就把硬盘上的所有文件系统做一下ufsdump。ufsdump命令的用法见第12章。
(2)将硬盘上的文件拷出。
若无法对硬盘运行ufsdump,那么找一个同类型硬盘,联入系统,使用dd命令从坏盘上拷出数据,
例如,从主盘/dev/rdsk/c0t0d0s2拷贝到目的盘/dev/rdsk/c0t2d0s2,使用命令:
# dd if=/dev/rdsk/c0t0d0s2 of=/dev/rdsk/c0t2d0s2 bs=128k
dd的使用详见dd(1M)手册。
(3)分析硬盘扇区错误。
成为超级用户或授权角色用户。
卸载故障盘:
# umount /dev/dsk/device-name
使用format命令:
# format
选择硬盘:
Specify disk (enter its number):1
selecting c0t2d0:
[disk formatted]
Warning: Current Disk has mounted partitions.
选择分析菜单:
format> analyze
键入setup命令设置分析参数:
analyze> setup
Analyze entire disk [yes]? n
Enter starting block number [0, 0/0/0]: 12330
Enter ending block number [2052287, 2035/13/71]: 12360
Loop continuously [no]? y
Repair defective blocks [yes]? n
Stop after first error [no]? n
Use random bit patterns [no]? n
Enter number of blocks per transfer [126, 0/1/54]: 1
Verify media after formatting [yes]? y
Enable extended messages [no]? n
Restore defect list [yes]? y
Create defect label [yes]? y
使用read命令找到错误的块
analyze> read
Ready to analyze (won’t harm SunOS). This takes a long time,
but is interruptible with Control-C. Continue? y
pass 0
2035/12/1825/7/24
pass 1
Block 12354 (18/4/1, Corrected media error (hard data ecc)
25/7/24
^C
Total of 1 defective blocks repaired.
可见,数据块12345有错误,需要被修复。
(4)下面开始修复错误扇区。
成为超级用户或授权角色用户。
使用format命令:
# format
选择硬盘:
Specify disk (enter its number): 1
selecting c0t3d0
[disk formatted]
format>
选择repair命令:
format> repair
键入错误的块的号码:
Enter absolute block number of defect: 12354
Ready to repair defect, continue? y
Repairing block 12354 (18/4/1...ok.
format>
(5)重新格式化硬盘。
若硬盘上有坏块,则重新格式化有时会解决问题。格式化硬盘的命令是format,其用法和修复扇区错误相似,就是把repair命令换成format命令,详细信息见format(1M)手册。但请记住,格式化硬盘会毁掉磁盘上面的所有数据,格式化完成后还须使用newfs命令重新建立文件系统。
(6)换下旧硬盘。
如果重新格式化和修复坏块都解决不了问题时,就要换下此坏硬盘,方法详见11.2.4节。
11.2.4 添加新的硬盘
在计算机运行过程中,如果硬盘空间已经不足,或者有个硬盘已经出现坏的扇区,而且修复也失败的情况下,我们就须添加一个新的硬盘,并把坏的硬盘换下。
由于在分区方面有所不同,所以SPARC和x86平台上添加硬盘的步骤稍微有所不同,我们须分别介绍。
添加系统盘和数据盘也有所不同。系统盘上只安装着操作系统,如果坏了,就须重新安装或者从备份介质中恢复。具体恢复步骤我们在第12章中介绍。这里重点讲数据盘的添加。
1.在SPARC平台上增添第2块硬盘
(1)关闭系统,装上新的硬盘。
(2)启动系统,进入超级用户状态。
(3)运行Format命令,查看是否已经发现新的硬盘。
# format
AVAILABLE DISK SELECTIONS:
0. /dev/rdsk/c1t0d0s0 <Sun18G cyl 7506 alt 2 hd 19 sec 248>
/sbus@2,0/QLGC,isp@2,10000/sd@0,0
1. /dev/rdsk/c1t1d0s0 <Sun18G cyl 7506 alt 2 hd 19 sec 248>
/sbus@2,0/QLGC,isp@2,10000/sd@1,0
(4)选择新的硬盘号码,进入硬盘设置菜单,使用下面命令进入分区菜单:
format> partition
(5)查看分区情况:
partition> print
(6)修改分区设置:
partition> modify
(7)写入lalel标识中:
partition>label
(8)离开分区菜单:
partition>quit
(9)保存设置,并退出:
format>save
format>quit
#
(10)使用命令newfs来为每一个分区创建文件系统:
#newfs /dev/rdsk/c?t?d?s?
(11)修改/etc/vfstab文件,使新的硬盘分区可以在系统启动的时候别自动mount。
2.在x86平台上增添第2块硬盘
在x86平台上添加第2块硬盘比起在SPARC平台上稍微复杂些。因为x86平台上有个fdisk分区的概念。fdisk分区是区分Solaris系统分区和其他如DOS分区、Linux分区的,毕竟大多数x86平台都可以运行着多操作系统,而在SPARC平台上就没有这些考虑了。
在fdisk分区之后,只有分给Solaris系统的硬盘部分,我们才可以和在SPARC平台上一样进行盘片的分割。限于篇幅,这部分我们将不再叙述,请参见上面的SPARC部分。
下面我们主要介绍x86的fdisk分区:
format> fdisk
Total disk size is 3498 cylinders
Cylinder size is 1199 (512 byte) blocks
Cylinders
Partition Status Type Start End Length %
========= ====== ====== ===== === ====== ===
1 Active DOS-BIG 1 699 699 20
可以看出原盘只有DOS分区,下面建立Solaris分区:
SELECT ONE OF THE FOLLOWING:
1. Create a partition
2. Specify the active partition
3. Delete a partition
4. Change between Solaris and Solaris2 Partition IDs
5. Exit (update disk configuration and exit)
6. Cancel (exit without updating disk configuration)
Enter Selection: 1
选择1,则可创建分区。
Indicate the type of partition you want to create
1=SOLARIS2 2=UNIX 3=PCIXOS 4=Other
5=DOS12 6=DOS16 7=DOSEXT 8=DOSBIG
9=DOS16LBA A=x86 Boot B=Diagnostic C=FAT32
D=FAT32LBA E=DOSEXTLBA F=EFI 0=Exit?1
键入1,则可选择创建Solaris分区。
Indicate the percentage of the disk you want this partition
to use (or enter "c" to specify in cylinders). 80
指出分区的大小百分比。
Should this become the active partition? If yes, it will be
activated each time the computer is or turned on.
Please type "y" or "n". y
键入y,设定为活动分区。
Total disk size is 3498 cylinders
Cylinder size is 1199 (512 byte) blocks
Cylinders
Partition Status Type Start End Length %
========= ====== ========= ===== === ====== ===
1 DOS-BIG 1 699 699 20
2 Active Solaris2 700 3497 2798 80
SELECT ONE OF THE FOLLOWING:
1. Create a partition
2. Specify the active partition
3. Delete a partition
4. Change between Solaris and Solaris2 Partition IDs
5. Exit (update disk configuration and exit)
6. Cancel (exit without updating disk configuration)
Enter Selection:5
键入5,选择退出fdisk分区设置。
接下来就是划分Solaris分区的盘片了,这里不再叙述。 |
|