ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • IoT에서 활용하는 장애허용시스템. 이제는 옵션이 아닌 필수 기술이 되어가고 있는데..
    Mobile topics 2015. 4. 15. 16:00
    반응형

    이번 스페인 바로셀로나에서 개최했던 MWC 2015의 핵심 주제는 IoT라고 봐도 과언이 아닐 것입니다. 물론 MWC 2015의 시작 전에 삼성전자가 언팩 2015를 통해 갤럭시 S6와 S6 엣지를 발표하고 MWC가 지정한 가장 우수한 스마트폰으로 애플의 아이폰6와 함께 LG의 G3가 뽑혀서 행사 내내 스마트폰에 대한 이슈가 많았던 것은 사실이지만 현지에 있었던 지인들의 이야기들을 들어보면 올해의 MWC는 IoT가 장악했다고 해도 과언이 아니라고 합니다.


    MWC 2015에서는 자동차와 관련된 IoT 기술들이 많이 나왔습니다. LTE를 넘어 5G 네트워크를 자동차에 직접 구현하는 기술도 나왔죠. 아우디의 미국 지사와 AT&T가 합작하여 2016년형 아우디 자동차에 4G/LTE 유심을 탑재해 아예 자동차 안에서 무선인터넷 관련 서비스를 제공받을 수 있게 하겠다고 하기도 했습니다. 자동차 뿐만이 아닙니다. 웨어러블 디바이스형 IoT 제품들도 많이 나왔는데 헬스케어 제품들이 많이 등장했습니다. 특히, 스마트워치의 핵심 기능으로 GPS나 자이로센서, 심박측정센서 등의 다양한 센서를 활용한 헬스케어 기능이 본격적으로 자리잡기 시작하고 있다는 생각이 듭니다. 이제 IoT는 제품과 그것을 활용하는 서비스의 양쪽 모두에서 올해 큰 도약이 있을 것이라는 생각이 듭니다.



    IoT에서도 이제는 적용되는 FTS


    장애 허용 시스템. 결함 감내 시스템(Fault tolerant system. 줄여서 FTS)이라고 불리기도 합니다. 기본적으로 FTS는 시스템을 구성하는 부품의 일부에서 결함이나 고장이 발생하여도 정상적으로, 혹은 부분적으로 기능을 수행할 수 있는 시스템을 의미합니다. FTS는 보면 어떤 시스템이 구동하는데 있어서 문제가 발생되었을 때 해당 문제에 대해서 관리자에게 연락하여 조치를 취하도록 하고 그 조치를 취하는 시간 동안에 정상 상태와 마찬가지로 시스템을 구동시키도록 합니다. 물론 해당 문제가 계속 지속이 되면 그 문제로 인해 다른 문제가 발행하게 되고, 그렇게 되면 시스템에 치명적인 손실을 가져올 수 있기 때문에 고장에 대비할 수 있는 시간을 벌어주는 컨셉이 현재의 FTS의 핵심 기술입니다. FTS는 보통 고장이 발생하면 인명이나 재산에 피해를 초래하는 사고가 발생하는 안전필수 및 임무필수 임베디드 시스템에 사용됩니다. 예를 들면, 전력선 배분 시스템이나 신호등 제어 시스템과 같이 우리가 흔히 볼 수 있는 시스템에 FTS가 적용되고 있습니다. 또한 비행기나 배에서 사용하는 항로 제어 시스템에도 FTS가 적용됩니다. 보통은 이런 분야의 시스템에 적용되곤 하는데 최근 IoT의 확산과 함께 FTS가 IoT 세계에 적용되기 시작했습니다.


    요즘 가장 많이 FTS를 IoT에 적용하려고 하는 분야가 헬스케어 분야입니다. 보통 우리가 생각하는 GPS나 자이로센서 등을 이용하여 운동량을 측정하고 심박수 측정 센서를 이용하여 심박수를 체크하여 전체적인 운동량 등을 측정하고 계산해주는 수준이라면 FTS가 크게 필요하지는 않을 것입니다. 하지만 그 이상의 병원에서 실제로 환자들의 상태를 체크해서 그 정보를 병원에 설치된 중앙 시스템에 전송하고 그 정보들을 모아서 빅데이터 분석을 통해 전체적인 환자의 상태 및 향후 추이를 살펴보는 그런 시스템이라면 시스템의 가장 시작점이라고 할 수 있는 환자들의 상테 체크 부분부터 그 값이 정확해야 하며 고장없이 지속적으로 시스템이 동작되어야 합니다. 요즘 대형 병원의 내부 시스템에서 데이터를 송수신하고 서비스를 취합하여 보여주는 시스템을 인터넷 기반으로 많이 구축하고 있습니다. 병원 하나에서 끝나는 것이 아니라 여러 병원에서 그 데이터들을 모아서 통합분석을 진행하도록 확장되고 있습니다. 그래서 자연스럽게 각 시스템의 말단 센서와의 연결이 인터넷을 통해서 이뤄지게 되고 IoT 시스템이 구축되고 있는 것입니다. 기존의 의료 시스템에서도 FTS를 사용하고 있었습니다. 다름아닌 서비스 서버 부분에 말입니다. 하지만 이제는 실제 데이터를 수집하는 센서 부분에까지 FTS를 확장하고 있는 추세입니다. 과거 의료 시스템이 주로 내부망을 이용했다면 이제는 그 연결이 인터넷으로 확장되고 서비스의 수집 및 분석이 병원 안에서 뿐만이 아니라 병원 밖의 중앙 시스템에 모이는 방식으로 바뀌게 되면서 내부의 센서 시스템들이 IoT화 되어가기 시작했고 더 정확한 정보의 수집 및 시스템 유지를 위해 FTS가 도입되고 있습니다. 어쩌면 우리가 언론 등에서 보는 헬스케어 보다는 그 이상의 엔터프라이즈 영역에서의 헬스케어 서비스에 FTS가 본격적으로 들어가기 시작했다고 보면 될 듯 싶습니다.


    FTS의 방식들


    일반적으로 FTS에서 제공하는 장애 복구 방식은 롤백 방식과 이중화 방식으로 나뉩니다. 롤백 방식은 시스템이 고장난 시점의 그 이전 시점으로 시스템의 상태를 되돌리는 것을 의미합니다. 시스템은 정상 상태일 때 현재의 상태를 스냅샷 방식으로 저장하고 체크포인트를 지정해둡니다. 그러다가 시스템에 문제가 생겼을 경우 문제 시점 이전의 체크포인트로 이동하여 저장한 스냅샷으로 복구를 진행합니다. 윈도에서 이전  시점으로 되돌리는 기능과 유사하다고 보면 됩니다. 물론 이전 시점으로 되돌렸을 때 그 시점과 문제가 된 시점 사이에 생긴 데이터에 대한 손실이 있을 수 있습니다만 손실된 데이터가 시스템의 장애 원인이 될 것이라고 보고 복구 이후 관리자가 트렌젝션 데이터를 분석하여 장애 원인을 찾아내는 방식을 사용합니다(즉, 손실된 데이터를 장애 원인으로 보는 경우에 이 방식을 사용합니다).


    또 하나의 방식은 이중화 방식입니다. FTS에서 사용하는 이중화 방식은 복제(Replication), 다중화(Redundancy), 다양화로 나뉠 수 있습니다. 복제 방식은 동일한 시스템을 복수로 준비하여 병렬로 실행시킨 다음 다수의 시스템을 만족한 결과를 올바른 결과로 생각하는 방식입니다. 여러 시스템이 하나의 값을 가져다가 처리하는데 만약 어느 하나의 시스템이 문제가 생기더라도 다른 정상적인 시스템이 제대로 된 값을 만들어주기 때문에 제대로 된 값을 생성할 수 있다는 방식입니다. 다중화 방식은 동일한 시스템을 복수로 준비하여 구동시키는데 마스터-슬레이브 방식, 혹은 액티비-스텐바이 방식으로 마스터나 액티브가 문제가 생겼을 때 슬레이브나 스텐바이 시스템을 구동시키는 것을 얘기합니다. 기본적으로 서버 시스템에서 가장 많이 사용하는 방식입니다. 다양화 방식은 같은 성능의 서로 다른 형식의 하드웨어를 여러개 준비하고 그 위에 복제 방식과 같이 동일한 시스템을 운용하는 것입니다. 다양화 방식의 특징은 모든 시스템이 똑같은 장애가 일어나지 않는다는 점입니다. 이렇게 보통 FTS는 롤백 방식과 이중화 방식으로 시스템의 장애를 허용하는 메커니즘을 운용합니다.


    IoT에서 활용하고 있는 FTS 방식은?


    IoT에서 사용할 수 있는 FTS의 방식은 위에서 언급한 방식들 중 이중화 방식의 복제와 다중화 방식입니다. 복제 방식의 경우 IoT 시스템에서 장애로 인해 잘못된 값을 생산하는 것을 막을 뿐만이 아니라 정상적인 상황에서도 생성된 값의 보정 역할을 할 수 있다는 장점이 있습니다. 다만 동일한 시스템을 2개 이상 준비해서 운용해야 하기 때문에 실제로 시스템에 들어가는 자원의 소모가 많다는 단점이 존재합니다. IoT 시스템이 대부분 임베디드 시스템을 기반으로 하기 때문에 일반 PC 처럼 시스템 자원을 폭넓게 사용할 수 있는 환경은 아닙니다. 제한적인 자원을 이용하기 때문에 복제 방식을 이용하게 되면 자원 사용에 대한 효율성 문제가 생기게 됩니다. 다중화 방식의 경우 동일한 시스템을 2대(혹은 3대 정도)정도 운영하지만 메인으로 사용되는 시스템에 주력 자원이 들어가고 나머지는 대기 자원이 들어가기 때문에 복제 방식보다는 자원 효율성은 좋은 편입니다. 하지만 시스템 자체에서 생긴 문제로 인한 잘못된 데이터 생산이 일어날 수 있다는 문제는 존재합니다. FTS를 도입하는 입장에서 복제 방식이 성능적인 면에서 다중화 방식보다 우수하지만 시스템 환경의 제약으로 인해 복제 방식보다는 다중화 방식을 IoT 시스템에서는 많이 이용하고 있습니다.


    과거 FTS는 서버 시스템에서 지속적인 서비스 유지를 위해서 이중화 시스템(다중화 방식을 이용한) 방식으로 많이 이용했습니다. 그리고 이제는 그 영역을 클라이언트로 넓히게 되었고 단순한 PC나 노트북, 스마트폰과 같은 클라이언트를 포함하여 센서, 웨어러블 시스템, 그 외의 다양한 임베디드 시스템에 도입되기 시작했습니다. IoT로 그 영역이 확대되면서 지속적으로 정확한 데이터를 수집해야 하는 시스템 영역에서 FTS의 역할은 더 커지고 있는 것이 현실입니다. 앞서 소개했던 자동차 분야에서도 IoT가 도입되기 시작했는데 차량 제어 부분에 있어서 시스템의 장애로 인해 잘못된 데이터가 생성되게 되면 그 피해가 엄청나게 커지게 될 것입니다. 이런 부분에 있어서 이제 FTS는 옵션이 아닌 필수 기능으로 곧 자리를 잡게 될 것으로 보입니다.


    이 글은 LG CNS 블로그에 기고했던 글의 원본입니다. 기고한 글은 [여기]에서 보실 수 있습니다.

    반응형

    댓글

Designed by Tistory.