月度归档:2015年01月

解决域名DNS解析的故障

在实际应用过程中可能会遇到DNS解析错误的问题,就是说当我们访问一个域名时无法完成将其解析到IP地址的工作,而直接输入网站IP却可以正常访问,这就是因为DNS解析出现故障造成的。以下是基本的排除DNS解析故障的方法。

一、什么是DNS解析故障?

由于IP地址信息不太好记忆,所以网络中出现了域名这个名字,在访问时我们这需要输入这个好记忆的域名即可,网络中会存在着自动将相应的域名解析成IP地址的服务器,这就是DNS服务器。能够实现DNS解析功能的机器可以是自己的计算机也可以是网络中的一台计算机,不过当DNS解析出现错误,例如把一个域名解析成一个错误的IP地址,或者根本不知道某个域名对应的IP地址是什么时,我们就无法通过域名访问相应的站点了,这就是DNS解析故障。

出现DNS解析故障最大的症状就是访问站点对应的IP地址没有问题,然而访问他的域名就会出现错误。

二、如何解决DNS解析故障:

当我们的计算机出现了DNS解析故障后不要着急,解决的方法也很简单。

(1)用nslookup来判断是否真的是DNS解析故障:

要想百分之百判断是否为DNS解析故障就需要通过系统自带的NSLOOKUP来解决了。

第一步:确认自己的系统是windows 2000和windows xp以上操作系统,然后通过“开始->运行->输入CMD”后回车进入命令行模式。

第二步:输入nslookup命令后回车,将进入DNS解析查询界面。

第三步:命令行窗口中会显示出当前系统所使用的DNS服务器地址。

第四步:接下来输入你无法访问的站点对应的域名。假如不能访问的话,那么DNS解析应该是不能够正常进行的。我们会收到DNS request timed out,timeout was 2 seconds的提示信息。这说明我们的计算机确实出现了DNS解析故障。

小提示:如果DNS解析正常的话,会反馈回正确的IP地址。

(2)查询Dns服务器工作是否正常:

这时候我们就要看看自己计算机使用的DNS地址是多少了,并且查询他的运行情况。

第一步:确认自己的系统是windows 2000和windows xp以上操作系统,然后通过“开始->运行->输入CMD”后回车进入命令行模式。

第二步:输入ipconfig /all命令来查询网络参数。

第三步:在ipconfig /all显示信息中我们能够看到一个地方写着DNS SERVERS,这个就是我们的DNS服务器地址。

第四步:如果在DNS服务器处显示的是自己公司的内部网络地址,那么说明你们公司的DNS解析工作是交给公司内部的DNS服务器来完成的,这时我们需要检查这个DNS服务器,在DNS服务器上进行nslookup操作看是否可以正常解析。解决 Dns服务器上的DNS服务故障,一般来说问题也能够解决。

(3)清除DNS缓存信息法:

当计算机对域名访问时并不是每次访问都需要向DNS服务器寻求帮助的,一般来说当解析工作完成一次后,该解析条目会保存在计算机的DNS缓存列表中,如果这时DNS解析出现更改变动的话,由于DNS缓存列表信息没有改变,在计算机对该域名访问时仍然不会连接Dns服务器获取最新解析信息,会根据自己计算机上保存的缓存对应关系来解析,这样就会出现DNS解析故障。这时我们应该通过清除DNS缓存的命令来解决故障。

第一步:通过“开始->运行->输入CMD”进入命令行模式。

第二步:在命令行模式中我们可以看到在ipconfig /?中有一个名为/flushdns的参数,这个就是清除DNS缓存信息的命令。

第三步:执行ipconfig /flushdns命令,当出现“successfully flushed the dns resolver cache”的提示时就说明当前计算机的缓存信息已经被成功清除。

第四步:接下来我们再访问域名时,就会到Dns服务器上获取最新解析地址,再也不会出现因为以前的缓存造成解析错误故障了。

(4)修改HOSTS文件法:

修改HOSTS法就是把HOSTS文件中的DNS解析对应关系进行修改,从而实现正确解析的目的。因为在本地计算机访问某域名时会首先查看本地系统中的HOSTS文件,HOSTS文件中的解析关系优先级大于Dns服务器上的解析关系。

这样当我们希望把某个域名与某IP地址绑定的话,就可以通过在HOSTS文件中添加解析条目来实现。

第一步:通过“开始->搜索”,然后查找名叫hosts的文件。

第二步:当然对于已经知道他的路径的读者可以直接进入c:windows system32driversetc目录中找到HOSTS文件。如果你的系统是windows 2000,那么应该到c:winntsystem32driversetc目录中寻找。

第三步:双击HOSTS文件,然后选择用“记事本”程序将其打开。

