SA-238读书笔记10

发表于:2007-06-09来源:作者:点击数: 标签:
磁盘,分区和格式化 磁盘分区和format实用程序 format实用程序是一个系统管理员工具,用于在Solaris操作环境中对硬盘的准备工作。 用户可以通过使用format实用程序来进行磁盘的分类管理,主要的目的是对磁盘进行分区。 为磁盘分区,系统管理员需要: 。正确

磁盘,分区和格式化

磁盘分区和format实用程序

format实用程序是一个系统管理员工具,用于在Solaris操作环境中对硬盘的准备工作。

用户可以通过使用format实用程序来进行磁盘的分类管理,主要的目的是对磁盘进行分区。

为磁盘分区,系统管理员需要:
。正确的识别磁盘
。规划磁盘
。使用format实用程序分区
。为磁盘加上新分区的标签(label)

只有root用户可以使用format实用程序。如果普通用户运行了format实用程序,系统将显示没有权限或者没有找到磁盘。

磁盘卷标和分区表

在Solaris操作环境中,每一个磁盘都在存储区域旁边指定一个区域,来设置关于磁盘的控制器,表面分布和分区的信息。

这个信息称为磁盘的卷标。其他部分则是用于描述内容的卷表(volume table of contents,VTOC)。这个磁盘卷标或者VTOC保存在磁盘的第一个扇区。

为一个磁盘建立卷标是为了要在磁盘上写入分区的信息。如果系统管理员在定义分区后忘记了为磁盘加卷标,分区信息就会丢失。

磁盘卷标的一个重要部分就是定义磁盘分区的分区表,分区在柱头上的分界线和所有分区的长度。

磁盘分区表

见书6-4,有图,这里只定义一些名词

Part:分区序号。有效的分区序号包括0-7
Tag:分区用途的简要说明
0=unassigned
1=boot
2=root
3=swap
4=usr
5=backup
6=stand
7=var
8=home
9=alternates
Flag:wm=磁盘分区是可写并且可mount的
wu=磁盘分区是可写并且不可mount的
rm=磁盘分区是可读并且可mount的
ru=磁盘分区是可读并且不可mount的
Cylinders分区的起始柱头数和终止柱头数
Size分区的长度:Mbytes(mb),Gbytes(gb),Blocks(b),Cylinders(c)
Blocks每个分区的柱头的总数和扇区的总数

定义磁盘Slices
Slices是定义在一个柱头组和柱头的长度上的。柱头组的起始位置是柱头0

定义磁盘partitions

下面描述了定义磁盘的partitions先决条件。

不良的条件
当建立或者改变底盘的slices时,有2种可能发生的不良条件:浪费的磁盘空间和重叠的磁盘Slices。

浪费的磁盘空间:当一个或者多个柱头没有在Slices中定位所产生的空间
重叠的磁盘Slices:当一个或者多个柱头同时被多个Slices定位。

定位磁盘分区表

当root用户使用format实用程序选择磁盘的分区时,一个磁盘分区表的拷贝就被读入内存并且显示当前的磁盘卷标。

Format实用程序通常是依赖于/etc/format.dat文件来读或者调用format实用程序。可以使用/etc/format.dat文件来快速定义可用磁盘表和预先的分区表。

用户可以使用下列命令来将从/etc/format.da文件中预先设定的分区表读入当前卷标。

。select:从/etc/format.dat文件中选择一个预先设定的分区表
。print:显示选择的分区表
。label:将选择的分区表写入磁盘的卷标
。verify:定位磁盘卷标和显示新信息
。disk:选择磁盘
。name:为改变了的分区表建立一个名字
。save:保存名字到./format.dat文件中

进行磁盘分区

按照下面的步骤为磁盘分区
1.Root用户在提示符前输入format并且回车
#  format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
          /pci@1f,4000/scsi@3/sd@0,0
       1. c0t1d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
          /pci@1f,4000/scsi@3/sd@1,0
Specify disk (enter its number): 1

Format实用程序搜索所有已经绑定的磁盘,每个被找到的磁盘,format都显示他的逻辑设备名,硬件名,物理参数和物理设备名。
2.选择在磁盘逻辑设备名左边的编号选择第二个磁盘。

selecting c0t1d0
[disk formatted]


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
        save       - save new disk/partition definitions
        inquiry    - show vendor, product and revision
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
        quit

用于分割Slices的特定的菜单包括
。partition:显示分区菜单
。label:将当前定义的分区写入磁盘卷标
。verify:读并且显示磁盘卷标
。quit:退出format实用程序

3.在format提示符输入partition
format> partition


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
        !<cmd> - execute <cmd>, then return
        quit

