随笔 - 12, 文章 - 0, 评论 - 5, 引用 - 0
数据加载中……

2012年7月21日

esxi 中两台vesx vmkernel不能通信

在一台DELL R710上安装了esxi5.0,并部署了两台esxi5.0的VM,名为vesxA,vesxB.

并在两台vesx上分别创建了vmkernel,连接到同一vSwitch,完成后,发现两台vesx间不能用vmkernel通信。

 

后请教有经验的同事,说是虚中虚需要在vSwitch中开启 混杂模式,经测试问题解决。

 

但是为什么呢?

 

请教高人得出答案:

 

由于vSwitch中的MAC TABLE记录只能从虚拟机的.vmx文件中读取。而.vmx中记录的MAC是虚拟机的网卡的MAC,当我们新建了一个vmkernel port后,生成的MAC并没有写入.vmx。所以当vSwitch 收到关于vmkernel port后,发现没有相关MAC记录,就会把包丢弃。

有人会问,交换机不是有Flooding功能么?

估计是由于vSwitch节省资源开销的原因,没有使用这个功能,所以这个时候就需要打开混杂模式,将vSwitch变成vHUB.

posted @ 2012-07-26 22:36 拼搏 阅读(1982) | 评论 (1)编辑 收藏

Suse Linux开启FTP服务

一、配置/etc/vsftpd.conf文件

 

1、vi /etc/vsftpd.conf

 

2、修改如下配置项

 

 anonymous_enable=YES  改成 anonymous_enable=NO   // 不启用匿名访问

 

 #local_enable=YES           改成 local_enable=YES             // 开启本地用户登录服务

 

 #write_enable=YES          改成 write_enable=YES            // 开启任何用户的写权限

 

二、配置/etc/ftpusers文件

 

1、vi  /etc/ftpusers

 

2、该文件中列出的用户是禁止使用FTP登录的,如果要使这些用户通过FTP登录,在用户前面加上#

 

三、重启FTP服务

 
service vsftpd restart

posted @ 2012-07-26 22:35 拼搏 阅读(9465) | 评论 (0)编辑 收藏

Myeclipse启动不了的解决方法

   我们在开发过程中经常在加载大工程时由于项目很大,导致编译时间很长。或是其他原因导致进度条有时候一直在不停地跑,占用了大量内存,在无奈之下直接将进程kill掉,当再次打开,这时候悲剧的事情发生了 。 
    发现MyEclipse启动不了了,进程的内存大小永远都是恒定值。陷入了一个纠结中。 

这里就说一下在工作经常遇到这样的问题是怎样解决的: 

环境说明 
IDE版本: Myecplise6.0(其他版本方法相同) 
安装路径:D:\dev_IDE\myeclipse 
工作空间:D:\dev_IDE\myeclipse\workspace 

方法一:修改工作空间 
    在刚启动Myeclipse的时候会有一个选择工作空间的地方。换一个新的工作空间即可,若是原来将默认工作空间勾中了,没有出来,就去你的MyEclipse安装路径中(如:D:\dev_IDE\myeclipse\eclipse\configuration\.settings),里面有个org.eclipse.ui.ide.prefs文件,将里面的SHOW_WORKSPACE_SELECTION_DIALOG修改为true即可。 
    这样做有个坏处,就是需要你重新import你的工程,需要重新编译,需要你养成经常备份的习惯。 

方法二:删除错误编译信息 
    这个方法最近才发现,当你由于在编译工程期间将进程kill掉以后,就会有编译加载“内容”出错,导致在启动的时候无法解析这个“内容”,所以要将该内容清除。如,当你的工程名为“TestProject”,在安装文件夹中(D:\dev_IDE\myeclipse\workspace\.metadata\.plugins\org.eclipse.core.resources\.projects\TestProject),有两个文件.markers和.markers.snap,将这两个文件删除。重启Myeclipse,OK了。  

posted @ 2012-07-26 22:34 拼搏 阅读(29939) | 评论 (3)编辑 收藏

三十而立的人生准则,会有更新

第一条: 
    学习是和我的社会地位、收入等挂钩,学习是一种最好的投资。 
第二条: 
    时间管理不是让我在有限的时间里面做更多的事,而是让我在把时间都放在有投资时间里面,去掉不必要做的事,做有投资价值的事(就是很重要但不紧急的事)。比如:锻炼身体,每天锻炼一小时,健康快乐生活一辈子,幸福一辈人。 
第三条: 
    这个世界上不是什么事情都是非黑既白,有很多灰色地带的,为生存有时还会踩界。 
第四条: 
    in:out=1:1 

posted @ 2012-07-21 22:24 拼搏 阅读(1226) | 评论 (0)编辑 收藏

与JDK奋斗的一上午

话说本人也是手欠啊,操作系统是Win7的前几天无法识别自己的移动硬盘,于是我就还原系统了,JDK安装在D盘。当时还原完就直接将以前安装在D盘的程序文件夹全部删除了。 
然后就是各位熟知的悲剧了,无论怎么重新安装都不行了,我也把注册表里面几乎所有的方法都尝试过了,都不行。查看了网上。总结来看有以下几种“偏方”: 
1、删除注册表里面所有和Java相关的表项 ---------事实上我试过了,但是很不幸,我把有Java的都删了大半,但是我这里没用 

