Servers

You are currently browsing the archive for the Servers category.

之前配过几次,没什么感觉
今天有需要配置第二个slave,了解的更多了些,就随便写写

原始的两个节点,典型的master slave模式,第三台服务器到的时候,犹豫了一下是继续slave还是cluster
cluster的话,逻辑一体,配置可能复杂点,但使用起来简单,不过有听闻在规模不大的时候,cluster的性能及其一般
加上网络环境只是百兆互连,想想还是没上cluster

第二个slave的添加,并不是与第一个slave一样直接挂在master上
实际上是个链型结构,原来的第一个slave也启动log-bin,第二个slave使用第一个slave作为自己的master

负载均衡方面,最土的办法是在程序上读写分离,并将读操作按一定模式分布的两个slave上
或者就是使用mysql-proxy之类的分发器,这个方法也不是很好,它并没有办法维护php到mysql的连接状态
会导致一些依赖连接的指令失败,诸如set names gbk,跟在它后面的select指令很有可能会被分发到其他节点上
类似的还有auto_increasement和select last_insert_id()等等

由于一个项目,最近折腾这个东西不少时间

一套6节点的10G集群,一套16节点的IB集群,两个NAS节点

不庞大但相当全面的集群……

虽然标题说ROCKS,不过这玩意儿也没什么好说的,自动化安装管理集群里的操作系统
还是我不太熟悉的RH,不过也是没办法的事情,这些高级的通信设备,多半都只有rh或suse有驱动

具体做的事情跟机器人一样,安装OFED,调试IB网络,ipoib,RDMA,诸如此类
目前的水平也仅限于调试通而已,性能问题就再说吧…

为什么还在用NAS,nfs真不好玩,硬要说的话,通过IB的NAS,可以提供40Gb的带宽
SAN的通道也不过4G8G,不过,得什么样的磁盘设备才能提供这样的性能啊…

rocks

今天第一次实际接触了rocks的安装
说的简单些,就是rh系列的linux捆绑了一些自动安装的套件和开发环境
提供一个快捷部署集群计算环境的方式

说是挺自动化,却也因为包装的太复杂,出了问题不好排查
全自动情况下,对各个节点硬盘网络环境有着相当的一致性要求

今天就碰到这样的情况,通过千兆口PXE启动,启动后,内核识别到了另外的万兆网卡
启动时的千兆卡就变成了eth2,导致了kickstart不能正常启动
理论上,编辑中间过程的一些配置文件可以解决问题,
为了求效率,就把万兆卡拔了再安装

内置了不少集群适应的功能,诸如多台机器同时运行同一命令,查询节点状态,任务分配等等
细节上,看来还是需要一段时间熟悉

话说,集群内部的通讯,放着好好的IB不用,上什么万兆,╮(╯▽╰)╭

windows server

虽然我前期计划了那么多,但是最后部署的还是10台windows server 2008…

HA,NLB之流,我应该是9年前就拿了MCSE的证书

即使现在标榜着linux线路的系统管理员,设置起windows来依然没什么问题

我都忘记当年为什么改方向了

windows的操作及设置都很直观简单,非常容易上手

以至于操作者除了手册上介绍的步骤和ts之外,完全摸不着头脑

出现故障无从下手,即使积累了多年经验,会解决一些问题,还是会有很多纯粹经验的解决过程

到底怎么回事儿?只有天知道…

摆弄qmail,那是好多年以前的事情
很早以前搭的一套系统,最近垃圾邮件问题严重
第一次去看,已经在前段部署了一个邮件防火墙,没看出个所以然
以为是默认退信机制导致的长队列
改了改配置,就让把防火墙去了

今天又被叫去,防火墙一去,邮件服务器就挂了
简单的排查了下
smtp认证的正常的,open relay是关闭的
怀疑qmail的安全性是不现实的,那么还剩的可能性就是帐号被垃圾邮件商盗用

排查具体被盗的帐号很繁杂
可以通过日志,邮件原文,找到攻击的ip地址
通过ip地址找被盗帐号,不容易
一般来说,垃圾邮件服务器的连接地址有很多
每当其中一个成功发送邮件后,会更新被盗帐号的lastauth文件
对于用户不太多的MTA,可以比对更新最频繁的lastauth
否则的话,就要收集所有的lastauth,再跟所有的垃圾邮件服务器ip比对

太久没写脚本,所以过程很山寨,就不写了
不过这台mta已经发了近一天的垃圾邮件,被很多mta ban了。。。
所以,对邮件服务器状态的监控也挺重要,简单的监控每天发送邮件的数量
就能很好的发现问题

集群的部署

很多问题,相当无语。

ubuntu 确实是套相对激进的发行版,上手急了点,装了几个9.10
vmware server 2.02是跑的半死不活,web access说崩溃就崩溃,动不动就提示reinstall plz
vm也挂过几次,这个虚拟平台还是要趁早换了
这几天再缓慢的换成debian5

有FC的刀片是都能看到存储了,问题又来了
IBM ds3400提供双控制器冗余,但是其冗余的RDAC补丁,仅提供RH和SUSE的版本
还没想好咋整,我是真不想用商业的linux
其他发行版凑合能用,没有冗余功能,看到的第二个LUN设备也是无法访问的
也不知道自带的multipath能不能搞一搞

最后,clvm,传说中的clustered lvm
我计划拿来在五台机器上管理阵列的玩意儿
clvm本身没什么需要配置的,但它有个前提组件,cman
cman带出来很多东西,文档少的可怜
在ubuntu的时候,配置了三个节点的环境
总觉得lvm之间的数据同步有问题
现在ubuntu和debian混合了,集群里就各自为政了 ^^
三台ubuntu有3个vote,正常工作,两台debian有两个vote,被隔离…
具体原因不明,估计是cman的版本问题,等都换成debian再看吧

╮(╯▽╰)╭

12.17更新
大部分节点更新为debian5
大部分问题消失了
看着clvm管理下的FC存储,舒畅…

12.22更新
两台服务器mount了同一个gfs2分区
分别提供nfs服务
运行了不到半小时,挂了…
对gfs的印象一落千丈

pure-ftpd是个很常用的ftpd,这里通过pure-uploadscript为其添加sfv自动检查。

关于pure-uploadscript的使用,参考其手册,基本的原理,该进程将pure-ftpd上传的文件名作为

第一个参数传递给指定程序,同时定义了一些相关的环境变量供指定程序获取

这里使用的sfv检验程序是cfv

我用php完成了脚本,非常简陋的代码,大体的流程

判断上传文件是否是sfv,如果是,检查里面列出的所有文件,生成miss或bad标签

如果是普通文件,尝试sfv检查,处理标签文件

附件是sfv.php

sfvphp.gz