裸设备管理裸设备:rawdevice,就是不被操作系统直接管理的设备。这种设备少了操作系统一层,I/O效率更高。数据库一般会用到。常与LVM联用。建立裸设备#mkdirraw#mknod/dev/rawctlc1620#mknod/dev/raw/raw1c1621#mknod/dev/raw/raw2c1622#chownroot:disk/dev/rawctl#chmod660/dev/rawctl#chownroot:disk/dev/raw-R#chmod660/dev/raw-R#raw/dev/raw/raw1/dev/vgsys/lvraw1#raw/dev/raw/raw2/dev/vgsys/lvraw2由于重启之后系统裸设备就没有了,所以要bind。在/etc/raw或/etc/sysconfig/rawdevices这个文件中,要把裸设备和相应的分区关联起来。例如:SUSE为/etc/raw文件中,输入raw1:vgsys/lvraw1raw2:vgsys/lvraw2在RedHat中,/etc/sysconfig/rawdevices/dev/raw/raw1/dev/vgsys/lvraw1/dev/raw/raw2/dev/vgsys/lvraw2重要的一步是更改裸设备的权限,谁用裸设备,就将权限赋予谁。例如:chownworkusr:workusr/dev/raw-Rchmod660/dev/raw-R这些命令一起加到启动配置文件中,一般为/etc/rc.local,或/etc/rc.d/rc.local等。openSUSE为/etc/init.d/boot.local。删除裸设备#raw/dev/raw/raw100#raw/dev/raw/raw200查询裸设备#raw-qa开启裸设备服务#chkconfig--list|grepraw#chkconfig-level235rawon#servicerawstartRef:/usr/src/linux-2.6.22.5-31/Documentation/devices.txtAIX用裸设备扩数据库表空间专题AIXCLUB大哥的经典文章,看这个AIX裸设备这块基本差不多了!AIX的裸设备跟LINUX有些不一样,建立完LV会在/dev/下生成跟LV名称前加R的文件,它就是LV的裸设备文件。硬件环境:小型机IBMP670,存储:IBMSHARKF-20软件环境:操作系统AIX5.1数据库oracle9i主题思想:物理卷PV-卷组VG-逻辑卷LV(类型:raw)-添加表空间操作过程:一、首先#lsvg–o//查看所有可用卷组datavg03datavg02datavg01datavg00rootvg二、然后对用来专为数据库准备的卷组进行如下操作:#lsvg–ldatavg03datavg09:LVNAMETYPELPsPPsPVsLVSTATEMOUNTPOINTlvdata0316raw64641open/syncdN/Alvdata0317raw64641open/syncdN/Alvdata0318raw64641closed/syncdN/Alvdata0319raw64641closed/syncdN/Alvdata0320raw64641closed/syncdN/Alvdata0321raw64641closed/syncdN/Alvdata0322raw64641closed/syncdN/Alvdata0323raw64641closed/syncdN/Alvdata0324raw64641closed/syncdN/Alvdata0325raw64641closed/syncdN/Alvdata0326raw64641closed/syncdN/Alvdata0327raw64641closed/syncdN/Alvdata0328raw64641closed/syncdN/Alvdata0329raw64641closed/syncdN/Alvdata0330raw64641closed/syncdN/A由显示可知:该卷组还有13个逻辑卷(裸设备)未被使用(如果在显示结果中没有closed/syncd状态的逻辑卷,可进入第3步)但如何知道这13个逻辑卷有多大容量呢,可以机使用如下命令:#lslvlvdata0315LOGICALVOLUME:lvdata0309VOLUMEGROUP:datavg09LVIDENTIFIER:0037de1d00004c0000000105cd3b6816.11PERMISSION:read/writeVGSTATE:active/completeLVSTATE:opened/syncdTYPE:rawWRITEVERIFY:offMAXLPs:512PPSIZE:64megabyte(s)COPIES:1SCHEDPOLICY:parallelLPs:64PPs:64STALEPPs:0BBPOLICY:relocatableINTER-POLICY:minimumRELOCATABLE:yesINTRA-POLICY:middleUPPERBOUND:32MOUNTPOINT:N/ALABEL:NoneMIRRORWRITECONSISTENCY:on/ACTIVEEACHLPCOPYONASEPARATEPV?:yes可看到物理分区大小为64M,由于在同一卷组当中,所以可以知道所有物理分区大小都是64M,从lsvg-ldatavg09的显示结果可看到,PPs:LPs=1:1所以,每个逻辑卷的大小是:LPs×PPSIZE=64*64M=4096M=4G,进而可知还有13个4G的逻辑卷,未被使用。但到此还不能完全保证就可以使用这13个逻辑卷对数据库的表空间进行扩充,因为我们还不知到这些裸设备的属主,所以还需要如下步骤:#cd/dev#ls–lrlvdata03*//显示以rlvdata03开头的文件属性crw-rw----1oracledba58,20Aug2211:33rlvdata0318crw-rw----1oracledba58,21Aug2211:35rlvdata0319crw-rw----1oracledba58,22Aug2211:37rlvdata0320crw-rw----1oracledba58,23Aug2212:35rlvdata0321crw-rw----1oracledba58,24Aug2212:37rlvdata0322crw-rw----1oracledba58,25Aug2212:39rlvdata0323crw-rw----1oracledba58,26Aug2212:39rlvdata0324crw-rw----1oracledba58,27Aug1916:14rlvdata0325从查询结果可知,裸设备的属主已经是oracle了,oracle可以添加这些裸设备了,但如果裸设备的属主不是oracle而是其他用户,那么需要#chownoracle:dbarlvdata03*//要根据实际情况修改,千万小心三、添加表空间我们可以登录数据库了,使用有创建或修改表空间权限的用户登录数据库(有多种方法),我们以sqlplus为例:#su-oracle$sqlplus/nologSQL*Plus:Release9.2.0.5.0-ProductiononMonAug2212:49:552005Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.SQLconn/assysdbaConnected.SQLaltertablespacets_indexadddatafile2‘/dev/rlvdata0318’size4090;//size是4090而不是4096,如果4096全部使用的话,容易出错SQLTablespacealtered可以反复以上操作,完成其它裸设备的添加,从而达到表空间扩充的目的。但是如果以上13个逻辑卷还不能满足扩充需求,那么可以继续以下步骤四、#lsvgdatavg09//查看卷组信息和使用情况,看是否还有足够的空间VOLUMEGROUP:datavg09VGIDENTIFIER:0037de1d00004c0000000105cd3b6816VGSTATE:activePPSIZE:64megabyte(s)VGPERMISSION:read/writeTOTALPPs:2605(166720megabytes)MAXLVs:256FREEPPs:557(35648megabytes)LVs:32USEDPPs:2048(131072megabytes)OPENLVs:16QUORUM:3TOTALPVs:5VGDESCRIPTORS:5STALEPVs:0STALEPPs:0ACTIVEPVs:5AUTOON:noMAXPPsperPV:1016MAXPVs:32LTGsize:128kilobyte(s)AUTOSYNC:noHOTSPARE:no显示信息可以看到,该卷组目前还有35648M空间供使用,则可以进行如下操作:#mklv-y‘lvdata0331’-t‘raw’datavg0964说明:在卷组datavg09上创建逻辑卷lvdata0331,逻辑卷的类型是raw,逻辑卷的lps是64逻辑卷大小太大对会影响数据库性能,所以不宜创建过大的裸设备。然后进行前面的‘三’节但是如果当前所有的卷组都已使用完,没有可以用来添加裸设备的卷组,那么还要,创建卷组。五、创建卷组在创建之前,我们首先看一下有没有可用的物理卷#lspvvpath53000b273dbe31ff50datavg03vpath54000b273dbe320138datavg03vpath55000b273dbe320303datavg03vpath56000b273dbe320795Nonevpath57000b273dbe320a46Nonevpath58000b273dbe320c29None可以看到vpath56、vpath57、vpath58、还没有备卷组使用。由于当前环境的存储提供是磁盘阵列,所以vpath是在阵列上指定了大小的,在小型机系统认到的所谓的“物理卷”(其实真正的物理卷,应该是hdisk)。#mkvg-f-y'datavg04'-s'64''-n'vpath56vpath57vpath58说明:用vpath56vpath57vpath58创建卷组datavg04,并且物理分区大小是64M卷组创建好后,重复前面的步骤即可完成。参考:裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备。本文收集裸设备和Oracle问答20例。1.什么叫做裸设备?裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备。它由应用程序负责对它进行读写操作。不经过文件系统的缓冲。2.如何辨别裸设备?在Unix的/dev目录下,有许多文件,其中有两个大类:字符设备文件和块设备文件。字符设备特殊文件进行I/O操作不经过操作系统的缓冲区,而块设备特殊文件用来同外设进行定长的包传输。字符特殊文件与外设进行I/o操作时每次只传输一个字符。而对于块设备特殊文件来说,它用了cache机制,在外设和内存之间一次可以传送一整块数据。裸设备使用字符特殊文件。在/dev目录下,你可以看到许多这样的文件。3.使用裸设备的好处因为使用裸设备避免了再经过Unix操作系统这一层,数据直接从Disk到Oracle进行传输,所以使用裸设备对于读写频繁的数据库应用来说,可以极大地提高数据库系统的性能。当然,这是以磁盘的I/O非常大,磁盘I/O已经称为系统瓶颈的情况下才成立。如果磁盘读写确实非常频繁,以至于磁盘读写成为系统瓶颈的情况成立