第四步:之后我们就会看到HOSTS文件的所有内容了,默认情况下只有一行内容“127.0.0.1 localhost”。(其他前面带有#的行都不是真正的内容,只是帮助信息而已)

第五步:将你希望进行DNS解析的条目添加到HOSTS文件中,具体格式是先写该域名对应的 IP地址,然后空格接域名信息。

第六步:设置完毕后我们访问时就会自动根据是在内网还是外网来解析了。

通过上面介绍的四个步骤,我们就可以解决大部分DNS解析问题了,这几个方法中前三个是循序渐进的一步步解决DNS解析故障,而最后一个修改HOSTS文件则是在实在没有办法的时候,一种权宜之计。当然不管是通过哪种方法,我们都可以解决因为 DNS解析错误带来的网络故障。

为网站提供CDN加速 必须要具备哪些条件

CDN其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络。

1.硬件方面:首先部署cache节点,部署节点要考虑用户所在地理位置的广泛性,不同运营商的差异性。在这里Cache节点覆盖的地域范围,运营商越广效果越好。当然Cache节点的部署也占用了CDN运营的大部分费用。CDN运营的初期每个运营商在一个大的区域内都要有一台节点,比如电信在华南,东北,华东,西北,西南都放一台。

2.软件方面:有了这么多Cache节点,那么这些Cache节点如何响应用户的Web请求呢?另外如何监控,管理这么多的Cache节点的工作状态呢?这就是软件要做的事情了。我总结了一下,CDN运营系统软件分为三大块

a. 高性能http代理服务器,该软件部署在Cache节点,能够高性能的响应用户的http请求。

b. Cache节点监控平台,该软件能够实时监控所有cache节点的工作状态,能够及时对节点变化做出响应。

c. 高性能的DNS服务器,该软件能够实时挑选离请求用户最近的稳定Cache节点响应用户的请求。

对于CDN运营商来说最大的一块投资应该在Cache节点的布局这块,随着节点的增多,这块的投资会直线上升,理想的情况是在每个访问者的家门口都放一个节点,而且随着网络运营商的差异,第一个区域的访问者门口要放多个节点。以ChinaCache为例,它在全国部署了500多个节点,但即便如此,由于访问者来源的广泛性,也不能满足需要。

简单介绍Linux下安装Tomcat的步骤

Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。 Tomcat是稳固的独立的Web服务器与Servlet Container,不过,其Web服务器的功能则不如许多更健全的Web服务器完整,如Apache Web服务器(举例来说,Tomcat没有大量的选择性模块)。不过,Tomcat是自由的开源软件,而且有许多高手致力于其发展。

在安装Tomcat之前需要安装j2sdk(Java 2 Software Development Kit),也就是JDK

◆1、安装JDK的步骤如下:

1)下载j2sdk ,如jdk-6u1-linux-i586-rpm.bin

2)在终端中转到jdk-6u1-linux-i586-rpm.bin所在的目录,输入命令

#chmod +755 jdk-6u1-linux-i586-rpm.bin;//添加执行的权限。

3)执行命令

#./jdk-6u1-linux-i586-rpm.bin;//生成jdk-6u1-linux-i586.rpm的文件。

4)执行命令

#chmod +755 jdk-6u1-linux-i586.rpm;//给jdk-6u1-linux-i586.rpm添加执行的权限。

5)执行命令

#rpm –ivh jdk-6u1-linux-i586.rpm ; //安装jdk。

6)安装界面会出现授权协议,按Enter键接受,把jdk安装在/usr/java/jdk1.6.0_01。

7)设置环境变量,在 /etc/profile中加入如下内容(可以使用vi进行编辑profile):

JAVA_HOME=/usr/java/jdk1.6.0_01
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME

8)在终端执行命令java –version,jdk的版本为jdk1.6.0_01则表示jdk已成功安装。

◆2、安装Tomcat

1)下载apache-tomcat-6.0.10.tar.gz

2)#tar -zxvf apache-tomcat-6.0.10.tar.gz ;//解压

3)#cp -R apache-tomcat-6.0.10 /usr/local/tomcat ;//拷贝apache-tomcat-6.0.10到/usr/local/下并重命名为tomcat

4) /usr/local/tomcat/bin/startup.sh; //启动tomcat

显示 Using CATALINA_BASE: /usr/local/tomcat

Using CATALINA_HOME: /usr/local/tomcat

Using CATALINA_TEMDIR: /usr/local/tomcat/temp

Using JAVA_HOME: /usr/java/jdk1.6.0_01

如何合理选择服务器放置网站

企业网站运营需要选择合理的服务器来支撑,其重要性在这里笔者就不多说了,本文主要分享如何选择服务器放置站点,希望能够帮助到大家:

一、网站优化对选择服务器的要求

1、服务器速度和稳定性直接影响网站的用户体验,也会影响搜索引擎的抓取,所以这是选择服务器最基本的要求。

2、要支持伪静态的服务器

3、最好能够提供IIS日志查询,便于查询网站错误(最好能每个小时一份)

4、要支持服务器后台在线解压功能

5、选择服务器各种限制较少,可以更自主的管理,支持:301转向、404错误页面绑定、url静态化、服务器日志等。

