存档

‘饭碗’ 分类的存档

远程控制软件的选择

2009年8月16日 大肚皮 12 条评论

最近因为要远程控制电脑,实验了几款远程控制电脑的软件,结果转了个大圈,又回到VNC上来了。

还是经典的东西好啊。

TeamViewer:设计的亮点是有意思的认证方式,主面板上有唯一的用户ID和一个一次性密码,客户端通过这个组合可以认证登录。而连接断开后,这个一次性密码就会自动变更。另外可以通过右侧的登录面板进行集成登录,避免普通的远程控制软件需要自己想办法获得IP地址的麻烦。

花生壳远程控制:本来是为了配合VNC的使用,去下载一个花生壳动态域名的。结果发现花生壳已经集成了远程控制的功能,不过很明显,是集成LoginAny的功能。安装后直接在oray的网站上通过B/S结构就可以访问。很是方便,而且该有的功能都有了。

VNC企业版:很久以前用过,那时候就惊异于它的速度,不是一般的快。试用了前两个软件之后,我还是决定用VNC了。当然,如果是拨号网络,最好还是要配合动态域名来管理,比较方便。

具体的功能评测我就不做了,那个太累人,而且我也只是要远程看个桌面啥的,别的花哨功能我也不用。这里有一篇有心人做的12款远程控制软件的评测,有兴趣的自己看。

分类: 饭碗 标签: ,

邮件服务器和地址反向解析

2009年3月4日 大肚皮 没有评论

我们日常提到的/用到的域名->IP地址的解析叫正向解析。

什么叫反向解析呢。顾名思义,反向解析就是IP地址->域名的解析过程。一般用在邮件服务器设置上。
比如你用 AAA@XXX.NET 这个邮箱给网易的163邮箱发了一封信。 163邮件服务器接到这封信会查看这封信的信头文件,这封信的信头文件会显示这封信是由哪个IP地址发出来的。然后根据这个IP地址进行反向解析。
如果反向解析到这个IP所对应的域名是XXX.NET。那么就接受这封邮件。如果反向解析发现这个IP没有对应到XXX.NET,那么就拒绝这封邮件。

如果不设置DNS反向解析将无法向sina等邮箱发送邮件,而且发至yahoo,hotmail等的邮件虽然不会被退回,但是可能会被直接送至垃圾邮件箱!

要知道IP的反向域名解析是否具备,可以用这个网页查询反向域名解析信息 http://www.dnsstuff.com/tools/ptr.ch?ip=88.88.88.88
或者在命令行下用这个nslookup -qt=ptr 88.88.88.88

如果你的邮件服务器没有设置反向解析--托管的可以找主机托管商,如果有固定IP线路的找电信--要他们给这个IP加上反向域名解析记录,一般将这个IP反向解析成邮件服务器对应的mx记录。

附:
反向解析不关域名注册商的事。
反向解析只在收邮件时才会用到

我今天就在我客户的邮件服务器上遇到这个问题了。

————————我是带有怨念的分割线———————–

故障现象:

XXX公司发往aol.com的邮件有退信,注意最后一行,AOL拒收没有反向解析的邮件

Wed 2009-03-04 09:15:39: 试图 SMTP 连接到 [205.188.252.17 : 25]
Wed 2009-03-04 09:15:39: 等候连接…
Wed 2009-03-04 09:15:39: 已建立连接 (88.88.88.88 : 4596 ->205.188.252.17 : 25)
Wed 2009-03-04 09:15:39: 等待协议初始化…
Wed 2009-03-04 09:15:39: <– 220-rly-df09.mx.aol.com ESMTP mail_relay_in-df09.3; Tue, 03 Mar 2009 20:15:39 -0500
Wed 2009-03-04 09:15:39: <– 220-America Online (AOL) and its affiliated companies do not  authorize the use of its proprietary computers and computer networks to accept, transmit, or distribute unsolicited bulk e-mail sent from the internet.  Effective immediately:  AOL may no longer accept connections from IP addresses which have no reverse-DNS (PTR record) assigned.

解决办法:

请XXX公司联系当初为他们开通宽带的电信大客户经理,让电信为XXX的邮件服务器做域名反向解析。

域名:mail.XXX.com
地址:88.88.88.88

注意事项:

检查域名反向查询成功的方法,在命令行窗口下输入命令,请注意XXX公司和网易的解析结果不同

——————没有成功的XXX.COM解析—————————
C:\Documents and Settings\Administrator>nslookup -qt=ptr 88.88.88.88
Server:  hangzhou.zjhzptt.net.cn
Address:  202.101.172.35

*** hangzhou.zjhzptt.net.cn can’t find 88.88.88.88.in-addr.arpa.: Non-existe
domain
——————成功的网易解析—————————–
C:\Documents and Settings\Administrator>nslookup -qt=ptr 220.181.12.13
Server:  hangzhou.zjhzptt.net.cn
Address:  202.101.172.35

Non-authoritative answer:
13.12.181.220.in-addr.arpa      name = m12-13.163.com

12.181.220.in-addr.arpa nameserver = ns3.nease.net
12.181.220.in-addr.arpa nameserver = ns4.nease.net
ns3.nease.net   internet address = 220.181.28.3
ns4.nease.net   internet address = 61.135.255.138

WGA新版破解方法

2008年10月17日 大肚皮 没有评论

就算是VLK也不能幸免,安装番茄花园和雨林木风的童鞋们不可以掉以轻心。

幸好,咱们的比尔大门童鞋也很有爱,这次盗版验证换汤不换药,大家用上次的老破解法就一样可以避免。

开始-运行-输入REGEDIT回车,在左边栏中找到HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows NT\CurrentVersion\Winlogon\NotifyWgaLogon项
将整个WgaLogon项删除即可。以上为经过测试的最简便方法。

这次的WGA与上次相比只增加了LegitCheckControl.dll,主要执行方式(通过WINLOGON加载)未变。

显然微软此举可归为常规性不定期“恐吓”,童鞋们不必过于惊慌。

其实最佳的办法是关闭windows的自动更新,如果确实需要更新的,请用safe360进行有选择的更新。

分类: 饭碗 标签: , ,

我这悲惨的5个月

2007年11月11日 大肚皮 没有评论

最近手上有个项目验收受阻,一拖五个月,非常不愉快,所以很久没有更新博客。

这个项目是我入行以来遇到的最大挫折,变更了三种方案还不能满足用户的实际需求,我黔驴技穷,站在机房里簌簌发抖。
下面是两点我以前就知道的经验,但是却在这个项目里狠狠地让我摔了个跟头:1.无论单个的应用看起来有多简单,一旦多个不同的应用混合在一起,就意味着灾难。2.技术并不是解决问题的最好方法,更好地方法是沟通,让用户作出妥协。

虽然博客的更新频率完全受我自己的意志所控制,和项目验收并无直接的关系。但是心气懈怠,生活热情急剧下降,直接表现就是好吃懒做,疏于思考,更不可能来写写日志。

这是很糟糕的状态,我都觉得自己快成为傻子了。
傻子状态的特征就是不思考,不总结,不准备,活在自己的世界里,一条路走到黑。

这种状态的好处是自己觉得自己挺惬意的,有种混吃等死的快感错觉,

坏处么…就是看起来比较傻。

不过,现在好了,我挺过来了。:-)

祝大家光棍节快乐。至于如何做一个合格的光棍,请看这里

分类: 饭碗 标签:

DNS基础知识扫盲

2004年10月27日 大肚皮 没有评论

前两天为用户设置DNS,发现居然有本部门的同事不了解泛域名和根域的关系,还混为一谈,真丢脸。好了,现在就把俺整理的扫盲帖从公司论坛转到这吧

1、DNS就是域名服务器,他的任务就是确定域名的解析,比如A记录MX记录等等。

2、任何域名都至少有一个DNS,一般是2个。为什么要2个以上呢?因为DNS可以轮回处理,第一个解析失败可以找第二个。这样只要有一个DNS解析正常,就不会影响域名的正常使用。

3、如何确定域名的DNS?
很简单到”http://www.internic.net/whois.html “输入你要查询的域名就可以看到了。这个是国际域名管理中心。唯一的权威。只要这里能查到某个域名,就表示域名是生效的。它说你什么时候到期,就是什么时候到期。

