- 浏览: 682166 次
- 性别:
- 来自: 北京
最新评论
-
sparksun007:
licoolxue 写道选择封装元素那个快捷键太帅了,谢了不就 ...
我的Eclipse快捷键 -
sparksun007:
skying007 写道CTL+SHIFT+R查找资源,博主为 ...
我的Eclipse快捷键 -
sparksun007:
licoolxue 写道选择封装元素那个快捷键太帅了,谢了具体 ...
我的Eclipse快捷键 -
sparksun007:
lseeo 写道第五张图,复制好的在To里,为啥第六章图就全部 ...
JVM调优总结(六)-分代垃圾回收详述2 -
sparksun007:
284885166 写道xj20305 写道请问第2个图到第三 ...
JVM调优总结(六)-分代垃圾回收详述2
文章列表
DAS、SAN和NAS
为了满足人们不断扩大的需求,存储方案也是在发展的。而DAS、SAN、NAS直接反映这种反映了这种趋势。
单台主机。在这种情况下,存储作为主机的一个或多个磁盘存在,这样局限性也是很明显的。由于受限于主机空间,一个主机只能装一块到几块硬盘,而硬盘空间时受限的,当磁盘满了以后,你不得不为主机更换更大空间的硬盘。
独立存储空间。为了解决空间的问题,于是考虑把磁盘独立出来,于是有了DAS(Direct Attached Storage),即:直连存储。DAS就是一组磁盘的集合体,数据读取和写入等也都是由主机来控制。但是,随之而来 ...
[置顶] 说说IO(七)- RAID
- 博客分类:
- java路上
Raid很基础,但是在存储系统中占据非常重要的地位,所有涉及存储的书籍都会提到RAID。RAID通过磁盘冗余的方式提高了可用性和可高性,一方面增加了数据读写速度,另一方面增加了数据的安全性。
RAID 0
对数据进行条带化。使用两个磁盘交替存放连续数据。因此可以实现并发读写,但带来的问题是如果一个磁盘损坏,另外一个磁盘的数据将失去意义。RAID 0最少需要2块盘。
RAID 1
对数据进行镜像。数据写入时,相同的数据同时写入两块盘。因此两个盘的数据完全一致,如果一块盘损坏,另外一块盘可以顶替使用,RAID 1带来了很好的可靠性 ...
这部分值得一说的是多路径问题。IO部分的高可用性在整个应用系统中可以说是最关键的,应用层可以坏掉一两台机器没有问题,但是如果IO不通了,整个系统都没法使用。如图为一个典型的SAN网络,从主机到磁盘,所有路径上都提供了冗余,以备发生通路中断的情况。
OS配置了2块光纤卡,分别连不同交换机
SAN网络配置了2个交换机
存储配置了2个Controller,分别连不同交换机
LVM(逻辑卷管理),位于操作系统和硬盘之间,LVM屏蔽了底层硬盘带来的复杂性。最简单的,LVM使得N块硬盘在OS看来成为一块硬盘,大大提高了系统可用性。
LVM的引入,使得文件系统和底层磁盘之间的关系变得更为灵活,而且更方便关系。LVM有以下特点:
统一进行磁盘管理。按需分配空间,提供动态扩展。
条带化(Striped)
镜像(mirrored)
快照(snapshot)
LVM可以做动态磁盘扩展,想想看,当系统管理员发现应用空间不足时,敲两个命令就完成空间扩展,估计做梦都要笑醒:)
LVM的磁盘管理方式
...
文件系统各有不同,其最主要的目标就是解决磁盘空间的管理问题,同时提供高效性、安全性。如果在分布式环境下,则有相应的分布式文件系统。Linux上有ext系列,Windows上有Fat和NTFS。如图为一个linux下文件系统的结构。
其中VFS(Virtual File System)是Linux Kernel文件系统的一个模块,简单看就是一个Adapter,对下屏蔽了下层不同文件系统之间的差异,对上为操作系统提供了统一的接口.
中间部分为各个不同文件系统的实现。
再往下是Buffer Cache和Driver。
最重要的三个指标
IOPS
IOPS,即每秒钟处理的IO请求数量。IOPS是随机访问类型业务(OLTP类)很重要的一个参考指标。
一块物理硬盘能提供多少IOPS?
从磁盘上进行数据读取时,比较重要的几个时间是:寻址时间(找到数据块的起始位置),旋转时间(等待磁盘旋转到数据块的起始位置),传输时间(读取数据的时间和返回的时间)。其中寻址时间是固定的(磁头定位到数据的存储的扇区即可),旋转时间受磁盘转速的影响,传输时间受数据量大小的影响和接口类型的影响(不用硬盘接口速度不同),但是在随机访问类业务中,他的时间也很少。因此,在硬盘接口相同的情况下,IOPS主 ...
这部分的东西在网络编程经常能看到,不过在所有IO处理中都是类似的。
IO请求的两个阶段:
等待资源阶段:IO请求一般需要请求特殊的资源(如磁盘、RAM、文件),当资源被上一个使用者使用没有被释放时,IO请求就会被阻塞,直到能够使用这个资源。
使用资源阶段:真正进行数据接收和发生。
举例说就是排队和服务。
在等待数据阶段,IO分为阻塞IO和非阻塞IO。
阻塞IO:资源不可用时,IO请求一直阻塞,直到反馈结果(有数据或超时)。
IO性能对于一个系统的影响是至关重要的。一个系统经过多项优化以后,瓶颈往往落在数据库;而数据库经过多种优化以后,瓶颈最终会落到IO。而IO性能的发展,明显落后于CPU的发展。Memchached也好,NoSql也好,这些流行技术的背后都在直接或者间接地回避IO瓶颈,从而提高系统性能。
IO系统的分层:
三层结构
上图层次比较多,但总的就是三部分。磁盘(存储)、VM(卷管理)和文件系统。专有名词不好理解,打个比方说:磁盘就相当于一块待用的空地;LVM相当于空地上的围墙(把空地划分成多个部分);文件系统则相当于每块空地上建的楼房(决定了有多少房间、房屋编号如何 ...
不久前的某一天,我突然得到了一个启示。我意识到用“程序员”和“雇员”这两个词来描述自己是很不充分的。我应该是个产品,而且你也是。如果你想发展你的职业生涯,你应该把你的职业生涯当作一个产品来开发。
你为 ...
今天参加了淘宝的iDataForum,收获不少。详细的PPT过段时间能发在官方网站上。
Topic 1:淘宝架构的变迁。
这个topic主要讲淘宝这几年数据库面临的一些问题以及问题的解决。下面的数据还是老一些的数据。
淘宝现在 ...
最近碰到的一个Java应用,费了半天劲还是没定位到是哪儿的问。发上来给大家看看,给点建议。
环境
DB Server:32core HPUX DB2
App Server * 2:8core HPUX WAS6.1 每个节点2个app
初次测试现象
WAS,DB2CPU均上不去,CPU、内存、磁盘、网络等都正常。
从loadrunner报告来看,有两个用例很奇怪,在16/24/50用户下,呈线性增长。根据经验,这两个用例可能存在资源争用,造成串行的地方。
检查DB2,正常,语句执行都很快,部分用例有锁,但与造成问题的两个用例无关。
第一次尝试: ...
云计算有多热大家都知道,可是到底什么是“云”估计谁也说不清。就像云的变化多端、无形无像一样,不管是什么软件,都可以套上云的头衔,可是你又说不清他到底在哪儿云了?虚拟化、分布式、移动互联这些组成了 ...
看看这个“英雄杀”,还有前几天的葫芦娃大战群妖,对于腾讯这种恬不知耻的抄袭,真是无语了。这个英雄杀里的人物能力、装备、锦囊、基本牌跟三国杀的设定都是一样,令人更无语的是,抄也就算了,但是连名字都 ...
也许我很傻,但我宁愿犯傻,宁愿活在我的梦想里拼搏,也不要找出一堆的借口。金钱的利诱不会带来真正的成功,真正的成功来自于爱和热情。你必须爱你所做的事情,你必须对你所做的事有热情。失败并不可怕。可怕的是当你60岁时回首往事才发现“也许我应该给自己一次实现梦想的机会,也许我会成功的,也许我应该守住梦想”。
在生活的压力和梦想之间,你会如何选择呢?无论如何艰难,给自己一个实现梦想的机会,哪怕最后一败涂地,但至少无愧于心。
====================我是分隔线============================
原文链接
周末的时候 ...