Bo's Oracle Station

查看: 4600|回复: 4

关于ASM 4K sector_size的疑问

[复制链接]

81

主题

181

帖子

781

积分

高级会员

Rank: 4

积分
781
发表于 2017-11-28 10:14:39 | 显示全部楼层 |阅读模式
本帖最后由 lujiaguai 于 2017-11-28 11:10 编辑

唐老师,在课本上看到关于ASM 4K扇区写入的描述,有个概念请教
书上的描述如下图(连续4页,12-16,12-17):
ggggg.png
hhhhh.png

ddddddddddd.png
ccccccc.png


4K直接写入物理磁盘很好理解,从图中第6行开始的描述来看,指的是ASM直接写入4K的物理驱动器,而不需要任何的disk cache memory转换

那么emulation mode指的是什么情况?
这个模式的意思是,依然是512K写入,但是磁盘本身是4KB的,那么每一次写512k的时候,都要读取4KB的数据到disk cache memory中,再update写入这512KB,然后在4kb写回磁盘。
书在后面还提到, create diskgroup的时候,或者alter diskgroup add disk的时候,如果不指定sector_size的属性,那么会去判断磁盘本身的值,并用这个磁盘的属性值作为默认参数。
同时盘组内所有磁盘的sector_size必须一致。

我做过实验,就是这个样子
下面的截图是模拟的过程
ffffff.png

eeeeeee.png
iiiii.png
1,我这里的盘是4k的
2,我创建FRA盘组,如果不指定 sector_size,那么建好以后看到的sector_size就是4096
3,我删掉盘组再建,用512的属性,但是创建失败,说明sector_size的值取决于磁盘本身,并不能手动的去指定(同样的我在512的盘上指定sector_size=4096也是不可以的)


物理盘是 4K的,那么sector_size 只能是4k  
物理盘是512的,那么sector_size 只能是512
所以我觉得很纳闷,既然如此,那么书上说的ASM  emulation mode,出现在什么情况下?很是不解,希望唐老师能解惑。

eeeeeee.png
回复

使用道具 举报

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2017-11-29 10:18:40 | 显示全部楼层
模拟4k,可以在建磁盘组和日志组时,使用512。
原生4k,只能用4096。

检查是否4K,请看:
root@station90 ~]# grep "" /sys/block/*/queue/*block_size
/sys/block/dm-0/queue/logical_block_size:512
/sys/block/dm-0/queue/physical_block_size:512
/sys/block/dm-1/queue/logical_block_size:512
/sys/block/dm-1/queue/physical_block_size:512
/sys/block/dm-2/queue/logical_block_size:512
/sys/block/dm-2/queue/physical_block_size:512
/sys/block/dm-3/queue/logical_block_size:512
/sys/block/dm-3/queue/physical_block_size:512
/sys/block/dm-4/queue/logical_block_size:512
/sys/block/dm-4/queue/physical_block_size:512
/sys/block/dm-5/queue/logical_block_size:512
/sys/block/dm-5/queue/physical_block_size:512
/sys/block/dm-6/queue/logical_block_size:512
/sys/block/dm-6/queue/physical_block_size:512
/sys/block/dm-7/queue/logical_block_size:512
/sys/block/dm-7/queue/physical_block_size:512
/sys/block/loop0/queue/logical_block_size:512
/sys/block/loop0/queue/physical_block_size:512
/sys/block/loop1/queue/logical_block_size:512
/sys/block/loop1/queue/physical_block_size:512
/sys/block/loop2/queue/logical_block_size:512
/sys/block/loop2/queue/physical_block_size:512
/sys/block/loop3/queue/logical_block_size:512
/sys/block/loop3/queue/physical_block_size:512
/sys/block/loop4/queue/logical_block_size:512
/sys/block/loop4/queue/physical_block_size:512
/sys/block/loop5/queue/logical_block_size:512
/sys/block/loop5/queue/physical_block_size:512
/sys/block/loop6/queue/logical_block_size:512
/sys/block/loop6/queue/physical_block_size:512
/sys/block/loop7/queue/logical_block_size:512
/sys/block/loop7/queue/physical_block_size:512
/sys/block/loop9/queue/logical_block_size:512
/sys/block/loop9/queue/physical_block_size:512
/sys/block/ram0/queue/logical_block_size:512
/sys/block/ram0/queue/physical_block_size:4096
/sys/block/ram10/queue/logical_block_size:512
/sys/block/ram10/queue/physical_block_size:4096
/sys/block/ram11/queue/logical_block_size:512
/sys/block/ram11/queue/physical_block_size:4096
/sys/block/ram12/queue/logical_block_size:512
/sys/block/ram12/queue/physical_block_size:4096
/sys/block/ram13/queue/logical_block_size:512
/sys/block/ram13/queue/physical_block_size:4096
/sys/block/ram14/queue/logical_block_size:512
/sys/block/ram14/queue/physical_block_size:4096
/sys/block/ram15/queue/logical_block_size:512
/sys/block/ram15/queue/physical_block_size:4096
/sys/block/ram1/queue/logical_block_size:512
/sys/block/ram1/queue/physical_block_size:4096
/sys/block/ram2/queue/logical_block_size:512
/sys/block/ram2/queue/physical_block_size:4096
/sys/block/ram3/queue/logical_block_size:512
/sys/block/ram3/queue/physical_block_size:4096
/sys/block/ram4/queue/logical_block_size:512
/sys/block/ram4/queue/physical_block_size:4096
/sys/block/ram5/queue/logical_block_size:512
/sys/block/ram5/queue/physical_block_size:4096
/sys/block/ram6/queue/logical_block_size:512
/sys/block/ram6/queue/physical_block_size:4096
/sys/block/ram7/queue/logical_block_size:512
/sys/block/ram7/queue/physical_block_size:4096
/sys/block/ram8/queue/logical_block_size:512
/sys/block/ram8/queue/physical_block_size:4096
/sys/block/ram9/queue/logical_block_size:512
/sys/block/ram9/queue/physical_block_size:4096
/sys/block/sda/queue/logical_block_size:512
/sys/block/sda/queue/physical_block_size:512
/sys/block/sr0/queue/logical_block_size:512
/sys/block/sr0/queue/physical_block_size:512
[root@station90 ~]#

