클러스터링을 하면서 3대를 사용하면서 전원을 3개씩 넣는것이 불편하여 1개로 통합하였습니다.


강원전자에서 판매하는 미니 USB 3.0포트를  전원으로 활용하고 바닥에 배치하고,

라즈베리 파이 3개를 삼각형 형태로 조합하고 스페이서를 사용해 위치를 고정하게 했습니다.


USB와 랜포트를 사용하기 위해 위쪽으로 향하게 하여 제작하였습니다.


집에 남아도는 폐품을 모았다고 하는 편이 좋을 것 같네요. 

파이 3개를 삼각형으로 묶는데는 아이패드 케이스 포장재를 사용했고, 스페이서는 예전에 사용하고 남은 것들을 조합해서 갯수를 맞춰서 간신히..


전원연결에 사용한 부분은 구입을 했지만 3M 케이블 (500원인가?) 연결부를 분해해서 납땜을 좀 해봤네요. 거의 10년만에 해본 납땜입니다.

드릴같은 기본적인 도구도 없어서 전기인두로 구멍을 내서 사포로 다듬고 해서 만들었습니다. 그냥 재미로 보시면 될 것 같습니다.


아래쪽 에 보이는 것은 팬입니다. 12V용이라 회전속도는 빠르지 않지만 하단에서 통풍을 통해 냉각하기에는 충분해 보입니다. GPIO에서 5V전원을 사용합니다. 



동작중인 상태의 상단 모습. 안쪽 아래 부분에 보이는 파란색 램프가 USB허브의 동작램프입니다. 5V 3A를 전원을 통해 공급하므로 3대를 동작하는데는 무리가 없습니다. 오버 클럭을 사용하는 경우에는 전압을 생각해 봐야 합니다. 때문에 오버클럭은 800Mhz modelate를 사용합니다.

1Ghz를 사용할 경우 간혹 컴파일시에 오류가 발생하기도 하여 800으로 정하였습니다.


하단의 쿨러와 전원용 USB 3.0 허브, 스위치가 개별로 없어 전원을 연결하면 3개의 라즈베리가 동시에 켜집니다. 쓰나 안쓰나 똑같은 5V 3A라서 아직은 무시하고 있지만 조만간 스위치를 달아주거나 분해하거나 할 것 같네요.


전원부 뒤쪽의 모습. 오른쪽에 보시면 USB 3.0케이블을 연결 할 수 있습니다. 

전원과 USB 3.0케이블을 연결할 경우 더 안정적인 전원 이중화 효과를 볼수도 있고 요즘 많이 사용하는 휴대용 배터리를 전원 대용으로 연결도 가능합니다.


나중에는 다시 만들라고 해도 안 만들것 같고, 몇일전에 미니 스위치 허브가 생겼는데 위쪽에 차곡차곡 쌓아 버릴까 하는 생각도 합니다. :)


Posted by twintail twintail

raspberry pi 2 model b / mysql cluster 설치.


- 참고 사이트

https://markswarbrick.wordpress.com/2013/09/02/getting-mysql-cluster-compiled-installed/

블로그 내용을 참고하여 순서대로 진행한다.
추가로 bison을 설치한다. cmake이후 bison이 없다는 메시지가 나와서 그냥 설치.
$ sudo apt-get install bison

cmake 빌드시 경로 지정이 필요한다. 만일 지정하지 않는 다면 /usr/local 에 설치되는 경우가 발생할 수 있음.
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql


- db 생성 및 실행과정은 mysql Document 를 참고함.

http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-configuration.html


- 주의 사항

노드 구성은 1개 노드로 구성이 가능함.(단일 서버와 다를 바가 없음. 파이 3개를 사용함.)

추후 SD 메모리를 복사하여 서비스를 구성함.

SD 메모리가 8GB일 경우 설치 후 OS를 포함하여 6~7GB를 차지하므로 16GB이상의 SD메모리를 사용해야 한다. 

추후 메모리를 확장하는 방법도 있다. 예를 들어 16 -> 32 기가로 옮겨갈 경우  img를 사용하여 이동할 수는 있지만  32GB 중 16GB만을 파티션으로 사용하고 나머지 16GB는 프리 영역으로 생성이 된다. 잔여 영역인 16GB를 데이터 영역으로 파티션하고 특정 경로에 마운트하고 사용하는 방법도 있다. 여유가 된다면 16~32GB를 사용하는 것이 좋다. (어차피 메모리 디스크이므로 복잡하게 파티션 나누고 할 필요가 없다.)

만일 이미지 복제후 파티션이 필요하다면 다음 명령을 사용한다.
$ sudo parted

오버클럭을 할 경우 컴파일시 오류가 발생할 수 있다. 전압이 2V 상승하게 되어 전원 부족으로 컴파일시 오류가 발생한다.
Modest 800MHz ARM, 250MHz core, 400MHz SDRAM, 0 overvolt 로 설치할 경우 이상없음을 확인.

컴파일하는 시간은 이전 모델에서는 4시간 정도 걸렸다고 하는데 이번 모델에서는 약 1시간 정도가 소요된다.(쿼드코어~!)

mysql 을 빌드(make)하고 설치(make install)에 성공했다고 해도  mysqld는 정상적으로 동작하지 않는다. 시스템 DB가 없으므로 생성해 줘야 한다.
$ cd /usr/local/mysql
$ sudo scripts/mysql_install_db
$ sudo bin/mysqld_safe

DB생성 후 pid 오류로 서버가 올라가지 않을 경우는
$ chown –R mysql ~/mysql

그밖의 경우는 대부분 설정 오류로 클러스터에 대한 개념 구성도를 확인하면 쉽게 해결이 가능하다.
domain/ip 에 의한 접속 설정시 한가지 방법을 사용한다.
domain 이 있을 경우에만 domain을 사용하여 설정한다.


-- 업데이트 중인 문서로 부정확한 정보를 포함하고 있음 --

Posted by twintail twintail

겨우 이것 때문에..?


윈도우에서 해보겠다고 시작한 것이 잘못이었나? 


$ gem install libv8 -v '3.11.8.17' -- --with-system-v8

Fetching: libv8-3.11.8.17.gem (100%)

Temporarily enhancing PATH to include DevKit...

Building native extensions with: '--with-system-v8'

This could take a while...

Successfully installed libv8-3.11.8.17

Parsing documentation for libv8-3.11.8.17

Installing ri documentation for libv8-3.11.8.17

Done installing documentation for libv8 after 1 seconds

1 gem installed


헐..;

$ gem install mysql2 --platform=ruby -- '--with-mysql-lib="C:\Program Files\MySQL\MySQL Server 5.6\li

b" --with-mysql-include="C:\Program Files\MySQL\MySQL Server 5.6\include" --with-mysql-dir="C:\Progra

m Files\MySQL\MySQL Server 5.6"'

Temporarily enhancing PATH to include DevKit...

Building native extensions with: '--with-mysql-lib="C:\Program Files\MySQL\MySQL Server 5.6\lib" --wit

h-mysql-include="C:\Program Files\MySQL\MySQL Server 5.6\include" --with-mysql-dir="C:\Program Files\M

ySQL\MySQL Server 5.6"'

This could take a while...

Successfully installed mysql2-0.3.16

Parsing documentation for mysql2-0.3.16

Installing ri documentation for mysql2-0.3.16

Done installing documentation for mysql2 after 0 seconds

1 gem installed


Posted by twintail twintail