2、关闭windows的windows installer功能打开命令行 ,输入msiexec /unregserver 
重新下载一个 windows installer,重新安装一遍然后再启用就好了                 再输入msiexec /regserver 

3、什么360啊,完美卸载啊都无法删除。 

4、这就是大救星啊...去下一个window  installer  clean up ,打开软件,然后把里面关于JDK的项删除。 

终于可以重新安装JDK了。  

posted @ 2012-07-21 22:24 拼搏 阅读(1177) | 评论 (0)编辑 收藏

设计模式--状态模式(State)

前几天由于忙工作上的事情,每天加班到10点左右才回家,回到家就没有再开电脑更新东西,今天早了一些回家,开始继续更新东西,今天要写的是状态模式,哦,对于一个没有状态的人来说,写状态模式,不知道会写成什么样子,反正是一起讨论用嘛,能把我所知道的清楚表达出来已经很心满意足啦。在理解状态模式的时候,我总觉得它和策略模式很像很像,有人说它们是孪生兄弟,那我们现在看看状态模式到底是一个什么样的东西。

状态模式是对象的一个行为模式,它允许一个对象在其内部状态改变的时候改变其行为,这个对象看上去就像改了了它的类一样。

下图是关于红绿灯转换的一个实现类图,具体的转换是这样子的,在初始的情况下,设定一个灯的状态,比如是绿灯,那么灯的下一个状态则是黄灯,紧接着是红灯,然后再是绿灯,依次循环;通过改变灯的状态,改变其行为。

下面是这个类图的实现代码:

package com.plabmedia.state;

public interface LightState {

/**
* 打印当前的状态
*/
public void print(Light light);

}

package com.plabmedia.state;

public class RedLight implements LightState{

@Override
public void print(Light light) {
System.out.println("current state is red");
light.setState(new GreenLight());
}

}

package com.plabmedia.state;

public class YellowLight implements LightState{

@Override
public void print(Light light) {
System.out.println("current state is yellow");
light.setState(new RedLight());
}

}

package com.plabmedia.state;

public class GreenLight implements LightState {

@Override
public void print(Light light) {
System.out.println("current state is green");
light.setState(new YellowLight());
}

}

package com.plabmedia.state;

public class Light {

private LightState state;

public LightState getState() {
return state;
}

public void setState(LightState state) {
this.state = state;
}

public void print(){
state.print(this);
}

public Light(LightState state){
this.state = state;
}

}

package com.plabmedia.state;

public class Client {

public static void main(String args[]){
Light light = new Light(new GreenLight());
light.print();
light.print();
light.print();
light.print();
light.print();
light.print();
}

}

运行结果:

current state is green
current state is yellow
current state is red
current state is green
current state is yellow
current state is red

上面是对状态模式一个小小的实现,这个实现也仅仅是认识级的,在我们实际应用中,如果用到状态模式,应该比这个要负责的多,只是基本的结构是相似的。那我们下面针对状态模式做一些讨论。

1.在什么情况下使用状态模式:

  • 一个对象的行为依赖于它所处的状态,对象的行为必须随着其状态的改变而改变;
  • 需要多多重条件转移语句进行演化的时候,可以把每个分支封装成一个状态类;现在写代码的时候,我是不太喜欢用条件转移语句,特别是最好的那个else语句,我觉得它承担的东西太多了,前面不满足的情况它都要来处理,凭什么啊。
2.状态模式要注意的地方:
  • 谁来定义状态的变化:客户端还是状态内部决定?这要看当时应用的环境,如果状态的变化是固定的,我觉得可以再客户端进行设定;如果状态的变化依赖于前一个状态,比如在工作流系统中,当前状态是依赖于前一个状态的,这需要状态内部来觉得。
  • 状态对象创建时机:需要的时候创建?还是事先创建好所有的对象,供需要的时候调用?这要分系统需要来决定,如果一个系统,状态变化的顺序固定,不那么频繁,则可以在需要的时候创建所需要的对象;否则,对于频繁变化的状态,从性能上将,还是首先创建好各个状态对象,供需要时调用。
  • 可以把环境类传到具体的状态类中,状态类在需要的时候调用环境类,比如示例中的样子,其实在每个状态类里面,也可以直接调用环境类的print方法,这样看来,Client只需要初始化环境类,然后就可以看到它的状态在不停地变化。
3.状态模式与策略模式的区别:
我粗俗的说一些,从我的理解的基础上,二者之间的区别在于状态模式在集体作战,而策略模式是单兵作战,怎么说呢?状态模式因为其内部状态的改变会有不同的行为出现,而对于策略模式,只要客户端选中了一种策略,在整个生命周期内,都是这种策略。所以,在区分使用状态模式和策略模式的时候,主要是看系统有没有状态的变化,如果系统在整个生命周期内,只有一种状态,那很好,选择策略模式;如果系统在整个过程中,状态多样性,那需要选择状态模式。
先写这么多吧,好没有状态啊,希望大家都抽出时间一起讨论,说说自己对状态模式的看法。

posted @ 2012-07-21 22:23 拼搏 阅读(1008) | 评论 (0)编辑 收藏