博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
由于扇区大小的不一样造成的informix初始化失败
阅读量:2453 次
发布时间:2019-05-10

本文共 5988 字,大约阅读时间需要 19 分钟。

错误信息:

10:41:54 WARNING: mt_aio_wait: errno == EINVAL

10:41:54 The chunk '/informix.links/warehouse/rootdbs' will not fit in the space specified.

一台正在使用的服务器,上面已经安装过Informix了,现在想添加一个实例,由于硬盘空间不足了,所以需要加一个阵列柜。

由于要添加的实例将要用到很多空间,所以柜子的容量也比较大。当时建立阵列的时候选择的是支持大于2TB的空间。

一切配置正常后,初始化报错:

10:41:49 Event alarms enabled. ALARMPROG = '/home/informix/etc/alarmprogram.sh'

10:41:49 Booting Language from module <>
10:41:49 Loading Module
10:41:49 Booting Language from module <>
10:41:49 Loading Module
10:41:54 DR: DRAUTO is 0 (Off)
10:41:54 IBM Informix Dynamic Server Version 10.00.UC4 Software Serial Number AAA#B000000
10:41:54 WARNING: mt_aio_wait: errno == EINVAL
10:41:54 The chunk '/informix.links/warehouse/rootdbs' will not fit in the space specified.

10:41:54 IBM Informix Dynamic Server Stopped.

首先检查数据空间有没有问题。

tonykorn97:/informix.links/warehouse # ls -al

total 8
drwxr-xr-x 2 root root 4096 2007-03-09 10:44 .
drwxr-xr-x 9 root root 4096 2007-03-08 14:28 ..
lrwxrwxrwx 1 root root 14 2007-03-08 11:11 datadbs01 -> /dev/raw/raw55
lrwxrwxrwx 1 root root 14 2007-03-08 11:12 indexdbs01 -> /dev/raw/raw56
lrwxrwxrwx 1 root root 14 2007-03-08 11:10 llogdbs -> /dev/raw/raw53
lrwxrwxrwx 1 root root 14 2007-03-08 11:10 plogdbs -> /dev/raw/raw52
lrwxrwxrwx 1 root root 14 2007-03-09 10:44 rootdbs -> /dev/raw/raw51
lrwxrwxrwx 1 root root 14 2007-03-08 11:11 tempdbs -> /dev/raw/raw54
tonykorn97:/informix.links/warehouse # raw -aq
/dev/raw/raw1: bound to major 8, minor 5
/dev/raw/raw2: bound to major 8, minor 6
/dev/raw/raw3: bound to major 8, minor 7
/dev/raw/raw4: bound to major 8, minor 8
/dev/raw/raw5: bound to major 8, minor 9
/dev/raw/raw11: bound to major 8, minor 10
/dev/raw/raw12: bound to major 8, minor 11
/dev/raw/raw13: bound to major 8, minor 12
/dev/raw/raw14: bound to major 8, minor 13
/dev/raw/raw15: bound to major 8, minor 14
/dev/raw/raw21: bound to major 8, minor 17
/dev/raw/raw22: bound to major 8, minor 18
/dev/raw/raw23: bound to major 8, minor 19
/dev/raw/raw24: bound to major 8, minor 21
/dev/raw/raw25: bound to major 8, minor 22
/dev/raw/raw41: bound to major 8, minor 33
/dev/raw/raw42: bound to major 8, minor 34
/dev/raw/raw43: bound to major 8, minor 35
/dev/raw/raw44: bound to major 8, minor 37
/dev/raw/raw45: bound to major 8, minor 38
/dev/raw/raw46: bound to major 8, minor 39
/dev/raw/raw51: bound to major 8, minor 49
/dev/raw/raw52: bound to major 8, minor 50
/dev/raw/raw53: bound to major 8, minor 51
/dev/raw/raw54: bound to major 8, minor 53
/dev/raw/raw55: bound to major 8, minor 54
/dev/raw/raw56: bound to major 8, minor 55
tonykorn97:/informix.links/warehouse # tail -n 10 /etc/raw
raw44:sdc5
raw45:sdc6
raw46:sdc7
#Data warehouse

raw51:sdd1

raw52:sdd2
raw53:sdd3
raw54:sdd5
raw55:sdd6
raw56:sdd7
tonykorn97:/informix.links/warehouse #

权限也都正常

tonykorn97:/informix.links/warehouse # ls -al /dev/raw/raw5*

crw-rw---- 1 informix informix 162, 5 2006-09-25 23:48 /dev/raw/raw5
crw-rw---- 1 informix informix 162, 51 2007-03-08 11:07 /dev/raw/raw51
crw-rw---- 1 informix informix 162, 52 2007-03-08 11:07 /dev/raw/raw52
crw-rw---- 1 informix informix 162, 53 2007-03-08 11:07 /dev/raw/raw53
crw-rw---- 1 informix informix 162, 54 2007-03-08 11:07 /dev/raw/raw54
crw-rw---- 1 informix informix 162, 55 2007-03-08 11:07 /dev/raw/raw55
crw-rw---- 1 informix informix 162, 56 2007-03-08 11:07 /dev/raw/raw56
tonykorn97:/informix.links/warehouse #

此时作为测试用文件系统做数据空间,初始化正常。

