公告

★专注互联网应用,运维
QQ:59966284
很高兴能与志同道合的朋友一起交流WEB网站架构,网络架构及大规模服务器运维

博客统计信息

51cto推荐博客
用户名:itwork
文章数:39
评论数:91
访问量:61843
无忧币:6216
博客积分:1620
博客等级:6
注册日期:2008-02-11

我最近发表的评论

铁通抢修报告与总结 回复
博主,能把网络拓扑划上就好了,否..
哦耶!!拿到录取.. 回复
不错,博主,为你加油,为自己打气
Bat脚本处理ftp超.. 回复
呵呵,zqtiger兄研究得比我深啊,受..
51cto博主赢得大.. 回复
赞!!!!!!
Bat脚本处理ftp超.. 回复
嗯,非常感谢你指出这个问题。四个..

我的技术圈(2)

更多>>
Bat脚本处理ftp超强案例解说


前言:

   公司有几百台windows服务器,每次程序更新,如果是一台台拷数据,只怕安排十个人,一天都不一定做得完,所以就必须研究个全自动更新方案来,于是就想到了FTP,做个主FTP站,在几百台客户机上启动BAT脚本,每30秒检测一次,如果主站有更新程序,就自动下载更新,几分钟内,上400台windows服务器,都可以全自动更新程序完毕,相当实用,现把当初研究BAT的脚本思路贴出来,希望对大批量运维人员一个方向。当然,批量更新服务器,每个公司有它自己的解决办法,这个BAT的方式不是最优..
类别:windows|阅读(1070)|回复(10)|(11)阅读全文>>
RHCS集群理论暨

最佳实践


什么是集群?

    集群是一组(>2)相互独立的,通过高速网络互联的计算机组成的集合。群集一般可以分为科学集群,负载均衡集群,高可用性集群三大类。

    科学集群是并行计算的基础。它对外就好象一个超级计算机,这种计算机内部由十至上万个独立处理器组成,并且在公共消息传递层上进行通信以运行并发应用程序,像中国的银河,曙光超级计算机。

    高可用性集群,当集群中的一个系统发生故障时,集群软件迅速作出反应,将该系统的任务分配至..
2012-04-13 15:28:25
Memcache知识点梳理
Memcached概念:

    Memcached是一个免费开源的,高性能的,具有分布式对象的缓存系统,它可以用来保存一些经常存取的对象或数据,保存的数据像一张巨大的HASH表,该表以Key-value对的方式存在内存中。

官网下载地址: http://www.memcached.org/

运行环境: linux,BSD,windows都可跑

协议理论:http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt (英文)
操作流程:


1、检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作,路径操作为①②③⑦。

2、如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现),路径操作为①②④⑤⑦⑥。

3、每次更新数据库的同时更新memcached中的数据,保证一致性。

4、当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。
Memcached特征:

协议简单

   它是基于文本行的协议,直接通过telnet在memcached服务器上可进行存取数据操作

基于libevent事件处理

    Libevent是一套利用C开发的程序库,它将BSD系统的kqueue,Linux系统的epoll等事件处理功能封装成一个接口,与传统的select相比,提高了性能。

内置的内存管理方式

    所有数据都保存在内存中,存取数据比硬盘快,当内存满后,通过LRU算法自动删除不使用的缓存,但没有考虑数据的容灾问题,重启服务,所有数据会丢失。

分布式

   各个memcached服务器之间互不通信,各自独立存取数据,不共享任何信息。服务器并不具有分布式功能,分布式部署取决于memcache客户端。
Memcached安装与启动:

安装memcached需要先安装libevent
Shell>tar zxvf libevent-1.4.14b-stable.tar.gz Shell>cd libevent-1.4.14b-stable Shell>./configure Shell>make && make install 


安装memcached
Shell>tar zxvf memcached-1.2.5.tar.tar Shell>cd memcached-1.2.5 Shell>./configure –prefix=/usr/local/memcached Shell>make && make install 
启动memcached

Shell>/usr/local/memcached/bin/memcached –p 11211 –d –u root –P /tmp/memcached.pid
-P是表示使用TCP,默认端口为11211 -d表示后台启动一个守护进程(daemon) -u表示指定root用户启动,默认不能用root用户启动 -P表示进程的pid存放地点,此处“p”为大写“P” -l,后面跟IP地址,手工指定监听IP地址,默认所有IP都在监听 -m后面跟分配内存大小,以MB为单位,默认为64M -c最大运行并发连接数,默认为1024 -f 块大小增长因子,默认是1.25 -M 内存耗尽时返回错误,而不是删除项,即不用LRU算法 
    在64位系统中,会报libevent-1.4.so.2文件无法找到,解决办法是把32位目录里的同名文件链接至64位目录中,即像windows那样建立快捷方式。

