레이블이 파일시스템인 게시물을 표시합니다. 모든 게시물 표시
레이블이 파일시스템인 게시물을 표시합니다. 모든 게시물 표시

2016년 5월 9일 월요일

슈퍼캡을 사용해 라즈베리 파이용 간이 UPS 만들기

아두이노같이 OS/파일 시스템이 없는 경우는 갑자기 전원이 끊어져도 크게 망가질 부분은 없다. 하지만 라즈베리 파이의 경우 SD 카드에 파일시스템을 관리하고 있기 때문에 정상적으로 shutdown을 하지 않고 갑자기 전원이 나가는 경우 최악의 경우 파일시스템이 망가져 다음번에 정상 부팅이 안 될 가능성이 있다.

그래서 서버를 운영하는데 필수장비 중에 하나가 UPS(Uninterruptible Power Supply)이다.



 내부 동작 원리는 다음과 같다.


정상적으로 전기가 공급되고 있으면 배터리를 충전하면서 동시에 UPS에 연결되어 있는 장비에 전원을 공급해 준다. 하지만 정전이 되면 배터리에 충전되어 있는 전기를 이용해 장비들에 전원을 공급해주게 된다.

정전이 되면 매우 짧은 시간에 배터리에서 전원이 공급되므로 연결되어 있는 장비들은 끊어지지 않고 계속 전력을 공급받을 수 있게 된다. 물론 배터리에 무한정의 전기를 저장할 수 없으므로 짧은 시간 (서버등이 정상적으로 shutdown을 할 수 있는 시간 정도)만 전원을 공급해 줄 수 있다. 그러므로 위의 그림에는 생략되어 있지만 USB 또는 시리얼 통신 등을 통해 정전이 되었다는걸 서버에 알려 줘 안전하게 shutdown 할 수 있게 해 주는 기능을 가지고 있다.

위와 같은 일반적인 상용 UPS는 무겁고 가격도 비싸며 처음 배터리에 충전되는데에도 꽤 시간이 걸린다.

그래서 라즈베리 파이에 사용할 수 있도록 배터리 대신 슈퍼 캐패시터를 사용해 간이 UPS를 만들어 보았다. 10F  용량의 슈퍼캐패시터를 사용했기 때문에 라즈베리 파이 3의 경우 대략 약 1분 정도의 시간동안 전력을 공급해 줄 수 있다.

회로 구성은 다음과 같다.

회로도는 아래에 있다. 대부분의 슈퍼캡은 내압이 2.7V이기 때문에 내압을 5V 이상으로 올리기 위해 두개의 슈퍼캡을 직렬로 연결해 주었다.

PowerIn 쪽에 5V 전원 아답터를 연결해 주고 PowerOut 쪽을 라즈베리 파이의 전원 커넥터에 연결해 주면 된다. 그리고 PwrFail 커넥터(J3)의 +3V3은 라즈베리 파이 커넥터의 17번 핀, PwrFail은 커넥터의 11번 핀(GPIO17)에 연결해 주면 된다.

정상적으로 전원이 공급되면 PwrFail 신호가 'H'를 유지하지만 전원 공급이 끊어지고 슈퍼 캐패시터에서 전원이 공급되면 PwrFail 신호가 'L'로 바뀌게 된다. 그러므로 라즈베리 파이에서 GPIO17번 핀을 감시하다 'L'가 되면 곧바로 shutdown 명령을 수행하면 정전이 되더라도 정상 종료가 되어 파일 시스템이 망가질 일이 없어진다.


먼저 동작 테스트를 위해 위의 회로를 간단하게 만능기판 위에 꾸며 보았다. 위의 사진에서 아래쪽의 작은 LED가 PwrFail 에 연결된 LED로 전원이 공급되고 있으면 불이 켜지고, 전원이 끊어지면 불이 꺼지게 된다. 큰 LED와 DC 모터는 PowerOut에 연결해 놓은 부하(load)이다. 여기서는 라즈베리 파이 대신 전력을 사용하게 된다.