6、另外最好不限制IIS并发数(如果别人用CC攻击就难以预防)

7、选择国内实力比较强的运营商,有问题技术能够在12小时左右解决。

8、同一个服务器不要存在非法暴利行业的站点,避免这些服务器受到攻击时我们也受到影响。

9、服务器支持自动备份那就更好了,发生木马病毒入侵时,可以快速将原数据覆盖。

10、选择安全性比较高,有一定的防御能力的服务器。

二、转移服务器我们需要注意几点要点:

1、把数据进行打包,然后进行转移

2、新服务器一定要进行全国测试,这个可以让网友帮忙测试网站打开速度

3、启用二级域名进行调试或者用这个服务商送的三级域名进行调试

4、进行域名解析,域名解析最好在用户访问量最少的时间

5、解析域名以后,原服务器要保障24小时稳定,原服务器不能关闭,原服务器数据不能清除,因为DNS解析的全球生效时间5分钟到24小时,而且很多的老用户还存有原来IP的缓存,每个省份的DNS解析的时间是不同的;等Baiduspider的抓取完全迁移到新空间后,停止旧空间的服务。

Linux操作系统下配置Netware服务器方法

Netware是Novell公司的网络文件系统,这个东西以前用的很多,现在好像用的不多了,据说也可以支持TCP/IP协议了,不过以前的版本只支持IPX协议,IPX这个协议最近都快被人忘记了。Linux下是可以支持基于IPX协议的Netware服务器的,需要用一个叫mars_nwe的东西来模拟。不过这个东西很古老了,从02年就没有再更新了。从http://www.compu-art.de/mars_nwe/可以下载到最新的版本0.99.pl20,不过编译不过去,我改了一下,编译过去了,不过主要问题是里面关于quota这块儿用的版本比较低,因为quota从2.0以后有了一些的变化(现在是3.13的了),数据结构也有了一些调整,所以我现在还不能确定我的修改是否一定没问题,不过至少连接是没问题了,这块儿还需要再测试。

下面我简单介绍一下怎么配置(基于Asianux Server 3):

1、核心,需要重新编译核心加入ipx和ncpfs的支持,注意ipx里面的“Full internal IPX network”(也就是CONFIG_IPX_INTERN)一定不要选,否则别的机器是连不通的,我就是一开始不知道,结果折腾了很长时间。

2、ipxutils,支持配置ipx的工具,Asianux已经带了,需要确认是否安装了。

3、ncpfs,支持ncpfs的工具,因netware的服务器用的是ncpfs,所以需要安装这个包。

4、mars_nwe,这个就是模拟netware服务的包,配置文件在/etc/nwserv目录下,对nwserv.conf稍做修改就可以,主要修改的地方:

(1)163行的CDROM路径,这个还是老的写法,在Asianux Server 3中不存在/mnt/cdrom目录,你可以把它改成别的目录,或者干脆就建一个/mnt/cdrom目录就OK了。

(2)184行,服务器的名字,这个就是你的netware的服务器的名字,自己起一个就可以了,注意,这个文件中都是以一个数字开头的,数字就表示了这行是什么意思,比如服务器名字是2,所以这行就是“2 servername”,数字2就相当于别的一些配置文件中的类似“ServerName”的关键字。

(3)314行IPX设备以及帧的定义,这个对应的数字是4,第二列表示网络,如果你的网络里面没有其他的netware的服务,那么可以随便写,如果有,只要不和它冲突就可以,第三列是设备,写eth0就可以,第四列是帧,可以写802.3或ethernet_ii,最后一列就是选择Internal router是否处理RIP/SAP,这个我也不是很清楚是否有用,一般就写1就可以,大于6的数字就表示处理。

(4)592行可以设置登录用户,默认就只有一个guest,可以加上linux系统中的用户,写法是:

13 登录用户名 Linux用户名 密码 标识

其中,登录用户名和Linux用户名可以不一样,密码是登录Netware的密码,标识目前只知道有0x1,表示用户不能修改密码。不过默认的这个 guest用户对应的Linux用户是nobody,这个看起来是没有问题,nobody用户也没什么权限,但是因为它没有HOME目录,所以它的 HOME就变成了根目录,这样在Netware的客户端上就会看到整个Linux系统的根目录,所以所有文件都可以看了,虽然只能看,当感觉也很不安全,最好把这个guest用户去掉。

其他的就没什么了,可以就用默认的。

好,下面说说我的测试过程,因为我这边没有无盘终端,所以我就是用的两台Linux机器做的测试,一台做服务器,另外一台做客户端:

服务器配置:

1、安装支持ipx和ncpfs的核心,安装ncpfs和mars_nwe两个包,确认已经安装了ipxutils;

2、加载ipx和ncpfs模块;

3、修改/etc/sysconfig/network-scripts/ifcfg-eth0文件,只保留DEVICE=eth0和ONBOOT=yes两行,这是为了使eth0只支持IPX协议而不支持TCP/IP协议;

