存档

文章标签 ‘linux’

openvpn进程异常退出

2015年2月27日 eric 14 条评论

最近的openvpn服务异常退出了多次,由于当初为了排查问题记录大量的debug日志,导致出现问题的时候想定位问题很难,瞬间日志就被刷没了,进程掉了,瞬间启动、瞬间又掉了,导致很多订单丢了!由于日子文件记录了太多无用信息,不敢通过查日志来定位问题,开始大胆猜测:
1. openvpn 服务器(虚拟机)的 内存不够了 因为只有 2G 内存
2. I/O过高,因为日志开启了 DEBUG 的原因,大量写日志操作,
3. 打开文件描述符不够,系统默认 1024
4. 有人恶意攻击openvpn 服务

根据猜测的4点,开始应对,
1. 首选把openpvn服务器(虚拟机)内存调整到了4G,重启后发现openvpn 服务在启动后的 几分钟还是异常掉,
2. 把日志调整为 error ,openvpn 在启动后 几分钟还是异常退出了。查看日志发现是

Feb 18 17:17:42 localhost openvpn[1219]: qn_anqiu/xxx.xxx.xxx.xx:27351 CRL: cannot read: /usr/local/cine/etc/keys/crl.pem: Too many open files (errno=24) 

3. 有上面的错误日志提示,说明猜想的 第三点是对的。 执行命令:

shell $> ulimit -SHn 65535 
分类: linux 标签: ,

linux 编译内核网卡驱动问题

2015年2月26日 eric 4 条评论

由于项目原因,需要从新编译内核,修改 TUN 源码支持共享模式,编译内核期间遇到了网卡驱动丢失问题,废话不多说,直接说解决问题的方式,本人对底层的东西了解很浅,所以解决问题的方式也很笨拙。

OS version : Centos 5.9 kernel : 2.6.18-402 更新内核版本: 2.6.20

由于 yum 里面的内核头文件和卡发包并没有过多的源码 .c 文件。所以只能从 www.kernel.org 下载 相近的版本,有人肯定说了下你还不下个最新的 内核版本,答: 如内核版本跨度比较大,本人担心会出现各种问题,很多老的编译选项新版内核不支持。

首先先下载 原系统的 开发包和头文件:
shell $> yum install kernel-devel kernel-headers
解压 2.6.20 内核压缩包,开始编译内核
shell $> mv linux-2.6.20.tar.bz2 /usr/src/
shell $> cd /usr/src/
shell $> tar jxvf linux-2.6.20.tar.bz2
shell $> cd linux-2.6.20
# 修改源码 更改自己需要的,我修改了 tun 相关的 源码文件。
shell $> make mrproper
# 选择需要的选项和修改的选项,删除多余的选项
shell $> make menuconfig

IBM 3650 M3 原厂RAID卡工具

2014年11月11日 eric 2 条评论
[root@D201107071806 ~]# lspci |grep -i sas
01:00.0 SCSI storage controller: LSI Logic / Symbios Logic SAS1064ET PCI-Express Fusion-MPT SAS (rev 08) 

是一款非常老的 RAID卡型号,经过google搜索,查到可以一款软件可以监控磁盘状态:

wget http://sven.stormbind.net/mpt-status-rhel/mpt-status-1.2.0-3.el5.centos.x86_64.rpm
                  wget ftp://ftp.hosteurope.de/mirror/fedora-epel/5/x86_64/daemonize-1.5.6-1.el5.x86_64.rpm

执行命令:

mpt-status -p
                  Checking for SCSI ID:0
                  Checking for SCSI ID:1
                  Found SCSI id=1, use ''mpt-status -i 1`` to get more information.  

按照提示执行:

mpt-status -i 1
ioc0 vol_id 1 type IM, 2 phy, 135 GB, state OPTIMAL, flags ENABLED
ioc0 phy 1 scsi_id 2 IBM-ESXS ST9146803SS      B53C, 136 GB, state ONLINE, flags NONE
ioc0 phy 0 scsi_id 3 IBM-ESXS MBD2147RC        SB19, 136 GB, state ONLINE, flags NONE
分类: linux 标签: , ,

linux 分区错误

2014年3月7日 eric 5 条评论

