LVM逻辑卷扩容

作者:linux120 发布时间:May 28, 2015 分类:服务器配置 No Comments

首先通过pvs和vgs了解一下物理和逻辑磁盘组
[root@Linux120.com ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg00 1 3 0 wz--n- 925.51g 913.51g

然后通过lvs查看当前物理组的逻辑卷分配情况
[root@Linux120.com ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home vg00 -wi-ao---- 4.00g
usr vg00 -wi-ao---- 4.00g
var vg00 -wi-ao---- 4.00g

比如要把home分区从4G拓展为40G执行lvresize -L 40960M /dev/vg00/home
[root@Linux120.com ~]# lvresize -L 40960M /dev/vg00/home
Size of logical volume vg00/home changed from 4.00 GiB (1024 extents) to 40.00 GiB (10240 extents).
Logical volume home successfully resized
可以看到成功扩容。

然后通过resize2fs /dev/vg00/home重新校对该分区即可。
[root@Linux120.com ~]#
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg00/home is mounted on /home; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 3
Performing an on-line resize of /dev/vg00/home to 10485760 (4k) blocks.
The filesystem on /dev/vg00/home is now 10485760 blocks long.

配置nginx防止CC攻击

作者:linux120 发布时间:May 10, 2015 分类:服务器维护 No Comments

nginx作为前端可以配合使用以下三个变量防止CC攻击

//禁止空UA
if ($http_user_agent ~ ^$)
{
return 403;
}

//禁止referer带ht088关键字的请求通过
if ( $http_referer ~ ht088 )
{
return 403;
}

//禁止uri匹配符合forum.php
if ( $request_uri ~ forum.php )
{
return 403;
}

Discuz!x2.5 Upload Error:413错误解决

作者:linux120 发布时间:May 2, 2015 分类:服务器配置 No Comments

因网站访问量越来越大,需要采取动静态分离,应客户需求将前端的Apache替换成Nginx,具体前后端转换过程不细表了,转完后在上传1M以上的附件时发生413错误。
解决方法如下:

vi /linux120/nginx/etc/ngnix.conf
#在ngnix.conf在http { }中加入以下代码
client_max_body_size 10m;

重启nginx即解决。

使用TFA加密ubuntu服务器登陆

作者:linux120 发布时间:February 12, 2015 分类:服务器配置 No Comments

服务器除了使用私钥登陆禁用密码登陆外如果必须采用明文密码登陆,建议添加Google Two-Factor Authentication二次验证密钥,即动态密码。

首先安装TFA软件:
apt-get install libpam-google-authenticator

要开启二次验证需要修改下列配置:

在/etc/pam.d/sshd文件顶部添加auth required pam_google_authenticator.so

在/etc/ssh/sshd_config找到如下并修改成yes: ChallengeResponseAuthentication yes

绑定密钥到手机:
google-authenticator执行完后会显示二维码。请在手机上下载并使用FreeOTP扫描该二维码即可绑定。
然后重启/etc/init.d/ssh restart

再次登陆的时候就需要先打开FreeOTP找到你的密码项输入动态密码后才会跳出服务器原始密码验证。这样即便原始密码泄露对方也没有TFA的动态密码从而无法登陆服务器。

CDN区别线路程序

作者:linux120 发布时间:December 15, 2014 分类:服务器配置 No Comments

#!/bin/sh
FILE=`pwd`/ip_apnic
TMP=/dev/shm/ip.tmp
CNC_FILE=`pwd`/CNC
CTC_FILE=`pwd`/CTC
rm -f $FILE
wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest -O $FILE

grep 'apnic|CN|ipv4|' $FILE | cut -f 4,5 -d'|'|sed -e 's/|/ /g' | while read ip cnt
do
echo $ip:$cnt
mask=$(cat << EOF | bc | tail -1

pow=32;
define log2(x) {
if (x<=1) return (pow);
pow--;
return(log2(x/2));
}

log2($cnt)
EOF
)

whois $ip@whois.apnic.net > $TMP.tmp
sed -n '/^inetnum/,/source/p' $TMP.tmp | awk '(/mnt-/ || /netname/)' > $TMP
NETNAME=`grep ^netname $TMP | sed -e 's/.*: \(.*\)/\1/g' | sed -e 's/-.*//g'|sed 's: ::g'`

egrep -qi "(CNC|UNICOM|WASU|NBIP|CERNET|CHINAGBN|CHINACOMM|FibrLINK|BGCTVNET|DXTNET|CRTC)" $TMP
if [ $? = 0 ];then
echo $ip/$mask >> $CNC_FILE
else
egrep -qi "(CHINATELECOM|CHINANET)" $TMP
if [ $? = 0 ];then
echo $ip/$mask >> $CTC_FILE
else
sed -n '/^route/,/source/p' $TMP.tmp | awk '(/mnt-/ || /netname/)' > $TMP
egrep -qi "(CNC|UNICOM|WASU|NBIP|CERNET|CHINAGBN|CHINACOMM|FibrLINK|BGCTVNET|DXTNET|CRTC)" $TMP
if [ $? = 0 ];then
echo $ip/$mask >> $CNC_FILE
else
egrep -qi "(CHINATELECOM|CHINANET)" $TMP
if [ $? = 0 ];then
echo $ip/$mask >> $CTC_FILE
else
echo "$ip/$mask $NETNAME" >> `pwd`/OTHER
fi
fi
fi
fi
done

rm -rf $TMP $TMP.tmp