VMware - ESXi

Cloud/VMware 2016. 8. 3. 08:09

#ESXi

--------------


1. ESX

- vmware OS : CentOS 계열을 기반으로 vmware 의 하이퍼바이저를 지원하는 OS

- 현재 6 버전 까지 나왔다


2. ESXi

- vmware 의 하이퍼바이저(서버 가상화를 지원)

- 동작

. Virtual Machine 을 제어한다

        . 조인된(제공된) physical hardware 자원을 VM 에 제공/제어 한다


3. ESXi 의 Memory 관리

    - 메로리 종류

    . allocate memory : 할당할 수 있다면 제공한다 no guarantee

    . reservation memory : 반드시 제공한다 guarantee

        swap size = allocate memory - reservation memory

    - 전체 VM 의 총 MEM 합은 ESXi 가 가지고 있는 물리적 메모리 이상의 메모리를 부여할 수 있다 ??

    . but ESXi 가 남는 memory 가 없다면 instance 를 start 할 수 없다

    . 실제 사용하는 MEM 의 총합은 ESXi 가 가지고 있는 물리적 메모리를 넘길 수 없다

    - 주요 기술 http://www.simongreaves.co.uk/vmware-virtual-machine-memory-guide/

    . balloning : VM 의 free / idle(잡혀있지만 사용중이지 않음) 메로리에 대한 회수 필요한 VM 에 제공한다

. compression : balloning 이후에 동작한다

. swapping : compression 으로도 memory 할당이 어려울 경우, disk space file act as memory


4. ESXi 의 vm 생성에 해야하는 선택들

    - harddisk 선택 (ESXi 가 선택한 하드웨어를 제공해준다)

    - Virtual Machine Version 선택

    - OS 선택(하드웨어가 먼저다 > 하드웨어에 따라 동작할 수 있는 OS 가 제한된다??)

    - CPU 선택(각 vm 마다 최대 8 core)

    . 1 core = 1LCPU(logical CPU) = 1 vCPU = 1 logical segment

    - MEM 선택

    - network 선택(각 vm 마다 최대 10 개 선택 가능)

    - SCSI 선택

    - Disk 선택 http://jangpd007.tistory.com/181

    . thick Provision : dedicate 하게 client 에게 제공한다

        .. lazy : 빠르게 비워지는 씩 프로비저닝

      .. eager : 느리게 비워지는 씩 프로비저닝

    . thin Provision : ballooning

      .. block allocation - 얼마나 storage 를 사용할 것인가? not happen

      .. zero filling - format(initionlization) ? not happen

      .. input / output 이 많다면 좋은방법은 아니다


5. vm 생성시 만들어지는 파일들

    - {{vm_name}}.vmx : main config file

    - {{vm_name}}.vmx~ : instance 의 메인 config 파일 의 현재상태 값 저장

    - {{vm_name}}.vswp : running intance 에 대한 정보가 memory 형태로 저장하고 있다 >> stop instance 의 경우 없다

    - {{vm_name}}.vmdk: description (kb)

    - {{vm_name}}.flat.vmdk : data (GB)

    - {{vm_name}}.vmxf : workstation 간 이동시에 필요하다 (application 하이퍼바이져...)

    - {{vm_name}}.log : vm 의 동작을 기록한다

    - {{vm_name}}.nvram : vm 의 BIOS 설정 기록

    - vmx.{{vm_name}}.vswp : vm 을 관리하기워한 overhead swap 을 저장한다


6. Templates & clone : 생성된 custom VM 을 관리하는 방법

    - clone : exact same copy >> ip, windows SID, license 같게 됨으로 문제가 된다

windows 는 sysprep 를 제공하여 포멧없이 타 컴퓨터로 하드이식 한다

    - Templates : default form 을 제공하여 쉽게 VM 을 생성하도록 한다

'Cloud > VMware' 카테고리의 다른 글

VMware - storage  (0) 2016.08.09
VMware - NSX  (0) 2016.08.09
VMware - Snapshot, Vapps, Resource Pool, View  (0) 2016.08.08
VMware - network  (0) 2016.08.04
VMware 서비스 소개  (0) 2016.08.03
Posted by 감각적신사
,

