Logical volume一些无法删除的解决办法

当lv是open状态下lvremove mkfs一类的命令都没办法
Logical volume vg0/VM_vps is used by another device.
LV in use: not deactivating
Can't remove open logical volume
一般常规情况是lv正在正常使用中,当umount或者其他应用已经停止后仍然无法移除或者使用,
暴力一点的解决办法就直接在服务器上reboot,温柔一点的干法可以参考以下的案例:

阅读剩余部分...

xtrabackup备份和恢复MySQL

xtrabackup有两个主要的工具:innobackupex和xtrabackup,xtrabackup只能备份InnoDB和XtraDB数据表,innobackupex封装了xtrabackup,可以备份MyISAM数据表。

官方地址:http://www.percona.com/doc/percona-xtrabackup/installation.html
官方提供了yum apt 源码安装方案也可以直接rpm导入

阅读剩余部分...

Xen下Windows安装gplpv驱动

Xen是一个流行并非常成熟的虚拟化技术,通过HVM模式可以安装windows bsd等系统,默认安装windows性能上比较渣渣所以推荐安装上GPLPV驱动。
gplpv官方下载地址:http://www.meadowcourt.org/downloads/
安装的时候会出现驱动签名什么的警告,全部选择通过,有时候安装可能会一直无法完成安装在 【我的电脑》右键》属性》设备管理器】 里面扫描更新硬件然后在挨个更新硬件选择本地搜索自动安装就可以顺利安装上。
安装玩完后可以看到
SCSI和RAID控制器:Xen Block Device Driver
硬盘:XEN PV DISK SCSI Disk  Device
网卡名称为:Xen Net Device Driver

阅读剩余部分...

MySQL Proxy 0.8.3 发布

MySQL Proxy 0.8.3发布。2012-08-20 这是MySQL官方的读写分离以及负载均衡工具,上一个版本还是2011-08-17的0.8.2.已经过了一年。

MySQL-Proxy是处在你的MySQL数据库客户和服务端之间的程序,它还支持嵌入性脚本语言Lua。

阅读剩余部分...

ubuntu自动安装pptpd vpn

#!/bin/bash
apt-get update
apt-get install pptpd  #安装pptpd服务
vpnpass=`openssl rand 6 -base64` #生成随机密码
echo "vpn * ${vpnpass} *" >> /etc/ppp/chap-secrets #写入验证帐号密码
echo "localip 172.16.36.1">>/etc/pptpd.conf  #设置本地IP
echo "remoteip 192.168.10.100-200">>/etc/pptpd.conf  #设置远程IP段
echo "ms-dns 8.8.8.8">>/etc/ppp/pptpd-options         #设置推送dns IP
sed -i 's/#net.ipv4.ip_forward/net.ipv4.ip_forward/g' /etc/sysctl.conf   #开启IPV4转发
echo "iptables -t nat -A POSTROUTING -j MASQUERADE">>/etc/rc.local   #开机执行iptables
iptables -t nat -A POSTROUTING -j MASQUERADE   #执行iptables
/etc/init.d/pptpd restart      #重启pptpd服务
echo "VPN service is installed, VPN username is vpn, password is ${vpnpass}"
或者可可以直接
wget http://down.kvm.la/shell/ubuntu-vpn.sh;sh ubuntu-vpn.sh

发送邮件增加spf记录

发邮件域名未验证,建立spf,spf建立,什么是spf,spf是什么,SPF记录

什么是SPF?
这里的SPF不是防晒指数,而是指Sender Policy Framework。翻译过来就是发信者策略架构,比较拗口,通常都直接称为SPF。
SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。例如:
dig TXT 21cn.com
21cn.com. 27970 IN TXT “v=spf1 ip4:202.105.45.0/24 ip4:61.140.60.0/24 ip4:202.123.79.206 ip4:220.232.167.218 ip4:221.192.129.0/24 ip4:59.36.102.0/24 -all”

阅读剩余部分...

VirtualBox 4.1.20 发布

VirtualBox 4.1.20 发布,这个一个维护版本,修复了很多bug。

ubuntu 12.04 安装 VirtualBox 4.1.20 方法:

gksudo gedit /etc/apt/sources.list 编辑添加以下一行:

