服务器架设 标签文章 - 李海鑫个人博客

(2009-2-18)构建虚拟办公室

编辑文章 没有评论 :

前几天偶然在一本IT杂志看到,在国外有企业为了节省营运成本,以渡过这波全球金融海啸,毅然决定不再租用实体办公室,所有员工都在家里上班及办公,完全实现了在家工作及办公室虚拟化的概念,报导提到该企业实施员工在家办公后,成果显著,不仅仅节省了为数不少的营运成本,透过虚拟办公室及 VoIP及VPN 等各类型科技的辅助,不但不影响公司内的各项业务的执行,就连对外部客户作服务时,对方也察觉不出该企业已经没有实体办公室。

本文HTML永久地址 doc

办公室作虚拟化,其实技术门坎不高,最近很流行的 IT 名词 云端运算(Cloud Computing)及 软件即服务(SaaS Software as a service),就是实现虚拟化可倚赖的技术,具体实例像 Google Doc、GMail这类应用。当愈来愈多的计算机应用被 Web 化,以前的很多不可能;现在也将变得可能,甚至是容易就达成。

今天来介绍两个 Open Source 有关这类应用的项目

  1. OpenGoo - 类似 Google Doc,将常用的办公软件 Web 包含可作文书处理、电子邮件收发、工作管理、行事历等。 可用在多人协同作业模式 支持中文输入,但接口是英文 对于小规模企业或只用做文件类的编辑管理,可以考虑导入 http://opengoo.org
  2. AjaxIM - 网页式实时传讯 可用作员工之间的通讯联络 http://www.ajaxim.com/

可能有人会好奇问,这两种在网络上都已经有免费的服务可用,为何还要自己架,主要还是安全性考虑,毕竟用于企业内部的应用系统,还是不希望使用 Internet 的公用服务器,这两个系统再搭配 VPN 的网络架构,应该是不错的方案。

(2008-12-20)mysql数据库备份与还原命令

编辑文章 没有评论 :

本文HTML永久地址doc

备份MySQL数据库的命令

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

直接将MySQL数据库压缩备份

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

备份MySQL数据库某个(些)表

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

同时备份多个MySQL数据库

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql

仅仅备份数据库结构

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

备份服务器上所有数据库

mysqldump –all-databases > allbackupfile.sql

还原MySQL数据库的命令

mysql -hhostname -uusername -ppassword databasename < backupfile.sql

还原压缩的MySQL数据库

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

将数据库转移到新服务器

mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

(2008-12-12)在Nginx的配置WordPress的重定向设置

编辑文章 没有评论 :

WordPress是一个非常流行的Blog系统,它可以利用Apache的mod_rewrite来实现URL的静态化。安装好的WordPress在配置了持久链接之后,会在网站的根目录下(如果可写)生成一个.htaccess文件,这个文件可以指示Apache如何进行URL重写(如果服务器配置为允许使用htaccess的指令的话),它的内容如下:

本文HTML永久地址doc

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

这个文件的意思就是,如果当请求的文件不存在,那么把请求内部重定向到/index.php。WordPress会自己分析请求的URL,来判断显示哪个页面。

在上次配置了Nginx+PHP之后,由于Nginx不支持Apache的.htaccess文件,要实现持久连接静态化,我们必须手工配置Nginx的文件。首先找到Nginx的配置文件,默认编译后的配置文件在/usr/local/webserver/nginx/conf/nginx.conf;centos通过包安装的配置文件位于/etc/nginx/nginx.conf

以下是基本的配置

   location / {
        index index.html index.php;
        if (-f $request_filename/index.html){
            rewrite (.*) $1/index.html break;
        }
        if (-f $request_filename/index.php){
            rewrite (.*) $1/index.php;
        }
        if (!-f $request_filename){
            rewrite (.*) /index.php;
        }
    }
    location ~ .*\.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
    }

此配置考虑了目录下的索引文件index.html和index.php。-f指令表示测试文件是否存在(不考虑文件和目录的区别),!-f则表示不存在。注意在重写url到index.html后面有个break,而重写到index.php后没有break。因为html文件不需要任何额外工作可以直接发送到客户端,所以重写规则在这里终止,下面就直接让nginx发送文件。而.php文件需要进一步发送到fastcgi进程来运行,Nginx会继续判断该文件符合第二个部分location ~ .*.php$的规则,并进行FastCGI的转发。

(2008-12-6)在vps主机安裝webbench

编辑文章 没有评论 :

本文HTML永久地址doc

在编译webbench的时候,出现/bin/sh: ctags: command not found,如下所示

[root@www webbench-1.5]# make
cc -Wall -ggdb -W -O   -c -o webbench.o webbench.c
webbench.c: In function 'alarm_handler':
webbench.c:77: warning: unused parameter 'signal'
cc -Wall -ggdb -W -O  -o webbench webbench.o
ctags *.c
/bin/sh: ctags: command not found
make: [tags] Error 127 (ignored)

搜索一下ctags,centos有相应的组件