1. SDDC : Software Defined Data Center

  - 가상화 resource 를 관리해주는 공간

  - 하드웨어의 의존성 없이 소프트웨어 수준에서 컨트롤 할 수 있는 데이터 센터

  - 가격 / 시간 의 이점이 있다


2. vSphere : server 가상화

 - CPU

 - Memory


3. NSX : network 가상화


4. vSAN : storage 가상화

'Cloud > VMware' 카테고리의 다른 글

VMware - storage  (0) 2016.08.09
VMware - NSX  (0) 2016.08.09
VMware - Snapshot, Vapps, Resource Pool, View  (0) 2016.08.08
VMware - network  (0) 2016.08.04
VMware - ESXi  (0) 2016.08.03
Posted by 감각적신사
,

java client of couchbase  


------------


1. 자바 클라이언트 적용  

- pom.xml 에 관련 dependency 추가  

-

    <dependency>

      <groupId>com.couchbase.client</groupId>

      <artifactId>couchbase-client</artifactId>

      <version>1.2.3</version>

    </dependency>

  - client 호출  

  - 

  public CouchbaseClient getCouchbaseClient(){

    CouchbaseClient couchbaseClient = null;

   

    ArrayList<URI> nodes = new ArrayList<URI>();

    

    // Add one or more nodes of your cluster (exchange the IP with yours)

    nodes.add(URI.create("http://lvm001:8091/pools"));

    

    try {

    couchbaseClient = new CouchbaseClient(nodes, "default", "");

    } catch (Exception e) {

    System.err.println("Error connecting to Couchbase: " + e.getMessage());

    System.exit(1);

    }

   

    return couchbaseClient;

 }

    

2. 자바 클라이언트를 통한 read/write to couchbase  

    - data 저장방식  

- java object : java 에서 생성한 object 그대로 입출력, admin-web 에서 json document 형태로 확인이 가능  

- json object : java object 를 json 형태의 object 로 변환하여 입출력, admin-web 에서 json document 형태로 확인이 가능  

- string : java object 를 string 형태로 변환하여 입출력, admin-web 에서 json document 형태로 확인 불가  

    - example  

    - java object  

        public void setObject(String id, CouchbaseVO couchbaseVO){  

      couchbaseClient.add(id, couchbaseVO);  

      }  

      public CouchbaseVO getObject(String id){

      CouchbaseVO couchbaseVO = null;  

      couchbaseVO = (CouchbaseVO)couchbaseClient.get(id);  

      return couchbaseVO;  

      }

    - json obejct  

        public void setJsonObject(String id, CouchbaseVO couchbaseVO){

      Gson gson = new Gson();  

      couchbaseClient.set(id, gson.toJson(couchbaseVO));  

        }

        public CouchbaseVO getJsonObject(String id){  

        Gson gson = new Gson();  

        CouchbaseVO couchbaseVO = null;  

        couchbaseVO = gson.fromJson((String)couchbaseClient.get(id), CouchbaseVO.class);  

        return couchbaseVO;  

        }

    - string   

        public void setString(String id, CouchbaseVO couchbaseVO){  

            couchbaseClient.set(id, couchbaseVO.toString());  

        }   

        public CouchbaseVO getString(String id){  

        CouchbaseVO couchbaseVO = null;  

        String value = (String) couchbaseClient.get(id);      

        couchbaseVO = CouchbaseVO.convert(value);       

        return couchbaseVO;      

        }   

  

      - 비교

- write : string > java == json  

- read : string > java == json  

- 큰 차이가 존재하지는 않았으나 string 타입으로 처리하는 것이 빠른 속도를 내는 것으로 보였다  

- but  

- string 타입은 web 상으로 값이 구분이 안되기 때문에 잘 데이터 확인이 필요한 수준을 판단해야 한다  

- object 를 string 타입으로 잘 변환할 수 있는 java code 를 구현해야 한다

'Nosql > couchbase' 카테고리의 다른 글

couchbase 설치  (0) 2016.08.01
couchbase 소개  (0) 2016.08.01
Posted by 감각적신사
,