存档

作者存档

Linux下批量杀掉 包含某个关键字的 程序进程

2012年2月9日 没有评论

有时候因为一些情况,需要把 linux 下符合某一项条件的所有进程 kill 掉,又不能用 killall 直接杀掉某一进程名称包含的所有运行中进程(我们可能只需要杀掉其中的某一类或运行指定参数命令的进程),这个时候我们需要运用 ps, grep, cut 和 kill 一起操作。

ok,下面给出具体的参考:

ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9

运行这条命令将会杀掉所有含有关键字”LOCAL=NO”的进程,是不是很方便?

下面将这条命令作一下简单说明:

管道符”|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。

“ps -ef” 是linux里查看所有进程的命令。这时检索出的进程将作为下一条命令”grep LOCAL=NO”的输入。

“grep LOCAL=NO” 的输出结果是,所有含有关键字”LOCAL=NO”的进程。

“grep -v grep” 是在列出的进程中去除含有关键字”grep”的进程。

“cut -c 9-15″ 是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。

“xargs kill -9″ 中的 xargs 命令是用来把前面命令的输出结果(PID)作为”kill -9″命令的参数,并执行该命令。”kill -9″会强行杀掉指定进程。

其它类似的情况,只需要修改”grep LOCAL=NO”中的关键字部分就可以了。

另一种方法,使用awk

ps x|grep gas|grep -v grep |awk ‘{print $1}’|xargs kill -9

转自:http://www.cnblogs.com/lichkingct/archive/2010/08/27/1810463.html

分类: linux相关 标签: ,

child pid XXXX exit signal Segmentation fault (11)的一个解决办法

2012年1月8日 没有评论

最近在测试一个虚拟主机管理软件LuManager2.0,用的centos6 64位的系统装完进入管理界面 始终出错 firefox打开页面一片空白,看apache的日志是

child pid XXXX exit signal Segmentation fault (11)

手工传个phpinfo进去倒是可以执行的,这个错误造成的原因很多,多半是和内存啊模块之类的有关,仔细看了看apache和php的配置,发现php里面启用了eaccelerator ,关掉重启apache后解决了。

分类: php相关 标签: ,

VMware ESX/ESXi 使用NETAPP存储 FCP Partner Path Misconfigured 报错处理

2011年10月27日 没有评论

VMware ESX/ESXi 使用NETAPP存储 FCP Partner Path Misconfigured 报错处理

在VMware ESX/ESXi 使用NETAPP存储时,存在多路径访问存储lun的情况下如果配置不当极易引起报错:
[hostname: scsitarget.partnerPath.misconfigured:error]: FCP Partner Path Misconfigured - Host I/O access through a non-primary and non-optimal path was detected.

这个主要是因为ESX主机在访问lun时使用了非主路径造成的,就如下图这种情况:

从上图来看我们可以看到这个lun在主机上实际是有2个访问路径的,一个是通过lun所在的机头访问的主路径,另一个是Partner机头的备用路径。
如果是更加高可用的采用2个机头各自使用2个光纤交叉连接至2个交换机的方式,那么每个lun在主机上对应的访问路径将会有4个,其中2个是主路径,2个是备用路径。

那么在ESX中是如何来选择多路径的呢,这里也介绍下ESX的多路径选择机制。
首先ESX会判断存储的类型,主要是A/P主-被、A/A主-主、ALUA主-被和非对称主-主这几种。
对应不同的存储类型ESX会使用不同的默认路径选择方式:

最近使用(VMW_PSP_MRU):选择最近用于访问指定设备的路径。如果此路径不可用,则会切换到替代路径并在该新路径可用时继续使用它。MRU是主-被阵列(A/P- Active/Passive)的默认路径策略。
固定(VMW_PSP_FIXED):使用指定首选路径(如果已配置)。否则,它将使用在系统引导时间发现的第一个工作路径。如果主机不能使用首选路径,则它会选择随机替代可用路径。一旦首选路径可用,主机便会恢复到首选路径。“固定”是主-主阵列(A/A – Symmetric Active/Acivie)的默认路径策略。
VMW_PSP_FIXED_AP:将“固定”功能扩展到主动-被动阵列和非对称主-主(ALUA – Asymmetric Active/Active)阵列。
循环(VMW_PSP_RR) :使用路径选择算法轮流选择所有可用的活动路径,并在路径之间启用负载平衡。