ctags.i386                               5.6-1.1                base
Matched from:
ctags
Ctags generates an index (or tag) file of C language objects found in
C source and header files.  The index makes it easy for text editors or
other utilities to locate the indexed items.  Ctags can also generate a
cross reference file which lists information about the various objects
found in a set of C language files in human readable form.  Exuberant
Ctags improves on ctags because it can find all types of C language tags,
including macro definitions, enumerated values (values inside enum{...}),
function and method definitions, enum/struct/union tags, external
function prototypes, typedef names and variable declarations.  Exuberant
Ctags is far less likely to be fooled by code containing #if preprocessor
conditional constructs than ctags.  Exuberant ctags supports output of
Emacs style TAGS files and can be used to print out a list of selected
objects found in source files.

Install ctags if you are going to use your system for C programming.
http://ctags.sourceforge.net/

看来是没安装ctags组件,使用

yum -y install ctags

解决问题

(2008-11-20)vps下默认启动服务进程

编辑文章 没有评论 :

本文HTML永久地址doc

全部进程列表:


[root@ihaixin ~]# chkconfig --list
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
mcstrans        0:off   1:off   2:on    3:on    4:on    5:on    6:off
messagebus      0:off   1:off   2:off   3:on    4:on    5:on    6:off
mysqld          0:off   1:off   2:off   3:on    4:off   5:off   6:off
named           0:off   1:off   2:off   3:off   4:off   5:off   6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
netfs           0:off   1:off   2:off   3:off   4:off   5:off   6:off
netplugd        0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
portmap         0:off   1:off   2:off   3:off   4:off   5:off   6:off
rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off
restorecond     0:off   1:off   2:on    3:on    4:on    5:on    6:off
saslauthd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
smb             0:off   1:off   2:off   3:off   4:off   5:off   6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off
winbind         0:off   1:off   2:off   3:off   4:off   5:off   6:off
xinetd          0:off   1:off   2:on    3:on    4:on    5:on    6:off

xinetd based services: chargen-dgram: off chargen-stream: off daytime-dgram: off daytime-stream: off discard-dgram: off discard-stream: off echo-dgram: off echo-stream: off finger: off ntalk: off rsync: off swat: off talk: off tcpmux-server: off time-dgram: off time-stream: off

默认启动的服务


[root@ihaixin ~]# chkconfig --list | grep 3:on
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
mcstrans        0:off   1:off   2:on    3:on    4:on    5:on    6:off
messagebus      0:off   1:off   2:off   3:on    4:on    5:on    6:off
mysqld          0:off   1:off   2:off   3:on    4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
restorecond     0:off   1:off   2:on    3:on    4:on    5:on    6:off
sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off
xinetd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@ihaixin ~]#

(2008-11-20)在vps上配置phpmyadmin

编辑文章 没有评论 :

本文HTML永久地址doc

安装mysql所需要的组件

yum -y install mysql-server php-mcrypt php-mbstring php-gd

进入预安装的目录

cd /var/www/html
wget http://prdownloads.sourceforge.net/phpmyadmin/phpMyAdmin-2.11.9.3-all-languages-utf-8-only.tar.gz


#tar zxvf phpMyAdmin-2.11.9.3-all-languages-utf-8-only.tar.gz
# mv phpMyAdmin-2.11.9.3-all-languages-utf-8-only phpmyadmin
#cd phpmyadmin
# mv config.sample.inc.php config.inc.php
# vi config.inc.php
修改$cfg['blowfish_secret'] = '' 为$cfg['blowfish_secret'] = 'test' 这里的test自个定义,

(2008-11-19)测试VPS网络稳定性几种方法

编辑文章 没有评论 :

本文HTML永久地址doc

第一种ping: C:\Documents and Settings\lihaixin>ping 67.159.48.137

Pinging 67.159.48.137 with 32 bytes of data:

Reply from 67.159.48.137: bytes=32 time=297ms TTL=47
Reply from 67.159.48.137: bytes=32 time=300ms TTL=47
Reply from 67.159.48.137: bytes=32 time=302ms TTL=47
Reply from 67.159.48.137: bytes=32 time=299ms TTL=47

Ping statistics for 67.159.48.137:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 297ms, Maximum = 302ms, Average = 299ms

C:\Documents and Settings\lihaixin>

第二种tracert:

C:\Documents and Settings\lihaixin>tracert 67.159.48.137