4、有效的DNS表示当前正在起作用的DNS服务器是谁,比如查询结果是ns.zjpta.net.cn ns.zjnbptt.net.cn dns-noc.zjhzptt.net.cn (浙江电信)就表示当前域名是由这些NS服务器负责解析。其他DNS的设置,都是无效的。

5、DNS是可以修改的。修改以后需要24-72小时以后,全世界才能刷新过来。internic的信息一般在24小时以后可以看到。另外,修改的过程,并不表示域名会停止解析,只要你在2边都做好了解析。如果生效了就是新的DNS在起作用。如果没生效。就是旧的DNS在起作用。要么生效,要么不生效。不存在2个都不起作用的时间。所以域名解析,不会中断。前提是两边都做了解析。

6、DNS是有缓存的。
1、访问者的电脑;2、你的ISP接入商。
简单举例:比如你访问”www.tom.com“.你的电脑首先查询本机上有没有缓存的记录。如果有就直接调用不再去查寻。就是说如果你前面刚访问过www.tom.com,,这个时候就算电信的DNS不能解析。也是能够正常解析出域名的www.tom.com的记录。如果有就直接调用不再去查寻。就是说如果你前面刚访问过www.tom.com,,这个时候就算电信的DNS不能解析。也是能够正常解析出域名的。
清除本机DNS缓存方法很简单。关闭IE然后清除历史记录,或者重启电脑。2000以上操作系统也可以用ipconfig /flushdns命令来解决,linux可以用/etc/init.d/network restart 命令重启网络服务来解决。
然后还有一个就是isp接入商的DNS的缓存。
isp就是当地网络接入商。比如我们这里的杭州电信、杭州网通等等。每个地方都是不一样的。isp的DNS和fymh07.fuyang.gov.cn这样的普通DNS服务器是不同的。普通DNS服务器只负责具体的解析,不负责缓存。isp的DNS只负责查询和缓存,不负责解析。
简单描述下刚才访问http://www.tom.com的情况。如果本机上不存在www.tom.com的记录。你的电脑就会去查询当地isp的dns。isp的dns只有缓存。就是说他会检查有没有www.tom.com的缓存。如果有,他就直接把www.tom.com的记录发送给用户。用户也就能访问了。如果isp的缓存里面也没有www.tom.com的记录,那么他进一步去查询tom.com的dns是什么?然后再到对应的dns上直接去取得数据,并返回给用户。当第一个用户访问了www.tom.com以后,isp的dns上也就开始缓存了www.tom.com的记录。以后就不必再去对应的dns去找了。除非有新的域名,他才会去查。比如访问bbs.tom.com的时候,他就要重新去查了。www.tom.com的情况。如果本机上不存在www.tom.com的记录。你的电脑就会去查询当地ISP的DNS。isp的DNS只有缓存。就是说他会检查有没有www.tom.com的缓存。如果有,他就直接把www.tom.com的记录发送给用户。用户也就能访问了。如果ISP的缓存里面也没有www.tom.com的记录,那么他进一步去查询tom.com的DNS是什么?然后再到对应的DNS上直接去取得数据,并返回给用户。当第一个用户访问了www.tom.com以后,isp的dns上也就开始缓存了www.tom.com的记录。以后就不必再去对应的DNS去找了。除非有新的域名,他才会去查。比如访问bbs.tom.com的时候,他就要重新去查了。

7、isp的DNS缓存是有时间限制的。一般是1个小时。前后2次间隔1个小时的话,他就去域名的DNS上重新取得数据。这里说的是最前面一次和当前的比较。也就是说如果时间差距较大,就重新去域名的DNS服务器上找。所以刷新就变的很有必要,否则缓存了一次以后。域名记录改了以后。ISP就永远不去找新的记录了。知道了这个原理以后,大家就会明白,为什么原来没有的记录注册并生效会很快。修改的话生效会很慢。就是因为缓存的原因。但如果没有缓存,访问的效率会很低,因为任何一次输入http://www.tom.com,都得跑到isp的dns服务器去查询记录。www.tom.com,都得跑到ISP的DNS服务器去查询记录。

备注:很多域名商的域名解析系统也不是实时刷新的。一般会设置下时间,比如10分钟.就是说,你设置了一个新的A记录以后,域名服务器会在10分钟内为你添加。目的就是为了节约服务器资源。怕客户的DNS不断的刷新记录。刷新记录肯定需要消耗一定的资源。而且刷新过程中是不能解析的。另外刷新过程大概5秒。就是说这个5秒内域名商的的DNS是不能用的。

