Xen 관련 기본 명령

  • vm start: xm create <conf file>
  • vm shutdown: xm shutdown <vm name>
  • vm console: xm console <vm name>
  • vm 목록: vm list
  • vm 디스크 확장
     cd /var/lib/xen/images/vlinux1
    #use dd to create a 1 GB file
    dd if=/dev/zero of=Tempfile bs=1024 count=1000000
    #append this file to virtual image file (in this case is hda)
    cat Tempfile >> hda
    resize2fs -f hda


크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 김형준


Linux에서 hostname 변경

vi /etc/hosts
vi /etc/sysconfig/network

echo "myhostname.domain" > /proc/sys/kernel/hostname
service network restart
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 김형준


MPICH 데몬 rsh로 실행하기

MPICH는 병렬프로그램을 지원하는 MPI 표준을 구현한 것으로 한 프로그램 내에 병렬처리가 되도록 MPI 함수를 사용하여 개발하고 컴파일을 mpicc와 같이 MPI lib와 연결하여 컴파일 한다.
실행은 각 노드에 반드시 mpd 데몬이 수행되고 있어야 하며 mpirun, mpiexec 등을 이용하여 실행시킨다.
실행이 되면 각 노드에서 하나의 프로그램이 각자 수행된다.

mpd 실행방법 :
- mpd.hosts 파일에 node 명을 한줄에 하나씩 작성한다.
- /usr/local/mpich/bin/mpdboot -n 4(ssh 각 노드에 mpd 실행)
/usr/local/mpich/bin/mpdboot -n 4 -r /usr/bin/rsh(rsh로 실행)

이렇게 하면 한번에 모든 노드에 mpd가 수행된다.

MPICH-2 프로그램 실행
- mpiexec -n 4 -path /test pgname
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 김형준


PBS 몇일째 삽질

PBS(Portable Batch System)은 여러개의 Node에서 프로그램을 실행 시키고 이들 프로그램들에 대한 스케쥴 관리를 해주는 Job Management System이다.
이거 가지고 몇일째 삽질 중이다.

- 첫번째 삽질 : 설치된 리눅스 장비에서 자체 DNS를 이용하기 위해 named 데몬을 이용하였는데... PBS에서 다음과 같이 node 추가한 후에 node 상태를 확인해보면 대부분 down 이라고 나온다... 쩝...

-----------------------------
qmgr
>create node node01.nodes.com
>create node node02.nodes.com
>q
------------------------------
pbsnodes -a
node01.nodes.com
state = down
np = 1
ntype = cluster

node02.nodes.com
state = down
np = 1
ntype = cluster

이거 해결할려고 갖은 삽질을 다해봤지만 해결한 방법은 /etc/hosts에 node에 대한 정보를 추가하니까 된다. 아직까지 원인은 해결하지 못한 상태...
어떤 경우에는 create node 할때 해당 서버를 찾을 수 없다라는 에러 메세지가 나타나는 경우도 있다.


- 두번째 삽질 : 설치는 되었고 프로그램을 실행시켜 보았다. 우리가 좋아하는 Hello World...

hello.sh
------------------------
echo "hello world"
------------------------

qsub hello.sh ---> queue에 submit 한다.

이렇게 하면 원래는 이것을 실행시킨 node에 xxx.o, xxx.e 와 같이 output과 error에 대한 출력이 각각 저장되어야 한다.
하지만 여러번의 삽질 결과 PBS는 결과를 전송하기 위해 내부적으로 다음과 같이 한다.
/usr/pbs/sbin/pbs_rcp -r resultfile user01@master.nodes.com:/home/user01/hello.sh.o

근데 여기서 내부적으로 rcp 또는 scp를 사용하고 있다는 것...
최근 linux는 기본적으로 설치하면 rcp는 disable 상태이다. scp는 공개키 적용해줘야 암호없이 바로 넘어간다.
rcp enable 하고 다시 도전해보기로 한다. 잘되야 할텐데....

--> rcp enable 하고 테스트한 결과 성공...
--> 그럼 scp로 할려면 어떻게 해야 하나?? PBS compile 옵션에는 ssh enable 해주는 부분이 있던데. 일단은 rcp 가지고 테스트 계속 진행
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 김형준


Redhat에서 jdk 환경설정