根据我管理的系统中2台NETAPP的存储在ESX中均被识别为:VMW_SATP_DEFAULT_AA,就是A/A主-主类型,所以他默认使用的是 固定(VMW_PSP_FIXED)。
那么问题就在这里了,由于固定(VMW_PSP_FIXED)方式的路径选择,ESX将会选用第一个发现的路径作为首选路径来使用,但是有些时候这往往不是主路径,所以就导致了Host I/O access through a non-primary and non-optimal path was detected.的报错。
这个时候就需要手工调整首选路径了,那么如何来确定什么路径才是主路径呢?

1.首选确定目标lun所在的机头
这个我想不用多说了

2.连上目标lun所在的机头确认FC Nodename和Portname

FAS2050A> fcp show adapters
Slot: 0a
Description: Fibre Channel Target Adapter 0a (Dual-channel, QLogic 2432 (2462) rev. 2)
Adapter Type: Local
Status: ONLINE
FC Nodename: 50:0a:09:80:88:8c:82:35 (500a0980888c8235)
FC Portname: 50:0a:09:81:88:8c:82:35 (500a0981888c8235)
Standby: No

Slot: 0b
Description: Fibre Channel Target Adapter 0b (Dual-channel, QLogic 2432 (2462) rev. 2)
Adapter Type: Local
Status: ONLINE
FC Nodename: 50:0a:09:80:88:8c:82:35 (500a0980888c8235)
FC Portname: 50:0a:09:82:88:8c:82:35 (500a0982888c8235)
Standby: No

根据上例返回的信息,这个机头有2个hba卡,在esx看到的目标路径就是Nodename Portname,这个的2个目标路径就是
50:0a:09:80:88:8c:82:35 50:0a:09:81:88:8c:82:35
50:0a:09:80:88:8c:82:35 50:0a:09:82:88:8c:82:35

3.知道了目标路径后打开esx存储适配器手工指定目标lun的首选路径


本图由于有4个路径分表是其中有2个目标路径对应lun所在机头的2个hba卡,可以根据实际情况手工指定不同的hba卡分流流量。

如何检测调整的效果
1. lun stats -o 查看Partner Ops 和 Partner KBytes 字段,可以直观的以lun列表的形式查看,如果是调整后可以使用lun stats -z清空统计数据。
2. sysstat -b 1 查看Partner字段,可以直观的以实时监控的形式查看。

如果上述字段为非0那就说明有Host I/O access through a non-primary and non-optimal path的情况。

cisco stp相关配置

2011年10月27日 没有评论

这里不去介绍相关知识了,网上一搜一大堆。写这篇博客只是为了记录下解决我单位混乱二层网络管理无从下手的一些心得。
交换机配置一向不是我的强项,这次调整stp完全出于无奈,我们单位的网络期初是从1台借用的二层交换机开始的,逐步的添加扩展直到今天位于3个机房、13台交换机的规模、9个网段,由于我懒,加上随意配ip习惯,导致了这种局面,要起三层必须等于是要把网络这层全部铲了从起炉灶,伤不起啊,前车之鉴啊,各位规划网络初期就一定要注意啊!

我们这个大二层从划分来讲主要就是3大块,1,中心机房 2,电信机房 3,办公室。
故事(事故)是这样开始的,由于单位搬了新大楼,而新大楼的网络全部使用的是h3c产品,我们在14楼使用的是我们单位独立的网络,但是平时也有其他一些楼层需要用我们的网段跑些业务,所以在14楼我们在我们网络的cisco交换机与大楼本身网络的h3c交换机之间做了互通并在大楼网络里面起了个我们的vlan,这样就能利用大楼的网络方便的将某些端口划到分到我们的vlan里面就能使用我们的出口和网络了。但是问题出现了,在楼道里cisco和h3c互联接线的那刻,大楼网络从楼道的h3c交换机开始一直瘫倒核心。后来把我们楼道里面那台cisco的stp关了才算了事。cisco的stp是只能针对vlan关的,像我们那种傻瓜用法的等于要关掉整个交换机的stp,这很不爽。调整双方stp协议对接也很不现实,大楼网络不会为了我们一个小网络去做调整。所以我只能想其他办法了。

网上看了几天资料了解了,看完才知道,原来二层网络也是需要管理维护的。

1.根桥(root bridge)
二层网络首先要确定一个根桥(root bridge),虽然什么都不配交换机之间也能自己协商出来一个,但是有些情况下那往往不是你所希望的,而且随着后期交换机的加入还会发生变化。
如何确定根桥(root bridge):

3750#show spanning-tree