8、什么是泛域名?

泛域名是指一个域名根下所有的子域名的泛称,以通配符“*”表示,即 *.name.com 。如果别人访问您的域名根下一个不存在的子域名,此时这个不存在的子域名就会被泛域名代替。

9、什么是CNAME记录?

CNAME (Canonical Name)记录,通常称别名指向。在这里,您可以定义一个主机别名,比如设置ftp.tom.com,用来指向一个主机www.tom.com,那么以后就可以用FTP.tom.com来代替访问www.tom.com

10、什么是A记录?

A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的.

11、如何检查某域名的DNS服务器(相应的可以用whois追查到域名服务商)?

你自己检查的方法是在DOS模式

nslookup -qt=ns name.com

分类: 饭碗 标签: ,

集群和数据库负载均衡的研究

2004年10月1日 大肚皮 没有评论

研究负载均衡技术以来有两个问题一直没有很好的对自己能解释通,尤其是在没有弄明白这两个问题的相关术语的时候,又去研究相关的衍生问题,搞得自己差点口吐白沫。这两个问题是这样的:
1.集群软件能否实现负载均衡的功能,两者有何差别
2.如何实现数据库的均衡。

现在看起来蛮easy的问题,可是当初俺是菜菜哦。不过说起来,要讲清楚这个问题也是蛮考察功力的哦。好了,俺把俺研究的东东分享一下。

集群一般有两种:高可用和高性能集群,一般的集群,包括现在的低端双机容错、IBM的HACMP、HP的MC ServiceGuard都是高可用性集群,不能做负载均衡;而高性能集群主要是科学计算、科研等一些特殊环境用,在现实应用中比较少。而ORACLE 的RAC是基于特殊环境下的应用系统,要求有操作系统层面的分布式锁(DLM)。具体使用起来要作相应的规划,而且不能随便使用,弄不好性能适得其反的差。

前面说过,负载均衡不能完全算高可用性集群的一种,是高性能性集群,普通的HA软件没办法支持象ORACLE RAC一样的环境,这不完全是集群软件的功能。

高可用性集群与负载均衡集群的工作原理不同,适用于不同类型的服务。通常,负载均衡集群适用于提供静态数据的服务,如HTTP服务;而高可用性集群既适用于提供静态数据的服务,如HTTP服务,又适用于提供动态数据的服务,如数据库等。高可用性集群之所以能适用于提供动态数据的服务,是由于节点共享同一存储介质,如SAN阵列。也就是说,在高可用性集群内,每种服务的用户数据只有一份,存储在共用存储设备上,在任一时刻只有一个节点能读写这份数据。

高可用性集群对一种服务而言不具有负载均衡功能,它可以提高整个系统的可靠性,但不能增加负载的能力。当然,高可用性集群可以运行多种服务,并适当分配在不同节点上,比如节点A提供Oracle服务,同时节点B提供Sybase服务,这也可以看成是某种意义上的负载均衡,不过这是对多种服务的分配而言。

负载均衡集群适用于提供相对静态的数据的服务,比如HTTP服务。因为通常负载均衡集群的各节点间通常没有共用的存储介质,用户数据被复制成多份,存放于每一个提供该项服务的节点上。

这个困扰我已久一直没有系统整理的问题到这里基本明了了,各位看官到这里旋即也会想到,如果用户有一个由两个节点组成的最小集群,是否可以同时获得高可用性集群和负载均衡集群的效益呢?答案是肯定的。由于高可用性集群适用于提供动态数据的服务,而负载均衡集群适用于提供静态数据的服务,所以我们不妨假设要同时提供Oracle和HTTP服务。用户要在节点A和B上安装HA和NLB软件。把节点A作为Oracle正常工作的节点,节点B作为Oracle服务的后备节点,这是对HA软件而言。对于NLB软件而言,要设置节点B为主ATM(Application Traffic Management)节点,节点A为后备ATM节点,而节点A和节点B同时又都是HTTP的服务节点。

