最近,发现系统性能急剧下降,经过调试,发现代码和数据库都没有性能问题,但是获得数据库connection cursor 的时间增加了上百倍,导致性能出现问题。
查看连接用户,发现大量的unauthenticated user,修改/etc/my.cnf,增加skip-name-resolve参数,重新启动数据库后问题解决。
今年年初时已经出现过一次这样的情况,原因是DNS不稳定。那次以后,在/etc/init.d/mysqld启动脚本里面增加了--skip-name-resolve的选项。但是没有更改my.cnf,以至于迁移时漏掉了这个参数。
数据库迁移并不只是简单的文件拷贝,其中的曲折只有亲手做的才明白。
2008年11月22日星期六
2008年11月16日星期日
[pitfall]在RHEL下要万分小心SELinux
SELinux(Security-Enhanced Linux)是美国国家安全局(NAS)和SElinux社区的一个联合项目,在RHEL是必须安装的组件。它在linux自身提供的权限控制外,对于一些关键敏感的程序和文件提供额外的保护。
不错,系统更加安全了,但是SA如果不熟悉SELinux的话(或者根本不知道有这个玩意儿),就会出现很多权限出错的问题。
前几天就被SELinux折腾的够呛。
当时现象如下:
当晚发现权限问题的时候,就怀疑是SELinux在捣乱,但是没有想到disabled重启机器以后,SELinux依然阴魂不散......又让我多花了一天的时间排除其他的可能性。
ls -Z可以看到selinux在文件夹或者文件上面打的‘标签’:user_u:object_r:user_home_t:s。
如果一个文件你是在SELinux打开的时候创建的,那么即使你关闭SELinux,它的权限控制还是会起作用的。
可以通过chcon来改变权限。或者干脆重装系统。
----------------------
ubuntu下面默认安装apparmor而不是SELinux,它同样也会导致一些莫名其妙的权限问题,也要注意。
不错,系统更加安全了,但是SA如果不熟悉SELinux的话(或者根本不知道有这个玩意儿),就会出现很多权限出错的问题。
前几天就被SELinux折腾的够呛。
当时现象如下:
my.cnf里面配置的user=mysql.
mysqld_safe &启动时报错:InnoDB: Operating system error number 13 in a file operation,The error means mysqld does not have the access rights to the directory.
实际上存放这个数据文件的文件夹我已经chown mysql:mysql dirname ,chmon -R 777 dirname了。
怀疑是SELinux的问题,disabled重启之后问题依旧。
后来发现,只有把数据文件放在/var/lib/mysql下,数据库才可以正常启动.或者mysqld_safe --user=root &也可以启动。
当晚发现权限问题的时候,就怀疑是SELinux在捣乱,但是没有想到disabled重启机器以后,SELinux依然阴魂不散......又让我多花了一天的时间排除其他的可能性。
ls -Z可以看到selinux在文件夹或者文件上面打的‘标签’:user_u:object_r:user_home_t:s。
如果一个文件你是在SELinux打开的时候创建的,那么即使你关闭SELinux,它的权限控制还是会起作用的。
可以通过chcon来改变权限。或者干脆重装系统。
----------------------
ubuntu下面默认安装apparmor而不是SELinux,它同样也会导致一些莫名其妙的权限问题,也要注意。
在RHEL下面通过ISCSI连接盘柜
环境:
服务器系统RHEL 5.2,盘柜型号HP MSA2000 2012i
第一次使用盘柜,把步骤记下来,其他操作系统和RedHat的配置步骤类似。
1.选择安装redhat server版本
2.安装后使用setup命令,修改防火墙和网络配置。记得打开ssh,http等端口(最好关闭防火墙和SELinux)
3.安装mysql和gcc
1)挂载安装光盘:
#su
#mkdir /mnt/disk
#mount /dev/cdrom /mnt/disk
2)rpm安装 (会有依赖的包,按照系统提示安装依赖的包即可)
#cd /mnt/disk/Server
#find *mysql*
#rpm -ivh mysql-5.0.45-7.el5.i386.rpm
#rpm -ivh mysql-server-5.0.45-7.el5.i386.rpm
#rpm -ivh mysql-devel-5.0.45-7.el5.i386.rpm #mysql.h等头文件需要先安装这个包
#find *gcc*
#rpm -ivh gcc-4.1.2-42.el5.i386.rpm
#rpm -ivh gcc-c++-4.1.2-42.el5.i386.rpm
#find *zlib*
#rpm -ivh zlib-1.2.3-3.i386.rpm
#rpm -ivh zlib-devel-1.2.3-3.i386.rpm
3)配置mysql(root用户执行,不然会报错)
#mysql_install_db
#mysqld_safe &
#mysql
看到进入mysql提示界面,就说明mysql安装好了。默认没有用户名和密码,需要自己配置.
#mysqladmin -uroot -p
4.安装iscsi(ubuntu下面是安装open-iscsi)
#cd /mnt/disk/Server
#find *iscsi*
#rpm -ivh iscsi-initiator-utils-6.2.0.868-0.7.el5.i386.rpm
5.配置iscsi
#su
#vim /etc/iscsi/iscsid.conf
node.startup = automatic #这一项在redhat是默认‘自动’的,ubuntu里面是默认‘手动’的
node.session.auth.username = My_ISCSI_USR_NAME
node.session.auth.password = MyPassword
discovery.sendtargets.auth.username = My_ISCSI_USR_NAME
discovery.sendtargets.auth.password = MyPassword
# /etc/init.d/iscsi start
6.连接盘柜 (如果有些命令找不到,试一试/sbin下面的。比如/sbin/iscsiadm)
#iscsiadm -m discovery -t sendtargets -p 10.0.0.63
#/etc/init.d/iscsi start
应该可以看到盘柜了,信息会是这样:
Stopping iSCSI daemon: /etc/init.d/iscsi: line 33: 28218 Killed /etc/init.d/iscsid stop
iscsid dead but pid file exists [ OK ]
Turning off network shutdown. Starting iSCSI daemon: [ OK ]
[ OK ]
Setting up iSCSI targets: Logging in to [iface: default, target: iqn.1986-03.com.hp:storage.msa2012i.0830d5d413.a, portal: 10.0.0.64,3260]
Logging in to [iface: default, target: iqn.1986-03.com.hp:storage.msa2012i.0830d5d413.a, portal: 10.0.0.63,3260]
Login to [iface: default, target: iqn.1986-03.com.hp:storage.msa2012i.0830d5d413.a, portal: 10.0.0.64,3260]: successful
Login to [iface: default, target: iqn.1986-03.com.hp:storage.msa2012i.0830d5d413.a, portal: 10.0.0.63,3260]: successful
[ OK ]
7.在盘柜的web页面配置
8.服务器挂载盘柜
#/etc/init.d/iscsi restart
#fdisk -l
可以看到盘柜了,找到dev下面的对应盘即可
如果没有格式化,执行 # mkfs.ext3 /dev/sdd1
#mkdir /mnt/iscsi
# mount /dev/sdd1 /mnt/iscsi
9.开机启动自动挂载
#vim /etc/fstab
/dev/sdd1 /mnt/iscsi ext3 _netdev 0 0
HP MSA2000 2012i 的盘柜在同一个volume上面只能有一台服务器连接上去写,不然会有写冲突。
服务器系统RHEL 5.2,盘柜型号HP MSA2000 2012i
第一次使用盘柜,把步骤记下来,其他操作系统和RedHat的配置步骤类似。
1.选择安装redhat server版本
2.安装后使用setup命令,修改防火墙和网络配置。记得打开ssh,http等端口(最好关闭防火墙和SELinux)
3.安装mysql和gcc
1)挂载安装光盘:
#su
#mkdir /mnt/disk
#mount /dev/cdrom /mnt/disk
2)rpm安装 (会有依赖的包,按照系统提示安装依赖的包即可)
#cd /mnt/disk/Server
#find *mysql*
#rpm -ivh mysql-5.0.45-7.el5.i386.rpm
#rpm -ivh mysql-server-5.0.45-7.el5.i386.rpm
#rpm -ivh mysql-devel-5.0.45-7.el5.i386.rpm #mysql.h等头文件需要先安装这个包
#find *gcc*
#rpm -ivh gcc-4.1.2-42.el5.i386.rpm
#rpm -ivh gcc-c++-4.1.2-42.el5.i386.rpm
#find *zlib*
#rpm -ivh zlib-1.2.3-3.i386.rpm
#rpm -ivh zlib-devel-1.2.3-3.i386.rpm
3)配置mysql(root用户执行,不然会报错)
#mysql_install_db
#mysqld_safe &
#mysql
看到进入mysql提示界面,就说明mysql安装好了。默认没有用户名和密码,需要自己配置.
#mysqladmin -uroot -p
4.安装iscsi(ubuntu下面是安装open-iscsi)
#cd /mnt/disk/Server
#find *iscsi*
#rpm -ivh iscsi-initiator-utils-6.2.0.868-0.7.el5.i386.rpm
5.配置iscsi
#su
#vim /etc/iscsi/iscsid.conf
node.startup = automatic #这一项在redhat是默认‘自动’的,ubuntu里面是默认‘手动’的
node.session.auth.username = My_ISCSI_USR_NAME
node.session.auth.password = MyPassword
discovery.sendtargets.auth.username = My_ISCSI_USR_NAME
discovery.sendtargets.auth.password = MyPassword
# /etc/init.d/iscsi start
6.连接盘柜 (如果有些命令找不到,试一试/sbin下面的。比如/sbin/iscsiadm)
#iscsiadm -m discovery -t sendtargets -p 10.0.0.63
#/etc/init.d/iscsi start
应该可以看到盘柜了,信息会是这样:
Stopping iSCSI daemon: /etc/init.d/iscsi: line 33: 28218 Killed /etc/init.d/iscsid stop
iscsid dead but pid file exists [ OK ]
Turning off network shutdown. Starting iSCSI daemon: [ OK ]
[ OK ]
Setting up iSCSI targets: Logging in to [iface: default, target: iqn.1986-03.com.hp:storage.msa2012i.0830d5d413.a, portal: 10.0.0.64,3260]
Logging in to [iface: default, target: iqn.1986-03.com.hp:storage.msa2012i.0830d5d413.a, portal: 10.0.0.63,3260]
Login to [iface: default, target: iqn.1986-03.com.hp:storage.msa2012i.0830d5d413.a, portal: 10.0.0.64,3260]: successful
Login to [iface: default, target: iqn.1986-03.com.hp:storage.msa2012i.0830d5d413.a, portal: 10.0.0.63,3260]: successful
[ OK ]
7.在盘柜的web页面配置
8.服务器挂载盘柜
#/etc/init.d/iscsi restart
#fdisk -l
可以看到盘柜了,找到dev下面的对应盘即可
如果没有格式化,执行 # mkfs.ext3 /dev/sdd1
#mkdir /mnt/iscsi
# mount /dev/sdd1 /mnt/iscsi
9.开机启动自动挂载
#vim /etc/fstab
/dev/sdd1 /mnt/iscsi ext3 _netdev 0 0
HP MSA2000 2012i 的盘柜在同一个volume上面只能有一台服务器连接上去写,不然会有写冲突。
2008年11月8日星期六
从头条看网媒
之前对网络媒体的头条不怎么关注,因为昨天瑞星出了误删OE邮件的重大事故,所以想去个个网站看看这方面的反应,结果真是令人惊讶。
sina,sohu,qq对这条新闻绝口不提(qq在11:05补登了这个新闻),看来都被rising公关了,只有163在头条显示了这条新闻:
之前去门户网站比较多的就是网易,看来没有选择错啊。sina和sohu的首页信息量太大,排版不敢恭维,广告和新闻混在一起,骗取点击来赚钱的心态毫不掩饰。qq和163的页面都很清爽,但是qq明显偏向娱乐八卦,和qq的用户定位一致;163一眼看过去,就能看到自己关心的新闻,很适合看国内的新闻。
163再搭配一个财经网站:FT中文网 和 香港的中立新闻网站:星岛环球网 ,就可以看到我关心的所有资讯了。除了163有时候有点儿标题党之外,这三个网站做的都很不错。做媒体最重要的就是客观公正,不带有色眼镜的给用户提供他们需要的信息,把判断的权力留给用户。
ps:163新闻头条里面的广东企业亏损和深圳暴力袭警,只有在sohu首页中可以找到深圳袭警的新闻,qq,sina全部失语。
sina,sohu,qq对这条新闻绝口不提(qq在11:05补登了这个新闻),看来都被rising公关了,只有163在头条显示了这条新闻:
之前去门户网站比较多的就是网易,看来没有选择错啊。sina和sohu的首页信息量太大,排版不敢恭维,广告和新闻混在一起,骗取点击来赚钱的心态毫不掩饰。qq和163的页面都很清爽,但是qq明显偏向娱乐八卦,和qq的用户定位一致;163一眼看过去,就能看到自己关心的新闻,很适合看国内的新闻。
163再搭配一个财经网站:FT中文网 和 香港的中立新闻网站:星岛环球网 ,就可以看到我关心的所有资讯了。除了163有时候有点儿标题党之外,这三个网站做的都很不错。做媒体最重要的就是客观公正,不带有色眼镜的给用户提供他们需要的信息,把判断的权力留给用户。
ps:163新闻头条里面的广东企业亏损和深圳暴力袭警,只有在sohu首页中可以找到深圳袭警的新闻,qq,sina全部失语。
订阅:
博文 (Atom)