Tracing route to inet101network.info [67.159.48.137]
over a maximum of 30 hops:

  1    10 ms     9 ms    10 ms  121.32.162.1
  2     9 ms     9 ms    10 ms  121.32.162.1
  3    10 ms     9 ms     9 ms  61.140.98.133
  4     9 ms    10 ms    10 ms  61.144.0.189
  5     9 ms     9 ms     9 ms  61.144.3.26
  6     9 ms     9 ms    10 ms  202.97.26.53
  7    75 ms    75 ms    75 ms  202.97.40.137
  8    93 ms    92 ms    93 ms  202.97.34.17
  9   258 ms   257 ms   255 ms  202.97.51.86
 10   240 ms   241 ms   237 ms  ge-4-13-pr01.onewilshire.ca.ibone.comcast.net [68.86.89.29]
 11   287 ms   287 ms   288 ms  pos-0-13-0-0-cr01.dallas.tx.ibone.comcast.net [68.86.85.146]
 12   288 ms   289 ms   289 ms  pos-0-9-0-0-cr01.atlanta.ga.ibone.comcast.net [68.86.85.154]
 13   310 ms   308 ms   307 ms  pos-0-4-0-0-cr01.chicago.il.ibone.comcast.net [68.86.85.165]
 14   299 ms   305 ms   302 ms  66.90.127.205 [66.90.127.205]
 15   291 ms   292 ms   290 ms  atlas.echoservers.com [67.159.44.199]
 16   303 ms   300 ms   304 ms  inet101network.info [67.159.48.137]

Trace complete.

C:\Documents and Settings\lihaixin>

第三种在另外一台linux服务器下载vps软件,使用wget命令

[lihaixin@hugo lihaixin.com]$ time wget http://67.159.48.137/Dreamweaver8_onegreen.zip
--23:23:47--  http://67.159.48.137/Dreamweaver8_onegreen.zip
           => `Dreamweaver8_onegreen.zip'
Connecting to 67.159.48.137:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 69,920,971 (67M) [application/zip]

100%[=================================================================================================================>] 69,920,971     2.05M/s    ETA 00:00

23:24:22 (1.92 MB/s) - `Dreamweaver8_onegreen.zip' saved [69920971/69920971]

real    0m34.810s
user    0m0.095s
sys     0m4.302s
[lihaixin@hugo lihaixin.com]$

第四种在vps主机下载另外一个机房服务器的软件

[root@ihaixin html]# time wget http://blog.lihaixin.name/Dreamweaver8_onegreen.zip
--05:29:20--  http://blog.lihaixin.name/Dreamweaver8_onegreen.zip
Resolving blog.lihaixin.name... 67.18.26.179
Connecting to blog.lihaixin.name|67.18.26.179|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 69920971 (67M) [application/zip]
Saving to: `Dreamweaver8_onegreen.zip'

100%[====================================================================================================================>] 69,920,971  2.78M/s   in 24s

05:29:52 (2.73 MB/s) - `Dreamweaver8_onegreen.zip' saved [69920971/69920971]

real    0m32.156s
user    0m0.111s
sys     0m1.136s
[root@ihaixin html]#

第五种:使用just-ping检查全球各地到主机的ping反映速度

第六种使用主机跟踪网站测试网页在全球网页访问速度

(2008-11-7)nginx出现 500 Internal Server Error

编辑文章 没有评论 :

本文HTML永久地址doc

刚才测试了一下nginx并发链接数,在同时在线人数为 2000的时候,不能访问网页,出现500 Internal Server Error,查看了一下日志/var/log/nginx/error.log

[root@lxadmin nginx]# tail -n 30 error.log
2008/11/06 21:19:46 [alert] 1110#0: accept() failed (24: Too many open files) while accepting new     connection on 0.0.0.0:80
2008/11/06 21:19:46 [alert] 1110#0: accept() failed (24: Too many open files) while accepting new     connection on 0.0.0.0:80
2008/11/06 21:19:46 [alert] 1110#0: accept() failed (24: Too many open files) while accepting new connection on 0.0.0.0:80
2008/11/06 21:19:46 [alert] 1110#0: accept() failed (24: Too many open files) while accepting new     connection on 0.0.0.0:80
2008/11/06 21:19:46 [alert] 1110#0: accept() failed (24: Too many open files) while accepting new     connection on 0.0.0.0:80
2008/11/06 21:19:46 [alert] 1110#0: accept() failed (24: Too many open files) while accepting new connection on 0.0.0.0:80
2008/11/06 21:19:46 [alert] 1110#0: accept() failed (24: Too many open files) while accepting new connection on 0.0.0.0:80

看来是模拟的并发数太多了,需要调整一下nginx.conf的并发设置数,(我的配置主机的内存 128M,CPU为1G,)

vi /etc/nginx/nginx.conf
events {
    worker_connections  1024;
}

调整为

events {
    worker_connections  10240;
}

还是会出现上面问题,使用

[root@lxadmin nginx]# cat /proc/sys/fs/file-max
8192

文件系统最大可打开文件数

[root@lxadmin nginx]# ulimit -n
1024

程序限制只能打开1024个文件

使用[root@lxadmin nginx]# ulimit -n 8192调整一下
或者永久调整打开文件数 可在启动文件/etc/rc.d/rc.local末尾添加(在/etc/sysctl.conf末尾添加fs.file-max=xxx无效)

ulimit -n 8192

(2008-11-6)什么是VT(Intel Virtualization Technology)技术

编辑文章 没有评论 :

本文HTML永久地址doc