今天客服出去实施,发现客户的机器安装的RAID 卡属于软RAID,磁盘在Centos 5.9 系统里认出来的是很长的字符串。按照业务需求分区后发现剩下的分区分给 data 目录,在安装界面无法 分区下去,一直停留在格式化 data 数据盘分区。给我通电话后,我果断先让他把系统分区完,数据盘分区先部分,等进入系统后我远程来看问题。再他不分数据盘后系统正常安装完了跟我远程我发现的问题。 很长字符串为真实RAID卡认出的磁盘,实际的两个磁盘 为 /dev/sda /dev/sdb 是不能挂载操作的。上来我先给他 分区试试,结果报错: WARNING: Re-reading the partition table failed with error 22: 无效的参数. The kernel still uses the old table. 经过google 发现: Run “kpartx -a” after FDISK is completed to add all partition mappings on the newly-created multipath device — EXAMPLE: 然后就用 kpartx [...]

分类: linux, ubuntu 标签: ,

linux 重启没响应

2013年4月3日 eric 2 条评论

今天IDC有服务器有两个分区变为只读分区,首先处理我想想卸载分区实行修复在挂载,无法卸载,然后考虑到线上服务器有备机,所以索性就直接重启下,执行 reboot 结果没响应,init 6 同样没响应。然后拿起电话准备给IDC 打电话重,后来想下肯定有办法重启的,就 google 了一下,果然找到了办法。执行下面两条命令: # echo 1 > /proc/sys/kernel/sysrq # echo b > /proc/sysrq-trigger 1. /proc/sys/kernel/sysrq 向sysrq文件中写入1是为了开启SysRq功能。根据linux/Documentations/sysrq.txt中所说:SysRq代表的是Magic System Request Key。开启了这个功能以后,只要内核没有挂掉,它就会响应你要求的任何操作。但是这需要内核支持(CONFIG_MAGIC_SYSRQ选项)。向/proc/sys/kernel/sysrq中写入0是关闭sysrq功能,写入1是开启,其他选项请参考sysrq.txt。需要注意的是,/proc/sys/kernel/sysrq中的值只影响键盘的操作。 那么怎么使用SysRq键呢? 在x86平台上,组合键” + SysRq + “组成SysRq键以完成各种功能。但是,在一些键盘上可能没有SysRq键。SysRq键实际上就是”Print Screen“键。并且可能有些键盘不支持同时按三个按键,所以你可以”按住ALT键“,”按一下SysRq键“,再”按一下键“,如果你运气好的话,这个会有效果的。不过放心,现在的键盘一般都支持同时按3个或3个以上的键。 有很多,这里只挑几个来说,其他的可以参考sysrq.txt文件。 •’b’ —— 将会立即重启系统,并且不会管你有没有数据没有写回磁盘,也不卸载磁盘,而是完完全全的立即关机 •’o’ —— 将会关机 •’s’ —— 将会同步所有以挂在的文件系统 •’u’ —— 将会重新将所有的文件系统挂在为只读属性 2. /proc/sysrq-trigger 从文件名字就可以看出来这两个是有关系的。写入/proc/sysrq-trigger中的字符其实就是sysrq.txt中说的键所对应的字符,其功能也和上述一样。 所以,这两行命令先开启SysRq功能,然后用’b’命令让计算机立刻重启。

分类: linux 标签: , ,

linux 安装vpn 解决MSN登录不了

2010年5月20日 eric 没有评论

有了 VPS 就一直没有安装VPN,今天闲下来,给自己的VPS 服务器安装了VPN 服务,可惜我的服务器在北京,如果在美国 香港的话,就可以翻墙了,呵呵。 安装步骤: 1.安装pptpd apt-get install pptpd 2.修改配置文件,加VPN IP池 vim /etc/pptpd.conf 按 shift + g 把 localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245 两行的注释去掉,如果你的内网IP 地址是0 网段的话,就把 192.168.0.234-238,192.168.0.245 换成 192.168.5.234-238,192.168.5.245 换成别的网段。不然会与VPN的ip 段冲突。 3.添加VPN DNS vim /etc/ppp/options 把默认的两行 改为 google 的DNS ms-dns 8.8.8.8 ms-dns 8.8.4.4 4.添加 拨号的帐号和密码 vim /etc/ppp/chap-secrets # client server secret IP addresses # [...]

分类: linux 标签: , ,

ubuntu linux 编译安装nagios-3.2.1

2010年3月29日 eric 3 条评论

安装linux 安装nagios 首先呢贴出参考文章:

http://nagios-cn.sourceforge.net/nagios-cn/

帮助我们大家学习认识了 nagios

引用:

Nagios是一款非常优秀的网络主机管理软件,它在开源社区的影响力是非同寻常的。但很可惜的是,它的界面及操作使用过程中采用了英语的语言提示与源程序紧密结合使得这款软件的汉化界面迟迟不能推出,影响了它在中文区的使用。为推进Nagios的使用,笔者建立了nagios-cn工程,该工程的主要目标是翻译源程序中运行提示、界面生成和文档说明,通过一些努力,nagios-cn终于可以正常运转了,本书编写的主要目的是为在中文使用区域推广和使用Nagios软件,让这款优秀的软件为国人服务。

