2014年3月17日星期一

快速实验win2003NLB负载均衡

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
快速实验win2003NLB负载均衡  阅读原文»

用户名:阿蒙爱吹牛
文章数:18
评论数:20
访问量:5399
无忧币:184
博客积分:196
博客等级:2
注册日期:2013-01-30

快速实验win2003NLB负载均衡

客户的web服务器是2003系统,为了保证业务的正常运行,一直有另一台相同的web服务器做冷备。然而冷备的缺点就是假如生产机宕掉或者服务停掉,就需要手工的将冷备的机器切换上线;这样便造成了业务正常运行的断点。

为保证业务的正常连续运行,需要做负载均衡同时也是双机热备,此次先在非生产环境做好实验。

一、环境描述:

VMware Workstation版本:10.0.0 build-1295980

操作系统:win2003企业版

每台虚机需要两块网卡,一块网卡用于绑定群集ip,实验中称为公网网卡;另一块用于节点间相互通讯,试验中称为内网网卡。

计算机a:公网地址:192.168.137.19

内网地址:100.0.0.1

计算机b:公网地址:192.168.137.29

内网地址:100.0.0.2

集群ip地址:192.168.137.39

两台虚机的管理员 Administrator密码需一致,不能为空,否则会在添加主机到群集时需添加用户名/密码,出现未知错误。

二、具体实施

1、先做好一台win2003的虚拟机,需要注意的是网卡设置成桥接模式,存放虚机的文件夹命名为cp1

2、复制做好的虚机

wKioL1MllZ7wiRqdAAA3Z7omoYI642.jpg

3、打开虚机1,需再添加一块网卡,同样是桥接模式。

wKioL1MllfHzVzLrAAJDkgY-KzI366.jpg

4、打开虚机2(即复制过的虚机),需先添加两块网卡,同样是桥接模式。然后再把原先的网卡删掉。

5、开机,提示如下选项时,选择复制

wKiom1MllkSgr546AAEd5a1NXBc295.jpg

6配置管理员密码并安装IIS,记得选择asp.net,否则容易出错误。

wKioL1MllkLSXOgzAAG3y7alnW0247.jpg

7、配置网卡地址,不要选择网络负载平衡

wKiom1Mllomz1N98AAIHKwgEVmI451.jpg

计算机a的地址

wKioL1MlloiRQfwiAAEizMWzsV0256.jpg

计算机b的地址

wKiom1MllvjCAwN5AAGpI-fsieE407.jpg

8、打开网络负载平衡管理器

wKioL1MllvLA-cnqAAM1k-xeOnw692.jpg

9、选择新建

wKiom1MllzmjgyMwAALKgkailrk337.jpg

10、注意群集参数选择多播

wKioL1MllzbQYzYQAAFWUpw2JwI057.jpg

11、默认下一步

wKioL1MllySSD70TAAEY_oQbEgo879.jpg

12、将默认的这条规则去掉

wKiom1Mll32CS2QSAAFo5aa10UY553.jpg

13、输入本机的内网网卡地址,选择公网网卡作为群集的网卡。

wKiom1Mll5XhWjlZAAFRpNHwVas807.jpg

14、优先表示符的意思是机器的优先替代顺序,1号机宕掉的话2号机会替代上来,以此类推。

wKioL1Mll4uiFDaRAAE8sZIc-Gk750.jpg

15、点击"完成"后,等待配置结果。

wKiom1Mll9WxGy9yAAHn4gDZO1A642.jpgOpenGL(试用篇)——第一个OpenGL程序(2)  阅读原文»

OpenGL(试用篇)――第一个OpenGL程序(2)

2画个三角形

绘制三角形时,要用到顶点缓存(VBO)的知识。个人感觉,这部分已经是GL比较中级的知识了。所以这里不做详细解释,也不拿VBO和顶点数组(VA)和显示列表作对比。我觉得,像GL这种实践性很强的技术,还是先动手把效果实现了再说。《OpenGL超级宝典》之所以提供GLTools,就是想先把复杂的原理屏蔽掉,让初学者能快速实现效果,随着程序写的越多,有些原理自然而然就理解了。否则,一开始就灌输那么多原理的东西,但连个最基本的三角形都画不出来,我想大多数人都会很快失去兴趣,尤其是像DirectXOpenGL这种偏底层的技术。

所以,这里我只简单说一下VBO的作用。VBO全名Vertex Buffer Object――顶点缓存对象。它的作用就是存储顶点的一系列属性,比如顶点的位置,颜色,法线,纹理坐标等等。GL在绘制的过程中,就是根据VBO的数据把图形画出来。

2.1顶点,快到碗里来~

创建VBO

既然,VBO是存储顶点的属性,那首先得有碗吧。

所以,第一步就是创建VBO

voidglGenBuffers(GLsizein,GLuint*buffers);

n:要产生的VBO的数量

buffers:存储VBO的句柄。

PSGLsizei=intGLuint= unsignedint

有人会问,干嘛这么麻烦,直接用int不就好了。OpenGL是跨平台的API,所以要兼顾各个平台,所以自己重新定义了类型。这个知道就行,建议养成用GL专有类型的好习惯。

绑定VBO

voidglBindBuffer(GLenum target,GLuint buffer);

绑定一个缓冲区对象。

target:可能取值是:GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.

我们现在主要使用GL_ARRAY_BUFFER GL_ELEMENT_ARRAY_BUFFER

GL_ARRAY_BUFFER用于保存之前说的,顶点的各种属性

GL_ELEMENT_ARRAY_BUFFER用于保存顶点索引,这个在以后用顶点索引模型绘制时会用到。

当进行绑定之后,以前的绑定就失效了。

在绑定的同时,也将该缓存设置成当前缓存。GL对缓存的一切操作,都是对当前缓存有效。

PS这么做的原因,是因为OpenGL采用状态机的模式。glBindBuffer就是讲GL的缓存模式切换到当前缓存。可能,习惯面向对象的人不习惯这种模式。GL是一种C语言API,所以GL中并没有真正的对象改变。GL中的对象,实际上就是一个int类型的标识符,对于熟悉Windows编程的朋友来说,也就是所谓的句柄。所以,GL要对使用或者改变某对象,采用的就是绑定该对象句柄的方式。而不是,C++的真正类,可以直接调用对象的成员方法。

VBO填充数据

选择好要操作的VBO之后,就要为VBO装数据,这里的数据,可以是顶点位置,顶点颜色等等

voidglBufferData(GLenum target,GLsizeiptr size,constGLvoid * data,GLenum usage);

target和之前glBindBuffer中的target含义是一样的。

size填充数据的字节数,注意是字节数,不是个数

data:具体的数据。通常用数组

usage:缓存区的用途。当不确定用途时,使用GL_DYNAMIC_DRAW是一个比较安全的值。

开始画了

准备工作都做好了,现在就可以开画了。

我们画的三角形要到了顶点的两个属性:位置和颜色。

所以用到了两个VBO,我们要创建两个VBO

首先定义两个全局变量

init()方法内,添加如下代码

glGenBuffers(2, vbo);
posBuf = vbo[0];
colorBuf = vbo[1];

然后,就是绘制三角形的代码了。

首先在display内,在glClear()glSwapBuffer()之间,添加如下代码。

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
GLfloat verts[] = {
GLfloat colors[]

阅读更多内容

没有评论:

发表评论