월요일 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 등의 커맨드를 사용할 수 있다.


화요일 7월 17, 2007

1. Network Configuration

 Locale, Language 등 각종 옵션을 설정한 뒤 Network Configuration을 설정하게 된다.

 정보를 입력하고 F2 키를 누르면 계속 진행하고, F4 키를 누르면 정보를 다시 입력하게 된다.
 

  • Networked : Yes
  • Use DHCP : No
  • Host name : snoopy
  • IP Address : 192.168.30.70
  • System part of a subnet : Yes
  • Netmask : 255.255.255.0 
  • Enable IPv6 : No
  • Default Rout : Specify one
  • Router IP Address  : 192.168.30.##

과 같이 네트워크 정보를 설정한다. Networked 옵션을 No로 하면 설치중에 네트워크 설정을 하지 않고 설치후 따로 할 수 있다.

 

2. Partitioning

 기본적으로 다음 디렉토리에 대해서 파티션을 나누도록 되어 있다.

 /

 swap

 /export/home/

 

루트 디렉토리인 / 디렉토리의 경우 

 1) / 전체에 대해 하나의 파티션을 적용하는 방법

 2) 서브디렉토리인 /usr, /var, /opt 등에 대해 각각에 파티션을 적용하는 방법

의 두가지 방법으로 파티셔닝을 할 수 있다.  

 각각의 서브디렉토리마다 파티션을 적용하게 되면 특정한 디렉토리와 연결된 파티션에서 오류가 발생한 경우라도 다른 파티션들이 분리되어 있으므로 오류가 발생한 파티션만 복구하면 된다. disk error에 대해서 더 tolerant한 구조를 갖는 것이다. 또한 각각의 파티션에 permission을 적용하여 보안에 더욱 유리한 구조를 갖게할 수 있다. 하지만 특정한 하나의 파티션만 disk full이 발생하여도 시스템 전체가 disk full이 일어나게 되므로 파티션 정책을 잘 수립해야 하는 어려움이 있다. 이번 경우에는 / 전체에 대해 하나의 파티션을 적용하는 첫번째 방법을 채택하였다.

 /swap 파티션의 경우 가상 메모리 사용시 memory page가 file로 저장되는 공간이며, crash dump를 수행하거나 /tmp, /var/tmp 등에 저장되는 파일이 저장되는 공간이다. swap 공간은 보통은 hardware memory용량의 2배를 설정하게 되며(Windows 시스템의 경우는 1.5배),  이번 경우에는 1024Bytes를 설정하였다.

 

3. Autoshutdown

 설치가 진행되면 마지막에 auto-shutdown을 설정할 것인지를 물어오게 된다. auto-shutdown 기능은 사용중이지 않은 시스템이 일정시간이 지나면 hibernation되는 기능으로  시스템을 서버로 사용할 때는 반드시 no로 설정하여야 한다.

 

* 설치 로그를 확인하기 위하여 다음 파일을 참조한다.

# cat /var/sadm/install_data/install_log

1. Disk 공간 확보

  •  Allocate additional disk space for each language that you install.

  •  Allocate additional space in the /var file system if you plan to have your system support printing or mail.

  •  Allocate double the amount of physical memory in the /var file system if you plan to use the crash dump feature savecore on your system
    (crash dump를 시행하면 시스템 구성정보를 swap 파티션에 저장한 뒤 savecore를 통해 /var/crash/userid/unix.##, vmcore.##의 파일을 만들게 되므로 crash dump를 위해서는
    /var 디렉토리의 용량을 확보해야 한다.)

  •  Allocate additional space in the /export or /export/home file system if you plan to provide a home directory file system for users (root 계정 사용자 이외에는 모두 /export/home/userid를 자신의 home directory로 사용하게 된다.)


  •  Allocate space for the Solaris OS software group you want to install.

  •  Allocate an additional 30 percent more disk space for each file system that you create, and create a minimum number of file systems. This leaves room for upgrades to future software release.

 

2. Network 구성정보

  •  Host Name : Determine unique, and usually, short name for the networked system. You can use the command uname -n to find the host name on an existing system.

  •  Host  Internet Protocol address : You can use the ifconfig interface command to display your current IP address (ex: # ifconfig e1000g0)

  •  Name Service type : DNS, LDAP, NIS, NIS+

  •  Subnetmask : The subnet mask is stored in the /etc/netmasks file

 


3. Root Password

  root password를 잃어버리면 시스템을 다시 설치해야 한다.

 
 

This blog copyright 2009 by Sangpill Kim