VLAN0010
  Spanning tree enabled protocol ieee
  Root ID    Priority    24577
             Address     04c5.a488.c400
             Cost        4
             Port 3 (GigabitEthernet1/0/3)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32778  (priority 32768 sys-id-ext 10)
             Address     04c5.a488.c400
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Gi1/0/3          Root FWD 4         128.3    P2p
Gi1/0/4          Desg FWD 19        128.4    P2p

沿着这个返回端口在途径的交换机上面重复 show spanning-tree 直到出现

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    24577
             Address     04c5.a488.c400
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    24577  (priority 24576 sys-id-ext 1)
             Address     04c5.a488.c400
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

这就是你二层网络的 根桥(root bridge)。

2.如何手工指定根桥(root bridge)
3750#conf t
3750(config)#spanning-tree vlan 1 root primary

3.根保护(Root Guard)
根保护(Root Guard)的作用是防止指定端口下级网络环境中出现根桥(root bridge),虽然你通过手工可以指定根桥(root bridge)但是他的优先级(Priority)是固定为24577的(数值越低优先级越高),一旦下级网络中有手工指定的优先级更高的交换机出现那么它就会占据根桥(root bridge)。这时候就需要配置根保护(Root Guard)防止这种情况。
3750#conf t
3750(config)#interface gigabitEthernet1/0/26
3750(config-if)#spanning-tree bpduguard enable

端口配置了根保护(Root Guard)后,一旦接收到优先级比现有根更高的BPDU包这个端口就会被转为Block状态,直到不再接受到BPDU包或者优先级高的BPDU包。

3.BPDU过滤(BPDU Filtering)
BPDU过滤(BPDU Filtering)顾名思义,过滤BPDU。端口接受到任何的BPDU包一律到此为止,不在往端口上转发。一般配合PortFast用于连接主机的端口。
3750#conf t
3750(config)#interface gigabitEthernet1/0/26
3750(config-if)#spanning-tree bpdufilter enable

一旦端口启用BPDU过滤(BPDU Filtering)要注意不能出现环路,不然就真的瘫了。而且BPDU过滤(BPDU Filtering)优先级比根保护(Root Guard)高所以同时启用2个功能的话根保护(Root Guard)是不起作用的。

至于上面我单位遇到的问题,我测试了一下在手工指定根桥(root bridge)后再在14楼cisco上于h3c互联的端口启用BPDU过滤(BPDU Filtering),同时关闭h3c相应端口的stp后在打开cisco交换机的stp,网络就正常了。

centos6下挂载nfs

2011年10月7日 没有评论

其实和以前的centos5没啥区别,只不过centos的安装是选mini的还真够mini的,啥都要自己yum。这不连nfs都默认不装了。
mount -t nfs 192.168.1.1:/nfs1 /mnt/nfs
直接提示

mount: wrong fs type, bad option, bad superblock on 192.168.1.1:/nfs1,
       missing codepage or helper program, or other error
       (for several filesystems (e.g. nfs, cifs) you might
       need a /sbin/mount.<type> helper program)
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

需要安装下相关的软件包
yum -y install nfs-utils nfs-utils-lib

这时再尝试依然会出错

mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified

原因是rpcbind没启动
chkconfig –list看见是默认启动的,应该是刚装后没启动,手工启动下。
/etc/rc.d/init.d/rpcbind start
然后再
mount -t nfs 192.168.1.1:/nfs1 /mnt/nfs 就正常了

分类: linux相关, 只谈技术 标签: , ,

关闭centos6的ipv6

2011年10月7日 没有评论

新增文件 /etc/modprobe.d/ipv6-off.conf  内容:

alias net-pf-10 off
alias ipv6 off

编辑 /etc/sysconfig/network 增加内容:

NETWORKING_IPV6=no

关闭自动启动ip6tables

chkconfig ip6tables off
重启即可

分类: linux相关 标签: ,

克隆centos6虚拟机后网络无法启动问题解决

2011年10月7日 1 条评论

在克隆centos6的虚拟机后会发现启动网络的时候有报错

Bringing up interface eth0:  Device eth0 does not seem to be present, delaying initialization.

查看配置文件发现并没有像centos5那样克隆后会把原先的ifcfg-eth0备份成ifcfg-eth0.bak然后生成新的初始化的ifcfg-eth0

上网查了查资料,原来centos6会对mac地址和网卡设备名进行绑定,克隆前网卡的mac地址已经绑定了eth0,在克隆后生成的新的mac地址被顺延绑定到了eth1,但是我们又没有对应eth1

的配置文件所以启动就提示出错了。

只需要编辑

vi /etc/udev/rules.d/70-persistent-net.rules

