IBM虚拟化技术关键词解释

来源:互联网 发布:解封淘宝账号 编辑:程序博客网 时间:2024/05/01 23:49

PowerVM:IBM Power体系下的虚拟机技术,主要使用微分区和共享处理器池技术实现Power机器/集群的利用率提高。与PowerVM对应的还有Z/VM,目前PowerVM只能提供AIX,i,RedHat Linux的虚拟化?不支持Windows。


IBM® Systems Director:IBM的一个系统管理软件,集成了很多系统管理工具,包括: 发现管理器   , 状态管理器, 配置管理器  , 自动化管理器 , 更新管理器 , 远程访问管理器 , 平台管理器 等等组件。  在Systems Director上层还有一个更强的管理平台Tivoli。严格来说,Systems Director与虚拟化没什么关系,但是IBM在它上面开发了一个Systems Director VMControl 组件,使它能够发现和管理虚拟机了。


IBM CFS(Cloud Foundation Stack): IBM 基础架构云计算平台,IBM 为了发展在云计算领域统一江湖的雄心(野心),开发的一套基于web的API接口,也有一些简单的管理界面。号称可以管理各种虚拟化技术,包括VMware,Xen,KVM,和IBM自身的虚拟化技术的统一管理平台。而且向上提供跟丰富的管理功能和界面,比如:计费,消息,审批流程等等。

不过目前的版本还是存在不少BUG,比如中文支持不好等


CFS开发风格为REST风格,调用函数都是一些WEB服务,返回类型大多数为json字符串。

 

打开esclipse,将Session项目程序导入,就可以开发测试用例:

 

 

程序用例1 :

获得用户列表:

    private String getUsers() {

       HttpClient client = new DefaultHttpClient();

       HttpGet request = new HttpGet("http://localhost:8080/api/users"); //$NON-NLS-1$

 

       request.addHeader("Authorization", "Basic" + this.cfsAuthToken); //$NON-NLS-1$//$NON-NLS-2$

 

       try {

           HttpResponse resp = client.execute(request);

           int rc = resp.getStatusLine().getStatusCode();

 

           if (rc == 200) {

              HttpEntity entity = resp.getEntity();

              if (entity != null) {

                  return EntityUtils.toString(entity);

              }

           }

       } catch (ClientProtocolException e) {

           e.printStackTrace();

       } catch (IOException e) {

           e.printStackTrace();

       }

 

       return null;

    }

 

 

程序用例2:

 

    // 增加用户

    private boolean regUser(String username, String password) {

       HttpClient client = new DefaultHttpClient();

       HttpPost request = new HttpPost("http://localhost:8080/api/users"); //$NON-NLS-1$

       request.addHeader("Content-Type", "application/json"); //$NON-NLS-1$//$NON-NLS-2$

       //request.addHeader("Content-Type", "text/html");

       request.addHeader("Authorization", "Basic" + this.cfsAuthToken); //$NON-NLS-1$//$NON-NLS-2$

       request.setEntity(new EntityTemplate(

              new MyContentProducer(

                      "{\"username\":\"" + username + "\",\"password\":\"" + password + "\",\"isAdmin\":true,\"email\":\"brussell@us.ibm.com\",\"name\":\"Englishname is Zhouxj\",\"timezone\": {\"id\":\"America/Chicago\"},\"locale\": {\"id\":\"en-US\"}}"))); //$NON-NLS-1$

 

       try {

           HttpResponse resp = client.execute(request);

           int rc = resp.getStatusLine().getStatusCode();

 

           if (rc == 200 || rc == 201) {

              HttpEntity entity = resp.getEntity();

              if (entity != null) {

                  System.out

                         .println("return:" + EntityUtils.toString(entity));

              }

              return true;

 

           } else {

              System.err.println("Errorcreate username ."); //$NON-NLS-1$

           }

       } catch (ClientProtocolException e) {

           e.printStackTrace();

       } catch (IOException e) {

           e.printStackTrace();

       }

 

       return false;

    }