FreeNAS를 구축한 뒤, 제일 먼저 NFS 서비스 부터 올렸다.
그 이유 중 하나가, 바로 지금 사용 중인 개발용 PC 자체가
Linux이다 보니, 일일히 FTP로 데이터를 주고 받는게 의외로 번거러웠다.
대부분의 설정은 Web GUI에서 동작했지만, 몇가지 설정 파일이나, 기타 구성 작업,
파일 접근 등에 있어, Web GUI로 일일히 접근하기도 불편했고,
기왕 쓰는 리눅스 끝까지 써보자는 기묘한 고집 발동으로 인해 결국 NFS 연결을 시도했다.

먼저 회사 - 집 간의 거리 차를 좁히기 위해 먼저 집의 공유기에 VPN 설정을 했다.
(사실 이거 없으면 불가능했을지도...)
그리고 난 뒤, 다음과 같이 입력했다.

mount -t nfs 192.168.0.10:/mnt/mynas /media/mynas

그런데, 알 수 없는 File System 이라는 오류 메시지를 뿝는 것이다.
처음에는 내가 무언가를 설정을 잘못한 것인가 하면서 ( 예전에 공유기로 포트를 열어볼려고, services 항목을 수정한 적이 있다. )
이런저런 설정을 초기화 했는데, 여전히 안되는 것이다.
그래서 다각도로 확인 중에 우연히 FreeNAS의 File Format이 UFS 였다는 사실을 기억해 냈다.

애석하게도 기본으로 설치된 우분투에서는 이 UFS 파일 포멧을 인식하지 못하는 것!
이에 다시 체크들어갔고, "시냅틱 패키지 관리자"를 띄운 후 ufs로 검색했다.
그러니까 libufs2 라는 패키지가 보였다.
이거 설치하고, 다시 위의 명령을 치자! 바로 연결된다.

즉 우분투에서는 FreeNAS의 UFS 포멧을 즉시 인식을 못한 것이였고,
별도로 패키지를 설치하면 가능한 문제였던 것이였다.

참고.참고.

728x90
미묘한 시간에 일어나서 다시 잠들려고 했는데,
지금까지 계속 켜놓은 FreeNAS 장비들 덕에 쉬이 잠들기 힘들었다.

그래서 단행.

먼저 FreeNAS의 Main PC 부터 확인했다. 일단, 자동으로 시간이 되면 켜지는 기능이 BIOS에서
지원!!!! 이에 제일 먼저 설정했다. 혹시나 WOL은 지원하나 싶었으나, 애석하게도 그건 아닌듯...
(할려면 Windows에서 NIC S/W BIOS 설정을 변경해야 할지도...)
결국 자동으로 켜지게 끔만 설정.

옛날에 한대의 PC가 켜지면 덩달아 다른 콘센트에 꽂힌 장비들도 덩달아 켜지고,
한대의 PC의 전원이 나가면 다른 콘센트의 전원도 꺼지는 그런 알흠다운 멀티 콘센 겟!!!
이를 이용해서 FreeNAS MainPC를 연결해주고, 다른 한대를 다른 콘센트에 연결!

이로써, 준비 완료.

FreeNAS Main이 새벽 6시에 On 되는 순간, child NAS 들도~

문제는 꺼지는 시간... child NAS가 먼저 꺼지고 그 뒤로 main NAS가 꺼져야 되는데,

일단, 내일 오늘 밤 그 결과를 다시 확인해봐야겠다!!1
728x90
Free-BSD 기반으로 구성된 FreeNAS에서 원본 패키지를 가져와서 컴파일하여 make install 이 조금 곤란한다. ( 관련된 프로그램들이 전혀 없기 때문. 컴파일러라든가, make 바이너리라든가..).그래서 반쯤 포기했는데, 우연히 FreeNAS Forum에서 해당 Thread를 찾아 이를 소개한다.
요는 Free-BSD에서 제공하는 pkg_add 명령어를 사용하는 것이다.
(기타 기능 확장도 이 pkg_add 라는 것을 사용하여 추가하여 하는 것들이 대부분이다. )



FreeNAS 에서 SVN 서버 실행하기 ( HOW-TO )

무엇보다도 이 모든 내용은 http://www.h-i-r.net/2008/03/sysadmin-sunday-subversion.html 의 도움이 컸다. 이 웹페이지에서 SVN 서버를 동작하는 방법, 구하는 방법등을 모두 설명하고 있다.

테스트를 목적으로 필자는 Virtual Machin(VMWare)에 FreeNAS를 설치했다. 현재 VM의 호스트는 Windows Vista 이다.

기본적으로 두대의 장치를 가지고 있다고 생각하면 된다.