将原来eth0那行删除,把新生成的eth1那行里面的eth1改成eth0 然后修改或者删除下配置文件里面的mac地址和uuid和最后重启下即可。

分类: linux相关, 只谈技术 标签:

Varnish 3.0的vcl处理流程图

2011年9月27日 没有评论

最近在尝试的用varnish,资料太少,偶然看见一个vcl的处理流程图,哪来分享下

另外可以安装个  GraphViz 用以下命令可以导出你所用版本的
### for postscript output
$ sed -n ‘/^DOT/s///p’ varnish-cache/bin/varnishd/cache_center.c | dot -Tps > /tmp/varnish-flow.ps
### for pdf output
$ sed -n ‘/^DOT/s///p’ varnish-cache/bin/varnishd/cache_center.c | dot -Tpdf > /tmp/varnish-flow.pdf

image

分类: 只谈技术, 软件相关 标签:

总结一些netapp管理中的误区把,省的初学者绕弯路。

2011年9月13日 没有评论

1.建立lun的时候lun name最好就直接写明白lun的内容。

我之前是这样建lun的

lun create -s 201g -t linux -o noreserve /vol/volb1/web1/lun1
lun comment /vol/volb1/web1/lun1 web1

本来想想这样子已经够清楚了,没想到最近在用lun_top监控lun的读写情况是发现他就仅仅用了lun name,而不是path。结果就是重头到尾的排序都是lun1
解决方法:lun move /vol/volb1/web1/lun1 /vol/volb1/web1/lun.web1

未完待整理

分类: 硬件相关 标签:

我们需要做什么怎么做–写在网络电视平台升级前

2011年9月12日 没有评论

网络电视台,这一新鲜名词自从中国网络电视台上线开播的那一天起而出名。10年初那会全国各省市县台,仿佛一夜之间都忽然醒悟般的纷纷开始建设或准备建设各种形式的网络电视台。就连我们无锡广电也不可避免的修改了一版新的界面,套着05-06年间的底层平台堂而皇之的成立了无锡网络广播电视台,而后又因为总局下令不准叫台而改成了无锡网络广播电视。

时至今日,无锡网络广播电视终于不堪现状,在彻底的落后系统平台折磨下走上了升级之路,我们在这次升级前主要评判了老系统的几个致命缺点:
1.无法跨平台跨浏览器播放
2.无移动终端平台解决方案
3.自动录播无法精确录制节目的开始和结束时间点(这归功于坑爹的播出时间准确性)
4.虚拟标注无法满足现状需求,及无法清理过期整档节目,无法单独删除某条标注新闻内容(彻底消失的那种,你懂得)。
5.系统平台本地可维护性太低,出了问题基本只能找厂商解决。

同时我们也在想我们需要把我们无锡网络广播电视台做成什么个样子。我们需要什么?

自从我们有了升级整个平台那个想法开始这个问题就一直纠结在我的心头。虽然我只是从技术的角度去看待这个问题,但这并不能代表写个1234就能有明确答案的。当然刚开始我也曾这样写了几个答案,无非就是要针对的解决上面那12345的缺点。但是我知道这并不是我想要的答案。

俗话说当局者迷旁观者清,没想到我也迷糊了进去。从大的角度来讲,这么多的省台市台县台花大力气大资金去建设网络电视台为的是什么,中国人式的一窝蜂很好的给出了答案,当然我们也看到了其中的一些领跑者佼佼者。于是我们决定走出去看一看、学一学。果真站在旁观者的角度看了几家之后,我领悟了。这里要非常感谢济南台网络公司关于三网融合三屏续看和linux机顶盒的启发。那就是我们要走创新,我们要自己开发基于网台的应用,我们要继续领跑地方网台的下一个5年。

三网融合、三屏合一这2词近几年没少出现过,虽然我从未去参加BRTV等这类相关的展会,但是我也清楚国内有很多的厂商都在这2词上面下功夫。电视机从有线电视开始到现在的数字电视,用户的收看方式几乎就没变过,虽然高清电视的出现可以让大家眼前一亮,但是这保鲜期一过本质上还是那个老样子,很难想象这样的收看方式能吸引80后90后这一5至10年后的主流高端用户。相比而且我更加看好电信的itv,至少再看itv的时候还会让用户觉得有点自主权,但是反观内容分类形式除了直播外那些点播内容这那一个视频网站上没有,唯一的好处就是在电视前动动遥控器就能看而已,还就稍微清楚了一点。