原生4k,logical_block_size:512,也是写512。以上例子说明sda不是4k的。
回复 支持 反对

使用道具 举报

81

主题

181

帖子

781

积分

高级会员

Rank: 4

积分
781
 楼主| 发表于 2017-11-30 11:35:47 | 显示全部楼层
盘是4K的
dddd.png

4k的盘,我在create diskgroup的时候,默认创建的sector_size就是4096,同时不可以指定sector_size=512,前面也截图验证过了。
同样我在512的磁盘上,默认sector_size=512,也不能执行sector_size=4096

我的疑惑是,既然结果是这个样子,为何书上说存在emulation mode,仿真模式?不明白这种仿真模式在什么情况下会出现?
盘是512的,就只能建立512的diskgroup;盘是4K的,就只能建立4K的diskgroup。何来的emulation mode??

书上说仿真模式会影响性能,我就是想搞清楚什么情况下出现书上说的这种emulation mode?
是否指的是:
磁盘是物理4K的(physical_block=4096),而数据文件或者日志文件所在分区的logical_block=512,并没有在格式化的时候弄成logical_block=4096.而日志文件此时写在LINUX文件系统上。
这种情况下,Oracle可以执行 alter database add logfile group *  blocksize 4096   ,此时就是假4K,也就是emulation mode,这部分日志写入到操作系统上做了书上所说的转换。

如果说用ASM diskgroup,则不会存在上述的问题,因为physical_block=4096,那么create diskgroup 的结果 sector_size就是4096,这样就不会是emulation mode

唐SIR,是这样理解这4张幻灯片的内容吗?





回复 支持 反对

使用道具 举报

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2017-12-5 10:56:43 | 显示全部楼层

emulation 4K是低成本硬件,你看到linux认为4K而 oracle能用512建日志组的设备,就是模拟4K。模拟4K也建议4096的日志组。
回复 支持 反对

使用道具 举报

81

主题

181

帖子

781

积分

高级会员

Rank: 4

积分
781
 楼主| 发表于 2017-12-5 15:24:21 | 显示全部楼层
总结来说是不是这样:
盘本身如果看到 物理扇区是4K
alter database add logfile group *  blocksize 512    如果成功 ,就是低成本硬件,假4K,这就是书上说的仿真模式。
alter database add logfile group *  blocksize 4096   如果只有这样才能成功,同时blocksize 512失败 ,就是硬件真4K。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-3-28 18:52 , Processed in 0.042603 second(s), 27 queries .

快速回复 返回顶部 返回列表