英特尔已经发布了七款支持 VT(Virtualization Technology,虚拟化技术)技术的处理器——奔腾4 672,662,奔腾D920,930,940,950奔腾EE 955。Intel Virtualization Technology就是以前众所周知的“Vanderpool”技术,这种技术让可以让一个CPU工作起来就像多个CPU并行运行,从而使得在一部电脑 内同时运行多个操作系统成为可能。

这种VT技术并不是一个新鲜事物,市面上已经有一些软件可以达到虚拟多系统的目的,比如VMware workstation、Virtual PC等,使用这种技术就可以单CPU模拟多CPU并行,可以实现单机同时运行多操作系统。

Virtualization技术和多任务(multitasking)、HyperThreading超线程技术是完全不同的。多任务是指在一 个操作系统中多个程序同时并行运行,而在虚拟技术中,你可以拥有多个操作系统同时运行,每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚 拟的CPU或者是虚拟主机上。而HyperThreading超线程只是在SMP系统(Symmetric Multi Processing)中单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。

当然了,如果一个CPU同时支持HyperThreading和Virtualization技术的话,每一个虚拟CPU在各自的操作系统中都被看成是两个对称多任务处理的CPU。

虚拟技术可能让人联想到早期CPU上的“Virtual 8086”技术,这种V86模式技术是用来兼容早期的8086/8088处理器而设计的,最早出现在386机器上。使用V86模式你可以创建好几个并行虚 拟8086计算机来运行多个DOS程序,同样道理,使用VT技术你也可以创建几个完整的虚拟电脑来运行几个完整的操作系统。

可是既然已经有VMware等这种可以达到虚拟目的的软件,为什么我们还要努力来实现硬件CPU内部的虚拟技术呢?这是因为硬件CPU的虚拟技术 有许多优势。支持虚拟技术的CPU带有多余的指令集来控制虚拟过程,通过这些指令集,控制软件VMV(Virtual Machine Monitor)会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。

工作原理

带有虚拟技术的处理器具有额外的指令集,叫做Virtual Machine Extensions,简称VMX。VMX给CPU带来了10个新的虚拟专用指令:VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUCH, VMRESUME, VMXOFF and VMXON。

在虚拟状态下有两种工作模式:root操作和非root操作。通常只有虚拟操作软件——Virtual Machine Monitor (VMM)能够运行在root操作模式下,而操作系统在虚拟机的顶层运行在非root操作模式下。运行在虚拟机顶层的软件同时也叫做“guest software”。

要进入虚拟模式,VMM需要执行VMXON指令来调入VMM软件,VMM软件使用VMLAUNCH指令来进入每一个虚拟机,使用VMRESUME 指令来退出。如果想要退出虚拟模式,可以使用VMM运行VMXOFF指令。在图中的每个guest系统可以是不同的操作系统,同时运行自身的软件。

(2008-11-6)在centos5下安装nginx+fastcgi php+mysql

编辑文章 没有评论 :

本文HTML永久地址doc

概述:

Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。

Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻等门户网站频道,六间房、56.com等视频分享网站,Discuz!官方论坛、水木社区等知名论坛,豆瓣、YUPOO相册、海内SNS、迅雷在线等新兴Web 2.0网站。

安装:

1、下载nginx rpm包 且安装

wget ftp://194.199.20.114/linux/EPEL/5/i386/nginx-0.6.32-1.el5.i386.rpm
rpm -Uvh nginx-0.6.32-1.el5.i386.rpm
chkconfig nginx on
/etc/init.d/nginx start

然后访问本机的80端口,就可以看到页面了,这表示安装一切正常。 修改/etc/nginx/nginx.conf文件中的server_name部分,修改IP地址为本机IP地址:

server_name 192.168.0.104;

修改/etc/nginx/nginx.conf文件的index部分,加入index.php

 index index.php index.html index.htm;

2、安装php

wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
yum -y install lighttpd-fastcgi lighttpd php-cli php-mysql
cd /usr/share/nginx/html/
echo "< ?phpinfo();?>" >phpinfo.php
spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u nginx -f /usr/bin/php-cgi

重新配置nginx.conf,增加如下内容

location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
            include        fastcgi_params;
        }

3、重启nginx

/etc/init.d/nginx stop
/etc/init.d/nginx start

4、安装数据库

yum -y install mysql-server
chkconfig mysqld on
/etc/init.d/mysqld start

5、把php cgi程序开机自启动

在/etc/rc.d/rc.local文件后添加下面语句

spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u nginx -f /usr/bin/php-cgi

(2008-10-25)配置webmin通过apache访问

编辑文章 没有评论 :

本文HTML永久地址doc

昨天安装了webmin,一位朋友的vps主机使用的内部私有ip地址,如果需要访问,还需要在网关做端口转发,能否把访问webmin的10000端口地址,通过80端口的子目录访问,假设ip为:192.168.3.21 客户访问http://192.168.3.21/webmin 实际转发访问到http://192.168.3.21:10000,关于webmin安装请查看昨天的日志

WEBMIN安装手记doc

实际有四种解决办法,下面是用通过proxy模块进行配置