Shell > /usr/local/lib/libevent-1.4.so.2 /usr/lib64/libevent-1.4.so.2

启动后如果发现没有端口在监听,是因为命动命令时带pid参数的“p”是大写“P”,你可能写成小写了。
命令行直接操作命令



存,有六个命令项。


Set:添加一个新条目到memcached或是用新的数据替换替换掉已存在的条目 Add:当KEY不存在的情况下,它向memcached存数据,否则,返回NOT_STORED响应 Replace:当KEY存在的情况下,它才会向memcached存数据,否则返回NOT_STORED响应 Cas:改变一个存在的KEY值 ,但它还带了检查的功能 Append:在这个值后面插入新值 Prepend:在这个值前面插入新值 




取,有两个命令项:


Get:取单个值 ,从缓存中返回数据时,将在第一行得到KEY的名字,flag的值和返回的value长度,真正的数据在第二行,最后返回END,如KEY不存在,第一行就直接返回END Get_multi:一次性取多个值 




删除,一个命令:
Delete 
实例操作:

先连接到memcache

 
shell>telnet 127.0.0.1 11211 



在入数据
Set liuguohua 0 0 21 369369.blog.51cto.com 


回车后系统自动保存,并返回正常值STORED

存入命令格式为

<command> <key> <flags> <exptime> <bytes> \r\n

注意在设定bytes字节后,存入的值的长度一定要与之匹配,否则无法保存成功,像liuguohua字段为21字节,所以存入的369369.blog.51cto.com长度为21(总计为21个数字或字母)。


取数据
Get liuguohua  


回车后,第一行返回VALUE liuguohua 0 21

第二行,返回真正值369369.blog.51cto.com

DNS原理及其解析过程

精彩剖析

 


    网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的IP地址,而不能认识域名。我们无法记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的IP地址,然后调出IP地址所对应的网页。
