解决浏览器缓存导致不能显示最新页面问题的办法

由于浏览器缓存机制的原因,使得浏览器在访问过页面后,对该页面产生缓存,当再次访问该页面,一般浏览器会直接从缓存读取,而不显示页面的最新内容,对于这种问题,我们可以在浏览器的选项中设置,如设置IE的IE选项,常规——浏览历史记录——设置————Internet临时文件,检查存储的页面的较新版本,默认是“自动“,将”自动”改为“每次访问网页时”,即可解决该问题。

这四个选项的作用和意义如下:

每次访问网页时”选项表示浏览器每次访问一个页面时,不管浏览器是否缓存过此页面,都要向服务器发出访问请求。这种设置的优点是实时性很强,肯定能够访问到网页的最新内容,但是如果网页内容很少更新,这种设置的访问效率就比较低了。

每次启动Internet Explorer时”选项表示在浏览器的每次启动运行期间,在第一次访问一个页面时,不管浏览器是否缓存过此页面,都要向服务器发出访问请求,但是在浏览器的本次启动运行期间对该页面的后续访问,浏览器将不再向服务器发出访问请求,而是直接使用缓存中的内容。这种设置具有较高的访问效率,同时也兼顾了较好的实时性,它可以保证每次启动浏览器后看到的都是最新的网页内容。

自动”选项与“每次启动Internet Explorer时检查”选项的功能相似,只是对图像的访问有所不同,如果随着时间的推移,浏览器发现网页上的图像更新并不频繁,这样,即使浏览器在对某个已缓存的图像执行本次启动运行以来的第一次访问时,它也不一定会向服务器发出访问请求,而是干脆直接使用缓存中的内容。“自动”选项是浏览器的默认设置,所以,几乎所有人的浏览器都是按照这种方式工作的,这个选项的作用和意义应该成为读者熟悉的重点。

从不”选项表示浏览器不管在什么情况下访问一个页面时,只要能够在本地找到此页面的缓存信息,浏览器就不会向服务器发出访问请求,而是直接使用缓存的内容。这种设置的优点是访问效率很高,但是如果服务器端的网页内容更新后,浏览器看到的内容很可能是过期的内容。

附:浏览器缓存机制介绍,详见http://www.eumz.com/2015-09/1227.html

浏览器缓存机制介绍

浏览器缓存机制,其实主要就是HTTP协议定义的缓存机制(如: Expires; Cache-control等)。但是也有非HTTP协议定义的缓存机制,如使用HTML Meta 标签,Web开发者可以在HTML页面的<head>节点中加入<meta>标签,代码为:<META HTTP-EQUIV=”Pragma” CONTENT=”no-cache”>,该代码的作用是告诉浏览器当前页面不被缓存,每次访问都需要去服务器拉取。使用上很简单,但只有部分浏览器可以支持,而且所有缓存代理服务器都不支持,因为代理不解析HTML内容本身。

Expires是Web服务器响应消息头字段,在响应http请求时告诉浏览器在过期时间前浏览器可以直接从浏览器缓存取数据,而无需再次请求。不过Expires 是HTTP 1.0的东西,现在默认浏览器均默认使用HTTP 1.1,所以它的作用基本忽略。

Cache-Control与Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据。只不过Cache-Control的选择更多,设置更细致,如果同时设置的话,其优先级高于Expires。

http协议头Cache-Control
值可以是public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age
各个消息中的指令含义如下:
Public指示响应可被任何缓存区缓存。
Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。
no-cache指示请求或响应消息不能缓存
no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。
max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。
min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。
max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

Last-Modified/If-Modified-Since
Last-Modified/If-Modified-Since要配合Cache-Control使用。
Last-Modified:标示这个响应资源的最后修改时间。web服务器在响应请求时,告诉浏览器资源的最后修改时间。
If-Modified-Since:当资源过期时(使用Cache-Control标识的max-age),发现资源具有Last-Modified声明,则再次向web服务器请求时带上头 If-Modified-Since,表示请求时间。web服务器收到请求后发现有头If-Modified-Since 则与被请求资源的最后修改时间进行比对。若最后修改时间较新,说明资源又被改动过,则响应整片资源内容(写在响应消息包体内),HTTP 200;若最后修改时间较旧,说明资源无新修改,则响应HTTP 304 (无需包体,节省浏览),告知浏览器继续使用所保存的cache。