确保你服务器开启了mod_proxy

在/etc/httpd/conf/httpd.conf文件增加

<IfModule mod_proxy.c>ProxyRequests On
<Proxy /webmin>
Order allow,deny
Allow from all
</Proxy>
ProxyPass /webmin http://localhost:10000
ProxyPassReverse /webmin http://localhost:10000

在/etc/webmin/config未增加

webprefix=/webmin
webprefixnoredir=1
referer=apachehost

重启apache

通过上述4个步骤,就可以通过http://192.168.3.21/webmin访问webmin服务器了

参考资料:http://www.webmin.com/apache.html

(2008-10-23)忘记mysql root密码的修改方法

编辑文章 没有评论 :

本文HTML永久地址doc

如果忘记了 MySQL 的 root 密码,可以用以下方法重新设置:

  1. KILL掉系统里的MySQL进程;
  2. 用以下命令启动MySQL,以不检查权限的方式启动;
    mysqld_safe -skip-grant-tables &
  3. 然后用空密码方式使用root用户登录 MySQL;
    mysql -u root
  4. 修改root用户的密码;
    mysql> update mysql.user set password=PASSWORD('123456') where User=root; mysql> flush privileges; mysql> quit
  5. 重新启动MySQL,就可以使用新密码登录了。
    mysql -u root -p123456

(2008-9-5)自用CENTOS服务器双网卡绑定规划

编辑文章 没有评论 :

本文HTML永久地址doc

由于打算把自用的服务器做成samba用于数据共享,服务器详细配置请查看此

自用个人服务器架设环境篇doc

但是单独一个网卡最大的传输速率是100Mbps(实际传输最大为9.3MB/s), 而查看硬盘官方的介绍:传输速度如下:

传输率
传送速率(缓冲器至磁盘) 420 Mbits/s(最大值)

缓冲区到主机(EIDE)
Ultra ATA 第五模式 100 MB/s
Ultra ATA 第四模式 66.6 MB/s
Ultra ATA 第二模式 33.3 MB/s
PIO 第四模式 16.6 MB/s
多字D毫安 第二模式 16.6 MB/s

根据我的主板BIOS里IDE Primary Master UDMA [Auto]设置为自动,点击查看

自用服务器BIOS设置篇doc

同时查考了主板南北桥总线数据图

北桥负责高速传输和数据处理。南桥负责各低速外设设备的传输,而PCI网卡按目前的标准32位的PCI接口数据传输速度最高可达133MB/s,而我现在的网卡是10M/100M自适应网卡,换算成字节B为单位来算,才12.5MB/s,所以完全可以支持使用1000M网卡(125MB/s),所以PCI速度不是性能的瓶颈,在来看看IDE接口的硬盘,网络传输文件的数据流程应该是通过:另外一台主机---》网线---》网卡---》PCI总线---》南桥---》IDE总线---》硬盘缓冲---》写入硬盘,而IDE接口最大速率为:100MB/s,查看上面官方的硬盘传输率,从缓存器到磁盘最大的速率为:420bps,换成字节B为单位:420/8=52.5MB/s,而缓冲器到IDE总线的速度按Ultra ATA 第四模式66.6MB/s计算,比较这三个数字,瓶颈应该出现在从缓冲器写入磁盘这个环节,取最小的数字52.5MB/s,这样的话,需要52.5/12.5=4.2,大概需要4快100M速率的网卡绑定,

综合上述,排除CPU和内存的影响,把自用服务器作出文件服务器,要提升最大的传输率,可以通过在主板PCI插槽上插入4快型号一致的PCI网卡通过绑定成一块高速的网卡使用,

备注:如果是1000M的网卡,那么系统的瓶颈就在硬盘的传输上,可以更换SATA接口的硬盘

(2008-8-21)自用服务器centos5.2系统下载篇

编辑文章 没有评论 :

本文HTML永久地址doc

centos 官方网址:http://www.centos.org

国内较近镜像下载地址:

  1. http://ftp.hostrino.com/pub/centos/5.2/isos/i386/(香港新世纪电信)
  2. http://centos.candishosting.com.cn/5.2/isos/i386/ (武汉市)
  3. http://mirror.be10.com/centos/5.2/isos/i386/ (江苏苏州市电信)
  4. http://centos.ustc.edu.cn/centos/5.2/isos/i386/ (安徽省合肥市 中国科学技术大学)教育网首选下载地址
  5. http://mirror.centos.net.cn/5.2/isos/i386/ (北京市网通)

请选择离自己上网比较近的镜像下载,举例,笔者使用的广州电信ADSL上网,一般选择香港的服务器下载,速度是最快的,根据自己的光碟支持,下载CD格式或DVD格式,iso文件下载下来后还是使用md5sum检验一下iso文件的完整性

检验工具:http://mirror.centos.org/centos/dostools/md5sum.exe 将其下载到系统目录c:\windows\system32\下(假设系统安装在C盘,这样便于以后下载光盘检验)

然后启动Windows下的命令行(cmd.exe),完成如下步骤:

C:\Documents and Settings\Administrator>cd e:\
E:\>cd CentOS5.0\CentOS-5.2-i386-bin-DVD
E:\CentOS5.0\CentOS-5.2-i386-bin-DVD>md5sum.exe CentOS-5.2-i386-bin-DVD.iso
1539bad48e984ae1441052dc074c0995 *CentOS-5.2-i386-bin-DVD.iso
E:\CentOS5.0\CentOS-5.2-i386-bin-DVD>type md5sum.txt
1539bad48e984ae1441052dc074c0995  CentOS-5.2-i386-bin-DVD.iso

从上面的输出,使用mdsum.exe运行生产的md5校验码与下载下来的DVD光碟的md5sum.txt文件的校验码一致,说明下载的文件完整。

由于CENTOS5.2 CD格式的.iso 刻录需要6张光盘,所以我一般都是下载第一张CD .iso和整张的DVD .iso,通过虚拟机的linux系统加载到www服务器上,通过http远程安装系统。

(2008-8-20)linux双网关双线路网络设置

编辑文章 没有评论 :

由于电信和网通之间互联互通的问题,很多人选择双线路机房,所谓双线路机房就是拥有两条出口,一条电信一条网通。最近在一个双线路机房测试一台服务器,打算作为论坛的数据库服务器使用,服务器操作系统为 Linux。计划配置为双IP,双域名,使得浏览者通过电信和网通两条线路都能正常访问服务器,而且各走各的,互不影响。在配置网络的时候遇到了问题,由于Linux默认只有一个网关,在网络上查询了很久,找到一个解决方案,因此整理了一下。

本文HTML永久地址doc

服务器操作系统RedHat linux 9,设置两张路由表

1、 vi /etc/iproute2/rt_tables,增加网通和电信两个路由表

251 tel   电信路由表
252 cnc 网通路由表

2、. 给网卡绑定两个地址用于电信和网通两个线路

ip addr add 192.168.0.2/24 dev eth0
ip addr add 10.0.0.2/24 dev eth1

3、分别设置电信和网通的路由表

电信路由表:

#确保找到本地子网
ip route add 192.168.0..0/24 via 192.168.0.2 dev eth0 table tel
#内部回环网络
ip route add 127.0.0.0/8 dev lo table tel
#192.168.0.1为电信网络默认网关地址
ip route add default via 192.168.0.1 dev eth0 table tel

网通线路路由表:

#确保找到本地子网
ip route add 10.0.0.0/24 via 10.0.0.2 dev eth1 table cnc
#内部回环网络
ip route add 127.0.0.0/8 dev lo table cnc
#10.0.0.1是网通的默认网关
ip route add default via 10.0.0.1 dev eth1 table cnc

4、.电信和网通各有自己的路由表,制定策略,让192.168.0.2的回应数据包走电信的路由表路由,10.0.0.2的回应数据包走网通的路由表路由

ip rule add from 192.168.0.1 table tel
ip rule add from 10.0.0.1 table cnc

(2008-8-15)自用服务器BIOS设置篇

编辑文章 没有评论 :

看了上一篇 自用个人服务器架设环境篇doc了解我的PC硬件环境了,下面针对于将要安装的成为服务器BIOS进行一下设定

本文HTML永久地址doc

Standard CMOS Features

Date (mm:dd:yy) Tue, Aug 14 2008
Time (hh:mm:ss) 19 : 55 : 59
IDE Primary Master  [WDC WD800BB-22JHC0]  <--由于我电脑只有一块硬盘,接入到IDE0 Master接口
IDE Primary Slave   [None]   <--按回车进入子项目所以此列都设置为None
IDE Secondary Master [None]  <--按回车进入子项目所以此列都设置为None
IDE Secondary Slave  [None]    <--按回车进入子项目所以此列都设置为None
Drive A [None]
Drive B [None]
Floppy 3 Mode Support [Disabled]
Video [EGA/VGA]
Halt On [No Errors]   <--设置为No Errors 不管是否有错误都继续进行开机
Base Memory 640K
Extended Memory 523264K
Total Memory 524288K

Advanced BIOS Setup Option

Anti-Virus Protection [Disabled] <--安装系统前设置为Disabled ,系统安装后调整为Enabled
CPU Internal Cache [Enabled]
External Cache [Enabled]
CPU L2 Cache ECC Checking [Enabled]
Processor Number Feature [Enabled]
Quick Power On Self Test [Enabled]
First Boot Device [USB-HDD] <--设置U盘启动,由于现在的CENTOS5.2 CD需要刻录6张,所以我选择网络安装方式,安装完后设置为[HDD-0]
Second Boot Device [Disabled]
Third Boot Device [Disabled]
Boot Other Device [Disabled]
Swap Floppy Drive [Disabled]
Boot Up Floppy Seek [Disabled]
Boot Up NumLock Status [Off]
Gate A20 Option [Fast]
Typematic Rate Setting [Disabled]
x Typematic Rate (Chars/Sec) 6
x Typematic Delay (Msec) 250
Security Option [Setup]
OS Select For DRAM > 64MB [Non-OS2]
HDD S.M.A.R.T.Capability [Yes] <--设置为启动,更多请参考:开启BIOS中的HDD S.M.A.R.T. Capability