什么是DNS?

    DNS( Domain ..
类别:windows|阅读(4171)|回复(4)|(9)阅读全文>>
在Win2003中安装bind

部署智能DNS
 
前言:

    搞LINUX的朋友都知道,bind是linux下的DNS服务软件,但很多人不清楚,它也可以运行在windows系统中,windows系统自带的dns,功能弱,是不能作智能DNS解析的,在windows 2008 R2版也没有解决这个问题,有些公司技术力量薄弱一些,一直在用windows系统,所以本文从windows出发,安装bind,利用它的view功能,做智能DNS,解决双线机房南北电信联通访问问题。
一、环境:

系统:Windows 2003 Enterprise Edition sp2

软件:Bind9.9.0( for windows)

设计..
类别:windows|阅读(788)|回复(5)|(5)阅读全文>>
庖丁解puppet之高级篇

(组织结构设计)
 
前言:

    我们经过puppet之初级入门和puppet之中级进阶后,可以说你也可以用puppet管理上100台linux服务器了,但管理服务器越多,在site.pp里要设置的东西就越多,如真有上千台服务器要管理,1千个节点的配置文档都作到site.pp里,势必它将变得很复杂并很难去管理,因此puppet组织结构研究就出来了,我们可把配置文件存储在多个文件夹和文件中。我们把Site.pp文件看作一个金字塔的顶点,其它所有文件及文件夹由它引用即可。
一、常见结构整理

   看..
ASA5585防火墙IDC机房上架记
 
前言:

    现在网游公司用的是ASA5520,web网站经常被别人攻击一下,就把28万个连接都用完的,造成服务不正常。这个问题必须马上解决,参考了很多互联网公司的网络架构,最后换防火墙是一种比较好的方案。提了两个品牌给领导审批,一个cisco的ASA,一个juniper的SRX。领导选了思科,我在此替juniper悲哀,领导一直觉得思科的交换机好用,所以就认为思科的防火墙也很强大(其实juniper防火墙要好于思科ASA)。到思科官网去找了下, 200万并发的产品。又电话思科问下,说是5580快..
Linux下网络流量实时监控工具

大全




    在工作中发现,经常因为业务的原因,需要即时了解某台服务器网卡的流量,虽然公司也部署了cacti软件,但cacti是五分钟统计的,没有即时性,并且有时候打开监控页面不方便,个人喜欢随手在某台服务器上输入一个命令,查看网卡即时流量。百度了一下,发现有这么几种方法,现对此类软件进行了一个总结。



一、iptraf软件

   rhel的iso里有包含,我公司的系统,并没有默认安装,它功能强大,可以按照协议,网卡等进行分析。

1.1 iptraf安装

源码安装

..
HP大中华区总裁孙振耀退休感言
 
个人总结的关键词(句)
一时岗位(薪水)的高低并不能代表什么,你是要工作35年的,谁笑到最后谁笑得最好

个人的努力不能算什么,只有靠团队的合作,带领团队才能达到共赢

高手之间的比赛,都是势均力敌,打败他,仅是靠细心,不要比他多出一份错误而已

要找准快乐是什么!不要好高骛远,先想好自己要做的是什么

人为自己而活,不为别人,要活出个性

人要知足常乐,要在现实中寻找快乐

跳槽并不一定能解决你面临的问题,请不要逃避你当前的问题,just do it

不要老换行业,换行..
 

    08年开通的博客,2012年才开始好好经营,并上升到“推荐等级”,今天打开369369.blog.51cto.com个人博客,发现左上角与以往有点变化,特自醉一下。
今天,是很平凡的,不就2012年3月5日嘛!
今天,是不平常的,经过2012年三个月的努力,博客终于到了推荐等级,实现了一个很基础的目标。
今天,是事业起点,我曾经说过,2012年要开始崛起,或者套用其它人的话,要雄起。要从今天开始,步步为营,从小处想,为自己打造更好的明天,从大处想,为51CTO上的同胞们,贡献一份好的技术博文。
今天,明天,后天。今天,刚开始,明天继续,后天辉煌。
朋友们,欢迎到我的51CTO博客上来看看,有你想要的惊喜。
祝2012年里,51CTO的朋友们工作顺利,生活幸福![/img]..
   记性很差劲,经常在系统,网络之间转,没有专搞系统。时间一长,所以难免有些命令或组合式语句忘记了,今天把它们集合到一起,以后跑博客上找就是了,陆续更新中...
服务器双网卡,双IP,第二个网卡路由设置格式如下:

vi /etc/sysconfig/network-scripts/route-eth0

192.168.1.0/24 via 192.168.0.1
--------

开关外部ping自己

echo "1" >/proc/sys/net/ipv4/icmp_echo_ignore_all

将其值改为1后为禁止PING,0为解除禁止PING
--------

打开linux系统nat转发

echo "1" > /proc..
庖丁解Puppet之

中级进阶篇
 
前言:

     公司的web网站是java开发的,所以经常要更新war包,虽然服务器只有几十台,但每次传输文件,然后再在应用服务器上执行更新脚本,是件很麻烦的事,这也是我开始研究puppet的动力,不过通过今天的实验,我发现puppet并不很适合我公司用,但箾已发出了,不想停止,也没办法停止,怎么都要把puppet弄个九成熟,所以就有了本篇的中级进阶博文。
实例二:

通过puppet服务器端向两台客户端传输war包(包括更新),并执行tomcat重启命令,从而达到更新网站程序的要..
mysql主从复制

(超简单)
怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下:
1、主从服务器分别作以下操作:

  1.1、版本一致

  1.2、初始化表,并在后台启动mysql

  1.3、修改root的密码



2、修改主服务器master:

   #vi /etc/my.cnf

       [mysqld]

       log-bin=mysql-bin   //[必须]启用二进制日志

       server-id=222     &..
2012-02-27 14:02:03
Cisco 2960交换机排错
   
    运维部一卡座的网络端口,接了一台TP-LINK 16口交换机,突然有天,发现接在这个交换机上的所有PC都不通了,简单检查了一下,发现此交换机进线口不亮灯(卡座口与TP-LINK交换机连接线),用测线仪测了下,发现8个灯亮,初步判断是弱电井的2960相应的端口被shutdown了,于是登录交换机查看端口,发现并没有administrator down,百思不得其解。


    测线仪测出,8根线都是亮的,说明网线是没有问题的,端口又没被shutdown,说明没有被管理员关闭。

    再登录交换机,show一下该端口情况,仔细一看,发现第一行后面的括号里有err-disabled信息,百度一下关键字“err-disabled”,得出解决办法。


    线路不通,物理指示灯灭,而测试仪显示8根线通,可show int status查下,通过该命令发现46口有err-disabled,理由是loopback。


    在缺省配置下,思科交换机端口被置为err-disabled,IOS将不会试图万利接口,必须手工将它恢复,于是再输入命令errdisable recovery cause lookup,配置完这个命令后,查看端口情况,还是err-disabled,这是因为恢复时间需要300秒,输入sh errdisable recovery查看下,还需要多少时间才能恢复,从图上看,需要257秒。耐心等257秒后,该端口正常,TP-LINK交换机上的PC也正常。
 
Mantis迁移实录






名词解释

Mantis:  开源的BUG管理平台Mantis,也做MantisBT。

          同档次产品有EasyBUG,QC,BugFree,Bugzila。

Xampp:   原名叫LAMPP。windows,linux下apache,mysql,php,perl集成安装包。

          同档次产品有EasyPHP。

虚拟中心:用VM esxi4.1搭建。

          同档次的产品有KVM,XEN,HV。



前言

  ..
类别:windows|阅读(232)|回复(1)|(1)阅读全文>>
庖丁解Puppet之

初级入门篇
 
系统环境:


软件包:


环境安装:

Puppet 是用ruby语言写的,所以要安装ruby环境,服务器端与客户端都要安装,我这的环境没有装ruby,所以用yum安装一下。要精细化安装的话,需要安装4个包。

[root@testsns ~]# yum –y install ruby*
精细化安装Ruby环境

1.puppet是基于ruby开发。所以要安装ruby语言环境。

找到相应版本对应的ruby的rpm包(下以redhat 5.4为例)

rpm –ivh ruby-libs-1.8.5-5.el5_2.3.i386.rpm

rpm –ivh ruby-1.8.5-5.el5_2.3.i386.rpm

2.Rdoc的安装。

如果需要查看帮助文档,需要安装此包。有一点特殊说明,此包在AS4上未找到相关的rpm。所以建议服务端使用5.0以上的版本。

rpm –ivh ruby-irb-1.8.5-5.el5_2.3.i386.rpm

rpm –ivh ruby-rdoc-1.8.5-5.el5_2.3.i386.rpm
Server端安装:

1、时间同步

ntpdate time.nist.gov
2、安装Facter用来获取客户端系统信息(如hostname,ip,OS-Version,fqdn等)

[root@testsns opt]# tar zxvf facter-1.6.5.tar.gz

[root@testsns opt]# cd facter-1.6.5

[root@testsns facter-1.6.5]# ruby install.rb

[root@testsns facter-1.6.5]# cd ..
[root@testsns opt]# tar zxvf puppet-2.6.13.tar.gz

[root@testsns opt]# cd puppet-2.6.13

[root@testsns puppet-2.6.13]# ruby install.rb

[root@testsns puppet-2.6.13]# cp conf/auth.conf /etc/puppet/

[root@testsns puppet-2.6.13]# cp conf/redhat/fileserver.conf /etc/puppet/

[root@testsns puppet-2.6.13]# cp conf/redhat/puppet.conf /etc/puppet/

[root@testsns puppet-2.6.13]# cp conf/redhat/server.init /etc/init.d/puppetmaster

[root@testsns puppet-2.6.13]# chmod +x /etc/init.d/puppetmaster

[root@testsns puppet-2.6.13]# chkconfig --add puppetmaster

[root@testsns puppet-2.6.13]# chkconfig puppetmaster on

[root@testsns puppet-2.6.13]# mkdir -p /etc/puppet/manifests

3、生成pupput用户

[root@testsns opt]# puppetmasterd --mkusers

4、启动

[root@testsns opt]# /etc/init.d/puppetmaster start

















































































































































/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}


