我使用Apache 2.2.22和NFS客户端(nfs-utils-1.2.3)在RHEL 6上运行服务器,并访问专用networking上的NFS服务器。
我的问题当文件数量增加,我的网站变得缓慢,并承受高负荷的CPU。
在这种情况下使用SAN存储vs NFS有哪些优缺点?
谢谢
NFS是或可能是一个SAN – 所以你有一个定义的问题。
当然,在与其他stream量共享的networking上使用的1Gbps NFS存储解决scheme可能比专用的10/40 / 100Gbps FCoEnetworking慢,但是您可以再次以这些速度和专用networking运行NFS。 所以这一切都归结于你实际上有什么比你可以预算等。
现在你说你有'高CPU负载' – 是实际上高CPU负载或高进程等待存储赶上? 如果你有真正的高CPU负载,那么更快的存储可能会有所帮助,但远远不能确定。
基本上,你将不得不回头再给我们一个比你现在得到一个具体的答案更多的细节,否则将是纯粹的猜测。
通常,SAN是指专用于存储的块级networking
NFS / CIFS使用TCP / UDP并提供文件级访问
iSCSI是一个TCP协议(可路由,但可能不应被路由)
FC不遵循OSI模型,需要FC联网设备(FC交换机,FC HBA)
FCoE使用较低层的以太网,但不使用IP(Cisco Nexus和CNA(HBA + NIC)等FCoE交换机)
为了在块级存储上共享访问权限,必须使用群集感知文件系统(来处理冲突,locking)
使用SAN专用硬件可以处理I / O请求(在某种程度上),所以CPU的压力较小。 您可以使用iSCSI,几乎不需要硬件投资。 请注意,NIC iSCSI卸载可能需要许可证(Broadcom)。
SAN支持多path。 或者你可以使用二层链路聚合(需要网卡和交换机支持)。 100Mbps的链路远远不够用于存储。 我会build议至less2x1Gbps链接。 拥塞链接可能会大大降低存储性能。 对iSCSI使用专用的VLAN或(哑)交换机,以确保性能并简化故障排除。
也许很明显,但是…… SAN和NAS(NFS)的区别在于NFS允许您通过networking共享相同的文件系统,而SAN则允许您通过networking访问块存储:
NFS: network->file system->block device SAN: file-system->network->block device
如果你不需要共享存储,SAN可以成为一个解决scheme,但是你需要一个专门的(和特殊的)networking来获得良好的性能。 如果您已经有了NFS,请尝试优化它。 我会build议尝试以下内容:
当然,你必须检查NFS服务器是否不被其他客户端加载。