월요일 7월 23, 2007

1. Project와 Dynamic Resource Management

Solaris 8에서 시작하여 Solaris 10에서 강화된 Project 개념은 Dynamic Resource Management에 활용될 수 있다.

2. Dynamic Resource Management

자원관리(Resource Management)는 한 대의 서버에서 많은 수의 어플리케이션을 동작시키는 환경에서 필수적이다. 어플리케이션들을 각각의 서버에서 독립적으로 수행시키는 경우 비용이 많이 들고, 관리가 용이하지 않다. 또한 어플리케이션이 항상 각 서버의 자원 전체를 사용하는 것은 아니기 때문에 서버의 자원활용률이 낮으므로 비효율적이다. 때문에 서버 통합(Server Consolidation)을 통해 여러 어플리케이션을 한 대의 서버에서 운용하게 되는데, 이 때 필요한 것이 자원관리이다.

한 대의 서버에서 여러 어플리케이션이 운용되는 경우 특정한 어플리케이션이 자원을 독점하거나, 자원의 사용률이 지나치게 높은 경우 어플리케이션들 간에 경쟁이 발생(Race Condition)하게 된다. 때문에 자원을 확보하지 못한 어플리케이션의 경우는 시스템의 응답시간이 늦어지거나 가용성(Availability)이 낮아지게 되는 문제가 생길 수 있다. 따라서  자원관리를 통하여

  • 어플리케이션의 특정 자원에 대한 점유를 제한
  • 우선권을 가진 어플리케이션에 대한 자원의 배분
  • 어플리케이션을 업무부하를 서로 격리

하는 일이 필요하다.

Solaris는 풀(pool)개념을 이용하여 Resource Management를 지원하고 있는데 필요한 작업(project, task, zone)에 필요한 양만큼의 자원(CPU, Memory)등을 동적으로 할당해서 사용할 수 있도록 해준다. 즉 특정 프로젝트나 업무를 만들어서 그 영역에 필요한 만큼 자원을 할당할 수 있는 것이다. 이를 통해 시스템의 업무부하(Workload)를 Zone/Project/Task에 따라 분산하고 각각을 격리시킴으로써 시스템의 가용성을 높여줄 수 있는 것이다.

3. Task

4. Project


 Project는 User 또는 User들의 Task들의 집합을 가리키는 새로운 개념으로, 기존의 사용자 그룹을 지칭하는 Group보다 확장된 개념이다.
기존처럼 User 또는 Group이 될 수도 있고, 특정 User의 특정 Process들의 집합이 될 수도 있고, User A의 Process들과 User B의 Process들의 집합이 될 수도 있다.

 

<http://docs.sun.com>

위와 같이 Process가 모여 Task를 이루고, Task가 모여 Project를 이루고, Project가 모여 Zone을 이룬다고 할 수 있다.

 

5. Project의 활용

솔라리스는 풀(pool)개념을 도입하여 Resource Management를 지원하고 있는데, 필요한 작업(project, task, zone)에 필요한 양만큼의 자원(CPU, Memory)등을 동적으로 할당해서 사용할 수 있도록 해준다. 즉 특정 프로젝트나 업무를 만들어서 그 영역에 필요한 만큼 자원을 할당할 수 있는 것이다. 이를 통해 시스템의 Workload를 Zone/Project/Task에 따라 분산하고 각각을 격리시킴으로써 시스템의 응답성과 가용성을 높여줄 수 있는 것이다.

<http://docs.sun.com>

 

6. Project의 관리

Project를 사용하는 절차는 대략 다음과 같다.

1) Proejct를 만든다.
2) Project에 user가 소속되게 한다. 또는 user를 만들때 Project를 지정해준다.
3) Project에 shared memory max를 의미하는 변수를 변경한다.

projects, newtask, passmgmt, projadd, projmod, projdel, useradd, userdel, usermod 등의 커맨드를 사용할 수 있다.


This blog copyright 2009 by Sangpill Kim