4、重新启动/etc/rc.d/init.d/network服务,确认用ifconfig查看eth0不能看到IP了;

5、修改/etc/nwserv/nwserv.conf文件;

6、启动/etc/rc.d/init.d/nwserv服务;

7、用ifconfig命令确认IPX协议已经支持(可以看到IPX/Ethernet 802.3这样的行),如果看不到IPX的行,那么就先关掉nwserv服务,然后运行命令ipx_interface add eth0 802.3,再用ifconfig命令查看,看到IPX之后再启动nwserv服务;

8、运行命令slist应该可以看到服务,名称就是你在/etc/nwserv/nwserv.conf文件中设置的;

OK,到这里,服务器就配置好了,如果不放心,可以先在服务器上自己mount一下自己:

ncpmount -S servername -U username -P password

这里的servername,username和passwork要换成你自己的,可以不加-P参数,这时会要求你输入密码,还有就是用户名,默认设置了 guest的用户,没有密码,可以用这个先试。用户的设置也在/etc/nwserv/nwserv.conf文件中。

就是要mount到的目录,注意,如果你设置了CDROM的路径是/mnt/cdrom,那么千万不要mount到/mnt目录上,因为netware会共享出/mnt/cdrom,如果你mount到/mnt目录下,ncpmount命令就会死掉,因为出现了循环。

客户端的设置:

前四步的设置和服务器一样;

5、使用命令ipx_interface add -p eth0 802.3为eth0增加IPX支持并自动设置IPX地址;注意,这里一定要加一个-p的参数,这表示使用Primary模式,在/proc/net /ipx/interface文件中可以相应的看到Primary那里是写的Yes。否则,在客户端是看不到服务器的。我因为这个问题折腾了好长时间,开始还怀疑是交换机不支持IPX协议,后来换了直连线也不行,后来无意中看到了这个参数,一试就OK了!

6、用命令ifconfig查看,应该可以看到eth0具有类似IPX/Ethernet 802.3这样的行;

7、运行命令slist查看可用服务器,应该可以看到类似下面的行:

Known NetWare File Servers Network Node Address

—————————

MARS 7F000001 000000000001

8、如果你看到上面的服务器就说明客户端已经可以和服务器连接了,我们就可以用命令(比如mount到/opt目录下):

ncpmount -S MARS /opt -U guest

来连接服务器MARS了,运行这条命令后会要求你输入密码,直接回车会随便输入都可以,然后再查看/opt目录就可以看到好多目录,这些目录都可以在/etc/nwserv/nwserv.conf文件中定义,其中HOME目录默认就是服务器的根目录。

在/proc/net/ipx/目录下有一些关于ipx的相关文件,其中interface文件包含系统中IPX界面的配置信息;route文件包含在IPX路由表中出现的路由列表;socket文件包含正在使用的IPX socket的列表。

主机托管到云发展到自建数据中心

在这里,C7数据中心首席执行官Wes Swenson将和我们讨论构建现代数据中心的细节,怎样比较主机托管和云服务,行业发展趋势,以及选择主机托管提供商的一些注意事项。

C7数据中心是一个主机托管提供商,最近在犹他州建造了一座面积95,000平方英尺的数据中心和办公大楼,距离国家安全管理局的新数据中心三英里。C7 在犹他州建立的数据中心包括新的Granite Point II,因为沙漠月牙形的地形很安全、 犹他州有很好的连通性和公共基础设施、该地区的土地和劳动力也相对便宜,电力成本也很低。干燥寒冷的沙漠气候使 C7数据中心每年有九个月可以利用自然环境进行冷却。

为什么主机托管消费者们会把他们的数据中心设备放在犹他州的沙漠,而不是选择距离他们公司30到50英里地方?

Swenson:对于早期的数据中心,如果距离超过30到50英里,那么传输延迟就会成为一个问题。今天,暗光纤和云计算消除了大多数情况下对延迟的担心。有大量的连接通道和软件可用来远程管理数据中心,我们可以做得比以前更好。在过去的15年中,主机托管的概念已经发生了变化。

选择这里,是不是因为犹他州的电费比其它州便宜,让您不再担心新数据中心能耗问题?

Swenson:我们仍然会评估用电量,包括利用沙漠环境的冷空气进行制冷和节能。我们建立了一个高密度数据中心,基于服务器负载情况,我们采用冷行封闭冷却方案。我们能满足功率50到60kW的机架的冷却需求。

感谢犹他州寒冷的空气和充沛的电力条件,我们比典型的主机托管数据中心降低了在30%至40%的运行成本。

您认为IT消费趋势会怎样变化?

Swenson:一般来说,计算机应用的增长率会远远高于收入的增长。企业会重新考虑他们在服务器、路由器和其它硬件设施上的花费。