위의 동작 비디오를 보면 처음에는 작은 LED에 빨간 색 불이 켜져 있다. 즉 전원이 공급되고 있다는 것이다. 전원이 공급되고 있으니 당연히 큰 LED에 불이 들어오고 모터가 돌고 있다. 하지만 약 17초 정도쯤에서 빨간색 LED가 꺼진다. 즉 전원 공급이 중단 된 것이다. 하지만 파란색 LED는 계속 켜져 있고 모터도 계속 돌고 있다. 이 시점에서는 외부에서 전원 공급은 없지만 슈퍼 캐패시터에 충전되어 있는 전기로 출력 단자 쪽으로 전기를 공급하고 있는 것이다. 비디오는 짧게 끊었지만 약 3~4분 정도까지 모터가 회전을 지속하였다.

이제 회로 동작 검증은 끝났고 다음번 포스트에서는 직접 라즈베리 파이에 연결한 다음 전원 공급이 끊어질 때 부터 어느 정도까지 버틸 수 있는지 테스트 해 볼 것이다.

2009년 2월 14일 토요일

Mac OS X에서 NTFS 파티션 사용하기 (Make NTFS partition writable in Mac OS X)

Mac OS X에서는 FAT, FAT32 파티션은 읽기/쓰기가 모두 가능하지만 NTFS 파티션은 마운트를 해도 읽기 전용(read-only)으로밖에 사용할 수 없다.

예전에는 FAT32를 사용해도 큰 불편이 없었지만 최근들어 HD해상도 동영상 파일등은 파일크기가 4G를 넘어가는 경우가 많아 외장하드나 Bootcamp파티션에 FAT32를 사용하면 상당히 곤란한 경우가 발생하기 쉽다.

현재 가능한 솔루션으로는 Paragon 에서 나온 NTFS for Mac OS X와 Mac FUSE가 있다.

Paragon의 솔루션은 무료가 아니므로 여기서는 오픈소스인 Mac FUSE를 사용하는 방법을 설명하겠다.


macfuse.jpg

MacFUSE의 홈페이지에 가면 다음의 화면을 볼 수 있다. 화면 오른쪽에서 최신의 MacFUSE를 다운받는다.


macfuse1-1.jpg

다운받은 DMG파일을 더블클릭으로 오픈하면 아래와 같은 MacFUSE이미지가 마운트된다. 여기서 MacFUSE.pkg를 더블클릭해서 MacFUSE를 설치해준다.


MacFUSE3-1.jpg

MacFUSE 자체는 NTFS를 지원하는게 아니고 Mac OS X에서 다른 파일시스템을 사용할 수 있게 해 주는 일종의 프레임웍이기 때문에 NTFS 파일시스템을 사용하기 위해 MacFUSE를 설치한 다음에 NTFS-3G를 설치해 줘야 한다.


NTFS3g1.jpg

http://macntfs-3g.blogspot.com/ 로 가서 최신 버젼의 NTFS-3G를 다운받는다. 두가지 버젼이 있는데 위에것(ublio)은 내부 메모리 캐슁을 사용해서 고속으로 동작하지만 대신 시스템이 크래쉬되는 경우 최근의 작업내용을 잃어버리거나 파일시스템이 손상을 받을 가능성이 커진다.

아래쪽의 버젼(stable)은 성능은 약간 떨어져도 시스템 크래쉬같은 경우에도 파일시스템의 손상을 최소화하도록 되어 있다.

NTFS3g2.jpg

다운받은 DMG 파일을 더블클릭해서 열어주면 NTFS-3G 이미지가 마운트된다. 여기서도 NTFS-3G.pkg를 더블클릭해서 설치해준다. 설치가 끝나면 재시동을 하게 된다.

ntfs3g4.jpg

재시동을 한 다음 윈도우 파티션 디스크의 정보를 보면 Format이 NTFS-3g (MacFUSE)로, Sharing & Permission이 You have custom access로 바뀐걸 확인할 수 있다. 이제 NTFS 파티션도 일단 맥 디스크와 동일하게 읽고 쓰기가 모두 가능하다.