Rootop 服务器运维与web架构

2014-06-13
发表者 Venus
暂无评论

win7访问共享极其慢

win7访问网络中的共享服务器速度极其的慢,其它客户端没出现此问题,故问题一般在网络或者本地设置上。后来查到资料,解决:

主要原因是由于Vista、Win7 中多了一个叫做 远程差分压缩(Remote Differential Compression)的的机制,这个机制能够减少网络文件传输数据量,提高文件下载速度,但会大大降低共享访问的速度。

远程差分压缩(RDC)
远程差分压缩(Remote Differential Compression)在有效的管理下允许程序在两个不同的计算机之间同步数据。
一个 RDC 程序可以通过网络,用最小的数据参数量在两台或者更多的计算机之间同步数据。
RDC 是为 C/C++ 开发者设计的。COM 和 客户/服务器架构知识是必要的。 RDC 包含在 Windows Server 2003 R2 和其后的系统中。

关闭远程差分压缩
打开“控制面板” –> “程序和功能” –> “打开或关闭 Windows 功能”,在弹出的对话框中去除“远程差分压缩”前面的勾选,点击确定。

2014-06-11
发表者 Venus
暂无评论

iredmail关闭反垃圾邮件

在 Amavisd 的配置文件 /etc/amavisd/amavisd.conf  里有下面这一行,默认是注释掉的:
# @bypass_spam_checks_maps = (1); # controls running of anti-spam code
将注释符号去掉,重启 Amavisd 服务( service amavisd restart ),之后 Amavisd 就不再调用 SpamAssassin 做垃圾邮件扫描了。

关闭roundcubemail https加密连接:

[root@mail ~]# vi /var/www/roundcubemail/config/config.inc.php
$config['force_https'] = true;    #改为false

iredmail停用灰名单:

当一个新的邮箱地址发邮件过来,都会先拒绝2次,然后第三次才会接收下来。一般发垃圾邮件的人,因为队列太长,就不会再尝试投递。灰名单会导致第一次发送延迟,不过第二次以后就没有问题。如果希望停止灰名单修改

[root@mail ~]# vi /etc/policyd/cluebringer.conf

# Greylisting module
[Greylisting]
enable=0  #1改为0

暂时不知道重启哪个服务,直接reboot机器。

2014-06-11
发表者 Venus
暂无评论

ERROR 1129 (HY000): Host ‘192.168.10.111’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’

mysql主从,从库启动服务以后,发现无法连接主库。
mysql提示:Last_IO_Error: error connecting to master ‘rep@192.168.10.111:3306’ – retry-time: 60 retries: 86400

[root@xxx ~]# mysql -uroot -pxxx -h192.168.10.111
ERROR 1129 (HY000): Host ‘192.168.10.111’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’
通过远程连接mysql提示被拒绝了,原因是太多的错误连接。
在主库执行: mysqladmin -uroot -pxxx flush-hosts 清空锁定的地址
从库stop再start一下即可。

2014-06-03
发表者 Venus
暂无评论

iredmail 重置postmaster管理员(或用户)密码

iredmail 忘记 postmaster 管理员密码,在mysql数据库中查看 vmail 库中的 mailbox 表,存着用户信息,找到password字段。
通过cmd5破解密码发现是收费的,加密类型是md5 unix。另想办法。

在iredmail安装包中有个批量添加用户的脚本,发现密码加密是通过openssl实现。

/root/iRedMail-0.8.7/tools
[root@mail tools]# vi create_mail_user_SQL.sh
部分代码:

# Cyrpt the password.
if [ X"${USE_DEFAULT_PASSWD}" == X"YES" ]; then
 export CRYPT_PASSWD="$(openssl passwd -1 ${DEFAULT_PASSWD})"
else
 :
fi

可以确认通过 openssl passwd -1 实现加密字符串。
这样的话,通过此命令生成密码,覆盖mailbox表中的postmaster密码即可。
然后用新生成的密码登陆即可。

[root@mail tools]# openssl passwd -1 123
$1$z8pPGfyD$4TPXgwwwR1EtnClEWPejU.

2014-05-28
发表者 Venus
暂无评论

centos6.5下安装kvm虚拟机

selinux关闭,iptables关闭,NetworkManager服务关闭

KVM需要CPU的支持(Intel VT或AMD SVM),在安装KVM之前检查一下CPU是否提供了虚拟技术的支持:
[root@localhost ~]# grep -E -o ‘vmx|svm’ /proc/cpuinfo  #单引号
vmx

安装kvm:
[root@localhost ~]# yum install qemu-kvm libvirt python-virtinst bridge-utils -y
(或者用yum -y groupinstall ‘Virtualization’ ‘Virtualization Client’ ‘Virtualization Platform’ ‘Virtualization Tools’  没测试)
检查kvm模块:
[root@localhost ~]# lsmod | grep kvm
kvm_intel 54285 3
kvm 333172 1 kvm_intel

配置物理机网卡:
/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.118
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=8.8.8.8
BRIDGE=br0
USERCTL=no

配置桥接网卡br0(新建):
/etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.118
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=8.8.8.8
USERCTL=no

保存,退出,重启网络服务:
[root@localhost ~]# service network restart
再通过ifconfig看eth0设备的ip地址已经不显示了。绑定到br0了。通过br0桥接实现kvm虚拟机和外网的通讯。
[root@localhost ~]# ip route list
192.168.0.0/24 dev br0 proto kernel scope link src 192.168.0.118
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
169.254.0.0/16 dev br0 scope link metric 1003

[root@localhost ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c29579e52 no eth0
vnet0
virbr0 8000.525400b417e2 yes virbr0-nic

[root@localhost ~]# /etc/init.d/libvirt-guests start
[root@localhost ~]# /etc/init.d/libvirtd start

[root@localhost ~]# mkdir /mnt/images #存放虚拟机镜像文件的路径
[root@localhost ~]# qemu-img create -f qcow2 /mnt/images/centos.qcow2 10G #创建一个镜像文件格式为qcow2,大小为10G的虚拟机

[root@localhost ~]# virt-install --connect qemu:///system --name centos --ram 512 --vcpus=1 --disk path=/mnt/images/centos.qcow2,device=disk,format=qcow2,bus=virtio,cache=none,size=73 --cdrom=/smb/CentOS-6.5-x86_64-bin-DVD1.iso --os-type=linux --network bridge=br0,model=virtio,model=e1000 --hvm --os-variant=rhel6 --graphics vnc,listen=0.0.0.0,port=5903 --virt-type=kvm --noautoconsole

开始安装……
创建域…… | 0 B 00:00
域安装仍在进行。您可以重新连接
到控制台以便完成安装进程。
[root@localhost ~]# lsof -i:5903  #vnc端口
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
qemu-kvm 5167 qemu 12u IPv4 25501 0t0 TCP *:5903 (LISTEN)
通过vnc客户端连接控制台以后,继续进行系统安装过程。安装以后会提示重启,然后继续用vnc客户端连接,连接不上。
貌似kvm不会自动重启。我这里手动去启动过程创建的centos虚拟机。

[root@localhost ~]# virsh list #列出当前运行的虚拟机
 Id 名称 状态
----------------------------------------------------

[root@localhost ~]# virsh list --all #列出所有
 Id 名称 状态
----------------------------------------------------
 - centos 关闭

[root@localhost ~]# virsh start centos #启动名称为centos的虚拟机
域 centos 已开始

[root@localhost ~]# virsh list
 Id 名称 状态
----------------------------------------------------
 2 centos running

然后继续通过vnc客户端连接,设置好虚拟机的ip地址即可。完成。
通过登陆centos物理机,ifconfig发现vnet0的mac地址等于虚拟机centos系统的eth0设备mac地址。

libvirt提供了一个图形界面下的管理工具,可以在GUI下安装虚拟机。方法如下:

[root@localhost ~]# yum install -y virt-manager   //安装工具

在 applications-system tools找到 virtual machine manager 可以图形安装。很简单,这里不做演示了。

PS:
转来的其它命令:

virsh list :显示正在运行的虚拟机
virsh list --all:显示所有虚拟机
virsh start vm6 :启动名字为vm6的虚拟机
virsh shutdown vm6:关闭名字为vm6的虚拟机
virsh destroy vm6:强制关闭名字为vm6的虚拟机
virsh undefine vm6 :移除名字为vm6的虚拟机
virsh autostart vm6 :设置vm6虚拟机开机启动

重命名虚拟机
1、导出虚拟机的配置文件
virsh dumpxml vm5 > /etc/libvirt/qemu/reg.xml

2、编辑配置文件更改名字
vi /etc/libvirt/qemu/reg.xml ==>
<name>reg</name>

3、移除原有虚拟机
virsh undefine vm5

4、加载新的虚拟机
virsh define reg.xml

虚拟机创建快照
1、转换磁盘镜像文件格式为qcow2
virsh shutdown vm5
qemu-img convert -f raw -O qcow2 vm5.img vm5qcow2.img
2、创建快照
virsh snapshot-create-as vm5 ok
3、查看快照
virsh snapshot-list vm5
4、恢复快照
virsh snapshot-revert vm5 ok
5、删除快照
virsh snapshot-delete vm5 ok

virt-install命令参数:

--connect=URI
连接到虚拟机管理程序与libvirt的URI,如qemu:///system

-r MEMORY, --ram=MEMORY
分配虚拟机实例(Guest)内存,单位为M

-n NAME, --name=NAME
虚拟机实例(Guest)的名称

--vcpus=VCPUS
配置实例(Guest)CPU数目

--disk path=DISKFILE
指定实例(Guest)存储路径及其镜像

-c CDROM, --cdrom=CDROM
指定安装镜像所在位置和名称, 它可以是一个ISO映像的路径, 它也可以是URL,从中提取/访问的最小引导ISO映像。

--vnc
启用VNC远程管理,该选项不被赞同,可以用"--graphics vnc,..."代替

--vnclisten=VNCLISTEN
可以用"--graphics vnc,listen=LISTEN,..." 代替

--vncport=VNCPORT
可以用"--graphics vnc,port=PORT,..."代替

--noautoconsole
不要自动尝试连接到guest虚拟机控制台。默认行为是启动一个VNC客户端显##示的图形控制台

--os-type=OS_TYPE
优化实例(Guest)配置操作系统类型如linux或windows

--os-variant=OS_VARIANT
优化实例(Guest)配置一个特定的操作系统(如##win7,winxp,win2k3,win2k8,rhel6)

--hvm
要求使用完全虚拟化

--accelerate
加速该选项已经过时可以参考--virt-type qemu

-w NETWORK, --network=NETWORK,opt1=val1,opt2=val2
实例(Guest)连接到主机的网络, 网桥--network bridge=br0,用nat路由出站##--network network=default