此外,那些三年前认为不需要IT的企业会发现,IT已经变成了无法回避的要求。通过对统计数据的分析,我们可以得出企业IT发展的几个边界条件,例如:当较小的公司认识到他们需要信息化时,他们会转到云环境。在那里不需要资本支出,例如成本高达2.5到3万美元的Exchange服务器。

如果企业在云上的投入达到每个月十万美元的基准,他们就会转移到主机托管数据中心。因为他们会说:“我们花这么多钱,为什么我们居然不能控制这些硬件和系统?”通常这就是引爆问题的临界点。

对于云提供商,例如亚马逊,你很方便进行付费,有时候你也会为你不需要的功能付钱。尽管你免去了固定资产支出,但外包给公共云其实不一定比拥有硬件省钱……

很多客户都没有支持业务开展所需要的IT技能。他们需要托管服务,而不只是硬件支持服务。这就是C7去年收购一家托管服务提供商的理由。

IT支出最大的领域是什么?

Swenson:好的一面是,托管客户倾向于拥有和维护他们自己的数据中心。但是,如果它是10年前建造的,那样的数据中心在今天只能算是遗迹了。例如,在10年前修建数据中心时,12英寸的活动地板足够了,但是今天我们使用的地板尺寸是36英寸。

托管客户们能更从容应对计算领域未来趋势,因为我们能从广泛的行业和业务规模中收集情报(然后提交给客户参考)。我们透过400多家客户来分析趋势,而不只是一家。

要预测企业内部数据中心的发展动向很难。2008年规划的一个数据中心,其规模会远远超出今天的需要,这都是由于服务器通过虚拟化技术的整合。另一方面,如果您最初的计划是修建5000平方英尺的机房,但最终需要6000平方米英尺,那么改建成本会非常高。

托管客户们也会捆绑购买了自己的网络、冷却和设电源设备。这样可以比内部IT部署节省资金。数据中心在托管规模下工作得更好。你使用托管服务直到2008年,这时你终于建立了自己的10000平方英尺的数据中心。今天,您可以管理具备相同资源的更大的数据中心,这要感谢监控软件和预测分析工具,我们可以定位对增长趋势和潜在的问题。

许多IT团队希望自建数据中心,是否是一个误区?

Swenson:很多公司都会高估他们对服务器设备硬件能力的需求。

我们留意到托管客户们在存储、数据库设施和类似的采购上都能作出合理的选择。但他们应该密切关注关键数据和较少的重要数据,并以不同的方式对待这些群体。当然,筛选哪些数据是关键的,不一定总是需要第二层和三层的信息(根据年限就可以判断了)。企业没有必要为非关键、两年以上的陈旧数据支付额外的保管费用。这些数据需要的服务等级完全可以低于”5个9(99.999%)”.这将大幅减少数据存储的成本。通过消除其中的一个或两个9,你可以削减一半的成本——将旧数据的正常运行时间降低到99.99%或99.9%.

您对未来的发展趋势有什么预计?

Swenson:依托应用程序层故障切换和较高的数据冗余,我认为我们正在向自我愈合云前进。当自我愈合云变成现实,它将取代冗余电源来实现工作负载的可用性。高价的电源冗余措施——电池、 备用电力线路——都将消亡。

对于计算和数据中心功能的整体理解,已在过去五年中大大增加了。现在的企业已经明白他们不需要什么,而要达成他们所希望的目标,就必须在IT架构方面获得帮助。来托管的客户通常都会有类似的故事:“我们需要XYZ的时候却没有了……”他们需要专家、服务等级和责任心来支持IT运营。

Linux下MySQL服务器级优化技巧

普通的MySQL用户利用表创建和索引操作,以及利用查询的编写能够进行的优化。不过,还有一些只能由MySQL管理员和系统管理员来完成的优化,这些管理员在MySQL服务器或运行MySQL的机器上具有控制权。有的服务器参数直接适用于查询处理,可将它们打开。而有的硬件配置问题直接影响查询处理速度,应该对它们进行调整。

磁盘问题

正如前面所述,磁盘寻道是一个性能的大瓶颈。当数据开始增长以致缓存变得不可能时,这个问题变得越来越明显。对大数据库,在那你或多或少地要随机存取数据,你可以依靠你将至少需要一次磁盘寻道来读取并且几次磁盘寻道写入。为了使这个问题最小化,使用有低寻道时间的磁盘。

为了增加可用磁盘轴的数量(并且从而减少寻道开销),符号联接文件到不同磁盘或分割磁盘是可能的。

1、使用符号连接

这意味着你将索引/数据文件符号从正常的数据目录链接到其他磁盘(那也可以被分割的)。这使得寻道和读取时间更好(如果磁盘不用于其他事情)

2、分割

分割意味着你有许多磁盘并把第一块放在第一个磁盘上,在第二块放在第二个磁盘上,并且第n块在第(nmodnumber_of_disks)磁盘上,等等。这意味着,如果你的正常数据大小于分割大小(或完美地排列过),你将得到较好一些的性能。注意,分割是否很依赖于OS和分割大小。因此用不同的分割大小测试你的应用程序。见10.8使用你自己的基准。注意对分割的速度差异很依赖于参数,取决于你如何分割参数和磁盘数量,你可以得出以数量级的不同。注意你必须选择为随机或顺序存取优化。