Slave端安装:
1、时间同步
ntpdate time.nist.gov
   和服务器端安装方法一样,先安装ruby环境,再安装facter和puppet,只是在puppet拷贝配置文件时要注意。
2、安装Facter用来获取客户端系统信息(如hostname,ip,OS-Version,fqdn等)
 
---内容如下

[agent]

Listen = true

Server = testsns

---

[root@nfstest puppet-2.6.13]# vi /etc/puppet/namespaceauth.conf

----内容如下

[fileserver]

allow *

[puppetmaster]

allow *

[puppetrunner]

allow *

[puppetbucket]

allow *

[puppetreports]

allow *

[resource]

allow *

----
3、生成用户和rra目录

[root@nfstest puppet]# puppetmasterd --mkusers

4、启动

[root@nfstest puppet]# /etc/init.d/puppet start

5、修改hosts

   修改双方的/etc/hosts文件,添加各自的IP地址对应的主机名,生产环境做内部DNS比较好,不用修改每台服务器的hosts文件。

192.168.133.42 nfstest

192.168.133.44 testsns

6、开放端口

   关闭双方的防火墙及selinux,或开放8140(server服务器端口),8139(client服务器端口)。相互作ping hostname telnet hostname 8140 test hostname 8139等,看网络及hosts是否正常
认证:

客户端发送请求