Etag/If-None-Match
Etag/If-None-Match也要配合Cache-Control使用。
Etag:web服务器响应请求时,告诉浏览器当前资源在服务器的唯一标识(生成规则由服务器觉得)。Apache中,ETag的值,默认是对文件的索引节(INode),大小(Size)和最后修改时间(MTime)进行Hash后得到的。
If-None-Match:当资源过期时(使用Cache-Control标识的max-age),发现资源具有Etage声明,则再次向web服务器请求时带上头If-None-Match (Etag的值)。web服务器收到请求后发现有头If-None-Match 则与被请求资源的相应校验串进行比对,决定返回200或304。

HTTP1.1中Etag的出现主要是为了解决几个Last-Modified比较难解决的问题:

Last-Modified标注的最后修改只能精确到秒级,如果某些文件在1秒钟以内,被修改多次的话,它将不能准确标注文件的修改时间;
如果某些文件会被定期生成,当有时内容并没有任何变化,但Last-Modified却改变了,导致文件没法使用缓存;
有可能存在服务器没有准确获取文件修改时间,或者与代理服务器时间不一致等情形。

Etag是服务器自动生成或者由开发者生成的对应资源在服务器端的唯一标识符,能够更加准确的控制缓存。Last-Modified与ETag是可以一起使用的,服务器会优先验证ETag,一致的情况下,才会继续比对Last-Modified,最后才决定是否返回304。

浏览器缓存行为还有用户的行为有关,见下图:

用户操作 Expires/Cache-Control Last-Modified/Etag
地址栏回车 有效 有效
页面链接跳转 有效 有效
新开窗口 有效 有效
前进、后退 有效 有效
F5刷新 无效 有效
Ctrl+F5刷新 无效 无效

所以,当浏览器第一次请求时:

浏览器第一次请求

当浏览器第二次请求时:浏览器第二次请求

 

附:解决浏览器缓存导致不能显示最新页面问题的办法,详见http://www.eumz.com/2015-09/1231.html

DELL、HP、IBM X86服务器命名规则

各大服务器厂家对于自己的服务器命名都有一定的规则,通常会根据服务器的外观(如塔式、机架式、刀片等)、处理器(如Intel或者AMD等)、架构等信息来命名。本文主要介绍DELL、HP、IBM X86服务器的命名规则。

DELL服务器主要为X86架构服务器,包括机架式、塔式和刀片式服务器,对于DELL服务器第9代以前和第10代之后的服务器命名规则不同。
现以DELL R720来说明DELL X86服务器的命名规则,R代表机架式,T为塔式,M为刀片式,第一位7表示性能,数字越大越高端,3以下表示单路服务器,4到8表示双路服务器,9表示四路服务器,第二位2表示为DELL的第12代产品,第三位0表示采用Intel的CPU,如果是5则采用AMD的CPU。
第9代之前的命名规则,以DELL 2950服务器举例,第一位2表示性能,数字越大越高端,第二位表示服务器为第9代产品,第三位5表示机架式,如果是0则表示塔式,第四位0表示采用Intel的CPU,如果是5则表示采用AMD的CPU。

HP的X86服务器和DELL一样也包括塔式、机架式和刀片服务器,ML表示塔式,DL表示机架式,BL表示刀片。现以HP DL380 G7举例说明服务器命名规则,前两位表示性能,数字越大一般性能越强,第三位0表示采用Intel的CPU,如果是5则表示采用AMD的CPU,G7表示是HP的第7代产品。