Redhat을 그냥 설치하면 jdk1.4.2가 설치되는데 jdk1.5(5.0)이 필요한 경우 jdk 다운로드 받은 후 설치한 다음 환경 설정을 다음과 같이 한다.


1. vi /etc/profile
2. 편집-마지막 라인에 추가
JAVA_HOME="/usr/java/jdk1.5.0_08"
export JAVA_HOME
PATH="$PATH:$JAVA_HOME/bin"

3. 다시 로그인
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 김형준


Hadoop jdk1.4에서 실행하기

- Hadoop 간단한 소개
Hadoop은 Apache 검색엔진 프로젝트인 lucene 프로젝트의 서브프로젝트이다. 이전까지는 nutch라는 lucene기반의 웹 검색 엔진 프로젝트의 파일 시스템을 구성하고 있었지만 별도의 서브 프로젝트로 나누었다.
현재까지는 0.4버전으로 많은 기능이 부족하지만 대용량 파일을 여러 값싼 서버의 디스크에 분산하는 용도로 활용할 수 있다.


- 기본적으로 JDK1.5 기준으로 릴리즈 되고 있어 JDK1.4에서 실행시키기 위해서는 다음 파일로 바꾼후 실행한다.



- Hadoop에 대한 자세한 소개는 계속되는 자료에서 올리도록 하겠습니다. 관심있게 봐주세요.
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 김형준


vi 명령어 정리

vi 에디터 명령어 한장에 출력할 수 있도록 정리했습니다.
이거 출력해서 책상에 붙여놓고 손에 익히고 있는 중입니다.
근 10년 동안 Linux는 거의 사용하지 않다가 느즈막에 사용할려니싸 새로 손에 익혀야 할게 많네요... 쩝.

- 다운로드 : vi.doc


문자열치환

- 출처 : http://cafe.naver.com/dev4u/217

다들 vi 에서 치환 기능은 많이들 쓰실껍니다.

:%s/test/test2/g <-- 전체에서 test 란 패턴을 찾아서
test2 로 바꾸라는 명령이죠. ( 다들 잘 아시겠지만 )

여기서 % 는 문서 전체라는 말입니다. 그럼 범위를 설정할려면?

:1,10s/test/test2/g <-- 1번째 줄에서 10번째 줄까지...

그럼데 좀더 편하게 범위를 잡아 봅시다.

ctrl v 를 눌러 가상 블럭을 설정하여 자기가 원하는 라인 부터
아래로 주욱 블럭을 설정합니다.
그리고 : 를 누르면

:'<,'>

와 같이 나옵니다. 그러면...

:'<,'>s/test/test2/g 와 같이 추가로 명령을 씁니다.

그럼 위에서 v 로 가상 블럭을 잡은 부분의 범위에만
치환이 됩니다.
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 김형준


Linux 설치 중에 삽질

Linux 설치하는 중인데 무지하게 삽질하고 있습니다.

1. 네트워크 카드 문제 :
네트워크 카드가 삼성에서 만든 SC1200A-TX 인데 이게 Linux 에서는 잘 인식을 못합니다.
인터넷에서 ks8920.c 모듈을 받아 컴파일 할려고 하는데 컴파일도 안되네요 ㅜ.ㅜ

2. cdrom 마운트 문제
CD로 설치했으면 당연히 기본적으로 CD는 인식해야 하는게 아닌가...

mount -t iso9660 /dev/cdrom /mnt/cdrom
mount: Not a directory

마운트 안됨

이걸로 3시간 정도 삽질하다 겨우 원인 파악했슴다...
DMA off 시켜야 한다는 군요 쩝.

hdparm -d /dev/hdc
setting using_dma to 1 (on)
using_dma = 1(on)


이라고 나타나길래

hdparm -d 0 /dev/hdc

으로 해서 off 시킨 다음 마운트 하니까 잘되네요 ..

----------------------------------------------------
원인을 생각해보니까 DMA(Dynamic Memory Access)는 보조기억장치(HDD, Floppy, CD 등)의 데이터를 메인메모리로 로딩하기 위해 CPU를 거치지 않고 직접 메모리로 로딩하는 기법이다.
PC에 설치된 CD가 DMA를 지원하지 않아 발생한 문제인지 아니면 다른 원인이 있는지는 좀 더 확인을 해야 할 것 같다.
----------------------------------------------------
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 김형준