为了可靠,你可能想要使用袭击RAID0+1(分割+镜像),但是在这种情况下,你将需要2*N个驱动器来保存N个驱动器的数据。如果你有钱,这可能是最好的选择!然而你也可能必须投资一些卷管理软件投资以高效地处理它。

一个好选择是让稍重要的数据(它能再生)上存在RAID0磁盘上,而将确实重要的数据(像主机信息和日志文件)存在一个RAID0+1或RAIDN磁盘上。如果因为更新奇偶位你有许多写入,RAIDN可能是一个问题。

你也可以对数据库使用的文件系统设置参数。一个容易的改变是以noatime选项挂装文件系统。这是它跳过更新在inode中的最后访问时间,而且这将避免一些磁盘寻道。

硬件问题

可利用硬件更有效地改善服务器的性能:

1、在机器中安装更多的内存。这样能够增加服务器的高速缓存和缓冲区的尺寸,使服务器更经常地使用存放在内存中的信息,降低从磁盘取信息的要求。

2、如果有足够的RAM使所有交换在内存文件系统中完成,那么应该重新配置系统,去掉所有磁盘交换设置。否则,即使有足以满足交换的RAM,某些系统仍然要与磁盘进行交换。

3、增加更快的磁盘以减少I/O等待时间。寻道时间是这里决定性能的主要因素。逐字地移动磁头是很慢的,一旦磁头定位,从磁道读块则较快。

4、在将数据重新放到不同设备之前,应该保证了解该系统的装载特性。如果在特定的物理设备上已经有了某些特定的主要活动,将数据库放到该处实际上可能会使性能更坏。例如,不要把数据库移到处理大量Web通信的Web服务器设备上。

5、在设置MySQL时,应该配置其使用静态库而不是共享库。使用共享库的动态二进制系统可节省磁盘空间,但静态二进制系统更快(然而,如果希望装入用户自定义的函数,则不能使用静态二进制系统,因为UDF机制依赖于动态连接)。

服务器参数的选择

服务器有几个能够改变从而影响其操作的参数(或称变量)。系统变量的当前值可以通过执行MySQLadminvaribles命令来检查,其中几个参数主要与查询有关,有必要在此提一下:

delayed_queue_size

此参数在执行其他INSERTDELAYED语句的客户机阻塞以前,确定来自INSERTDELAYED语句的放入队列的行的数目。增加这个参数的值使服务器能从这种请求中接收更多的行,因而客户机可以继续执行而不阻塞。

key_buffer_size

此参数为用来存放索引块的缓冲区尺寸。如果内存多,增加这个值能节省索引创建和修改的时间。较大的值使MySQL能在内存中存储更多的索引块,这样增加了在内存中找到键值而不用读磁盘块的可能性。

在MySQL3.23版及以后的版本中,如果增加了键缓冲区的尺寸,可能还希望用——init-file选项启动服务器。这样能够指定一个服务器启动时执行的SQL语句文件。如果有想要存放在内存中的只读表,可将它们拷贝到索引查找非常快的HEAP表。

如何突破服务器远程管理限制

由于数据中心设施花样繁多,很难使用服务器管理工具进行统一化管理。

随着数据中心的扩张,数据中心经理们依靠远程服务器管理技术扩大其管辖范围——不需要进入机房就能在非常精细的级别管控服务器和系统。即使是现代化的无人值守(lights-out)服务器管理工具,例如Dell的远程访问卡(DRAC)和HP的iLO管理引擎也还是不够完美;IT经理们仍然需要面对共同的困境:缺乏一个全面的远程管理平台。

访问硬件
远程服务器通常需要通过专用的管理硬件或基于IP的键盘、视频显示器和鼠标(KVM)来实现远程访问。这两种方法都有潜在的局限性。综合使用它们来兼顾深层次管理和易用性。

基于硬件的管理平台,例如Dell的集成DRAC或HP的iLO管理引擎可通过 Web 浏览器或命令行界面提供电源管理、 媒体访问和远程服务器控制台访问功能。基于硬件的管理缺点在于硬件上的要求——需要单独的控制卡或功能模块,这些硬件通常仅与特定服务器型号兼容。品牌型号一致的标准化数据中心,这不是什么问题,但对于混合使用多种异构服务器的数据中心,管理工作就会变得更加复杂。

传统KVM交换机需要使用本地线缆来连接用户和服务器IO端口实现切换,因此并不适合用于远程服务器管理目的。数据中心可以使用基于IP的KVM技术封装和交换服务器控制信号,在现有的以太网环境下运作。距离数据中心几百英里以外的技术支持人员可以查看和控制特定的服务器,就如同服务器就在面前一样方便。大多数服务器底板管理控制器(BMC)可以实现电源开关,结合基于IP的KVM设备就可实现对服务器的直接控制。不幸的是,基于IP的KVM不提供任何具体的管理功能,例如专用硬件卡能实现的对服务器物理硬件的深层次管理。例如,基于IP的KVM不会报告服务器的处理器温度或风扇转速。