deb http://download.virtualbox.org/virtualbox/debian precise contrib

如果你使用是Ubuntu 11.10,则添加以下的内容:

阅读剩余部分...

centos6添加第三方源

EPEL源

EPEL,即Extra Packages for Enterprise Linux,是由 Fedora 社区创建维护,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。EPEL中含有大量的软件,对官方标准源是一个很好的补充。

“EPEL (Extra Packages for Enterprise Linux  ) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL).”

阅读剩余部分...

solusvm下LVM增加硬盘

在著名MJJ的zeddicus的文章上面抄袭过来写成了function加上了判断.
用法
#adddisk VGname VMname Size
#adddisk vg0 vm888 25G
主体代码

阅读剩余部分...

Linux公网的端口转发方法

Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对。尽管rinetd使用非闭锁I/O运行作为一个单一过程,它可能重定向很多连接而不对这台机器增加额外的负担。
-----摘自百度百科
在内网里面我们可以使用iptables转发,但是在公网上面用Rinetd是不二的选择.
Rinetd不能像http里的$http_x_forwarded_for那样可以传递前端真实IP,在目标服务器上只能显示转发服务端的IP,如果是web服务可以用nginx来做反向代理。
Rinetd不能转发ftp,常规的3389 80 3306 1433这些端口服务都支持,在迁移数据中不能立即更换IP的时候在公网上转发数据大大的节省了很多不必要的麻烦。

安装方法:

阅读剩余部分...

kloxo安装中文包教程

登录系统ssh执行下面的命令
wget -c http://down.kvm.la/kloxo/kloxo_cn.tar.gz
tar zxf kloxo_cn.tar.gz -C /usr/local/lxlabs/kloxo/httpdocs/lang
最后在Appearance->Language里选择Chinese,然后点击update完成切换中文.

Centos5安装设置Kloxo教程

yum remove httpd -y
wget http://download.lxcenter.org/download/kloxo/production/kloxo-installer.sh
sh ./kloxo-installer.sh --type=master
首先猥琐的复制粘贴命令脚本,
kloxo1.gif

脚本运行后出现4个【OK】第一个为检查是否为root,第二个为检查是否系统支持(用debian/ubuntu类的同学请自重绕道),第三个为

阅读剩余部分...

Linux下用shell对Mysql进行热备份

针对整个mysql数据库进行全局热备份,恢复的时候可以覆盖恢复,恢复的时候必须是同版本,如果是迁移或者升级建议使用导出为sql文本.
在使用脚本的时候请定义root的密码
可以把脚本放入crond定时执行,对于已经存在的目录会自动重命名.

#!/bin/bash
PATH=/usr/local/sbin:/usr/bin:/bin
BACKDIR=/data/mysql_backup
ROOTUSER=youuser
ROOTPASS=youpassword
if [ -d $BACKDIR ]; then mv $BACKDIR $BACKDIR$(date +"-%Y-%m-%d-%H-%M-%S"); fi
mkdir -p $BACKDIR
for DATANAME in `ls -p /var/lib/mysql | grep / | tr -d /`  ; do mysqlhotcopy $DATANAME -u $ROOTUSER -p $ROOTPASS $BACKDIR; done      

在使用前请确认是否安装了perl-DBD
Centos/Redhat

yum install perl-DBD-mysql

debian/ubuntu

apt-get install libdbd-mysql-perl

dedecms免疫漏洞之nginx

在nginx的配文件里面server段下面添加
rewrite /(plus|member|special|include|data|a|images|templets|uploads|dede)/(.*)\.(pl|php|cgi|asp|aspx|py|jsp) http://cachefly.cachefly.net/100mb.test redirect;

上面是用rewrite重定向的方法还有第二种方法用location
location ~(plus|member|special|include|data|a|images|templets|uploads|dede)/(.*)\.(pl|php|cgi|asp|aspx|py|tpl|jsp) {return 400;}
然后 reload或者restart一下nginx就可以了,上面的规则是直接给请求者返回一个100M的包,当然你也可以修改成其他的,详细用法参照http://wiki.nginx.org 



重置Mysql的root密码

service mysql restart  --skip-grant-tables
mysql -u root -ppwd <<EOF
use mysql
update user set password=password("新密码") where user="root";
flush privileges;
EOF
service mysql restart