Puppeted --test –server testsns

服务器查看

Puppetca –list

服务器端签名

Puppetca –s –a //对所有客户端全部签名

Puppetca –s nfstest //只签名某个客户端

 
功能模块介绍及实例操作



文件分发:

通过puppet可以向被管理机上推送文件,方法是使用file类型的source属性

1:修改/etc/puppet、fileserver.conf

2:修改/etc/puppet/manifests/ site.pp

实例:要把server服务器上/opt目录下的mysql-5.1.49-linux-i686-icc-glibc23.tar.gz传输至client服务器的/opt目录下,文件名不变。

第一步:Vi /etc/puppet/fileserver.conf

[files]

path /opt/

allow 192.168.133.0/24
第二步:vi /etc/puppet/manifests/site.pp

file

{ "/opt/mysql-5.1.49-linux-i686-icc-glibc23.tar.gz":

source => "puppet://$puppetserver/files/mysql-5.1.49-linux-i686-icc-glibc23.tar.gz",

}
第三步:

在client客户端执行更新命令

puppetd --test --server testsns
    此处“$puppetserver”是puppet Server端的名称,即hostname,网上教程都是在hosts里指定,生产环境下用内部的DNS上作解析,像我公司一个www平台就有70台linux服务器,一个个添加hosts,不搞死人去。
修改文件属性:

   实例:把/tmp/dd142/ puppet-2.6.13.tar.gz文件的权限改为puppet用户,并设置权限为666。

第一步:编辑Server端的site.pp

vi /etc/puppet/manifests/site.pp

---内容如下

file

{ "/tmp/dd142/puppet-2.6.13.tar.gz":

owner => "puppet",

group => "puppet",

mode => 666,

}

----

第二步:在client端执行命令

puppetd --test --server testsns
执行SHELL命令或shell脚本:

    实例:通过puppet分发执行shell脚本,在客户端的opt目录下新建一目录shelldir。

第一步:编辑Server端的site.pp

vi /etc/puppet/manifests/site.pp
exec { "exec-mkdir":

cwd => "/opt",

command => "sh /opt/lgh.sh",

user => "root",

path => "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin",

}

第二步:在client端编辑一shell脚本

四、交换机初始化配置
配置前准备

    Console线。前几年台式机,笔记本,服务器设备都会在主板上配置一个DB9的接口,然后用console线一头接交换机,一头接计算机。现在,因技术变革,笔记本与台式机,都不会带DB9接口了,取而代之的是USB接口,所以,做网络工程的,一定要准备两根线,一根是console线,一根是USB转DB9线。然后两者相接,USB那端接电脑,RJ45那端接交换机,USB转DB9,是需要安装驱动的,安装完后,可以在设备管理器中看到设备。


Console线           

DB9转USB线


HP LoadRunner 9.5使用手记


一、打开“开始”-“程序”-“LoadRunner”-“ LoadRunner”


二、点File-New新建一个项目


三、选择项目协议类型,我这里是web压测。


四、设置要进行压测的URL地址

类别:windows|阅读(107)|回复(0)|(1)阅读全文>>
Vmware Server 安装说明


版本说明

   Vmware server的前身是Vmware GSX Server,有两个版本,一个是1.0一个是2.0,1.0版本需要安装客户端管理,2.0版本通过web 形式管理,现在讲下VMware-server-2.0.2-203138安装与简单使用介绍。
安装步骤

   双击VMware-server-2.0.2-203138.exe,一路NEXT,安装下去,安装就不截图了。期间会提示输入序列号,可输入也可在安装完后输入,以下序列号可供参考。

928R9-YHP2W-1GPDN-4CNC1

92WKR-YRPAW-1ELDH-48KRH

98RRR-YU7A8-1G6DN-494UJ

98XR9-YHL2T-156F0-487..
2012-02-02 15:38:37
1、下载fastDFS源程序,最好与FastDFS服务器版本匹配,这里我下载了FastDFS_v3.06.tar.gz版本,放在/opt/soft目录下。
2、LAMP或LNMP已安装好,PHP安装目录为/usr/local/php
3、步骤

[root@snstest ~]#tar zxvf FastDFS_v3.06.tar.gz

[root@snstest ~]#cd FastDFS

[root@ FastDFS ~]#./make.sh

[root@ FastDFS ~]#./make.sh install

[root@ FastDFS ~]#Cd client

[root@ client ~]#make; make install

[root@ client ~]#cd ../php_client

如以上不安装,直接进php-config目录进行编译安装,会报如下错误:

make: *..
 <<   1   2   >>   页数 ( 1/2 )