对于IBM服务器,主要包括i系列、p系列、x系列、z系列。
i系列的服务器产品一直被大家命名为“小型机“,i系列服务器一般是中断产品,该系列产品用户主要是将众多的小型服务器合并到更少量的i系列产品中,i系列采用IBM POWER微处理器技术。
p系列也是基于POWER处理器的服务器,运行AIX(IBM版Unix)和Linux,p系列是IBM Unix服务器产品线的根基,有机架式和机柜式。
x系列全部基于X86架构处理器,也和DELL、HP一样包括塔式服务器、机架式服务器和刀片服务器。现以IBM X3850 X5服务器来说明命名规则,x3表明是x3架构下的服务器,第二位的8表明性能,数字越大表示性能越强,第三位的5表示机架式,如果是2或者3也表示机架式,如果第三位是0则表示塔式,如X3500服务器即为塔式服务器,第四位的0表示采用的是intel的CPU,5表示用的是AMD的CPU,最后的两位x5则是表示内存技术、内存扩展能力。
z系列为大型机,都为机柜式结构,该系列产品相当高端,是IBM的支柱产品。

SAS、NL-SAS、SATA硬盘的比较

When you buy a server or storage array these days, you often have the choice between three different kinds of hard drives: Serial Attached SCSI (SAS), Near Line SAS (NL-SAS) and Serial ATA (SATA). Yes, there are other kinds of drives, such as Fibre Channel, but I’m focusing this article on the SAS/SATA question. Further, even though solid-state disks (SSD) can have a SAS or SATA interface, I’m not focused here on SSDs. I’m focusing solely on the devices that spin really, really fast and on which most of the world’s data resides.

So, what is the real difference between SAS, NL-SAS and SATA disks? Well, to be cryptic, there are a lot of differences, but I think you’ll find some surprising similarities, too. With that, let’s dig in!

SAS
SAS disks have replaced older SCSI disks to become the standard in enterprise-grade storage. Of the three kinds of disks, they are the most reliable, maintain their performance under more difficult conditions, and perform much better than either NL-SAS or SATA disks.

In reliability, SAS disks are an order of magnitude safer than either NL-SAS or SATA disks. This metric is measured in bit error rate (BER), or how often bit errors may occur on the media. With SAS disks, the BER is generally 1 in 10^16 bits. Read differently, that means you may see one bit error out of every 10,000,000,000,000,000 (10 quadrillion) bits. By comparison, SATA disks have a BER of 1 in 10^15 (1,000,000,000,000,000 or 1 quadrillion). Although this does make it seem that SATA disks are pretty reliable, when it comes to absolute data protection, that factor of 10 can be a big deal.

SAS disks are also built to more exacting standards than other types of disks. SAS disks have a mean time between failure of 1.6 million hours compared to 1.2 million hours for SATA. Now, these are also big numbers – 1.2 million hours is about 136 years and 1.6 million hours is about 182 years. However, bear in mind that this is a mean. There will be outliers and that’s where SAS’s increased reliability makes it much more palatable.

SAS disks/controller pairs also have a multitude of additional commands that control the disks and that make SAS a more efficient choice than SATA. I’m not going to go into great detail about these commands, but will do so in a future article.

NL-SAS
NL-SAS is a relative newcomer to the storage game, but if you understand SATA and SAS, you already know everything you need to know about NL-SAS. You see, NL-SAS is basically a merging of a SATA disk with a SAS connector. From Wikipedia: “NL-SAS drives are enterprise SATA drives with a SAS interface, head, media, and rotational speed of traditional enterprise-class SATA drives with the fully capable SAS interface typical for classic SAS drives.”

There are two items of import in that sentence: “enterprise SATA drives” and “fully capable SAS interface”. In short, an NL-SAS disk is a bunch of spinning SATA platters with the native command set of SAS. While these disks will never perform as well as SAS thanks to their lower rotational rate, they do provide all of the enterprise features that come with SAS, including enterprise command queuing, concurrent data channels, and multiple host support.

Enterprise/tagged command queuing. Simultaneously coordinates multiple sets of storage instructions by reordering them at the storage controller level so that they’re delivered to the disk in an efficient way.
Concurrent data channels. SAS includes multiple full-duplex data channels, which provides for faster throughout of data.
Multiple host support. A single SAS disk can be controlled by multiple hosts without need of an expander.
However, on the reliability spectrum, don’t be fooled by the acronym “SAS” appearing in the product name. NL-SAS disks have the same reliability metrics as SATA disks – BER of 1 in 10^15 and MTBF of 1.2 million hours. So, if you’re thinking of buying NL-SAS disks because SAS disks have better reliability than SATA disks, rethink. If reliability is job #1, then NL-SAS is not your answer.

