어느새 무더운 여름이 지나고 서늘한 가을이 찾아 왔습니다. 어떻게 지난 여름 잘 버티셨나요? 이번 여름은 그 어느 해 보다 더 덥게 느껴지면서 사회적으로도 누진세 같은 이슈가 화제되곤 했었습니다.
어떻게 보면 우리 (주)인실리코젠도 더위와 싸우는 기업입니다. 좀 더 정확히 말하자면 서버실에 있는 분석 및 스토리지 서버들이 더위와 맞서 싸우고 있습니다. 대용량의 생물정보 데이터 분석을 위해 수십대의 분석 서버들이 열을 내며 24시간 쉬지 않고 일을 하고 있답니다. 이 열을 제대로 식혀주지 않으면 서버들은 곧 강제 종료되고 장시간 실행중이던 분석 작업도 중단되며 저장중이던 데이터나 장비에 치명적인 문제가 발생할 수도 있습니다.
 
<열화상카메라... 가 없어서 구한 다른 서버실의 열화상 카메라 사진>
 

그러다 보니 서버실의 더운 공기를 식히고 순환시켜주는 에어컨이나 공조장치들의 역할이 중요합니다. 보통은 에어컨에 적정온도를 맞춰 두고 24시간 가동하여 이런 문제를 대비하지만 언제나 그렇듯 사고는 예상치 못할 때 발생합니다.

의외로 이런 사고는 경험상 여름보다는 겨울이나 초여름에 잘 발생했습니다. 지난 겨울에는 실외기가 너무 추운 바깥 공기에 얼어붙어 버려서 냉매의 순환에 문제가 생겨 차가운 바람이 충분히 나오지 않는 문제가 생겼습니다. 그리고 보통 겨울에는 여름보다 조금 높은 온도를 에어컨에 설정해 두는데 갑자기 더위가 찾아오는 초여름에 너무 높아진 온도에 비해 충분히 차가운 바람을 내지 못하면서 서버실의 온도가 높아진 적도 있습니다.

이런 사고를 몇 번 겪었을 무렵 세상은 IoT(Internet on Things) 열풍이 불기 시작했습니다. 그중에서도 저의 관심을 끌었던 장비가 바로 라즈베리 파이(Raspberry Pi) 입니다. 라즈베리 파이는 영국 잉글랜드의 라즈베리 파이 재단이 학교와 개발도상국에서 기초 컴퓨터 과학의 교육을 증진시키기 위해 개발한 신용카드 크기의 싱글 보드 컴퓨터입니다. 크기는 작지만 하드디스크 대신 SD카드를 사용하고 HDMI 포트로 모니터와 연결도 가능하며 LAN포트도 있어서 인터넷 연결도 되는 엄연한 컴.퓨.터 입니다.

<스마트폰 보다 더 작은 컴퓨터, 라즈베리파이>

라즈베리 파이의 장점은 일반 USB 포트뿐만 아니라 다양한 통신 포트도 제공해서 여러가지 센서들도 제어할 수 있다는 점입니다. 예를 들어서 전기 신호를 켜고 끄도록 프로그램을 만들면 발광 다이오드에 불을 켤 수도 있고, 작은 모터를 동작 시킬 수도 있습니다. 초음파 센서나 감광센서를 이용하면 누군가 센서 앞을 지나가는 것을 알 수도 있습니다. 이젠 정말 좋은 아이디어가 있으면 누구나 직접 만들어 낼 수 있는 세상이 온 것입니다.


<다양한 센서를 조합하면 구현하지 못할 아이디어가 없다>

저는 이 라즈베리 파이에 몹시 흥미를 느꼈습니다. 그리고 이 작은 컴퓨터를 이용해 회사가 겪고 있는 어떤 문제를 해결하는데 사용하고 싶었습니다. 바로 우리 서버실을 높은 온도로부터 지켜줄 수 있는 장치를 만들고 싶었습니다.

저는 이 프로젝트의 이름을 Rainbow Guard Project 라고 이름을 지었습니다.

보통 서버들은 host name이라고 부르는 별명을 가지고 있습니다. 보통은 node0, node1, node2 이렇게 이름을 짓거나 소속 기관의 영어 약자로 붙여주곤 합니다. 디자인에 강한 우리 인실리코젠은 각 서버들의 성격에 맞는 색을 이름으로 지어 줬습니다.

  • 강력한 파워를 자랑하는 분석 서버에게는 BLACK
  • CPU가 많아 언제나 많은 분석량을 자랑하는 서버에게는 RED
  • 많은 고객이 찾아오는 웹사이트를 운영하는 서버에는 GREEN
  • 테스트를 많이 해서 정신이 오락가락한 서버에게는 PURPLE

Rainbow Guard Project 이렇게 다양한 색깔의 레인보우를 지켜주겠다는 의미를 지닙니다.

<애네들이 생각 나도 모른척 하세요, 아~재 소리 듣습니다...>

Rainbow Guard Project는 크게 3부분으로 나뉩니다.

1. 서버실의 온도를 체크하고 기록
2. 특정 온도 이상으로 온도가 올라갈 경우 서버실 관리자에게 경고 메일 발송
3. 24시간 동안의 서버실 온도 현황 조회

첫 번째 기능을 위해 먼저 라즈베리 파이와 온도센서를 연결하는 작업을 진행했습니다. 기왕이면 평상시 정상 작동 때와 온도가 높을 때를 구분할 수 있도록 LED도 있으면 좋겠네요. 이런 기능을 위한 회로도를 설계해 보고 납땜질도 하면서 깔끔하지는 않지만, 동작은 하는 온도 감시 및 알림 회로를 만들어 라즈베리 파이와 연결하였습니다. 저도 V=IR이라는 공식밖에 모르지만, 열심히 구글링하고 공부하면서 만들 수 있었습니다.

<PPT로 회로 설계도면을 만들고, 겨우겨우 납땜해서 만든 모듈>

리눅스에는 crontab 이라는 스케줄러가 있는데요, 온도센서의 값을 읽어와서 저장하는 프로그램을 만든 후 이 crontab의 스케줄에 추가해 주면 정기적으로 온도 감시가 진행됩니다. 덤으로 온도가 높아 졌을때 서버실 밖에 있는 사람들이 빨리 알아챌 수 있도록 음악이 나오게 셋팅해 뒀습니다. 경고 상태에서 나오는 음악은 f(x)의 'Dangerous' 입니다. 듣기만 해도 위험한 상태라는걸 알 수 있게 해줍니다.


<원래는 마이클잭슨의 Dangerous를 재생 시키려고 했는데 음원을 못 구해서...>

경고 상태가 되면 설정된 서버실 관리자들에게 다음과 같은 메일이 발송됩니다. SMS 문자를 보낼 수도 있지만, 유료 서비스라서 메일을 보내도록 설정해 뒀습니다. 어짜피 스마트 시대에 메일이 오든 문자가 오든 틈틈이 확인하는 습관이 있어서 상관은 없습니다.

마침 이 글을 작성하는 동안 경고 메일을 수신했습니다. 앞서 말씀드린 것처럼 봄, 가을 같은 환절기에는 에어컨의 적정온도가 변경되어 간혹 이런 경고가 발생하기도 합니다. 이번에는 날씨가 선선해 지면서 건물 중앙 관리 시스템이 적정온도를 조금 높이다 보니 서버실의 온도가 높아져 경고가 발생했습니다. 서버실 자체 에어컨의 온도를 조금 더 낮춰 해결하였습니다.

<토요일 새벽 6시에 경고 메일을 받은 서버관리자가 긴급 출동하여 초기에 대처>
 

경고 알림 메일에 있는 URL을 클릭하면 지난 24시간 동안의 온도 현황을 그래프와 함께 볼 수 있는 웹페이지로 이동하게 됩니다. 이 사이트는 Python Django를 이용하여 구현하였습니다. 제가 디자인 감각은 꽝이라서 정말 필요한 정보가 보이게끔만 만들어 봤습니다. 지금은 회사 동료들과 함께 조금씩 예쁘게 업그레이드하는 중입니다.


<저의 html 레벨은 15년 전에 멈춰 있습니다...
(그렇다고 배경에 보노보노를 넣고 싶진 않았어요 ㅠㅠ)>


이렇게 경고 알림 메일을 받으면 몇몇 직원들이 급히 서버실로 출동하여 상태를 점검하고 위기의 우리 서버들을 더위로부터 구출해 냅니다. 제가 납땜질이 서툴러서 회로의 한 부분이 끊어져 잠시 운영하지 못한적도 있지만 지금은 24시간 서버실에서 제 역할을 하고 있는 중입니다.


<일부러 서버실에서 더운 곳에 둬서 빨리 경고가 울리도록 설치>
 
위에서도 잠시 언급했지만 저는 주입식 교육을 통해 V=IR이라는 공식만 기억하는 동물세포 실험실 출신의 생물학 전공자입니다. 하지만 다양한 분야의 융합을 통하여 가치를 생성해 나가는 생물정보 분야의 동료들과 함께 일하면서 새로운 분야에 대한 도전 의지도 키울 수 있었던 것 같습니다. 잘 모르는 분야라도 꾸준히 보고, 듣고, 배우다 보니 생물학 너머 다양한 분야의 기술과 노하우를 배울 수 있었습니다. 그렇다고 아주 잘 하는 건 아닙니다. 생물 정보 분석을 위한 넓고 얕은 지식 정도 되겠네요. 여러분들도 생물정보 분석을 하면서 리눅스, 코딩, 통계 등의 난관에 부딪혀 많이 힘든 상황을 겪으실 것 같습니다. 하지만 포기하지 말고 꾸준히 밀고 나가다 보면 경계 너머의 다양한 즐거움을 느끼게 되실 거라고 믿습니다.  
 

<이미지 출처>
  • IDC HOWTO - http://idchowto.com/?p=12787

  • RayHightower.com - http://rayhightower.com/blog/2012/12/03/ruby-on-raspberry-pi/

  • SUNFOUNDER - https://www.sunfounder.com/rpi2-sensorv2.html

  • 후레쉬맨 - http://blog.daum.net/gkglh16/3

  • f(x) - http://ppulset.tistory.com/552


작성자 : BS실 SP팀 심재영 선임 컨설턴트

Posted by 人Co

2016/10/31 18:33 2016/10/31 18:33
Response
No Trackback , No Comment
RSS :
https://www.insilicogen.com/blog/rss/response/226

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다



« Previous : 1 : ... 137 : 138 : 139 : 140 : 141 : 142 : 143 : 144 : 145 : ... 356 : Next »