Report No FDD for WIN95 [Yes]

Advanced Chipset Features Option

SDRAM CAS Latency Time [2]
SDRAM Cycle Time Tras/TRC [7/9]
SDRAM RAS-to-CAS Delay [3]
SDRAM RAS Precharge Time [3]
System BIOS Cacheable [Enabled]
Video RAM Cacheable [Enabled]
Memory Hole At 15M-16M [Disabled]  <--此选项保留内存给ISA卡,由于我主机无ISA插卡,所以设置为Disabled
CPU Latency Timer [Enabled]
Delayed Transaction [Enabled]
AGP Graphics Aperture Size [64MB]  <--按默认值 ,当系统进行大量绘图时,可以借用系统内存的容量
AGP Device 4X Support [Enabled]    <--由于我的显卡支持4X,所以启用

Integrated Peripherals Option

On-Chip Primary PCI IDE [Enabled]
On-Chip Secondary PCI IDE [Disabled] <--关闭IDE1通道,没有设置连接
IDE Primary Master PIO [Auto]
IDE Primary Slave PIO [Auto]
IDE Secondary Master PIO [None]
IDE Secondary Slave PIO [None]
IDE Primary Master UDMA [Auto]
IDE Primary Slave UDMA [Auto]
IDE Secondary Master UDMA [None]
IDE Secondary Slave UDMA [None]
USB Controller [Enabled]  <--设置为主板内置的USB装置启动
USB Keyboard Support [Disabled]
Init Display First [AGP]  <--设置显示卡的优先顺序,我们就一个AGP显卡,所以选择AGP
AC97 Audio [None]         <--关闭主板自带的声卡
AC97 Modem [None]         <--关闭主板自带的声卡数据传输功能
Hardware Reset Control [Enabled]
IDE HDD Block Mode [Enabled]
POWER ON Function [Hot KEY]
XKB Power ON Password [Enter]
Hot Key Power ON[Ctrl+F12]
Onboard FDC Controller[Disabled] <--关于主板上的软驱控制器
Onboard Serial Port1[Disabled]
Onboard Serial Port2[2FB/IRQ3]   <--设置COM2端口地址及中断号,此中断号为3,所以等一下的猫启动的端口号和要此一致
UART Mode Select[Normal]
UR2 Duplex Mode Half
Onboard Parallel Port [Disabled]  <---设置并口也关闭
Parallel Port Mode  ECP
ECP Mode Use DMA  3

PWRON After PWR-Fail [Former-Sts]  <--设置为Former-Sts 请查考 BIOS中的PWRON After PWR-Fai含义

Game Port Address [Disabled]  <--关闭游戏口
Midi Port Address [Disabled]
Midi Port IRQ  10

Power Management Setup Option

ACPI function [Enabled]
ACPI Suspend Type [S1(POS)]
Power Management [User Define]
Video Off Method [DPMS]
Video Off In Suspend [No]
Suspend Type [Stop Grant]
MODEM Use IRQ [3]  <--设置外置猫接口的中断号,本列为COM2
Suspend Mode [Disabled]
HDD PwrDown in Suspend [Disabled]
HDD Power Down [Disable]
Soft-Off by PWRBTN [Instant-Off]
Wake-Up by PCI card [Disabled]
Power On by Ring [Enabled]  <---启用来电开机功能,便于使用外置猫启动开机
Wake Up On LAN [Disabled]
USB KB Wake-Up From S3 [Disabled]
Resume by Alarm [Disabled]
x Date (of Month) Alarm 0
x Time (hh:mm:ss) Alarm 0 0 0
** Reload Global Timer Events **
Primary/Secondary IDE0/1
FDD,COM,LPTPort
PCI PIRQ[A-D]#

下面几个选项按默认设置,就不输入详细子菜单,请大家参考主板说明

PNP/PCI Configuration Option
PC Health Status Option
Frequency/Voltage Control
Load Optimized Defaults Option
Set Supervisor and User Password Options
Save & Exit Setup Option
Exit Without Saving

(2008-8-14)自用个人服务器架设环境篇

编辑文章 没有评论 :

最近一直忙着测试CENTOS 5.2系统的各个服务器应用的安装和设计,打算做个完整的架设指南,今天先把本机的硬件环境说一下:

本文HTML永久地址doc

硬件:

主板:精英P6IPAT 功率:30W

CPU:Intel® Celeron 1G cpu外频 官方功率:29W

内存:2条 SDRAM-133 容量256M 功率:2x7.5=15W 由于我的CPU外频与内存频率不等,所以内存没有发挥到最大功效。

硬盘:西数 WD800BB 80G 官方功率 8W

显卡:GeForce 2 MX 200 小影霸 速配3000 功率:28W