On the performance scale, NL-SAS won’t be much better than SATA, either. Given their SATA underpinning, NL-SAS disks rotate at speeds of 7200 RPM… the same as most SATA disks, although there are some SATA drives that operate at 10K RPM.

It seems like there’s not much benefit to the NL-SAS story. However, bear in mind that this is a SATA disk with a SAS interface and, with that interface comes a number of benefits, some of which I briefly mentioned earlier. These features allow manufacturers to significantly simplify their products.

SATA
Lowest on the spectrum is the SATA disk. Although it doesn’t perform as well as SAS and doesn’t have some of the enterprise benefits of NL-SAS, SATA disks remain a vital component in any organization’s storage system, particularly for common low-tier, mass storage needs.

When you’re buying SATA storage, your primary metric is more than likely to be cost per TB and that’s as it should be. SAS disks are designed for performance, which is why they’re available in 10K and 15K RPM speeds and provide significant IOPS per physical disk. With SAS, although space is important, the cost per IOPS is generally just as, if not more, important. This is why many organizations are willing to buy speedier SAS disks even though it means buying many more disks (than SATA or NL-SAS) to hit capacity needs.

Summary
At a high level, SAS and SATA are two sides of the storage coin and serve different needs — SAS for performance and SATA for capacity. Straddling the two is NL-SAS, which brings some SAS capability to SATA disks, but doesn’t bring the additional reliability found with SAS. NL-SAS helps manufacturers streamline production, and can help end users from a controller perspective, but they are not a replacement for SAS.

以上为英文版内容,大致总结如下:
SAS的优势在于性能,SATA的优势在于容量,NL-SAS介于两者之间。

闰秒导致linux服务器CPU利用率过高的解决办法

linux kernel 2.6.29之前版本存在bug,不仅仅是linux操作系统,一些服务器程序,如mysql和java都可能存在bug而导致服务器CPU利用率过高,有的能达到100%,原因可能为这些应用程序试图通过CPU硬件晶振的数据获得当前精确的时间。

解决这个问题的办法也很简单,只要关闭ntpd服务,并且修改系统时间,再开启ntpd服务即可,一般而言将服务器重启也可简单的解决问题。

VMware ESXi常用的25条命令

正如所有的虚拟化管理员都知道,要应对VMware基础设施上需要的更多虚拟化管理,关键在于任务的自动化。虽然VMware ESX主机可以管理与vSphere客户端用户界面,数据中心管理员往往喜欢登录到VMware服务控制台和使用ESX命令行来解决,如网络配置问题或重新配置主机。有几个VMware的命令,可以帮助这些任务自动化,解决虚拟化基础设施方面的问题,调整您的(虚拟机)和更多的虚拟机的性能。
在本指南中的VMware命令行,概述了25个最有用ESX命令和ESXi命令。其中包括Linux和ESX的特定命令,很多可以用于远程命令行界面(RCLI),vSphere已改名为vSphere CLI,可在VMware ESX和ESXi中使用。

Linux命令

ESX服务控制台是基于Linux的,因此许多Linux命令都可以在它里面使用。下面是常见的Linux命令和一些VMware命令的详细版本。

find/cat/grep命令查找,显示和搜索文件。find找出具体的文件,cat显示文件内容,并把文件拼接在一起,同时grep负责在拼接的所有文件中找到所需文本。这些命令可以帮助管理员发现,如基础设施快照文件的具体内容,也显示日志和配置文件。他们还可以搜索内部文件的信息。
tail显示一个文本的最后部分的文件,也可以输出到监控实时文件。此命令有助于实时监控日志文件。
service可以启动、停止和重新启动主机服务器上的服务(或程序)。一些常见的ESX服务包括MGMT的和VMware、vmware-vpxa、firewall、vmware-hostd和vmware Web Access。此命令可以重新启动服务,挂起或进行配置更改。
Nano和vi编辑文本文件。Nano是一个比Vi更简单且易于使用的编辑器,但Vi具有更强大的编辑功能。在ESX主机上文本编辑器帮助编辑配置文件。
Su和sudo命令帮助控制和防止root帐户被使用。Su提升了较差的用户帐户到超级用户的权限。sudo运行另一个在sudoers配置文件中指定的用户命令。
ls列出文件和目录信息。通过使用某些交换机,可以显示详细的文件资料,包括所有者、大小、权限和最后修改日期。
df和vdf显示文件系统(分区)的资料,包括自由空间。 df命令不会显示虚拟机文件系统(VMFS)卷,因为它无法阅读。vdf是该命令的VMware的版本,这也将显示VMFS卷的信息。两个命令都可以使用H变换,可用易读的形式显示。(即2 GB,而不是2016044)
ps和kill命令可以强行终止VM。 ps可以显示主机状态或进程。它可以使用很多开关,但最常见的是EF,它可以显示每个进程运行的所有信息。 kill命令经常与PS命令一起用来终止某个正在运行的进程。
ping和vmkping是最基本的网络故障排除命令。 ping通过发送Internet控制消息协议数据包测试与其他主机和网络设备的网络连接。 Vmkping是VMware的Ping命令的特定版本。它使用的IP VMkernel去Ping另一个ESX主机的VMkernel端口。此命令有助于解决VMotion和网络存储的问题。

