免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 41771 | 回复: 0
打印 上一主题 下一主题

SCO UnixWare vtoc表的分配 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-27 21:54 |只看该作者 |倒序浏览

SCO UnixWare vtoc表的分配


使用vtoc命令划分slice
1.命令模式
VTOC的全称Volume Table of Contents,目录卷表,他管理着fdisk分区表和slice的分区表。
prtvtoc命令是个磁盘VTOC信息的显示工具,该命令的命令模式如下:
prtvtoc -f filename /dev/rdsk/c0b0t1d0s0 (filename能够任意指定)
edvtoc命令是硬盘VTOC信息的编辑工具,因为每个硬盘在UnixWare7操作系统中都是VTOC驱动程式通过VTOC表进行管理的,所以说edvtoc也是UnixWare7修改硬盘分区的工具该命令的命令模式如下:
edvtoc -f filename /dev/rdsk/c0b0t1d0s0 (filename是指定的vtoc文档)
利用diskadd或disksetup命令添加一个2G大小的分片
2.读取VTOC信息
以root用户登录
# prtvtoc -f vtoc.txt /dev/rdsk/c0b0t3d0s0
# pg vtoc.txt
---------------------------------------------------------------------
# SLICE TAG FLAGS START SIZE
0 0x5 0x201 32 45998000 ——》代表整个逻辑盘
1 0x4 0x201 2048 4280320 ——》代表第一个分片(裸设备)
2 0x0 0x0 0 0
3 0x0 0x0 0 0
4 0x0 0x0 0 0
5 0x0 0x0 0 0
6 0x0 0x0 0 0
7 0x1 0x201 32 34 ——》boot区
8 0xd 0x201 66 1982 ——》Alternate sector/track
9 0x0 0x0 0 0
10 0x0 0x0 0 0
11 0x0 0x0 0 0
12 0x0 0x0 0 0
13 0x0 0x0 0 0
14 0x0 0x0 0 0
15 0x0 0x0 0 0
(EOF):
--------------------------------------------------------------------------
注:
SLICE:该字段表示分片号,其中分片号0(代表整个逻辑盘)、7、8是系统任何;
TAG:该字段对于分片号0、7、8是系统自定的(0x5、0x1、0xd),不能改变,其他分片号在划分裸设备时对应该字段都是0x4;
FLAGS:该字段中0x200表示文档系统,0x201表示裸设备;
START:开始大小,其数值等于上一个分片的start+size,例如在vtoc文档中,我们能够看到其中slice8的start值(66)等于slice7的start+size值(32+34),其中slice1的start值(2048)等于slice8的start+size值(66+1982);
SIZE:分片大小,单位512字节,其中slice0的size表示整个逻辑盘的大小45998000*0.5K=22.998G,而slice1的分片实际大小为4280320*0.5K=2.14G,因为sybase限制分片最大2G,所以我们能够修改vtoc文档使size大小为4000000*0.5K=2G
3.编辑VTOC信息
了解vtoc.txt文档中每个字段的意义,我们就能够利用vi工具编辑该文档,修改后的文档为:
------------------------------------------------------------------
#SLICE TAG FLAGS START SIZE
0 0x5 0x201 32 47101920
1 0x4 0x201 2048 4000000
2 0x4 0x201 4002048 4000000
3 0x4 0x201 8002048 4000000
4 0x4 0x201 12002048 4000000
5 0x4 0x201 16002048 4000000
6 0x4 0x201 20002048 4000000
7 0x1 0x201 32 34
8 0xd 0x201 66 1982
9 0x4 0x201 24002048 4000000
10 0x4 0x201 28002048 4000000
11 0x4 0x201 32002048 4000000
12 0x4 0x201 36002048 4000000
13 0x4 0x201 40002048 4000000
14 0x4 0x201 44002048 3000000
------------------------------------------------------------------------------------
注:
1. 编辑vtoc.txt有一个原则,最后一个slice的结束sector不能超出整个fdisk分区的范围,假如超出,将产生不可预料的严重错误,甚至有导致整个系统瘫痪的可能(假如整个硬盘作为裸设备则不会出现该问题)。
2. 任何分片的的size之和不能超过该硬盘的大小,即任何slice(1-14)对应的size之和不能大于slice0对应的szie数值。
3. 编辑vtoc.txt文档时,最后一行不能为空行。
4.更新VTOC信息
利用edvtoc命令更新硬盘的VTOC信息:
# edvtoc -f vtoc.txt /dev/rdsk/c0b0t3d0s0
您会看到
---------------------------------------------------------------------------
UX:edvtoc: INFO: The following slices are the new disk configuration
you have created. NO ERROR or VALIDITY checking has been done on it.
slice 0: tag: DISK perms: VALID UNMOUNTABLE start: 32 length: 47101920
slice 1: tag: USER perms: VALID UNMOUNTABLE start: 2048 length: 4000000
slice 2: tag: USER perms: VALID UNMOUNTABLE start: 4002048 length: 4000000
slice 3: tag: USER perms: VALID UNMOUNTABLE start: 8002048 length: 4000000
slice 4: tag: USER perms: VALID UNMOUNTABLE start: 12002048 length: 4000000
slice 5: tag: USER perms: VALID UNMOUNTABLE start: 16002048 length: 4000000
slice 6: tag: USER perms: VALID UNMOUNTABLE start: 20002048 length: 4000000
slice 7: tag: BOOT perms: VALID UNMOUNTABLE start: 32 length: 34
slice 8: tag: ALT SEC/TRK perms: VALID UNMOUNTABLE start: 66 length: 1982
slice 9: tag: USER perms: VALID UNMOUNTABLE start: 24002048 length: 4000000
slice 10: tag: USER perms: VALID UNMOUNTABLE start: 28002048 length: 4000000
slice 11: tag: USER perms: VALID UNMOUNTABLE start: 32002048 length: 4000000
slice 12: tag: USER perms: VALID UNMOUNTABLE start: 36002048 length: 4000000
slice 13: tag: USER perms: VALID UNMOUNTABLE start: 40002048 length: 4000000
slice 14: tag: USER perms: VALID UNMOUNTABLE start: 44002048 length: 3000000
Is this configuration the VTOC you want written to c0b0t3d0s0?
(y/n) y
-----------------------------------------------------------------------------------------------
编译内核后重新启动机器 :
# /etc/conf/bin/idbuild
# shutdown -y -g0 -i6
三.查看分片情况
# cd dev/rdsk
# lf c0b0t3d01s*
假如看到的文档从cob0t3d0s0~c0b0t3d0se的话,表示分片成功。
四.映射裸设备文档
1.映射裸设备
通过裸设备创建数据库设备(database device),则需首先将裸设备文档映射到指定的文档名上:
# ln -s /dev/rdsk/c0b0t3d0s1 /home/sybae/devlink/dev25
链接映射后,还需将/dev/rdsk/c0b0t3d0s1的文档属性进行修改:
# chown sybase:sybase /dev/rdsk/c0b0t1d0s1
# chmod 660 /dev/rdsk/c0b0t1d0s1
这里我们为了方便能够先编写一个devcfg的shell脚本:
#raw device config 20040618
ln -s /dev/rdsk/c0b0t3d0s1 /home/sybase/devlink/dev25
ln -s /dev/rdsk/c0b0t3d0s2 /home/sybase/devlink/dev26
ln -s /dev/rdsk/c0b0t3d0s3 /home/sybase/devlink/dev27
ln -s /dev/rdsk/c0b0t3d0s4 /home/sybase/devlink/dev28
ln -s /dev/rdsk/c0b0t3d0s5 /home/sybase/devlink/dev29
ln -s /dev/rdsk/c0b0t3d0s6 /home/sybase/devlink/dev30
ln -s /dev/rdsk/c0b0t3d0s9 /home/sybase/devlink/dev31
ln -s /dev/rdsk/c0b0t3d0sa /home/sybase/devlink/dev32
ln -s /dev/rdsk/c0b0t3d0sb /home/sybase/devlink/dev33
ln -s /dev/rdsk/c0b0t3d0sc /home/sybase/devlink/dev34
ln -s /dev/rdsk/c0b0t3d0sd /home/sybase/devlink/dev35
ln -s /dev/rdsk/c0b0t3d0se /home/sybase/devlink/dev36
修改脚本属性为可执行:
# chmod +x devcfg
# devcfg
2.修改裸设备属主及属性
# chown sybase:sybase /dev/rdsk/c0b0t3*
# chown sybase:sybase /dev/dsk/c0b0t3*
# chown sybase:sybase /dev/async
# chmod 660 /dev/dsk/c0b0t1d0s0
# chmod 660 /dev/rdsk/c0b0t3d0s
# chmod 660 /dev/dsk/c0b0t3d0s0
到此,裸设备配置完成,之后在裸设备上划分建立数据库设备就能够了。
注:
服务器由于更改配置需要重启,重新rebuild后裸设备的映射关系连同属主、属性有可能会回复初始状态,这不是我们希望看到的。解决此问题的办法,就是将裸设备的映射关系连同改变属主、属性的操作统一写在一个可执行文档中(例如S99rawdevcfg),然后将此文档的属性用chmod 777 S99rawdevcfg改为可执行,再将此文档置放于系统自启动目录/etc/rc2.d下,则系统启动时自动执行此文档,以确保裸设备的正常运作。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/898/showart_2162578.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP