altair의 프로젝트 일기

라즈베리파이에 관한 이야기 본문

IT/라즈베리파이

라즈베리파이에 관한 이야기

altair823 2021. 12. 22. 03:37

1. 컴퓨터

시간이 흐르면서 컴퓨터의 성능은 비약적으로 발전했다. 때문에 비록 라즈베리파이가 평소 우리가 자주 접하는 컴퓨터의 성능에 턱없이 모자른 성능으로 보일지 모르지만 삼사십년 전에 라즈베리파이 만한 성능의 컴퓨터는 몇 백만원을 호가했다. 심지어 더욱 거슬러 올라간다면 집채만했던 컴퓨터가 지금 내 손바닥에 올라와 있는 라즈베리파이보다 성능이 안좋았던 시절도 있었다. 그 당시 대부분의 컴퓨터는 너무나 성능이 좋지 않아 지금 쓰는 고수준 프로그래밍 언어(그래봤자 현대에는 저수준이라고 까이는 C 같은 언어들)로 프로그램을 작성 할 수도 없었다. 더욱 하드웨어 친화적인, 따라서 더욱 컴퓨터의 부담이 적은 어셈블리어나 기계어로 작성했다.

그런 컴퓨터를 싣고 아폴로 11호는 달에 착륙했으며, 우주비행사가 내린 명령을 다른 계산을 하는 도중에 실시간으로 판단하여 위험한 명령이면 다시 생각해보라고 알리기까지 했다. 우주왕복선의 컴퓨터는 더욱 발전하여 우주비행사가 해야 할 일은 고작 착륙할 때 필요한 바퀴를 내리는 버튼을 누르는 일 뿐이었다. 이조차 우주비행사의 심리적인 책임감을 위해 남겨뒀을뿐 안전과 효율을 고려한다면 오히려 컴퓨터가 처음부터 끝까지 모든 일을 하는 것이 더 나은 일이었다.

분명 지금 있다면 윈도우조차 설치되지 않을 성능의 컴퓨터들이지만 분명 다양하고 때론 중요한 일을 했던 컴퓨터들이 있었다. 컴퓨터를 단지 게임기나 문서 편집기 이상의 무언가로 생각하는 사람들이라면 컴퓨터에 얼마나 가파른 성능 향상이 있었는지, 그리고 그에 따라 우리가 얼마나 더 많은 일들을 컴퓨터로 해낼 수 있게 되었는지, 그럼에도 불구하고 우리가 컴퓨터에게 얼마나 간단한 일을 시키느라 그 성능을 낭비하고 있는지 깨닫는다면 분명 짜릿한 전율을 느낄 것이다.

그리고 그런 사람들은 생각한다. 우리가 단지 성능에 관해서 사치를 부리지만 않는다면. 정말 딱 필요한 정도의 성능을 가진 컴퓨터를 만든다면 어떻게 될까? 라즈베리파이는 그런 사람들에게 주어진 선물같은 도구다.

2. 라즈베리파이란?

라즈베리파이의 역사나 자잘한 성능표를 읊고 싶지는 않다. 중요한 것은 인터넷, 서버, 운영체제 등 컴퓨터와 관련된 많은 것들을 배우는 것에 그치지 않고 특정 용도로 지속적으로 사용하는데에도 부족함이 없다는 것이다. 보통의 데스크탑처럼 웹서핑이나 문서작업에 쓸 수도 있다. 운영체제를 마이크로SD 카드에 저장하기 때문에 입출력이 조금 느릴 수는 있으나 뭐 어떠랴. 4K모니터를 두개나 달 수도 있는데. MATLAB을 굴리거나 저사양이지만 마인크래프트를 돌릴 수도 있다. 파이썬, C, 스크래치 같은 프로그래밍 언어로 프로젝트를 할 수도 있다. GPIO에 아누이노나 센서들을 연결해 수 없이 많은 감지기들을 만들 수도 있으며, 카메라를 달아 얼굴 인식 프로그램을 만들어 사람을 볼때마다 인사를 하게 할 수도 있다. 아니면 필자처럼 무난하게 NAS나 블로그 서버를 돌릴 수도 있다. 정말 말 그대로 현대 컴퓨터가 하는 일은 뭐든 할 수 있다.

그러나 우리 마음에 가장 와닫는 것은 바로 그것의 가격이다. 모델의 종류마다 다르지만 가장 싼 라즈베리파이는 5달러이며 가장 사양이 높은 최신 모델은 75달러까지 있다. 일반 사용자용 컴퓨터 못지않은 굉장한 범용성을 갖춘 컴퓨터가 고작 몇 만 원이라니, 얼마나 놀라운 일인가? 몇 십 년 전만 해도 몇 백은 줘야 얻을 수 있었던 성능의 컴퓨팅 성능을 우리는 단돈 오 만원에 손에 쥘 수 있게 된 것이다. 말 그대로 손에!

필자가 라즈베리파이를 구매하고 사용한 지난 몇 달은 “아니 이게 돼?”의 연속이었다. 이 글에서는 라즈베리파이가 얼마나 넓은 범용성을 가지고 있는지, 그게 얼마나 놀라운 일인지 간략하게 소개할 것이다.

3. 내 라즈베리파이

라즈베리파이 4B+에 개인용 NAS와 블로그 서버를 올려 사용중이다. 트랜스미션을 설치해서 밤새 토렌트 파일을 받아놓기도 한다. 이걸로 많은 프로젝트를 했지만 계속 유지할만한 것들은 위에 세 개 정도였다.

1) NAS

처음 나스를 구성하게 된 이유는 군대 때문이었다. 군 복무를 하며 프로그래밍 프로젝트를 할 시간이 생겼다. 비록 짧은 시간들이었지만 그래도 코드들을 백업할 필요성을 느꼈다. 깃허브에 커밋하거나 드롭박스에 파일 채로 업로드하는 방법도 있었고 실제로도 그렇게 했다. 그러다가 나스를 알게되었고 또한 나스를 구성하는 가장 저렴한 방법이 라즈베리파이라는 것도 알게되었다. 후에 여러가지로 활용도 할 수 있고 가장 중요한 나스로 사용할 수 있었다. 휴가에 맞춰 주문하여 받았다. OMV를 설치하여 나스로 사용하였고 현재까지도 굉장히 만족하며 사용중이다.

파일의 백업과 저장공간의 확장은 단지 외장 저장장치를 사용하면 된다. 어떤 면에서는 더 이해하기 쉽고 편할 수도 있다. 나도 외장 HDD와 나스 사이에서 수없이 고민했던 기억이 있다. 시놀로지나 아수스토어와 같은 비싼 기성품 나스를 사용하지는 않았기에 가성비 측면은 크게 차이가 없었지만 안정적인 사용과 높은 수준의 보안을 위해서는 외장 하드가 더 나은 선택이었다. 인터넷이 끊어지면 사용 불가능한 나스와 달리 외장하드는 케이블이 연결되어 있다면 언제나 연결과 속도를 보장한다. 게다가 외부 인터넷에 연결하여 사용하는 나스의 특성상 파일 보안의 측면에서 분명 안심할 수 없는 부분이 있다. 조금 불편하긴 할테지만 어느 정도 이동성도 갖추고 있었기 때문에 밖에서도 파일에 접근 할 수 있다는 나스의 장점도 일부 희석되었다.

그런 많은 고민에도 불구하고 나는 나스를 선택했다. 가장 직접적인 이유는 내가 윈도우와 맥을 번갈아가며, 때로는 동시에 사용한다는 사실이다. 따라서 윈도우의 NTFS포멧이나 애플에 APFS포멧에 구애받지 않고 두 운영체제 모두에서 접근가능한 장치가 필요했다. 물론 특정 프로그램을 설치하고 EXT4나 NTFS 그대로 사용하더라도 가능했겠지만 포트가 부족한 맥북이나 아예 포트가 존재하지 않는 아이폰까지 생각하면 외장하드는 백업 용도로만 사용할 수 밖에 없는 반쪽짜리 저장장치였다.

당시 내가 군인 신분이었던 것도 한 몫했다. 부대에서 작성한 코드들을 백업하려면 외장 하드를 부대 안으로 반입해야하지만 규정상 어려운 일이었다. 모든 부대원들이 공용으로 사용하는 컴퓨터에 내인 하드를 꽂는 것도 썩 내키는 일이 아니었다. 그랬기 때문에 더욱 인터넷으로 접근 가능한 저장 공간이 필요했으며 라즈베리파이로 만든 나스는 그 필요를 충족할 뿐만 아니라 앞으로 진행할지도 모르는 많은 프로젝트들을 생각했을 때 최고의 선택이었다.

몇 번의 시행착오 끝에 완성하여 지금까지 알차게 사용하고 있는 나스는 하드를 두 개 달아 하나는 맥북 타임머신 백업용으로, 하나는 윈도우와 맥에 있는 프로젝트 백업과 입출력이 상대적으로 느려도 별로 상관없는 대용량 파일을 저장하는데 쓰고 있다. 실시간 영상 편집과 같은 대용량 파일의 높은 입출력 속도를 요구하는 작업이 아니라면 개인의 일반적인 업무에는 정말 차고 넘치는 성능을 제공한다.

개인적으로는 미니 ITX 컴퓨터로 바꾸고 나서는 3.5인치 하드를 컴퓨터에 설치할 수 없어서 난감했는데 그때 남은 하드를 알차게 활용할 수 있어서 만족하는 중이다.

2) 블로그 서버

아파치2와 php, 워드프레스를 라즈베리파이에 올려서 블로그 서버로 사용 중이다. 자세한 방법이나 내가 겪었던 시행착오는 나중에 따로 쓰기로 하고 이번에는 소감만 간단히 말한다.

첫 번째로 느낀 것은 모든 것이 완성되어 정상적으로 돌아갈 수 있기까지 비록 겉핥기 수준이지만 내가 정말 많은 것을 배웠다는 것이다. 짧은 지식이라 굳이 배운 것을 자랑하고 싶지는 않지만 완성하기 전의 나와 후의 나는 분명 다르다고 자신한다. 외부에서 페이지에 접속할 수 있도록 하는 것부터 구글에서 구매한 도메인에 사이트를 연결하여 주소창에 도메인을 쳐 접속할 수 있도록 하는 것까지, 일어난 문제를 해결해 갈 때마다 짜릿한 성취감과 더불어 그 부분에 대한 나름 깊은 이해와 통찰을 얻을 수 있었다. 블로그의 내용과는 별개로 목표로 하던 것을 많은 시행착오를 거쳐 결국 완성시켰다는 사실이 내게 정말 큰 기쁨을 주었다.

하지만 치명적인 오류를 마주할 때마다 왜 사람들이 이런 설치형 개인 블로그를 사용하지 않고 네이버나 티스토리에서 운영하는 서비스형 블로그를 사용하는지 뼈저리게 알게되었다. 만약 내가 블로그의 완성과 운영이 목표가 아니라 그 안에 담을 내용을 생각했고 서버의 안정성을 원했다면 절대 라즈베리파이에 설치하는 방식을 선택하지 않았을 것이다. 서버는 불안정하고, 부족한 기능을 추가하고 유지보수하는 과정에서 정작 블로그에 담을 내용에는 집중하지 못하는 경우가 생긴다.

페이지에 글을 남길 수 있도록 하는데까지 이틀은 족히 걸렸고, 구글 검색에 뜨게 하는데까지 나흘이 걸렸다. 그럼에도 불구하고 아직 작동하지 않는 많은 기능들이 나를 불편하게 한다. 이런 상황속에서 글을 쓰는 일에 집중하는 것은 불가능한 것 같다. 짧은 내 지식으로는 이런 종류의 서버를 완벽하게 만들지 못하는 바, 정말 질 좋은 글들을 쓰는데 집중하려면 차라리 다른 서비스형 블로그를 이용할 것이라는 결론에 도달했다. 정말로 내 목표가 사이트의 완성이 아니었다면 티스토리에 블로그를 만들었거나 아예 만들지 않았을 것이다.

3) 트랜스미션

트랜스미션은 토렌트 파일을 다운받는 프로그램이다. 가끔 용량이 무지막지한 토렌트 파일을 받아야 할 때가 있었다. 가는 명주실 같은 다운 속도를 보여주는 파일도 있다. 낮에는 도대체가 다운이 안되다가 새벽이 되어서야 피어가 나타나 다운이 시작되는 경우도 있었다. 쓸데없이 컴퓨터 리소스를 차지하여 게임이나 인터넷을 느리게 만든다. 25ms에서 놀던 핑이 단숨이 300ms으로 튀기도 한다. 단지 호기심에 설치해봤지만 지금 와서는 나름 만족하며 사용중인 기능이 되었다.

4. 결론

라즈베리파이의 매력은 결핍이라고 생각한다. 분명 우리 책상 위에는 놀라운 성능의 컴퓨터가 올려져 있다. 게임도 신나게 돌리면서 유튜브도 동시에 켜 놓을 수 있다. 2021년 초 지금 개인 컴퓨터 시장은 놀라운 변화를 맞이하고 있다. 메인스트림 PC는 4코어에서 6코어로 훌쩍 뛰었고, AMD는 드디어 게이밍 성능에서조차 인텔을 따라잡으며 다시금 과거의 영광을 되찾으려 하고 있다. 엔비디아는 일반 사용자용으로서는 전례없는 성능향상을 이룬 신세대 그래픽카드를 출시했다. 이런 컴퓨터들로 무언가를 못한다는 것은 상상하기 어렵다.

하지만 라즈베리파이는 ‘고작 이게?’라는 놀라움을 끊임없이 일으킨다. 핸드폰 충전기에 연결된 손바닥만한 초록 기판의 부족한 성능을 짜내어 프로젝트를 진행하다보면 정말 컴퓨터가 무엇인지 놀랍도록 빠르게 배울 수 있을 것이다.

Comments