无人值守(Lights-out)服务器管理工具的局限
别指望远程管理软件工具会向你展示每一台服务器的全部细节,至少展示结果不会如你希望的那么清晰和直观。甚至当该工具揭示出有问题出现,也并不意味着你能直接用这个工具来修复问题。

远程服务器管理工具的图形界面可能缺少你所希望的特性和功能,结果反而使系统看上去更混乱和难以阅读。例如,为了避免视频流量增加网络负载,远程管理工具往往不支持高分辨率的视频显示。显示效果也就受到了限制。

在向远程数据中心推广应用远程管理平台之前,务必进行充分的测试和论证。IT专业人员必须在管理平台上完成彻底的培训,并了解其局限性。IT人员仍然需要现场值守人员的协助,对一些问题进行直接处理。

远程服务器电源
只有在服务器电源实际处于开机状态时,你才可能对其进行远程管理,因此你必须首先确保远端的电源和后备电源都运作正常。不间断电源(UPS)系统是标准配备,在本地公共电力供应中断时可以临时延续供电。UPS电池一般仅能维持几分钟的紧急电力供应——时间只够用来完成服务器关机过程。

有些服务器根本不能(或者不允许)关闭。对于这类要求零停机时间的应用程序可用性级别,请考虑在UPS电池耗尽前就能接管供电的替代电力来源:柴油发电机、当地热电联产设施,诸如太阳能或风力农场或甲烷动力燃料电池组。您可以选择一个完全冗余的公共电力提供商和线路,虽然这对于大多数企业而言有些不切实际。

当电源失效时,远程服务器管理工具并不能帮到你——尤其是电源故障原因是开关面板故障或断路器跳闸的时候。既要安排技术人员远程检查,必要时也需要亲临现场解决问题。

远程联网
您必须使用网络才能管理一台远程服务器,这就需要可靠的互联网连接,网络流量历经您的本地服务提供商、区域骨干网和远程服务提供商。任何网络通信的中断都会妨碍对远程服务器的管理。

远程数据中心的冗余互联网连接是很常见和有用的。真正的冗余必须使用不同运营商的不同线路才能形成。例如,使用一家提供商的T1或T3连接,同时使用另一家商业级电缆提供商的连接作为备份。任何冗余互联网提供商必须包括线路冗余;许多组织只是与不同的互联网提供商签订合同,却让多家提供商共用相同的物理线路,这种冗余是不够格的。

您可以部署拨号互联网连接供紧急使用,但通过拨号线路进行远程服务器管理是一项挑战,甚至对最有经验的管理员也一样。

考虑雇用技工,在远程站点当地维护内部网络。一名技术员可以找到导致连接问题的失效路由器,现场发现内部网络适配器或交换机端口问题。这些(物理上的)问题都不是远程管理工具能修复的。

六个不可或缺的SQL Server管理工具

微软SQL Server自带的易用工具能让DBA和开发人员的工作变得更简单。本文将总结6个在接触SQL Server时可以用到的一些最为重要的数据库管理工具。

Business Intelligence Development Studio(BIDS)

微软在SQL Server2005中引入了Business Intelligence Development Studio(BIDS)。 BIDS是一款SQL Server管理工具,它主要的受众对象是那些使用SQL Server集成服务,报表服务和分析服务的开发人员。BIDS包含工程模板以创建cube,报表以及集成服务包。在BIDS中,开发人员可以从集成服务,分析服务和报表服务中创建包含有facet的工程。BIDS可以部署对象以测试服务器,然后将工程的输出应用到生产服务器。BIDS只是微软Visual Studio自带的项目模板,它是特定于SQL Server商业智能的。

SQL Server Data Tools (SSDT)

SQL Server Data Tools(SSDT)是SQL Server BIDS的替代品,是SQL Server2012发布之前的工具。SSDT拥有BIDS的所有功能并且还具有某些新增功能:

数据比较功能,允许在两个数据库之间比较并同步数据。

支持对SQL Server进行单元测试,为SQL Server函数,触发器和存储过程生成单元测试。

对象资源管理器,它可以创建、编辑、删除、重命名表、函数、触发器以及存储过程,还可以执行特定级别的数据库管理任务。

SQL Server Management Studio(SSMS)

微软在SQL Server2005中首次引入SQL Server Management Studio (SSMS)。数据库开发人员使用此 SQL Server管理工具来开发T-SQL查询;创建诸如表、索引、约束、存储过程、函数以及触发器之类的对象;并用来调试T-SQL代码。与此同时,DBA使用SSMS来执行维护工作,例如索引重建,索引重组,备份和恢复,以及安全管理等。还可以用它来为分析服务和管理SQL Server数据库引擎,SQL Server集成服务以及报表服务创建各种脚本。

