AIX中的裸设备

转自网络

在AIX里,每个LVM设备支持两种操作方式,分别被抽象为 Block Device (块设备)和 Character Device (字符设备),
其中Character Device 又被称为 Raw Device (原因往下看):
比如:

# ls -l /dev/*hdisk0
brw-------   1 root     system       22,  2 May 15 2007  hdisk0
crw-------   2 root     system       22,  2 May 15 2007  rhdisk0

# ls -l /dev/*hd3
brw-rw----   1 root     system       10,  7 May 15 2007  /dev/hd3
crw-rw----   1 root     system       10,  7 May 15 2007  /dev/rhd3

这里文件属性开头的'c'字母代表Character, 文件名开头的'r'字母代表Raw。

字符设备支持不定长的数据传输 (data transfers of arbitrary sizes),最小一个字节(但绝不是每次只能传一个字节或字符!),
LVM和存储设备的单次最大I/O只受 LTG (logical track group) 大小的限制,缺省为128KB,可修改。

块设备只能做定长的数据传输,数据必须经过 'kernel buffer cache'。
这个以512-byte block 为单位的buffer cache是传统的块设备的缓存,千万不要和文件系统的缓存混为一谈!!
这样的存取方式不仅效率低,而且带来诸多问题,严重影响大数据量传输的性能,
所以现代操作系统中几乎不用块设备的方式进行高速存储设备的数据存取。

数据库建议直接使用裸设备,意指避开文件系统和文件系统的缓存管理,直接和字符设备打交道。
(注意:文件系统一定是建在字符设备上的,不可能建到块设备上)

这样做的好处主要是三个:
1. 实现每个I/O的代码大大减少:filesystem 和 virtual memory for filesystem 的代码都规避了。
2. 避免了重复缓存造成的内存浪费(数据库和文件系统都有自己的数据缓存)。
3. 避免了文件锁的问题:文件系统里的文件不能同时被多个进程或线程更新。

坏处也有:
1. 失去了通过对普通文件进行管理的易用性。
2. 不能利用文件系统的 Readahead 的功能,顺序读的速度可能做不到最优

自从有了DIO和CIO之后,基于文件系统的数据库性能得以大大提高。
CIO是最接近与裸设备的一种基于文件系统的数据库运行方式,因为它解决了两个问题:
没有文件缓存(就是裸设备优势之2.);
没有文件锁(就是裸设备优势之3.)。
它保持了文件的可见性,所以不存在裸设备劣势之1。
当然DIO和CIO同样不支持Readahead。

综上所述:

+字符设备和块设备是对同一个物理设备的两种不同的存储方式的抽象。
+裸设备这个感念是针对其上有无文件系统来说的,和字符及块设备在概念上没有任何实质联系;
+块设备的block buffer机制和文件系统的缓存是两回事;
+块设备在现代操作系统中基本没有任何用途。
+数据库用裸设备或文件系统mount with CIO, 结合AIO (异步I/O),可以达到最佳I/O性能
  (在AIX 新版本中raw LV 和 CIO FS 均支持 AIO Fast Path );

时间: 2024-09-25 03:12:59

AIX中的裸设备的相关文章

Linux LVM裸设备的使用

1.创建pv pvcreate -M2 --metadatasize 100M /dev/sda pvcreate -M2 --metadatasize 100M /dev/sdb1 pvcreate -M2 --metadatasize 100M /dev/sdb2 pvcreate -M2 --metadatasize 100M /dev/sdc 物理卷可以是整个硬盘(lun),也可以是硬盘上的一个分区 补充: 元数据(Meta Data)是关于数据仓库的数据,指在数据仓库建设过程中所产生的

AIX 共享磁盘中的字符设备(/dev/rhdiskn)及块设备(/dev/hdiskn)

AIX 6.1 ,  Oracle 11.2.0.1 ,   ASM         在配置ASM 共享磁盘时,通过 lspv 查看到/dev 下有很多 hdiskn 及 rhdiskn 的设备, 那么在使用hdiskn作为共享磁盘的时候一定注意使用的文件是/dev/rhdiskn,而不是/dev/hdiskn, 因为rhdiskn是字符设备,hdiskn是块设备.       那么 /dev/hdisk 和 /dev/rhdisk 具体的区别是什么 ?     系统中能够随机(不需要按顺序)访

SQL SERVER中如何使用裸设备

这篇文章也适合ORACLE DBA和MYSQL DBA 阅读 裸设备适用于Linux和Windows 在ORACLE和MYSQL里也是支持裸设备的!! 介绍 大家看到这个标题一定是一头雾水吧,裸设备??裸体的设备??太邪恶了o(∩_∩)o 裸设备:有人叫raw disk,也有人叫raw device 百度一下: http://baike.baidu.com/link?url=ran4ytgFFrsCmAywsOLa0uQczn8rxsEwWXF5WjdTNLx3Sv9Ng2Y1ScJsLT8k7

SUSE Linux 10中如何配置裸设备

裸设备,是没有经过格式化的分区或磁盘,也叫裸分区(原始分区),不被Unix通过文件系统来读取的特殊字符设备.它由应用程序负责对它进行读写操作.不经过文件系统的缓冲,是不被操作系统直接管理的设备.由于跨过操作系统管理,使得I/O效率更高.在基于SUSE Linux 10上安装Oracle 10g RAC的话,由于Oracle 10g 不支持将ocr与votingdisk 存放在ASM 磁盘中,因此,依然需要为其使用裸设备方式.SUSE Linux裸设备的配置与其他的Linux稍有差异,下面将具体描

SOLARS AIX LINUX 下移动数据库文件到裸设备

SOLARS AIX LINUX 下移动数据库文件到裸设备 SOLARIS:  SQL> create tablespace test1  2  datafile '/oradata/ora11g/test01.dbf' size 100m ; Tablespace created. SQL> create table testpp  2  tablespace test1  3  as  4  select * from dba_users; Table created. SQL> a

在UNIX裸设备和文件系统之间移动ORACLE

一.关于裸设备 1.1 什么是裸设备(RAW DEVICE)        裸设备是指未创建文件系统的磁盘分区(raw partition)或逻辑卷(raw logical volume),应用程序直接通过一 个字符设备驱动程序对它进行访问.如何对设备上的数据读写决定于使用它的应用程序.由于对裸设备的操作不通过UNIX的缓冲区,数据在ORACLE的数据缓冲区(BUFFER CACHE)和磁盘之间直接传递,所以使用裸设备在一定程度上能够提高I/O性能,适合I/O量大的系统.另外OPS/RAC (O

ORACLE RAC 裸设备数据库一节点表空间扩容错误添加数据文件到本地的处理

    9月2日上午,总部CRM求助,问题是ORACLE 10.2.0.4 RAC 裸设备数据库在表空间扩容时操作失误,将数据文件错误添加成文件系统文件并且还在节点1的本地目录,导致节点2无法完成写操作,报错信息如下: Wed Sep  2 08:23:23 2015 Errors in file /oracle/app/admin/oracrm/bdump/oracrm2_dbw0_2101996.trc: ORA-01157: cannot identify/lock data file 1

用裸设备来提高Oracle数据库的性能

你需要知道这样一个事实:磁盘I/O是影响Oracle数据库性能的一个重要原因.就本质来说,任何Oracle数据库负责存储数据,从磁盘中查询数据是非常昂贵和费时的操作. 由于许多Oracle系统需要大量的I/O操作,很多Oracle专职人员在碰到大块(DB_BLOCK_SIZE)数据操作时就考虑使用"裸设备"(raw device).裸设备指得是绕过UNIX 的Journal文件系统(Journal File System ,JFS)直接进行访问的磁盘,这样就省去了JFS文件系统的开销.

IBM Workload Partitions Manager和Live Application Mobility在AIX中的应用

WPAR 和 Workload Partitions Manager 简介 工作负载分区 Workload Partitions 或简称 WPAR,是 IBM AIX 提供的一种基于软件的虚拟化解决方案,简单来说就是在一个 AIX 版本 6    或以上的物理主机或逻辑分区中创建多个相互独立的 AIX 系统环境,客户可将诸如 Web.Email,数据库等应用运行于每个模拟的 AIX 中而彼此之间不受影响. 相对于为了充分利用机器资源而将物理机划分为多个虚拟分区的 LPAR 技术,WPAR 可以在