网卡: D-Link DFE-550TX 官方介绍 功率:7W ,后来查看到官方发布的手册,最大功率:2W(400mA/5V) 使用两块×2=4W

键盘/鼠标: ps/2通用性 安装系统后拆除

显示器:普通CRT显示器,安装系统完了拆除

其中上述中功率中有官方的字样,就是从官方查阅到的,只说功率是查考 http://www.belson.com.cn/pwcount/pwcount.asp 估计的,

sip网关:一款网络电话网关,用于通过网络打电话,此用于替补程控电话,做远程电话开机用 功率:9W

56K外置猫:tp-link TM-EC5658V 56K外置式DATA/VOICE/FAX调制解调器 官方介绍 功率:7.2W(根据电源适配器参数 9V~800mA)

TP-LINK TL-R860+ SOHU宽带路由器:官方功率:4W

华为 MT800 官方介绍 官方功率:9W

总功率:主板30+CPU29+硬盘8+显卡28+网卡7+外置猫6+sip网关9=117W

1天所耗电度数:24*0.117KW=2.808度 按广州市居民用电0.61元/度算 每天耗电费:1.71288

一年电费:616元

软件:

操作系统:centos 5.2

宽带:广州电信ADSL 512 Kbit 上下行都为 512kbit换成字节为64KB

此值为理论值,实际值大概在48KB/s 实际值/理论值=3/4 理论值一个小时可上传64KB6060/1024=225M 一个月理论值可上传225M2430/1024=158G 折算成实际值 158×3/4=118G 这样算起来比一般的30G的虚拟主机流量大多了,

另外:

安装服务器关闭显示器电源与把显示器数据线从显卡拔除,是不是一样省电?能否设置安装后不要显卡,好像无显卡BIOS会报警出错?有对这方面的了解欢迎指点....真想再把功率减低在减低

(2008-8-14)开启BIOS中的HDD S.M.A.R.T. Capability

编辑文章 没有评论 :

在BIOS中发现了HDD S.M.A.R.T.Capability选项,对这个不是很了解,对于我们现在的电脑来说,是否应该开启..经过查看相关资料,还是enable好。 本文HTML永久地址doc

相关资料引用一下:

S.M.A.R.T.的全称是Self-Monitoring,Analysis and Reporting Technology,翻译成中文就是硬盘的“自我监测,分析与报告技术”。该技术主要是为了排除硬盘中可预测的机械性故障(不可预测的故障包括有硬盘电路板质量问题导致的损坏,来自外界力量的冲击等等),据统计这类可预测的故障大约占硬盘故障总数的百分之六十以上,因此S.M.A.R.T.技术力求做到在这类故障发生之前提供警告,从而保护数据内容不受损失。

在主板,硬盘以及操作系统都支持S.M.A.R.T.技术并且该技术默认开启的的情况下,S.M.A.R.T.可以监视硬盘磁头离盘片的距离,控制电路的工作状态以及数据的传输速率等等。在不良状态出现时S.M.A.R.T.技术能够在屏幕上显示类似如下的信息:
“WARNING:IMMEDIATLY BACKUP YOUR DATA AND REPLACE YOUR HARD DISK DRIVE,A FAILURE MAY BE IMMINENT.”(警告:立刻备份你的数据同时更换硬盘驱动器,可能有错误出现。)这样的信息内容往往还包括一个设备出错原因以及出错区域的详细说明。在收到类似这样的信息之后用户就该保持警惕了,因为硬盘的故障及有可能来临。在这个时候用户应该立刻停止正在运行的程序,保存正在编辑的文件然后利用能够实现的办法尽快备份所有重要数据。
S.M.A.R.T.技术目前已经成为一种国际标准。作为一种最基本,最底层的硬盘保护技术,S.M.A.R.T.已经被统一应用在现有的个人计算机设备上,而目前主流的硬盘产品例如西数鱼子酱系列,迈拓金钻系列等也提供了对该技术的支持。不支持S.M.A.R.T.技术的硬件产品在现在看来是不可想象的,笔者在这里建议大家都在计算机的BIOS设置里打开相关的S.M.A.R.T.选项。可以看到,S.M.A.R.T.技术的确以低成本,高效率的方式给用户的数据带来了最基本的保障。

(2008-8-14)BIOS中的PWRON After PWR-Fai含义

编辑文章 没有评论 :

本文HTML永久地址doc

今天仔细看了一下主板的BIOS,发现在Power Management Setup项目中有个PWRON After PWR-Fai不太理解,查看了一下主板的手册,原来解释如下:

PWRON After PWR-Fai有三个选项:分别为: Off : Always in off state when AC back
On:Always power on system when AC back
Former-Sts:System power on depends on the states before AC lost
对于服务器来讲,PWRON After PWR-Fail设置为Former-Sts很重要!停电时,UPS管理软件(譬如WinPower)可以帮你正常关闭系统,来电时,自动开机就要靠把PWRON After PWR-Fail设置为Former-Sts了。

备注:有些BISO选项名字是:Restore On AC/Power Loss,里面的设置是一样的。