免费注册 查看新帖 |

Chinaunix

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

[新手入门] 关于 mklv 的几个问题 [复制链接]

论坛徽章:
1
丑牛
日期:2014-08-07 17:07:05
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-13 11:45 |只看该作者 |倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
2 [报告]
发表于 2014-08-13 11:45 |只看该作者
overlap io和async io不是一回事,但有关系。一个是时间overlap,这就是完全的async io的概念,另一个是写入点overlap,我前面说过。提到sync io,在底层是sequential执行的,不可能parallel,即使顶层同时调用,真正到物理执行层面,驱动也是一个一个搞的。因此,overlap不overlap写入的地址没影响,因为io一定是一致的,一个写完了才能写另一个。

async io就有影响了,当然overlap io在async情况下一定出问题,但不overlap的io也可能出问题,例如在io过程中出错回退,就要考虑回退的时间点。通常async io是没办法直接回退的,都是用前滚、重试这种方案。至于别人怎么说,我不清楚,我的理解是这样的。

首先,谁跟你说磁盘就是一个物理磁盘,raid都几十年了,几十个io同时写很正常啊。
其次,即使同一个物理磁盘,也不是只有一个磁头,如果一个长写足够大(当然只是理论,max transfer通常不可能长过一个cylinder),第一个写会覆盖磁盘另一面的头,就可能overlap了

为避免不一致,就要用时间控制,保证先写的永远在前,后写的永远在后,并且先写的要写完,才能执行后面的,也就是顺序执行serialization。

论坛徽章:
0
3 [报告]
发表于 2014-08-13 11:58 |只看该作者
继续回答。

overlap里面没有async的意思吧?

两个io请求同时发生,一个写第一sector,另一个写第三个sector,在sector这个级别(两个io都只写一个sector),两个io就不算overlap的;但如果两个io都写10个sector长,这两个io就是overlap的。为避免数据不一致,显然要注意overlap io的顺序。

另一个是relocation,报错都报的。如果允许relocation,aix可以找个空的空间,通过镜像,把坏块标记了,坏块对应的数据写到新的地方,数据还是mirror的,完好的。如果不允许,那坏块部分就只有一份copy,要人工干预赶快换盘。

论坛徽章:
1
丑牛
日期:2014-08-07 17:07:05
4 [报告]
发表于 2014-08-14 09:45 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
丑牛
日期:2014-08-07 17:07:05
5 [报告]
发表于 2014-08-15 09:36 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
6 [报告]
发表于 2014-08-15 11:52 |只看该作者
sync的含义不在接受方接到的先后,而在发送方如何认可io完成。如果发出去就不管了,那无论怎样都是async io,就是写入的时间是没准的,没有保证的,必须有别的机制去保证一致,通常由更高层的协议完成,就是在哪一层确认,则在哪一层被认为是sync io。因此即使sync io,顺io线路追踪,也会发现在不同层有时是sync,有时是async。

如果发出去io等待写完确认,则发出io请求这一层就是执行的sync io。sync io的特点是请求方知道什么时候io是完成的,并且要对io完成负责。这里要说清楚比较复杂,你自己想吧,最终目的不是sync或者async这个名词,而是为什么要这么做,和都有哪些方法去完成。这里不涉及物理技术,是完全的逻辑、时间概念。

论坛徽章:
0
7 [报告]
发表于 2014-08-15 11:55 |只看该作者
例如:两个io请求都只写一个sector,也是有可能overlap的,如果它们写的是同一个sector并且并行处理,如何保证一致?即使io等待应答回应,如果请求并行发出,也不能保证一致,本质上,即使等待回应,他们还是异步的,因为两个并行写入线程之间没有任何同步。如果要同步,有很多方式,例如拿写令牌;由单一线程写;批量写之后拿scn等等,各有优缺点,各有不同的适用点。

论坛徽章:
1
丑牛
日期:2014-08-07 17:07:05
8 [报告]
发表于 2014-08-15 16:16 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP