由服务器想到的……
昨天夜里到今天上午,服务器由于第二块硬盘无法找到而停止运行。搞得心神不宁的……
服务器已经3年多了,头一两年基本比较稳定,自从去年来,频繁死机,先是更换过内存条,然后春节前有更换了主板,虽然最近一个多月温度稍微高一些(CPU温度一般在55到59度之间),但也算比较稳定的运行了40天,前天正庆幸机器争气,结果昨天就出现了意外——第二块硬盘偶尔就找不到了:(由于数据库以及一些系统日志文件都写到了第二块硬盘,因此非常害怕出问题,经过检查发现,似乎硬盘没什么问题,很有可能是数据线或者接口的问题。凌晨的时候机房没人,所以到今天早上给机房打电话帮忙查看一下,因为机房也没有备用的数据线,所以只是更换了一个插口,恢复开机后,发现运行稳定,暂时处于观察期,但也不敢大意,先把数据库进行了备份,然后将系统日志都转移到主硬盘上了,数据库还是留在那块上,期望减少对这块硬盘的请求降低它的负载,期望不会再有问题了。唉,每次服务器有问题都会搞得头痛,类似那种偏头痛的感觉,睡觉也不踏实,神经衰弱……
经过这个事情,目前考虑了一个新的架构。主要是针对投入有限的情况而且有期望性能有所提高的。
之前架构服务器的时候,为了节省资金获得最高的性价比,因此只用一台服务器进行架构,web+database,从数据库读写性能角度考虑,把数据库放到了第二块硬盘上,web服务和文件放在第一块硬盘(主硬盘) ,系统运行日志也放到第二块上了。其实这种架构应该说是最节省也是相对获得最大的性价比的方式,毕竟再花万把块钱实在是捉襟见肘了。不过,这次感觉这样的架构还是有点麻烦,数据库和系统日志都是频繁进行读写的,增加了系统的不稳定性,现在硬盘价格已经很便宜了,因此,考虑如果只用一台服务器架构web的话:
可以考虑将主硬盘只做操作系统、软件环境、然后单独划出一个分区作为整个系统的日志区,
第二块硬盘,作为web程序文件存放区,除此之外不再放其他文件。
第三块硬盘,作为数据库储存区,只放数据库文件。数据库日志不在此处,单独放到主硬盘的日志区内。
如果,还有可能的话,可以再加一块硬盘,单独作为备份盘使用,平时不做任何读写操作,纯粹做为数据库备份之用。
这样的架构,可以最大的降低磁盘磁头的读写频率,提高I/O性能,从而保护磁盘寿命。
PS:纯粹只是一台机器用的,如果有很多money,基本不太考虑这个了……穷啊……而且,这个服务器上的网站纯粹只是个人爱好而已,没有获得什么收入, 每年运行的费用虽然不多,可也不是个小数了……
标签:Web, 数据库, 服务器, 硬盘
此文,技术含量太高,超过我的脑袋承受范围,鉴定完毕
号外:两台服务器,一个网站,一个数据库,两个机房。网通进网通机房,电信的进电信机房。当电信机房出问题,能去网通机房,咋弄呢?ps:一定是两个机房哦
这个比较麻烦,可以选择双线机房(网通(现在叫联通了)+电信)的,更高级一点的可以使用CDN技术。这些都不需要对网站做什么变动。
如果想自己来做的话,有两种方式,一种是两个服务器都做一个判断,判断当前访问的用户是联通还是电信,如果是联通就转到联通机房的网站,如果是电信就转到电信机房的网站,这个可能需要使用两个不同的二级域名。
另外一种方式是,自己架设一个DNS解析服务器,然后通过DNS服务器去判断用户是联通还是电信,然后分别指向相应的IP地址,这样的做法实际只用一个域名,通过DNS服务器来进行判断用户的网络,然后设定不同的IP。
呵呵,后面的两种其实我自己个人的想法,没实际操作过,但我觉得利用DNS服务器的方式可能效果会好一些。
哇,更新好快。感谢答复,所以我已经晕忽忽了,要不你告诉我,在服务器上做判断,和程序有关么?还是跟网络有关呢?该让一个网管去做,还是该让一个程序员来做呢?
我说的两种方式:
根据不同地域使用不同的二级域名这个,肯定需要程序员进行去判断了。
如果利用DNS解析来处理的话,这个系统架构人员应该可以做到。
如果为了省事,其实选择一个双线机房是一个很好的选择。
呵呵,你是做什么的呢?怎么涉及到这个问题了呢?
我是三管管人员,杂牌,呵呵。多谢多谢。
“三管管人员”没搞明白是做啥滴,哈哈
唉
真实辛苦了海哥
难为了海哥
该吧这个发到论坛里才好
呵呵,发论坛里会影响大家的心情,哈哈。自个儿品味一下就可以了^_^