记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
Linux下无回收站,rm -rf是个很危险的命令,ext3分区下误操作删除重要文件可使用ext3grep恢复。ext3grep安装:1
yum install ext3grepext3grep使用参数:1
2
3
#选项:
--superblock #显示superblock信息
--print #恢复删除文件应用示例,为快速新建磁盘分区:1
2
3
4
dd if=/dev/zero of=/root/ext3grep bs=1M count=64
mkfs.ext3 ext3grep
mkdir test
mount -o loop ext3grep test/进入挂载目录新建测试文件并删除:1
2
3
4
5
cd test
echo test > ext3grep
md5sum ext3grep
d8e8fca2dc0f896fd7cb4cb0031ba249 ext3grep
rm -rf ext3grep用ext3grep列出设备/root/ext3grep根目录下所有文件,包含已删除的。1
2
3
4
5
6
7
8
9
10
11
12
ext3grep /root/ext3grep --ls --inode 2
Directory block 516:
.-- File type in dir_entry (r=regular file, d=directory, l=symlink)
| .-- D: Deleted ; R: Reallocated
Indx Next | Inode | Deletion time Mode File name
==========+==========+----------------data-from-inode------+-----------+=========
0 ...
先获取XenServer虚拟机uuid:1
2
3
4
#http://blog.onovps.com
xe vm-list |grep -A 1 <vmname>
#或
xe vm-list name-label=<vm-name> --minimal获取VIF参数:1
xe vm-param-list uuid=<vmuuid>|grep dom-id另一种方法:1
xe vm-list params=dom-id,resident-on name-label=<vmname>
XenServer可以在虚拟网络接口VIF上做带宽限制,设置如下:为特定VIF设置QOS算法类型为ratelimit(速率限制)1
xe vif-param-set uuid=<vif-uuid> qos_algorithm_type=ratelimit设置VIF带宽参数:1
2
xe vif-param-set uuid=<vif-uuid> qos_algorithm_params:kbps=5120
限制VM网络速率5120K,相当于带宽40M.
服务器端安装Host sFlow Agent代理客户端,用作发送sFlow数据到sFlowTrend分析端,支持多种Windows/Linux/Uinx系统。Host sFlow下载地址:http://host-sflow.sourceforge.net/sFlowTrend下载地址:http://www.inmon.com/products/sFlowTrend.phpXenServer6可直接安装Host sFlow,XenServer5要先配置为Open vSwitch模式支持sFlow。1
2
wget http://downloads.sourceforge.net/project/host-sflow/REL-1_22/hsflowd_XenServer_56FP2-1.22.2-1.i386.rpm
rpm -ivh hsflowd_XenServer_56FP2-1.22.2-1.i386.rpm配置Host sFlow:1
2
3
4
5
6
7
8
9
10
11
cat /etc/hsflowd.conf
#http://www.onovps.com
sflow {
DNSSD = off
polling = 20
sampling = 512
collector {
ip = 192.168.1.155
udpport = 6343
}
}启动Host sFlow Agent:1
/etc/init.d/hsflowd start然后在sFlowTrend配置代理端,不久即可看到监控的数据:分析XenServer虚拟交换机sFlow数据:1
2
ovs-vsctl -- --id=@sflow create sflow agent=xenbr0 targe=\"192.168.1.155:6343\" header=128 sampling=512 polling=30 \
-- set bridge eth0 sflow=@sflow
XenServer5.6下编写,用于获取所有VM虚拟机IP和对应MAC地址,Shell脚本如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
#http://www.onovps.com
if [[ ! -e mac-ip.txt ]];
then
touch mac-ip.txt
else
> mac-ip.txt
fi
for vps in `xe vm-list |awk '/name/ {print $4}'`
do
case $vps in
*"Control"* ) continue ;;
esac
writeline=`xe vif-list vm-name-label=$vps params=MAC|awk '/MAC/ {print $5}'`
writeline+=" "
writeline+=`xe vm-list name-label=$vps params=networks|awk '/network/ {print $5}'`
echo $writeline >> mac-ip.txt
done
nginx 出现 13: Permission denied前段时间把程序员的wordpress升级到3.5.1,本身如果没有特别的插件,在后台更新就能完成。更新完成后在后台发布文章,编辑器不能点击可视化标签,只能显示html标签,看了下js控制台提示ReferenceError: tinyMCE is not defined 3.5。直觉以为升级哪里有问题,简单粗暴的重装了,可是还是不行,这时候就觉得可能是nginx哪里配置的问题了。查看了一下日志文件,发现有下面的错误提示:2013/03/13 01:22:17 [crit] 3331#0: *10 open() "/usr/local/lnmp/nginx/fastcgi_temp/3/00/0000000003" failed (13: Permission denied) while reading upstream, client: 124.42.13.230, server: gxtp.cc, request: "GET /wp-admin/load-scripts.php?c=0&load%5B%5D=jquery,utils,plupload,plupload-html5,plupload-flash,plupload-silverlight,plupload-html4,json2&ver=3.5.1 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "gxtp.cc", referrer: "http://cxy.cc/wp-admin/post-new.php"很明浏览器只加载了部分页面,原因是Permission denied。首先确认工作进程(worker process)的...
/usr/local为nginx apache mysql php的安装目录1、查看nginx编译参数:/usr/local/nginx/sbin/nginx -V2、查看apache编译参数:cat /usr/local/apache/build/config.nice3、查看php编译参数:/usr/local/php/bin/php -i | grep configure4、查看mysql编译参数:cat /usr/local/mysql/bin/mysqlbug | grep CONFIGURE_LINE
昨天用wordpress发布文章,文章内容是一个网站一段时间来的运行信息,20几页的列表结果粘到编辑器。点击发布后,页面卡住了,过了一会返回浏览器显示“413 Request Entity Too Large”。第一感觉就是文章内容太多,超过了nginx配置的限制,看了一下nginx.conf发现没有设置client_max_body_size,这个参数默认只是1M,也就是说发布的文章内容大小不能超过1M解决办法:增加如下两行到nginx.conf的http{}段, 增大nginx上传文件大小限制#设置允许发布内容为8Mclient_max_body_size 8M;client_body_buffer_size 128k;另外如果运行的是php,那么还要检查php.ini,这个大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误。post_max_size = 8Mupload_max_filesize = 2M修改完配置后,别忘记重新加载。
502错误是所有用nginx跑php的运维人员不愿意看见的nginx出现502有很多原因,但大部分原因可以归结为资源数量不够用,也就是说后端php-fpm处理有问题,nginx将正确的客户端请求发给了后端的php-fpm进程,但是因为php-fpm进程的问题导致不能正确解析php代码,最终返回给了客户端502错误。服务器出现502的原因是连接超时 我们向服务器发送请求 由于服务器当前链接太多,导致服务器方面无法给于正常的响应,产生此类报错因此如果你服务器并发量非常大,那只能先增加机器,然后按以下方式优化会取得更好效果;但如果你并发不大却出现502,一般都可以归结为配置问题,脚本超时问题。1.php-fpm进程数不够用使用 netstat -napo |grep "php-fpm" | wc -l 查看一下当前fastcgi进程个数,如果个数接近conf里配置的上限,就需要调高进程数。但也不能无休止调高,可以根据服务器内存情况,可以把php-fpm子进程数调到100或以上,在4G内存的服务器上200就可以。2. 调高调高linux内核打开文件数量可以使用这些命令(必须是root帐号)echo 'ulimit -HSn 65536' >> /etc/profileecho 'ulimit -HSn 65536' >> /etc/rc.localsource /etc/profile 3.脚本执行时间超时如...
最新评论