partition菜单已经显示了。这个菜单使用户可以执行下列功能
。0-7:指定8个分区的柱头组和长度
。select:从/etc/format.dat中选择之前定义的分区表
。modify:改变之前定义的分区表
。name:命名当前的分区表
。print:显示当前的分区表
。label:将当前分区表写入磁盘卷标

4.在partition提示符输入print显示在内存中的磁盘卷标的拷贝。
partition> print
Current partition table (original):;分区名
Total disk cylinders available: 4924 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders        Size            Blocks
  0 unassigned    wm       0               0         (0/0/0)           0
  1 unassigned    wm       0               0         (0/0/0)           0
  2     backup    wm       0 - 4923        8.43GB    (4924/0/0) 17682084
  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       0 - 4923        8.43GB    (4924/0/0) 17682084

分区的名字显示在第一行的括号中

下面显示每列的含义
。Part:磁盘的Slice编号
。Tag:之前定义的可选的标记符
。Flag:之前定义的可选的标志位
。Cylinders:Slice的起始柱头和结束柱头
。Size:Slice的容量
。Blocks:每个Slice的柱头的总数和扇区的总数

5.输入0选择Slice 0

partition> 0
Part      Tag    Flag     Cylinders        Size            Blocks
  0 unassigned    wm       0               0         (0/0/0)           0

Enter partition id tag[unassigned]: 
Enter partition permission flags[wm]: 
Enter new starting cyl[0]: 
Enter partition size[0b, 0c, 0.00mb, 0.00gb]: 400
partition>

6.当提示ID tag时,输入问号可以列出所有的可选项
7.按回车键则使用默认的tag
8.当提示permission flags时,输入问号可以列出所有的可选项
9.按回车则使用默认的flag
10.输入回车可以设置起始的柱头
11.为Slice 0输入新的容量
12.输入print,显示改变后的当前Slice 0
13.输入1选择Slice 1
14.按回车选择默认的tag和flags
15.输入Slice 1的新起始柱头
16.输入Slice 1的新容量
17.输入print显示改变后的Slice
18.输入7选择Slice 7
19.按回车选择默认的tag和默认的flag
20.输入Slice 7的新起始柱头
21.输入Slice 7的新容量,可以输入$,表示自动分配到最后一个柱头
22.输入print显示分区表
23.检测没有错误后,使用label命令为磁盘建立卷标

保存分区表到/etc/format.dat文件

1.在partition菜单输入name,并且输入一个唯一的名字
2.输入quit命令退出分区菜单
3.输入save保存新的分区表信息。输入/etc/format.dat的完整路径名


定位和使用定制的分区表

1.进入partition菜单
2.使用select命令选择定制的分区表
3.将选择的分区保存到磁盘卷标中
4.退出partition菜单
5.读新的磁盘卷标
6.退出format实用程序

使用modify命令重新分配磁盘

用户有时需要改变Slice的容量,例如磁盘扩容,或者减少。最简单的办法就是在partition菜单中使用modify命令。

当一个磁盘现有的Slice被重新分区并重新设置了卷标,那么磁盘上所有现有的数据都将丢失。现有的重要数据必须备份。

Free hog分区是用于一个保存其他Slice容量改变的磁盘空间

使用modify命令

使用下列步骤改变磁盘Slice的容量

1.输入format并且回车
2.选择一个适当的磁盘
3.输入partition
4.输入modify并且回车
5.输入回车以认可默认的选择
6.选择默认的选项并且回车或者输入yes
7.按回车认可Slice 6是Free Hog分区。如果Slice 6没有分配空间,那么用户必须指定其他的Slice
使用Free Hog Slice
当root调用format实用程序改变一个或者多个磁盘的Slices,一个“临时性“的Slice必须被指定来为扩张和收缩调节运做

当其他Slics是扩展的,恢复,独占或者一个Slice变小是牺牲的空间时,这个临时Slice是用于调整空间的。所以,这个临时的Slice有时被成为free hog

free hog分区只在安装或者运行format时存在。普通情况下是没有free hog分区存在的

8.输入Slice 0的容量,并且回车
9.按回车默认其他分区的容量
10.按回车确认使用这个分区表
11.给当前的分区命名
12.将改变了的分区表写入磁盘卷标
13.输入quit退出

查看磁盘的VTOC

用户可以使用2个方法来查看,定位磁盘的卷标或者VTOC

第一个方法是在format实用程序中是verify

第二个方法是调用prtvtoc命令

使用verify命令读磁盘的VTOC
1.在format提示符下输入verify并且回车
format> verify

Primary label contents:

Volume name = <        >
ascii name  = <SUN18G cyl 7506 alt 2 hd 19 sec 248>
pcyl        = 7508
ncyl        = 7506
acyl        =    2
nhead       =   19
nsect       =  248
Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm     446 - 1376        2.09GB    (931/0/0)   4386872
  1       swap    wu       0 -  445        1.00GB    (446/0/0)   2101552
  2     backup    wm       0 - 7505       16.86GB    (7506/0/0) 35368272
  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    1377 - 7505       13.77GB    (6129/0/0) 28879848
2.输入quit退出

使用prtvtoc命令读磁盘的VTOC

# prtvtoc /dev/rdsk/c0t0d0s2

。Dimensions(尺度):描述磁盘的物理尺度
。Flags:描述分区表中的flags
。partition:描述分区表
。flags:00=wm/01=wu/10=rm/11=ru
。First Sector:定义Slice的起始扇区
。Sector Count:定义Slice的总共扇区
。Last Sector:定义Slice的结尾扇区
。Mount Directory:显示当前的分区是否被挂接在某一目录中

fmthard命令

使用prtvtoc命令,用户可以保存磁盘的VTOC到一个文件。这允许用户在下列情况下使用fmthard命令来从新为磁盘建立卷标。

。在磁盘上的VTOC被破坏掉了
。因为偶然的原因导致磁盘上的分区表变化了

为了将prtvtoc命令的输出保存到其他磁盘的一个文件中,用户可以在fmthard命令中使用datafile变量。

Fmthard –s datafile /dev/rdsk/c#t#d#s2

如果发生了上面描述的其中一种情况,并且先前保存了一个文件,用户可以:

1.运行format,选择磁盘并且为默认的分区表设置磁盘卷标
2.使用fmthard命令将datafile中的信息写回磁盘

# fmthard –s /vtoc/c1t3d0  /dev/rdsk/c1t3d0s2




 南非蜘蛛 回复于:2002-10-28 13:30:18
写的不错:)

 ultra-guest 回复于:2002-10-28 13:38:36
真是个猛男啊,速度不错:)

 nothing 回复于:2002-10-28 13:50:18
勤奋的科学球,我看一遍,至少要两个星期,还是走马观花。

 thingsfly 回复于:2002-10-28 13:51:36
那有sa-238下

 南非蜘蛛 回复于:2002-10-28 14:09:26
也是solaris奇才呀,这么快就看完了:)

 maskgod 回复于:2002-10-28 14:15:12
看来我也要加油了

 科学球 回复于:2002-10-28 14:24:13
老师们,多帮我找找我哪里写错了啊。这一章的东西我比较熟,后面的我就不是那么熟了。

 sunmarmot 回复于:2002-10-28 14:30:10
果然厉害,看的这么快

 sunboy 回复于:2002-10-28 15:55:52
惭愧啊,想起我看238 居然花了那么多时间,555555555555555555

 科学球 回复于:2002-10-28 15:59:10
[quote][b]下面引用由[u]sunboy[/u]在 [i]2002/10/28 03:55pm[/i] 发表的内容:[/b]
惭愧啊,想起我看238 居然花了那么多时间,555555555555555555
[/quote]


我做的就是SUN的产品,什么实验环境都有,好多东西我看书前就知道了,自然看的比较快。但是,老大,帮我看看我写的有没有错误啊!!!!!!!写了10篇了,没一篇有错误是不可能的。

 ultra-guest 回复于:2002-10-28 16:01:22
等我有机会一一实验

 ultra-guest 回复于:2002-10-28 16:04:15
对了,谁给这写文章评个精啊?要不很难找。

 科学球 回复于:2002-10-28 16:55:51
很难找吗?点搜索,输入SA-238读书笔记,就10篇,想多找一篇都没有

 sandfoot 回复于:2002-10-28 21:56:11
感谢

 cfananbb 回复于:2002-10-28 23:19:21
well done!

 jdliub 回复于:2002-10-29 09:07:21
佩服佩服,向你学习!

 libby 回复于:2002-11-01 14:58:59
向你致敬!

 白菜梆子 回复于:2003-01-08 13:16:00
这一章看起来晕晕乎乎的,看来还要再看一变~~

 clearcase/" target="_blank" >cchmail 回复于:2003-04-05 22:46:29
谢谢

 blessfish 回复于:2003-08-15 13:26:06
我怎么找不到9了???球球,我认你做师父吧:)
你把其他的mail给我???:)
好吗?
我的mail:[email protected]
qq:183131692
msn:[email protected]

 blessfish 回复于:2003-08-15 13:26:41
拜托,师父:)

 carlos_cao 回复于:2005-04-12 11:41:43
唉,我好笨啊
看了2遍还是不是很明白

文章的意思是不是在另一硬盘上分区啊?在装系统的盘子上面不能做分区操作?
系统都装上去了还分个什么区啊?

原文转自:http://www.ltesting.net