zhangpeng4007
作者zhangpeng40072011-07-04 13:44
系统运维工程师, 某城市商业银行

裸设备概念普及(AIX)

字数 2676阅读 3544评论 1赞 0
    发现oracle对应的表空间对应的数据文件多为裸设备,并不是简单的数据文件。google之,学到了一点东西,遂记之。

---------------------------------------------------------------------------------------------------------------------
    1、什么是裸设备:   

裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被AIX等操作系统通过文件系统来读取的特殊字符设备。

    /dev 目录下,有许多文件,其中有两个大类:字符设备文件和块设备文件。

    字符设备特殊文件进行I/O操作不经过操作系统的缓冲区,而块设备特殊文件用来同外设进行定长的包传输。字符特殊文件与外设进行I/o操作时每次只传输一 个字符。而对于块设备特殊文件来说,它用了cache机制,在外设和内存之间一次可以传送一整块数据。裸设备使用字符特殊文件。在/dev 目录下,可以看到许多这样的文件。

    字符设备:对字符设备的读写不需要通过OS的buffer。它不可被文件系统mount。
    块设备:对块设备的读写需要通过OS的buffer,它可以被mount到文件系统中。

    注:AIX的裸设备跟LINUX有些不一样,建立完LV会在/dev/下生成跟LV名称前加R的文件,它就是LV的裸设备文件

---------------------------------------------------------------------------------------------------------------------
    2、使用裸设备的好处:

    因为使用裸设备避免了再经过Unix操作系统这一层,数据直接从Disk到Oracle进行传输,所以使用裸设备对于读写频繁的数据库应用来说,可以极大 地提高数据库系统的性能。当然,这是以磁盘的 I/O 非常大,磁盘I/O已经称为系统瓶颈的情况下才成立。如果磁盘读写确实非常频繁,以至于磁盘读写成为系统瓶颈的情况成立,那么采用裸设备确实可以大大提高 性能,最大甚至可以提高至40%,非常明显。

  而且,由于使用的是原始分区,没有采用文件系统的管理方式,对于Unix维护文件系统的开销也都没有了,比如不用再维护I-node,空闲块等,这也能够导致性能的提高。

---------------------------------------------------------------------------------------------------------------------
    3、如何决定是否使用裸设备:


  判断是否使用裸设备要从以下方面进行考虑:首先,数据库系统本身需要已经被比较好的经过了优化。优化是一门很有些技术的话题,很难简单地讲述。其次, 使用Unix命令来辨别是否存在磁盘读写瓶颈。比如Unix的vmstat, sar 等命令都可以较好的进行鉴别。如果决定采用裸设备,需要磁盘上还有空闲的分区。否则,就要新添磁盘,或者对原有系统重新规划。

---------------------------------------------------------------------------------------------------------------------
    4、可以把整个裸设备都作为Oracle的数据文件么:


  不行。必须让数据文件的大小稍微小于该裸设备的实际大小。至少要空出两个oracle块的大小来。

---------------------------------------------------------------------------------------------------------------------
    5、裸设备应该属于那个用户:


  应该由root来创建裸设备,然后再分配给Oracle用户以供使用。同时还要把它归入Oracle用户所在的那个组里边(通常都是DBA)。

---------------------------------------------------------------------------------------------------------------------
    6、应该把几个裸设备放到同一个物理磁盘上吗:


  这样做不好。因为使用裸设备就是为了提高磁盘读写速度。而把多个裸设备放到同一个物理磁盘上会导致读写竞争,这样对于提高I/O速度是不利的。应该尽量分散裸设备到不同的物理磁盘上,最好是分散到不同的磁盘控制器上。这是最佳选择。

                                                        转自http://apps.hi.baidu.com/share/detail/31777494


如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论1 条评论

yqinyqin系统架构师, 太原科技大学
2011-07-04 18:22
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广