FreeNAS : 192.168.1.1 : 이것은 FreeNAS(0.69.2)가 설치된 가상 머신으로 Full Install 되어 있다.
Host : 192.168.1.2 : 이것은 현재 Vista가 동작 중인 본인의 PC 이다.

귀찮은 작업을 줄이려면, 먼저 SSH를 활성화하도록 한다. 그래야 명령어들을 직접 복사하면서 작업할 수 있다. putty 같은 것으로 연결한 뒤, 사용자 ID와 암호를 넣도록 하자.

Shell에 들어갔으면 다음 명령어를 입력한다.
pkg_add -r subversion
잠깐 동안 각종 관련 Package 들을 자동으로 다운로드 받으면서 설치할 것이다.

설치가 완료되었으면 Subversion의 저장소로 사용될 경로를 만들어주도록 한다.
여기서는 /var/svn/repositories 을 사용하도록 하겠다.

mkdir -p /var/svn/repositories

이제 SVN 서버를 실행할 것이다. 이 실행 할 때 사용되는 파라미터들을 먼저 보도록 하자.

  • -d : 데몬 모드
  • --listen-port : 외부에서 연결을 할 때 사용될 포트 번호.  사용자 별로 다양한 포트번호들을 사용하는데, 여기서 명확하게 잡아주는 게 좋다.
  • --listen-host : 호스트 이름. 이 부분이 없으면 제대로 동작하지 않는 것 같다. 여기서는 지금 필자의 환경에 맞추어서 192.168.1.1 로 설정한다.
  • -r : 저장소에 대한 경로를 설정한다.

자 이제 위의 파라미터 값들을 넣고 실행해 보도록 하겠다.

/usr/local/bin/svnserve -d --listen-port 3690 --listen-host 192.168.1.1 -r /var/svn/repositories

SNV 서버를 실행한 뒤, 실제로 사용할 저장소 부분을 생성하도록 한다.

/usr/local/bin/svnadmin create /var/svn/repositories/hir-test/

이 명령을 사용하면 몇가지의 설정 파일들과 저장소를 생성하게 된다. FreeNAS를 기본적으로 설치하였다면, Shell에서 이 파일을 설정하기 힘들다. 대신 Web GUI에 접속해서, 메뉴의 advanced -> file editor를 이용해 다음 파일을 띄우도록 하자.

/var/svn/repositories/hir-test/conf/svnserve.conf

주석 처리된 다음 항목들의 풀어 주도록 하자.

anon-access = read
auth-access = write
password-db = passwd

다음 파일을 읽어오도록 하자.

/var/svn/repositories/hir-test/conf/passwd

이제 다음과 같이 사용자와 암호를 넣어주도록 하자.

test = test
자 이제 모든 준비가 완료되었다. 서버는 이미 모든 동작이 준비되었다.
이제 호스트 컴퓨터(내 Vista 컴퓨터)에서 SVN 클라이언트를 사용하여 접속하여 테스트해보도록 한다. ( http://www.sliksvn.com/ 에서 명령어 기반의 클라이언트를 받을 수 있다. ). 자 이제 작업을 할 폴더를 먼저 선정하여 그 위치로 이동하도록 하자.
(예를 들자면, cd c:\temp\test )

자 이제 저장소와 작업할 자신의 폴더와 연결하는 작업을 하도록 한다.

svn checkout svn://192.168.1.1:3690/hir-test/

이러면 revision 0로 해서 check-out이 걸릴 것이다.
자 그러면 hir-test 라는 폴더가 생성되는데 그 디렉토리로 들어가도록 하자.

cd hir-test

이제 이 디렉토리 안에 파일을 하나(예를  들자면, test.txt 같은 것)를 만들어 주도록 하며, 다음과 같은 명령어를 넣어보록 하자.

svn stat

그러면 아래와 같은 내용이 보일 것이다.

state : ? test.txt

이 test.txt 라는 파일은 아직 서버의 저장소에 저장되지 않은 파일이라는 의미로 이 파일을 저장소에 넣으려면 다음과 같은 명령어를 넣어주어야 한다.

svn add test.txt

자 svn stat 명령어를 다시 실행해서, 이제 내용이 정상적으로 등록되었는지 보도록 한다. 이제 이 모든 작업을 완료하려면, 저장소로 변경된 모든 내용을 commit 하도록 요청하는 작업을 해야 한다. 이 commit은 다음과 같이 하면 된다.

svn commit --message : "my firest test"

이제 사용자 아이디와 암호를 넣어주시면 state : commited revision 1이 라는 것을 볼 수 있다.

다른 위치에서 이와 같은 형태로 작업을 해보면, 이제 서버에서 변경된 내용을 그대로 받아서 확인해 볼 수 있다.











728x90

+ Recent posts

728x90