这样一来,节点A和节点B都是身兼两职,而用户同时得到了一个具有高可用性的Oracle服务和一个具有负载均衡功能的HTTP服务。即使有一个节点发生故障,Oracle服务和HTTP服务都不会因此而中断。
这里涉及到一个关键问题:对于同一种服务,是不能同时获得高可用性与负载均衡能力的(有不同意见的么?)。对一种服务,要么是只有一份数据,放在共用存储设备上,一次被一个节点访问,获得高可用性;要么是把数据复制为多份,存储于每个节点的本地硬盘上,用户的请求同时发送到多个节点上,获得负载均衡能力。这也是F5设备没有提供数据库均衡的解决方案的难点所在。

引文:
--------------------------------------
首先申明,除了只读型数据库在某些特定条件下可能使用BIGIP实现负载均衡外。F5迄今未推广过读写型数据库的负载均衡方案。

数据库的Cluster和HA是两个概念。在HA方式下,两台数据库服务器只有一台在工作,并且是由Active设备控制盘阵。在发生HA切换时,Backup设备接管盘阵。在Cluster状态下,比如Oracle RAC,可以实现两台服务器对同一盘阵的同时控制,并且使用的是同一份数据库文件。在RAC存在的情况下,理论上有可能使用BIGIP实现负载均衡,但实际上很难发挥作用,只有在C/S结构下有可能实现,或者是多台应用服务器访问少量数据库服务器的状况下有可能。现在F5中国还未有进行此类测试,如果那位有此类环境可以做一个测试。F5会全力支持测试。
---------------------------------------

对于高可用性集群,由于它在设计时的目的就是为了最大可能地减少服务中断时间,因此服务的切换受到很大的关注。当一个节点上的服务故障时,会被很快地检测到并被切换到其他节点上。但在切换时,不能忽略对数据完整性的保护。

再研究一下:在什么情况下数据完整性会被破坏呢?由于高可用性集群中至少有两个节点,连接在一个共用的存储设备上,对于非裸分区而言,如果被两个节点同时读写,就会造成文件系统被破坏。因此就需要利用I/O屏障来防止这一事件的发生。

I/O屏障的目的是为了保证故障节点不能再继续读写某一服务的共用分区,实现的方式有多种。Kimberlite使用硬件开关来实现,当一个节点发生故障时,另一节点如果能侦测到,就会通过串行口发出命令,控制连接在故障节点电源上的硬件开关,通过暂时断电,而后又上电的方式使得故障节点被重启动。

I/O屏障有多种形式。对于支持SCSI Reserve/Release命令的存储设备,也可以用SG命令实现I/O屏障。正常节点应使用SCSI Reserve命令“锁住”共用存储设备,保证其不被故障节点读写。如果故障节点上的集群软件仍在运行,如发现共用存储设备已被对方锁住,就应把自己重启动,以恢复正常工作状态。

实际上,使用F5设备有变通的方法:把两台服务器放入一个POOL中,设不同的优先级,让优先级高的服务器对磁盘有读写操作,当高优先级的服务器宕机时,切到低优先级的机器上,这也实现了HA, 这有点强词夺理,但也能解释,比HA软件切换的快,因为用HA软件做双机时,备机上的各个服务都是宕的,只能当备机探测到主机服务宕机时,才开始启动相应的服务,有时服务还启不了;而用F5做双机时,备机的各服务都是正常启动着的,只是F5设备不把客户请求发到备机上去而已,当主机宕机时,F5设备才把客户请求发到备机,而备机的各服务都是正常启动着的,所以…………

呵呵,想明白了为什么我说是强词夺理么?

如果按照上面的方法作数据库负载均衡,则必须解决一个重要的问题:数据库的同步,如果切换的速度很快,则要求两台数据库的同步也很快…………。其它可能还存在一些问题,所以迄今为止还是没有见过类似结构。

OOPS,扯远了。我来详细说说为什么高可用集群不能对数据库系统进行负债均衡。俺的理由是对负债均衡的定义。

就如我开篇所说

引文:
--------------------------------
集群一般有两种高可用性和高性能集群,…………负载均衡不能完全算高可用性集群的一种,是高性能性集群

普通的HA软件没办法支持象ORACLE RAC一样的环境,这不完全是集群软件的功能。
--------------------------------