VMware ESX和ESXi命令

这些VMware ESX和ESXi的命令可以运行在ESX服务控制台(本地或远程使用Secure Shell)或RCLI(在VMware Infrastructure 3)和vSphere CLI的(在vSphere)。在RCLI和vSphere CLI中,注意到很多命令已更名为vicfg,而不是esxcfg -(即esxcfg – nics.pl和vicfg – nics.pl)。两个命令都执行相同的功能,但VMware试图从esxcfg迁移到vicfg。

vmkfstools被比做虚拟磁盘中的瑞士军刀,可用于复制、转换、重命名、输入、输出和调整虚拟磁盘文件的大小。
esxtop故障排除。它提供实时的CPU、内存、硬盘和网络使用的历史表现的统计数字。
esxcfg-nics观察和配置物理网络接口卡(NIC)。它显示网卡状态和配置的速度和全双工网卡。
esxcfg-vswitch显示和配置虚拟交换机。它是在vSphere不能使用网络中有用的配置客户端。该命令用于配置端口组和连接物理网卡(称为上行)配置虚拟局域网ID,思科协议(CDP)和vswitch中的MTU。
esxcfg-vswif和esxcfg-vmknic允许您查看和配置vSwitches特殊的端口组。esxcfg – vswif配置的ESX服务控制台网络接口,它也被称为vswif港口。esxcfg – vmknic配置VMkernel网络接口,这是VMotion和连接到iSCSI和网络文件系统的网络存储设备所必要的。
vmware-cmd是一个复合管理命令,负责管理和检索虚拟机信息。它可以改变虚拟机电源状态、管理快照、注册和注销的用户,并检索和设置各种虚拟机的信息。
vimsh和vmware-vim-cmd是复杂的命令,只有完全了解才能使用。 Vimsh是一个强大的交互式框架,有很多允许执行的命令,以及具备显示和配置能力。 VMware的vim – cmd是一种逻辑的vimsh,能够简化vimsh,无需知道很多前端交换命令。
Vihostupdate和esxupdate更新ESX和ESXi主机和打补丁。 Esxupdate用于ESX服务控制台和vihostupdate,通过RCLI / vSphere CLI使用。此外,vihostupdate35是用来修补ESX和ESXi 3.5版主机。
svmotion是RCLI/vSphere CLI命令,用于发起Storage VMotion的迁移虚拟机虚拟磁盘到另一个数据存储空间。此命令的ESX 3.5版本是唯一启动SVMotion的方法,加上vSphere客户端的GUI,vSphere能做到这一点。
esxcfg-mpath显示和设置一台主机从所有路径到达它的存储设备。
esxcfg-rescan让主机产生一个特定的存储适配器,用来发现新的存储设备。这是非常有用的工具,存储设备已被添加,删除或从存储网络改变。
esxcfg-scsidevs和esxcfg-vmhbadevs显示连接到主机的存储设备的资料。esxcfg – vmhbadevs用于ESX 3.5,在vSphere中被 esxcfg-scsidevs取代。
esxcfg-firewall显示信息和配置内置的防火墙保护ESX服务控制台。它允许和阻止特定的TCP /IP服务之间的控制台和其他网络设备端口。
esxcfg-info命令提供了有关运行中的主机信息。它可以重新定向到一个文本文件记录主机配置。
esxcfg-auth在ESX主机上配置服务控制台验证。它可以配置第三方LDAP或Active Directory服务器的身份验证并设置多个本地安全选项。
vm-support是一个强大的信息收集工具,常用于故障排除。该命令收集大量信息、日志文件,并把很多命令以单一的tgz存档文件方式输出。它也可以用来显示VM的信息以及停止没有响应的虚拟机。

搭建VSAN集群环境的必要条件

搭建VSAN集群环境的必要条件如下:

  • 至少3台以上的vSphere ESXi 5.5U1主机
  • 每台主机需要至少一块SSD和一块磁盘(至少有3台主机有这样的配置)提供给VSAN数据存储用
  • 每台主机至少要有千兆网卡,推荐万兆。如果是千兆,建议有一个千兆端口专门提供给VSAN专用。
  • 每台主机最少6GB内存
  • 支持虚拟化技术的Intel或AMD处理器,至少是Intel XEON corei7级别或更高。

更多关于vsan的信息详见http://www.vmware.com/files/cn/pdf/products/vsan/VMware_Virtual_SAN_Whats_New.pdf

HP MSA2040存储修改端口模式的方法

HP MSA2040存储可以使用iscsi接口,也可以使用fc接口,也可以二者混用。该存储A控制器IP地址为10.0.0.2,B控制器IP地址为10.0.0.3,默认用户名为manage,默认密码为!manage。可以通过web方式来配置存储,该存储接口模式都是fc模式,如果需要使用iscsi接口,则需要通过命令行的方式修改端口模式。

将本机IP地址设置为10.0.0.X网段,使用网线连接本机网卡和控制器管理口,使用putty等软件通过telnet方式登录控制器。

使用show host-parameters查看端口模式,使用set host-port-mode iSCSI命令将fc模式改为iscsi模式,修改后控制器需要重启,并且将会同步到另一个控制器上,同步过程中可能会导致控制器无法正常进入web界面管理,等同步完成即可正常配置使用存储。

使用Windows 2008操作系统安装盘破解管理员用户密码的方法

很多人都遇到密码忘记的问题,对于windows 2000操作系统来说,只需要删除SAM文件即可。对于windows xp、windows 2003、windows 7、windows 2008等操作系统,只需要在winpe环境下(前提是能识别到硬盘)使用ntpwedit和passrenew这两个软件即可。

本文介绍使用操作系统安装盘来破解管理员用户密码的方法。具体操作步骤如下:

1、使用操作系统安装盘引导启动,进入安装语言选择界面,按shift+F10,会弹出命令行界面。

2、将system32目录下的osk.exe文件删除,命令为:
D:\>del 系统盘/windows/system32/osk.exe

3、将cmd.exe替换osk.exe,命令如下:
D:\Windows\System32>copy cmd.exe osk.exe

4、退出命令行界面,重启,取出安装盘,进入提示输入ctrl+alt+del的图形界面时,点击左下角的轻松访问按钮,勾选”不使用键盘键入(屏幕键盘)“,确定后弹出命令行界面。

5、使用命令建立user1用户,密码abc#123,然后将该用户加入管理员组,命令为:
C:\Windows\system32>net user user1 abc#123 /add
C:\Windows\system32>net localgroup administraotrs user1 /add

6、退出命令行后,即可使用user1登录操作系统,由于该用户有管理员权限,可以更改Administrator用户的密码,使用Administrator用户登录后,再从其他windows 2008操作系统上将osk.exe覆盖用cmd.exe替换的osk.exe。即还原了原操作系统。步骤完成。

从并行SCSI到串行SCSI

SCSI (Small Computer System Interface) 常常称为并行 SCSI,它的历史差不多有 30 年了,已经很难满足当今 IT 环境的需求。因此,开发了串行连接 SCSI (Serial Attached SCSI,SAS) 来克服 SCSI 固有的局限性。本文主要介绍这两种接口之间的差异,说明 SAS 的优点。

简介

SCSI (Small Computer System Interface) 是一组用于在计算机和外部设备之间进行物理连接和传输数据的标准。这些标准定义命令、协议、电子接口和光学接口。SCSI 通常用在硬盘和磁带设备上,但是也可以用于许多其他设备,比如扫描仪、CD 和 DVD 驱动器。

SCSI(常常称为并行 SCSI)基于总线技术。它的历史差不多有 30 年了,已经很难满足当今 IT 环境的需求。例如,它的最高数据传输速度只有 320 MB/sec (Ultra320 SCSI),而且在共享的总线上连接的设备越多,性能就越差。企业 IT 需求日益复杂,SCSI 越来越不能满足需要了。

开发 Serial Attached SCSI (SAS) 的目的是满足传统的并行 SCSI 无法满足的 I/O 和直接连接存储需求。它提供与 SCSI 的逻辑兼容性,同时提供优于 SCSI 的可靠性、性能和可管理性。与并行 SCSI 一样,SAS 是一种用于在硬盘和磁带驱动器等计算机存储设备之间传输数据的技术。但是,SCSI 是多支路的,而 SAS 是点对点协议,支持比并行 SCSI 高得多的数据传输速度。它使用标准的 SCSI 命令集与 SAS 端设备交互。

SAS 协议由 International Committee for Information Technology Standards (INCITS) 的 T10 技术委员会开发和维护。

组件

典型的 SAS 系统由以下四个基本组件组成:

  • 发起者(Initiator)
  • 目标 (Target)
  • 服务交付子系统 (Service Delivery Subsystem)
  • 扩展器 (Expander)

发起者向目标设备发送设备服务和任务管理请求,并从目标设备接收对请求的响应。发起者可以是主板上的组件或附加的主机总线适配器。

目标包含逻辑单元和目标端口。它接收并处理设备服务和任务管理请求,然后向发送这些请求的发起者返回响应。目标设备可以是硬盘或磁盘阵列系统。

服务交付系统 (SDS) 是 I/O 系统的一部分。它在发起者和目标之间来回传输信息。一般情况下,SDS 由连接发起者和目标的线缆组成,可能包含扩展器。

扩展器是 SDS 的组成部分。它们协助 SAS 设备之间的通信。它们还帮助把多个 SAS 设备连接到单一发起者端口。

 

并行 SCSI 与 SAS

下表说明 SAS 和 SCSI 接口之间的主要差异:

并行 SCSI 与 SAS

并行 SCSI SAS
体系结构 并行,所有设备都连接到共享的总线。 串行,点对点,单独的信号路径。使用端口扩展器1执行散布(fan-out)。
性能 最大速度 320 MB/sec (Ultra320 SCSI)。性能随着连接共享总线的设备增加而衰退。跨整个多支路总线分享速度。 3.0 GB/sec,计划增加到 12.0 GB/sec。即使增加更多设备,性能也维持不变。
可伸缩性 每条线缆上的设备数受到每条通道上 SCSI ID 数(8、16 或 32)的限制。 最多 128 个设备。通过使用散布扩展器,可支持 16,384 个设备。
兼容性 与其他所有驱动器接口都不兼容。 与串行 ATA (SATA) 兼容。
最大线缆长度 总长度 12 米。可以使用 SCSI 中继器突破此限制,但是中继器比较贵。 每个单独的连接 8 米;整个域可以布置数千英尺的线缆。
线缆形式因素 过多的线缆会增加成本。 紧凑的连接器和线缆可以节省空间和成本。
热插拔功能 未优化。应该谨慎。 支持。
设备标识 手工设置;用户必须确保总线上没有 ID 号冲突。 在生产设备时设置全世界范围内惟一的 ID,可以惟一地标识设备;不需要用户操作。
终结 手工设置;用户必须确保正确地安装终结器。 单独的信号路径使设备在默认情况下包含终结;不需要用户操作。

1端口扩展器本质上是具有强大的处理器的交换机。

结束语

从最终用户的角度来看,SAS 提供企业级的健壮性,能够保护对兼容的 SCSI 软件和应用程序的投资。另外,因为它与 SATA (Serial Advanced Technology Attachment) 兼容,SAS 允许在 SAS 系统中使用直接连接存储设备。因为它基于串行接口,所以 SAS 允许增加设备支持。