다음 이전 차례

3. 디스크 없는 워크 스테이션

워크 스테이션이 부팅될 때 아래와 같은 과정을 밟는다.

  1. bootp서버로부터 ip주소를 받는다.
  2. tftp서버로부터 커널 이미지를 다운 받는다.
  3. nfs서버에서 루트 파일시스템을 마운트한다.
  4. X서버를 메모리에 로드하고 실행한다.
  5. xdm서버에 접속하여 사용자로 하여금 로긴을 할 수 있게 한다.

대부분의 경우 bootp, tftp, nfs, xdm서버는 한 장비에서 가동된다. 이 장비를 앞으로 단순히 'Server'라 부를 것이며 디스크 없는 워크 스테이션을 단순히 '워크스테이션'이라 칭하겠다.

워크스테이션이 부팅되고 사용자가 로긴한 후에는 사용자가 사용하는 어떤 프로그램도 사실은 서버에서 실행이 되고 단지 디스플레이만 워크스테이션에서 보여진다. 이는 X서버의 기본적인 기능이며 워크스테이션에서는 리눅스 커널, XFree86, Init 그리고 필요하다면 로컬 프린트를 위한 lpd정도만이 가동된다. 워크스테이션에서 실행되는 프로그램이 거의 없기 때문에 값싼 저사양의 PC만으로도 충분히 사용할 수 있다. 초기에 16m메모리의 486장비에서 시험을 해 봤는데 X 터미널로서 아주 훌륭하게 작동했다.

The Etherboot Home Page에서 구할수 있는 etherboot패키지를 사용했는데 거기서는 eprom에 구워 넣을 수 있는 이미지에 관해서 다루고 있었으며 이는 워크스테이션에서 커널을 다운 받을 수 있게 구성하는데 도움이 되었으나 그게 전부였다.

디스크없는 워크스테이션을 가동하기 위한 서버의 셋업과정을 다룬 몇몇 하우투가 있었으나 동시에 여러대의 워크스테이션을 사용하는 것에 대한 논의는 없었다. 문제는 워크스테이션이 가동중에 무엇인가를 디렉토리에 기록한다는 것이며 따라서 개개의 워크스테이션이 각자의 디렉토리를 마운트해서 사용해야 한다는 것이다. 만약 워크스테이션이 50대라면 서버에는 50개의 별도의 디렉토리가 있어야 한다는 것이다. 이는 관리상의 큰 문제가 아닐 수 없다.

우리는 여러대의 워크스테이션에서 공유할 수 있는 루트 파일 시스템을 셋업하는 방법을 만들어 냈다. 커널은 루트 파일 시스템을 읽기전용 모드로 마운트하게 되며 그 다음에 4m크기의 램디스크를 /tmp디렉토리에 마운트 한다. 커널과 X서버가 가동되면서 몇몇 파일을 쓰려고 시도할 때 그 파일들을 램디스크상에 놓고 적절한 위치에 링크를 걸어준다면 된다는 것이다.

더해서 bootp와 같이 작동될 구성파일과 프로그램들을 만들어 냄으로써 각각의 워크스테이션은 서로 다른 하드웨어를 가질 수 있게 되었다. 예를 들면 랜카드, 그래픽카드, 마우스의 종류등등을 기본 구성뿐만 아니라 개별 워크스테이션 구성까지 지정할 수 있다는 것이다. 워크스테이션에서 가동되는 프로그램이 없는 관계로 스왑공간은 구성하지 않았으나 필요하다면 커널에서 nfs를 이용하여 스왑 공간을 만들 수도 있다.

이 구성방법은 400Mhz Pentium II서버에 레드햇 6.0을 인스톨하여 70대의 워크 스테이션을 가동시키는데에 성공적으로 적용이 되었다. 각각의 워크 스테이션은 32m램에 P-166장비를 사용했으며 더 저사양의 PC를 사용할 수도 있었으나 구하기가 어려웠다.

앞으로 워크스테이션에서 보다 많은 프로그램을 가동시킬 예정이다. 많은 사용자가 윈도우 매니져가 넷스케이프같은 웹브라우저등을 로컬에서 실행 시키길 제안해 왔다.


다음 이전 차례