我们就拿OPS来说事儿吧,OPS的核心组件是分布式锁管理器(DLM),它为OPS实例提供并行高速缓存管理。OPS群集的每个节点在加入群集时都启动DLM进程的一个实例,然后这些实例就可以通过网络互相通信。

因此我的结论一:没有DLM,不管你是HACMP还是ServiceGuard或者TurboCluste都不能并行跑数据库。(不了解mssql、sybase和DB2,欢迎举反例)

然后,OPS的工作机制和simon说的没错,但是最终,它对库文件的读写还是靠缓存排队的,最终仍然同一时刻只有一台主机在读写。可是,真正的负债均衡是N份文件的分布式读取哦。负债均衡是所有资源的均衡哦。

因此我的结论二:即使HA软件配合OPS,仍然不是真正的负债均衡。当然,我们和客户不能这么说。

不过,我有一个想法,在数据库只读的应用环境下,比如高考考分查询,是不是可以多台机器建多个库,库内容都一样,这样的话由于不涉及数据同步的问题,应该可以实现真正均衡的。

顺便分享一下我查到的OPS介绍。总会有人不了解的。

引文:
----------------------------------
1、什么是OPS

OPS(Oracle Parallel Server)可以让位于不同系统的多个实例同时访问同一个数据库。并行服务器可以有效地提高系统的可用性和对多系统的访问性能,但是,如果你的数据没有做很好的分割,性能可能还会下降。

安装OPS时,多个实例mount同一数据库文件,实例间的通讯由分布式锁管理器(DLM)来管理。需要注意的是分布式锁管理器与你所使用的硬件和操作系统有着密切的关系。为了确定多个企图同时修改同一数据的实例,Oracle使用了十个后台进程:LCK0-LCK9,来锁定某一实例所使用的资源。

OPS主要用于UNIX/LINUX集群环境中。

3、所有的应用都是适合OPS吗?

可以根据功能或数据进行分割的应用最适合OPS。那些有”热数据”(经常被多实例同时访问的数据)的应用并不适合使用OPS。
-----------------------------------

结束语:尽管HA软件的功能足够强大,但是我们在系统设计的时候尽量用专用硬件来代替软件能实现的功能比如F5实现http负债均衡。理由1:利润更丰厚2:服务器应该只做单一的服务器从而最大化利用服务资源3:出现问题便于排错4:降低用户的维护成本5:……很多啦,不一一说了

附件:simon写的HA情况下,数据库的操作
-----------------------------------
a、在一个多节点数据库系统的集群中,是将数据保存在一个公用的磁盘空间上的方式来保证数据的统一性的。 而在没有外来机制的情况下,一个磁盘空间上的逻辑空间也是只能被一个主机系统所控制的,即该主机取得了逻辑空间的读写控制权后,其他的主机系统是无法再去进行读写的(UNIX/Windoes平台均是如此),这是由阵列卡的工作机制所决定的。 而这个时候HACMP软件(或者其他的集群软件)出马了,它通过接管控制阵列卡,协调多个主机的操作系统,使他们可以同时去读写同一个逻辑空间(这里的同时只是指访问同一个逻辑空间,而不是同时一个数据记录),这使得多数据库节点共同处理访问请求成为可能,因为它们可以读写同一个后台数据库了。
b、从另一个方面来说,一个数据记录同时只能被一个I/O操作所控制,即一个节点上的数据库系统对数据记录进行读写时,其他的数据库系统是无法去读写该记录的;而在一个多节点的数据库集群中,这就需要对数据记录进行协作、控制,即保证该记录在被一个I/O读写时必须被缩定,禁止其他的数据库对它进行读写,而当该I/O操作完成时必须能释放掉该数据记录,使之能被其他的数据库系统读写。 这点显然是NLB所不能实现的,是需要数据库系统本身的功能支持(主流的数据库Oracle/SQL/Sybase均可实现该功能)。而这点实现了多节点数据库系统间的共同协作处理,也保证了多节点数据库系统的处理能力均衡分载的应用层基础。
在以上2点的保证下,通过HACMP集群软件对外提供同一个公用IP地址(ServiceIP)接受访问请求,由数据库系统的集群组件将请求分配给各个节点上的数据库系统,并协调他们进行后台数据的读写,真正的实现了数据库系统的处理能力上的负载分担、均衡。
------------------------------------

分类: 饭碗 标签: ,