虽然我前期计划了那么多,但是最后部署的还是10台windows server 2008…
HA,NLB之流,我应该是9年前就拿了MCSE的证书
即使现在标榜着linux线路的系统管理员,设置起windows来依然没什么问题
我都忘记当年为什么改方向了
windows的操作及设置都很直观简单,非常容易上手
以至于操作者除了手册上介绍的步骤和ts之外,完全摸不着头脑
出现故障无从下手,即使积累了多年经验,会解决一些问题,还是会有很多纯粹经验的解决过程
到底怎么回事儿?只有天知道…

CG,system adminitration,tech issues arround many fields of cs
虽然我前期计划了那么多,但是最后部署的还是10台windows server 2008…
HA,NLB之流,我应该是9年前就拿了MCSE的证书
即使现在标榜着linux线路的系统管理员,设置起windows来依然没什么问题
我都忘记当年为什么改方向了
windows的操作及设置都很直观简单,非常容易上手
以至于操作者除了手册上介绍的步骤和ts之外,完全摸不着头脑
出现故障无从下手,即使积累了多年经验,会解决一些问题,还是会有很多纯粹经验的解决过程
到底怎么回事儿?只有天知道…
我的需求挺简单,现场采集视频信号,传输给服务器,再由服务器广播出去
前些年,我会毫不犹豫的选择windows media encoder + windows media services
轻车熟路,何乐而不为
不过呢,这个技术线路现在很少见,估计也在被淘汰的边缘了
作为一名进步青年,我决定尝试新技术
身边看得到的,还有个vlc
sjtu用它部署了挺大范围的视频转播系统
这是个非常好的方案,只有一个问题,它要求客户端安装软件
除此之外,我还真的很少见到vlc被部署到窄带视频应用上
(其实我也就见过sjtu的一套部署方案 – -b)
还剩下的,flash
起步于,我见过国外有网站应用这个技术转播比赛
采集编码,adobe flash media live encoder,这个是免费的,界面也很直观
flash streaming server:wowza red5 FMS
red5开源,网上评价也不错,也就选定了
这个部署的过程真是相当的费劲
这跟我对基于java的webapp不甚了解不无关系
能找到的文档,几乎都是二次开发相关的,眼睛一扫到IDE和类
就晕了,于是反复仔细研读了red5的feature list
Streaming audio/video
Live Stream Publishing
求助文档无果的情况,决定装上试试
它的安装文档倒是相当体贴,没什么挫折,就搞定了
运行起来,通过web访问下,才知觉这玩意儿是个framework
app需要二次开发的,它自带了不少demo
然后,其中的一个demo就能满足我的要求…
oflaDemo
它实现的功能,就是个发布点,完整的形式是这样
rtmp://server.ip/oflaDemo
无论是采集发布的flash encoder还是播放的player,都连接这个地址
flash encoder会指定自己发布的stream的名称
player播放时也要加上名称参数
可以是文件名,live stream的话,可以使随意的代号
最后就是flash player的选择,网上大部分文章中提到的JW flash player
其实是不好用的….估计曾经是可以的,但是两家都顾着自己升级就出了问题
JW可以装载视频,可以快速seeking,但是不能播放,服务器的log里可以看到
Method checkBandwidth with parameters [] not found的提示
这个问题让我纠结了大半天,差点就回去找mms凑合了
换了个播放器,flowplayer,搞定。
附一个flowplayer的配置代码,也帮助理解streaming的一些概念
$f("SomeDivID", "http://releases.flowplayer.org/swf/flowplayer-3.1.5.swf", { clip: { url: 'my_lifecast', //could be a file name live: true, //obviously provider: 'rtmp' }, // streaming plugins are configured under the plugins node plugins: { // here is our rtpm plugin configuration rtmp: { url: 'flowplayer.rtmp-3.1.3.swf', // netConnectionUrl defines where the streams are found netConnectionUrl: 'rtmp://cyzy7r959.rtmphost.com/flowplayer' //发布点 } } });
摆弄qmail,那是好多年以前的事情
很早以前搭的一套系统,最近垃圾邮件问题严重
第一次去看,已经在前段部署了一个邮件防火墙,没看出个所以然
以为是默认退信机制导致的长队列
改了改配置,就让把防火墙去了
今天又被叫去,防火墙一去,邮件服务器就挂了
简单的排查了下
smtp认证的正常的,open relay是关闭的
怀疑qmail的安全性是不现实的,那么还剩的可能性就是帐号被垃圾邮件商盗用
排查具体被盗的帐号很繁杂
可以通过日志,邮件原文,找到攻击的ip地址
通过ip地址找被盗帐号,不容易
一般来说,垃圾邮件服务器的连接地址有很多
每当其中一个成功发送邮件后,会更新被盗帐号的lastauth文件
对于用户不太多的MTA,可以比对更新最频繁的lastauth
否则的话,就要收集所有的lastauth,再跟所有的垃圾邮件服务器ip比对
太久没写脚本,所以过程很山寨,就不写了
不过这台mta已经发了近一天的垃圾邮件,被很多mta ban了。。。
所以,对邮件服务器状态的监控也挺重要,简单的监控每天发送邮件的数量
就能很好的发现问题
<cluster name="example" config_version="1"> <cman two_node="1" expected_votes="1"> </cman> <clusternodes> <clusternode name="one" votes="1"> <fence> <method name="single"> <device name="human" ipaddr="192.168.2.1"/> </method> </fence> </clusternode> <clusternode name="two" votes="1"> <fence> <method name="single"> <device name="human" ipaddr="192.168.2.2"/> </method> </fence> </clusternode> </clusternodes> <fencedevices> <fencedevice name="human" agent="fence_manual"/> </fencedevices> </cluster>
<cluster name="example" config_version="1">
<clusternodes>
<clusternode name="one" votes="1">
<fence>
<method name="single">
<device name="human" ipaddr="192.168.2.1"/>
</method>
</fence>
</clusternode>
<clusternode name="two" votes="1">
<fence>
<method name="single">
<device name="human" ipaddr="192.168.2.2"/>
</method>
</fence>
</clusternode>
<clusternode name="three" votes="1">
<fence>
<method name="single">
<device name="human" ipaddr="192.168.2.3"/>
</method>
</fence>
</clusternode>
</clusternodes>
<fencedevices>
<fencedevice name="human" agent="fence_manual"/>
</fencedevices>
</cluster>
使用vray的ditributed rendering
之前用qube进行任务分配的时候,只要将源文件放在公共存储(CIFS)上,所有机器以相同路径访问即可
vray这样做不行
简单的试验了下,设置每台节点的working dir为公共存储上的统一文件夹
然后把所有材质都丢到那个目录去,就不会有材质丢失的问题了
说到这,渲染集群如果使用到公共存储,那么公共存储的IO压力是很大的
磁盘上有,网络上也有
而且这种共享,是基于文件的,SAN也不能直接解决问题
CIFS或者nfs或者openais的backend是必须的
如果相对于渲染时间,网络传输的时间及时长但也可以忽略不计,那无所谓
如果真有需求
廉价的
普通的服务器陪RAID0并做好备份,多插几块网卡,一块卡上有两个节点读数据
有钱的
上IB,存储还是RAID0,如果DAC不行,就SAN
很多问题,相当无语。
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的印象一落千丈
前面有提到过QUBE!
这是个典型的集群管理软件
适用于很多人要用一个集群的情况
它对任务的切分细度取决于相关软件本身
拿3dsmax来说,frame是最小细粒度
qube!没有能力将一个frame打散再发送给渲染节点
那么对于特别复杂而耗时的单个frame,怎么利用集群的计算能力
这个属于渲染器的功能,主流的几个,v-ray,mental-ray,renderman都支持分布式渲染
它们这里的分布式渲染跟qube!的概念就不一样了
理论上,后者的灵活性应该更好一些
qube!除了管理上的优势,性能上,也还是有一些的
诸如一个1000frame的job,一个10计算节点的集群
如果采用qube!分发frame,那么一个节点计算100frame,效率提高10倍
如果采用第二种方式,10台计算节点理论上相当于一个性能十倍于单台节点的超级节点,处理单帧的时间是单机的十分之一
如果都是理想状况的话,性能没有差别,但实际情况下,随着节点数的增加,第二种方式的综合效率增长并不是线性的
拆分单帧,组合结果的复杂度和开销都会随着节点数的增加而拖慢效率
所以,混合两种方式的集群还是需要的
只是混合的方式还不太确定
一种层级式的,qube!控制的是组后后的超级节点
一种是平行的,qube!控制的还是单个节点,每个节点自身也是渲染器分布式渲染的节点
层级式的方式,每个超级节点的规模如何确定才最有效率,而且,投入所以计算能力处理一张图也就没有可能了
平行的话,两种配置是否会冲突?不同性质的任务提交的方式也不同,增加了一点点复杂度
这几天会用虚拟机先试试效果
如果按照我理想的部署,那么10台服务器统统直接访问SAN
用GFS解决共享访问BLOCK设备的问题
现在FC的链接有限
那么用两台服务器做文件服务器,链接SAN
由文件服务器将SAN以ISCSI的方式提供出去
其余服务器捕获两个ISCSI设备后,设置multipath
再依赖GFS解决共享访问BLOCK设备的问题
哼哼,想的挺美,也不知道会不会有问题
12.09更新
让有FC的都连上SAN
性能好的两台各拿1T空间,为需要IO性能的服务提供支持
文件服务器负责剩下的部分,还是上面的方式吧
其实我还是没有想清楚,还是操作起来再决定细节吧
PART1:
在调试一台电脑,其数据分区是3个1T硬盘做的RAID0
这个阵列竟然是用windows的卷功能做的,
第一感觉,相当无语。于是备份数据,启用机器的硬raid,配置上很简单
回到windows里却找不到这个3T的磁盘
设备管理器里能看到有找到新的LUN设备
我揣测了几个可能,诸如主板硬raid功能有问题等等
于是又还原成原来的模式
PART2:
机器调试好了,需要使用外挂的阵列(通过1394连接)
也是3T,跟上面一样的问题,我还是揣测,外挂的阵列坏了…
或者跟阵列上的hfs文件系统有关系
稍微咨询了下,32位系统使用超过2T的block设备应该都有这个问题
传统的MBR+分区表的方式只能操作到这么大空间
所以有新的GPT和源自linux的EPT来解决这个问题
资料看的不是很仔细,大概知道GPT多数情况下不能作为启动分区
跟下一代的BIOS(EFI)有些什么关系
解决问题么,先就不研究那么透彻了
有机会慢慢看
先是装了64位windows xp,阵列没有被识别成磁盘
又装了64位的windows7,还是不行
装了64位的Ubuntu,搞定…
于是就有了ubuntu专门导数据,工作还是重启进windowsxp
//BTW: 这台机器使用的一个4c的core2 i7,超频至4.xxG运行