在去济南台之前我从来就没想过我们的网络电视平台要在电视播出,因为那是我认为我们来做一个能够通过机顶盒能够在电视上看的网台成本太大,缺乏相关技术知识,后续相关开发可定制性太差。(这都拜数字电视机顶盒那坑爹的浏览器所赐)之前我们也为数字电视的机顶盒浏览器做过相关的开发,那调效果简直自杀的心都有,最后做出来的东西不光巨丑无比,也让我们从此对机顶盒产生了敬畏之心。好吧我承认我有井底之蛙了一会,在济南台看到的那个浪潮linux机顶盒+chrome核心浏览器让我眼前一亮。chrome核心浏览器这意味着啥,这等于做好网页开发我们就能进行电视机的交互界面啊,做网页开发不正是我们的强项么。正因为这个重大的发现(这确实有点汗颜,看来以后有机会也要去BRTV等这类展会多看看)加上济南台网络公司演示三屏断点续看一下子把我的思想打开了,我瞬间重新定位了无锡网台的技术方向:三屏、创新、演示。

在济南台参观学习之后去了趟泰山,站在玉皇顶一览众山,我当时也决定了与其跟着别人走,不如我们自己冲在前面,只要寻找到有实力的合作伙伴,我们完全能做到在三网融合、三屏合一上的创新。

一直以来我都相信当前的年轻人或者平时上网人群,为什么他们不愿意或者很少看电视?不是因为电视的内容有多落后有多差,而是因为观看方式模式赶跑了他们。三网融合不是把三张网用一张网来代替,用电视机来上网或者用电脑来看电视。三屏合一也不仅仅是把同一个视频让他能在电视,电脑和手机屏幕上能同时观看而已。我所认为的三网融合应该是将三张网的优势各自互补,将电脑的可交互性与电视机的可观看性结合,我想看什么用电脑去完成,我怎么看用电视去完成诸如此类。

简单描述这么一个场景:
白天上班我在论坛看帖子获知了今天某某路发生了一起事故,随后系统获知了我对此事件的关注,在相关传统媒体进行报道的同时进行了汇总,当我在回家路上时通过手机通知了我相关的媒体报道情况,我简单的浏览了相关报道。晚饭后坐在沙发上,我打开电视机,系统根据我在手机端浏览的情况自动提醒我某台新闻栏目10分钟前对此事的相关报道,我选择观看系统自动进行时移跳至某台新闻栏目10分钟前的画面开始播放,并且在我看完这条相关新闻后提醒我是否关注后续报道。同时提醒我,朋友张君推荐给我的关于昨天小米手机发布的相关节目。我顺便把之前突发事故进行了关注操作并转发给了喜欢天灾人祸的好友顾君,接着开始收看张君推荐给我的视频,这是儿子过来抢电视机要看动画片,我拿起我的pad进行了播放转移,拿着pad边看边到书房打开电脑看了看小米手机发布的相关网页,并在我的个人中心关注里面添加了“小米手机”关健词。然后看起了最新大片《美国队长》,晚上9点提醒儿子睡觉后,拿起pad把刚才看到一半的小米手机发布会视频转移到了电视机继续观看,之后回到卧室的电视上接着看刚才没看完美国队长。在看的同时顺便在pad上和几个同时看的网友讨论那片头发现的残骸到底是什么,我说那个是发现的外星人遗迹,结果看到结尾错了被几个网友调侃,看完后又和他们在pad上聊天扯到了这个美国队长只是复仇者联盟的前奏,掉了我不少胃口为此去百度百科恶补了一些复仇者联盟相关知识。。。发现竟然之前的绿巨人、钢铁侠和这个都是有关联的。顺便在pad选了钢铁侠2、雷神放到了我的收藏里面留着有空在回顾下。。。

这就是我理解的三网融合、三屏合一应该做的事情,不知看到现在你的是否觉得这离我们很远呢。我想着就是我们需要做的,而且我们有信心能够做到,恩起码可以演示试用,毕竟我们做技术的能打动领导的心也行,至于你说这场景那一天能应用到我们的平常百姓的生活里,那这就不是我能回答的了的了。

前不久雷军先生在谈及小米创业时说过“金山就像是在盐碱地里种草。为什么不在台风口放风筝呢?站在台风口,猪都能飞上天”。

现在的台网就好比是金山在盐碱地里种草,有成功的也有失败的,成功来源于坚持、执着、方法,失败来自于体制、方向、犹豫,但是作为广电体制内我们空有这节目资源的台风,为什么我们不能放风筝呢,至少风大了猪都能飞上天。地方网台总有他创新成功那天

写在无锡网络电视平台升级前

2011年中秋节之夜