• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

请教各位大虾:块设备和字符设备的区别以及它们的用途和优缺点!

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 22次 | 进入软件测试论坛讨论

领测软件测试网
请教各位大虾:块设备和字符设备的区别以及它们的用途和优缺点!

在下先谢谢各位了。

 jazy 回复于:2002-08-01 16:18:41
[这个贴子最后由jazy在 2002/08/02 09:46am 编辑]

字符设备是裸设备 通过查看 ll /dev/vg00/ 下的内容 若开头带c字符的则为字符设备
块设备是文件设备 通过查看 ll /dev/vg00/ 下的内容 若开头带b字符的则为块符设备

在使用上,只要在对数据库方面的应用需要考虑是选择快设备还是字符设备。一般数据库厂商会建议你建库时使用裸设备(字符设备),空间管理完全由数据库引擎进行管理,这样所有数据和日志直接写盘,当发生系统故障时,系统安全性较强,不至于丢失数据。但还有一种说法是使用块设备便于管理维护人员的系统管理,因为使用裸设备在第一次分配出去之后,这个设备的空间就不能做任何其他用途了,但块设备则不然,你想使用多少空间就分配多少,你可以进行自由的扩展,而无需一次性的全部分配出去。所以我建议在创建数据库master库使用裸设备,而业务数据库及tempdb则使用块设备。


 guoguo 回复于:2002-08-01 17:15:47
建议数据库都用字符设备!!!!

 jazy 回复于:2002-08-02 09:43:15
当然,最保守的办法是全部采用字符设备了,但这是需要牺牲速度的。

 Apache 回复于:2002-08-02 10:40:14
字符设备要比块设备快!而且节省资源。其他的优点,大家说得很清楚了,因为:
字符设备可以使用DMA。

 jazy 回复于:2002-08-02 15:30:09
sybase数据库的安装分为两种方式:文件系统方式和原始设备方式。文件系统方式即将sybase数据库建立在文件系统( File System)的基础上,以文件的形式存放,优点是读写的速度快,据sybase公司工程师称,其读写速度是原始设备方式的5倍,并且备份可以采用保存转移文件的形式进行,较为灵活;而原始设备方式将数据库系统直接建立在原始设备(Raw device)的基础上,最大的优点是安全性较高。  


 guoguo 回复于:2002-08-02 17:38:18
可笑!sybase设计!
竟然与其它数据库相反!
文件系统比裸设备快!

 jazy 回复于:2002-08-02 18:57:07
是啊,这点也许大家都觉得奇怪,但我想我有责任进一步说明这点!在这我给诸位列出二者之间的比较,资料来自sybase公司培训教材!

Advantages of Operating System Files on UNIX:
Potential advantages to using operating system files rather than raw partitions:
1>Response time for queries may be faster:
    Requested page may be found in the file system cache even when not found in the Sybase buffer cache

2>Operating system sequential prefetch may be faster:
Operating system can fetch more than 16K from disk
3>Reads are at least as fast as reads from raw partitions
4>Devices created on file systems that support greater than 4GB physical memory can take advantage of a large file system cache
File systems are easier to manage than raw partitions


Sybase Devices on Windows NT:  Raw Versus File System:

On Windows NT, choices for Sybase devices are:
1>FAT files
2>NTFS files
3>Raw partitions

For both NTFS files and raw partitions:
1>Asynchronous I/O is available
2>Writes are reliable
3>Performance is nearly identical

Because files are easier to work with, using NTFS files for Sybase devices is recommended


至于如何选择,还是自己拿主意吧,哈哈......


 gangang 回复于:2002-08-07 15:51:41
真是不看不知道,SYBASE真奇妙。和ORACLE,DB2如此不同。
我有个问题:如果想使用RAW DEVICE,是否直接使用这个设备文件就可以了。还是要向LINUX中那样先raw一下(或者其他什么处理)。

 jazy 回复于:2002-08-08 10:04:46
需要创建裸分区:(在这里是创建一个存放master库的设备)

lvcreate -L 300 -n sybmasterdev /dev/vgdata1

这样在dev/vgdata1/下会形成两个设备:sybmasterdev 和 rsybmasterdev
在创建数据库时如果用裸设备就选用rsybmaster ,如果用文件系统则用sybmasterdev!

 

 cjns 回复于:2002-08-08 14:08:07
其实SYBASE在FS上快是因为使用了两次内存的缓冲,系统的缓冲和刷新效果很明显的。
其实也只是返回值快,数据还在内存里,所以不可靠。但是sybase 12已经把FS的系统缓冲可以disable了,没优势啦,呵呵!!!
其实接了大盘阵用什么都无所谓,反正是用cache

 howto 回复于:2002-08-08 14:18:51
问的是操作系统的东西,怎么都跑到sybase上去了???
跑题啦!!!

 chinazhaok 回复于:2002-08-08 14:21:22
其实讨论一下也很好啊!不同的数据库他们的设计不同,比如oracle常常都是建在文件系统上!

 cjns 回复于:2002-08-08 14:29:31
哈哈哈哈哈哈哈哈哈

 zhguowen 回复于:2002-08-08 15:05:09
这儿的讨论非常精彩,感谢大家的参与!!!我却无法贴图  唉!

 zhguowen 回复于:2002-08-09 11:21:03
大家分析的很好

 jazy 回复于:2002-08-11 10:00:06
很高兴大家能就这个问题进行激烈的讨论,我想,有些问题不存在绝对的正确与错误,很多时候只是涉及系统优化的问题,具体如何规划,这需要考虑自己的具体情况,权衡利弊。前几天,我们这刚安装一套系统,硬件配制是HP L2000(主备)加磁盘阵列,操作系统是HPUX 11i,数据库选用ASE12,双机采用MC/SG 。在规划时,是将master、systempprocs及业务库分别建在不同的裸设备上,而只将tempdb创建在文件系统上。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网