Reporting Services Configuration Manager(报表服务配置管理器)

Reporting Services Configuration Manager(报表服务配置管理器)可以为报表服务器和报表管理器创建并更改设置。如果你以“install-only”模式安装了SQL Server报表服务,那么在安装完成之后就必须使用报表服务配置管理器来为本地模式配置报表服务器。而如果你是使用“install-and-configure”选项来安装的报表服务器,那么就可以用此SQL Server管理工具来验证并更改已存在的设置。此工具可以配置一个本地或是远程报表服务器实例,还可以配置用以运行此报表服务器服务的服务账户。你可以配置网络服务和报表管理器 URL,还可以创建,配置和管理报表服务器数据库,例如ReportServer和ReportServerTempDB数据库。另外其他的功能包括:

在报表服务器上配置电子邮件设置来以电子邮件附件的形式发送报表。

配置无人执行账户,这样就可以在有预定操作和用户证书不可用的场景下进行远程连接。

备份和恢复或更换对称秘钥可以用来加密连接字符串以及证书。

SQL Server Configuration Manager(SQL Server配置管理器)

SQL Server Configuration Manager (SQL Server配置管理器)可以用来管理所有SQL Server服务。它可以配置诸如共享内存,命名管道以及TCP/IP之类的网络协议。配置管理器还可以从SQL Server客户机器上管理网络连接配置。建议使用此工具来启动、停止、暂停和恢复所有的SQL服务。作为一项最佳实践,应该使用此SQL Server配置工具经常更换服务账户或密码。

SQL Server Installation Center

安装SQL Server之后,可以在配置工具里看到此工具。正如你所看到的重要的SQL Server资源一样,这对于DBA和开发人员们来说是一个非常方便的SQL Server工具。同安装选项一样,其在SQL Server中也提供不同的安装选项。

技术解析:服务器虚拟化后的安全挑战

服务器虚拟化,就是在一台主机上同时运行虚拟出多个操作系统的技术。近些年来,中小企业的信息化建设不断加强,就服务器来看,单机系统部署的利用率一般较低,且部署时间长,无法保证应用系统的可靠性。采用服务器虚拟化技术,可很好地弥补这些不足,因此受到不少中小企业的欢迎。

但实行服务器虚拟化后,企业将面临一些来自安全方面的挑战,具体表现如下:

单点故障

在一台物理服务器上部署承载企业IT应用的多个虚拟服务器时,要提前做好应对物理硬件发生故障的准备。为了避免服务器物理损伤,供电系统、散热系统的故障以及雷电干扰等一些自然灾害可能会给服务器带来的不良后果,最好同时使用另一台物理服务器做镜像备份和冗余设置,虽然增加了虚拟化成本,但当故障发生时,备用服务器能立刻上线运行。

如果条件允许,可为每一台虚拟机映射一个独立的物理磁盘分区,以便将其从逻辑上隔离,起到互不干扰的效果,尤其针对大型企业的服务器集群。当某一块物理硬件出现故障,其对应的应用应该能及时从这台机器上动态迁移到别的机器上。

潜在攻击威胁及病毒侵害

任一台有漏洞的虚拟机遭攻陷,其它的虚拟机也会受到威胁。解决办法要依赖于管理员,因为大多安全隐患就存在于虚拟机系统补丁的落后。及时地更新系统补丁和应用程序补丁,对所允许运行的服务、开放的端口等等应审慎考量,同时,每台虚拟机的安全策略应当针对不同的作用而有所区别。保护物理服务器的稳定安全是安全防范工作的重中之重,毕竟物理服务器是虚拟服务器的根本。

网络构架对安全的防护也很重要,这个体现在各虚拟机的网络独立性上;通过VLAN和不同的lP网段的方式可以实现对各虚拟机的逻辑隔离。另外,管理员还要有明确的监控手段,如果不能了解各个虚拟机之间联系,将面对一个失控的虚拟服务器网络。

针对病毒侵害,若是采取在每台虚拟机上安装杀毒软件或是防木马工具的措施,恐怕会给整个虚拟机系统造成过重的负担,此问题的解决我们得寄希望于虚拟化平台整合的杀毒软件尽早出现。

数据安全的保护

虚拟机终究是存储在实体硬盘中的几个文件,一旦有人取得存储硬盘的权限,就能将这些文件复制到其它装置,泄露出去。因此,每台虚拟服务器,都必需实施相应的备份策略,对配置文件、虚拟机文件及其中的重要数据都要进行备份。需要做完善的备份计划,包括完整备份、增量备份或差量备份方式。

任何技术都不能全面地解决问题,服务器虚拟化技术同样如此。另外,我们也应该注意到,这些问题都可人为地进行避免;所以,在更为先进的解决方案出现之前,我们应该多采取一些制度规范化的措施,来避免问题的发生。