1.我系统是ubuntu所以用懒人模式安装开发库,apache 、GCC、gd卡发库和php

apt-get install build-essential libgd2-dev apache2 php5 php5-gd libmysqlclient15-dev
2.下载所需要软件

mkdir nagios_src

cd nagios_src

分类: nagios 标签: , ,

Nginx + php-5.3.1 + mysql-5.1.45 for vps 256内存

2010年3月23日 eric 没有评论

刚买的 VPS 因为内存太小,所以各个方面都要优化!mysql 用的 mysqlnd 方式连接。

参考文章:www.s135.com

本人VPS系统 :ubuntu-server-9.04

安装步骤:
  (系统要求:Linux 2.6+ 内核,本文中的Linux操作系统为ubuntu-server)

  一、获取相关开源程序:
  1、【适用ubuntu操作系统】利用ubuntu Linux系统自带的apt-get命令安装、升级所需的程序库:

apt-get install build-essential autoconf automake libtool libjpeg62-dev libpng12-dev libfreetype6-dev libxml2-dev libbz2-dev libncurses5-dev libcurl4-openssl-dev curl openssl bison libsasl2-dev
  2、下载程序源码包:
  ①、从软件的官方网站下载:

cd /home
wget http://sysoev.ru/nginx/nginx-0.8.34.tar.gz

分类: linux, mysql, nginx 标签: , , , , ,

blog换了VPS访问终于稳定了

2010年3月18日 eric 4 条评论

前几天,blog一直访问缓慢,一直在找原因,最后发现了两个问题,一个是自己犯的低级错误,一个是服务商的问题。下面说说我的情况,以便以后大家买VPS的时候,或者自己搭建服务器的时候遇到此问题该如何避免判断! 买完VPS,拍了后,服务商把 SSH 帐号密码发给了我,我要求安装ubuntu server。我登录到VPS,查看了一些情况,CPU 啊,内存啊,开始优化服务器。删除一些没用的账户,停到一些没用的服务器,因为为了省钱,买的VPS内存小嘛。然后开始编译安装 nginx-0.8.34 + php-5.3.1 + eaccelerator-0.9.6 + mysql-5.1.42 经过漫长的编译完毕后。把wordpress 和数据库 导过来.访问,正常,速度也不错!一切正常。 第一个问题,是我的问题: 第二天,早上来上班,习惯性的打开IE看下自己的blog,速度很慢,IE进度条慢慢的前进,然后敢快 PUTTY 登录到服务器,我靠,半天才弹出输入 login as: 不正常,随后打开 CMD ping 域名,我晕 延迟居然达到了 400多毫毛,有的时候竟然到了800MS。输入用户名和密码后,进服务器,可以明显感觉到卡很卡。键入命令 top 一看。我的天。php-cgi 竟然到了 90% CPU 几乎吃满了。哪里的问题呢?难道编译的问题吗?也不对啊,与以前的编译完全相同~开始怀疑是 PHP 连接mysql 之间的瓶颈。重新编译了mysql 导入数据库,开始正常,随后5分钟在次访问.php-cgi 还是达到了 90%·一气之下,重启动了系统,在次访问,blog 速度恢复了正常。系统也不会再卡了,我担心第二天还是这样。正如我所说,第二天VPS又是如此慢。症状完全相同。看下PHP的环境变量。< ?php phpinfo(); ?> 慢慢排查,最后看到 eaccelerator-0.9.6 的cache 目录我写错了 /usr/loca/php/php_cache 我写成了 /usr/local/php/php_cached 多了一个d 我晕低级错误,低级错误啊。改正 php.ini eaccelerator.cache_dir=”/usr/local/php/php_cache” [...]

分类: 生活 标签: , , ,

ubuntu iptables 脚本

2010年1月28日 eric 1 条评论

#!/bin/bash
case “$1″ in
start)
echo -n “Staring to write your Iptbales:…”
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z

/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
iptables -A INPUT -i eth0 -p icmp –icmp-type echo-reply -j ACCEPT
iptables -t filter -A INPUT -p icmp -s 111.111.111.111 -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -j REJECT –reject-with icmp-host-unreachable
/sbin/iptables -A INPUT -p tcp -m tcp –dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth0 -s 111.111.111.111/32 –destination-port 555 -j ACCEPT
/sbin/iptables -A INPUT -p all -m state –state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p all -m state –state INVALID,NEW -j DROP
echo “Ok”

;;
*)
echo “Usage: $0 {start}”
esac

exit 0

分类: iptabes, linux 标签: , , ,