当时以为是重新分完区之后没有重新启动柜子造成的。按照原来的经历,这个是不需要重起系统的。
不过当时找不出来原因,就先重起了一下系统试试,重新启动系统后结果还是一样。

此时用:

dd if=/dev/raw/raw51 of=/tmp/raw51.out count=1
测试出错。

而当用bs=2048的时候就正常。

dd if=/dev/raw/raw51 of=/tmp/raw51.out bs=2048 count=1

然后发现正常的扇区大小是512,而柜子的扇区大小是2048
tonykorn97:/informix.links/warehouse # fdisk -l

Disk /dev/sdc: 146.6 GB, 146695782400 bytes

255 heads, 63 sectors/track, 17834 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdc1 1 16 128488+ 83 Linux
/dev/sdc2 17 80 514080 83 Linux
/dev/sdc3 81 208 1028160 83 Linux
/dev/sdc4 209 17834 141580845 5 Extended
/dev/sdc5 209 464 2056288+ 83 Linux
/dev/sdc6 465 8145 61697601 83 Linux
/dev/sdc7 8146 10706 20571201 83 Linux
/dev/sdc8 10707 17834 57255628+ 83 Linux
Note: sector size is 2048 (not 512)

Disk /dev/sdd: 1263.3 GB, 1263324364800 bytes

255 heads, 63 sectors/track, 38397 cylinders
Units = cylinders of 16065 * 2048 = 32901120 bytes

Device Boot Start End Blocks Id System

/dev/sdd1 1 8 256914 83 Linux
/dev/sdd2 9 24 514080 83 Linux
/dev/sdd3 25 56 1028160 83 Linux
/dev/sdd4 57 38397 1231896330 5 Extended
/dev/sdd5 57 120 2056194 83 Linux
/dev/sdd6 121 16120 514079874 83 Linux
/dev/sdd7 16121 24120 257039874 83 Linux

当时想,如果系统是按照扇区数来读写磁盘的话,系统把现在的2048大小的扇区当作512的扇区的话,那么空间应该缩小4倍。
缩小数据空间后重新初始化还是出错。

还测试的有:

用lvm来管理磁盘,然后用raw建立链接,不行。
用ln 直接链接到设备上,还是一样。

用fdisk -b 512 /dev/sdg分区

-b 512指的是扇区大小是512

tonykorn97:/proc # fdisk -b 512 /dev/sdg

Command (m for help): n

Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-142072, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-142072, default 142072): 32

Command (m for help): p

Disk /dev/sdg: 1168.5 GB, 1168583426048 bytes

255 heads, 63 sectors/track, 142072 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdg1 1 32 257008+ 83 Linux

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

fdisk -l查看的结果:

Note: sector size is 2048 (not 512)

Disk /dev/sdg: 1168.5 GB, 1168583426048 bytes

255 heads, 63 sectors/track, 35518 cylinders
Units = cylinders of 16065 * 2048 = 32901120 bytes

Device Boot Start End Blocks Id System

/dev/sdg1 1 32 1028034 83 Linux

没有办法,只有重新配置阵列柜,这次配置阵列柜的时候选择Slice over 2TB为NO。
配置完后重新设置,然后初始化成功。

最后总结原因,应该是系统默认的扇区大小是512,而柜子的扇区大小是2048,系统读取扇区的时候是按照512的大小来读取的。
此时由于大小不一样就报错了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/312079/viewspace-245620/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/312079/viewspace-245620/

你可能感兴趣的文章
orcale可视化建立用户_建立动态可视化的新方法
查看>>
列出薪金高于在部门30_我如何在五个月内将薪金提高一倍并获得一份了不起的工作...
查看>>
gis计算各省河流长度_用河流和各方解释安全漏洞
查看>>
代码编写工具_我希望在开始编写代码时就已经知道的工具:已复习
查看>>
把转变为json_如何使用7行JSON将您的网站转变为移动应用程序
查看>>
如何使用TensorFlow对象检测API播放Quidditch
查看>>
交付方式 saas_我在全职工作时如何交付我的第一个SaaS副项目
查看>>
instagram技术_Instagram9位科技女孩进行技术采访的主要技巧
查看>>
系统在此应用程序堆栈溢出_从部署我的第一个完整堆栈Web应用程序中学到的经验教训...
查看>>
angular面试题及答案_关于最流行的Angular问题的StackOverflow上的48个答案
查看>>
zeppelin连接数据源_使用开放源代码合同(open-zeppelin)创建以太坊令牌
查看>>
ai人工智能程序_简单解释:一个AI程序如何掌握Go的古老游戏
查看>>
以下是ECMAScript 2016、2017和2018中所有新增功能的示例
查看>>
初创团队最重要的是什么_我从一家出色的初创公司工作中学到的最重要的教训...
查看>>
kafka应用于区块链_Apache Kafka的区块链实验
查看>>
elixir 规格_Elixir:一种高画质的编程语言
查看>>
vue.js 全局应用js_如何在不到7分钟的时间内测试您的Vue.js应用
查看>>
深度强化学习和强化学习_深度强化学习:从哪里开始
查看>>
小猪短租超棒新房_freeCodeCamp讲座简介:您可以免费观看的超棒技术讲座
查看>>
拜托了
查看>>