나의 불찰로 ssh 접속에 필요한 Open Solaris 서버쪽 Key 파일들을 날려버렸다. 그래서 접속이 불가능하다. 결국 관련 파일들을 다시 생성해야 하는데 아래 세 명령으로 해결할 수 있다.

물론 관리자로 접속한 후에...

# ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""
# ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""
# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""

AND

Open Solaris(2009년06월버전)를 설치한 후 세 개의 하드디스크를 추가하곤 마운트를 해야 하는데 ZFS를 처음 써 보는 지라 전통적인 UNIX의 파티션 및 마운트 개념과는 달라 도무지 어찌할 바를 몰라 고생했다.

전통적인 ext2, ext3, ufs 등과 같은 전통적인 UNIX 계열의 파일 시스템의 경우 하드디스크를 추가할 경우 fdisk 등의 파티션 프로그램으로 해당 OS를 위한 영역을 잡아주고, 마운트포인트를 설정한 후 mkfs 또는 newfs 등의 프로그램으로 포맷한다음 마운트하면 됐다.

그런데 ZFS는 여러개의 디스크를 하나의 마운트 포인트에서 접근이 가능하도록 하기도하고, 또 물리적으로 동일한 두 대의 하드디스크를 미러링이 가능하도록 하는 등 다양한 지원을 하고있어서 디스크를 추가하여 사용하는데 전통적인 방법과는 다른 이해와 접근방법이 필요하다. 아무튼 zfs를 사용하는 Open Solaris에서는 하드디스크를 추가한 후 zpool, 이 하나의 프로그램으로 위 과정이 모두 해결된다. 먼저 추가한 디스크의 디바이스 이름을 알아내야 하는데 이것은 format 명령을 치면 알 수 있다.


위 화면을 보면 네개의 디스크가 있는 것을 확인할 수 있는데, 0번 디스크는 이미 Open Solaris에 마운트되어 있는 상태이고 나머지 1, 2, 3 번 디스크를 새롭게 마운트 할 예정이다. 여기서 눈여겨 봐야할 내용은 디스크 번호 바로 우측에 있는 c8d0, c8d1, c9d0, c9d1와 같은 디바이스 이름이다. 여기서는 c8d1, c9d0, c9d1 이 세개의 디스크를 /user에 마운트 하려 한다. 현재 df를 이용 마운트 정보를 살펴보면 다음과 같다.


이제 zpool 프로그램을 이용 디스크 하나씩 마운트를 해 보겠다. 우선 디스크 c8d1을 /users에 마운트해 보자. 이는 쉘에서 다음과 같이 입력하면 된다.

zpool  create  users  c8d1

이는 새로운 마운트포인트 /users 를 만들고 여기에 1번 디스크(c8d1)를 마운트한다. 그런다음 df를 이용 마운트 정보를 살펴보면 /users에 디스크가 마운트된 것을 알 수 있다. 현재 /users에 마운트된 영역의 크기를 유심히 살펴보자.


자 이제 두번째 디스크(c9d0)를 마운트 포인트 /users에 추가해 보자. 이 역시 zpool 명령을 이용한다. 그러나 이미 /users에 마운트된 디스크가 있으므로 create 대신 add 옵션을 줌으로써 추가할 수 있다.

zpool  add  users  c9d0

위 명령 후 df를 이용 마운트 정보를 살펴보면 /users 마운트 영역의 크기가 늘어났음을 볼 수 있다.


이제 같은 과정을 거쳐 마지막 디스크(c9d1)를 추가한 후 df를 실행해 보자.

zpool  add  users  c9d1

그러면 /users 마운트 영역의 크기가 더 확장됐음을 알 수 있다.


만약 또 다른 디스크를 추가한다면 format 명령을 이용 디바이스 이름을 알아낸 다음 위 과정을 거치면 된다. 

지금까지 소개한 내용은 디스크 전체를 사용하려고 할 경우이며, 여러개로 파티션을 나눌 경우에는 format 프로그램 실행 후 fdisk 메뉴를 선택 파티션을 나누어야 한다.
AND

내가 관리하고 있는 서버 중 학교 전산소 기계실에 있는 서버가 두 대 있다. 그중 하나는 OS가 Sparc Solaris 10인데 이를 업데이트하기 위해서 MS Windows에서 실행되는 xmanager로 기계실 서버에 원격 접속한 후 updatemanager를 실행하곤 했다.

그런데 내 연구실에 있는 모든 데스크탑 PC를 UNIX 계열로 바꾼 후 xmanager을 이용할 수 없어서 애래 그림과 같이 터미널을 띄운 후 ssh를 이용 서버에 접속한 다음과 같이 updatemanager을 실행했더니 실행이 안된다.


원인을 찾아봤더니 ssh를 실행할 때 "-X" 옵션을 함께 줘야한단다. 이때 X는 소문자가 아닌 대문자 X이다.

ssh  -X  userid@hostname

이 옵션을 주고 updatemanager를 실행했더니 원격컴퓨터의 X-window 프로그램이 잘 실행된다.


updatemanager 실행화면



'서버관리 > Solaris' 카테고리의 다른 글

ssh_host_*_key 생성  (0) 2009.10.10
zfs에서 디스크 추가하기  (0) 2009.10.09
Solaris 10에서 CVS 설정하기  (0) 2009.08.31
AND


Solaris 10이 실행되는 SPARC 서버에서는 기본적으로 CVS가 제공되지 않는다. 게다가 Solaris 10에서는 inetd를 사용하지 않고 SMF를 사용한다. 따라서 cvs를 설피하고 /etc 폴더 안에 있는 inetd.conf를 수정하는 것 만으로는 제대로 동작하지 않는다. 이를 해결하기 위해서는 몇단계의 과정이 필요한데 그리 복잡하지는 않다.

1. cvs 설치

앞서 언급했듯이 SPARC Solaris 10 에서는 cvs가 기본적으로 제공되지 않기 때문에 이 프로그램을 다운받아 설체해야 한다. 필자는 SUN 프리웨어 사이트(http://www.sunfreeware.com)에서 SPARC Solaris 10용 패키지를 다운로드 받아 설치했다. 필자가 받은 버전은 1.12.13 버전으로 아래 링크를 클릭하면 받을 수 있다.


cvs를 설치하려는 서버에 패키지를 다운로드 받은 후에는 관리자로 접속한 뒤 gzip 명령으로 압축을 푼 후 pkgadd 명령을 이용 패키지를 설치한다. 형식은 다음과 같다.

gzip -d cvs-1.12.13-sol10-sparc-local.gz
pkgadd -d cvs-1.12.13-sol10-sparc-local

그러면 /usr/local 디렉터리 아래에 cvs 관련 파일들이 설치된다.

2. /etc/inetd.conf 수정

/etc/inetd.conf의 적당한 부분에 다음 라인을 추가한다.

cvspserver      stream  tcp     nowait  root    /usr/local/bin/cvs      cvs --allow-root=/users/cvsroot   pserver

위 라인에서 파란색 부분은 cvs 실행파일이 저장된 경로이고 붉은색 부분은 실제 버전관리를 위한 데이터가 저장될 cvsroot repository의 경로이다. 이 부분을 자신에게 맞게 수정한다.

3. inetconv 실행

Solaris 10으로 넘어오면서 모든 서비스가 기본적으로 SMF(Service Management Facility)로 변경됐기 때문에 inetd.conf에 설정된 서비스들을 제공하려면 이것 역시 SMF에 등록해야 한다. 이는 관리자로 접속한 후 쉘에서 단지 -e 옵션과 함께 inetconv 명령을 입력함으로써 해결할 수 있다.

inetconv -e

그러면 몇몇 메세지를 출력한 뒤 SMF에 등록되어 cvs 기능을 이용할 수 있다. 확인은 다음 명령으로 가능하다.

svcs | grep cvs

그러면

online         23:59:32 svc:/network/cvspserver/tcp:default

명령이 출력되는데 online 상태라면 현재 cvs 서비스가 가능하다.

AND