이전 기사

산업용 리눅스를 이용한 분산형 IIoT 애플리케이션 구현 방법 ①

앞서 언급한 필수적인 하드웨어 요건 외에도, 디지털 유전과 다른 분산형 IIoT 애플리케이션을 위한 엣지 게이트웨이는 다음과 같은 문제를 해결할 수 있는 운영체제가 필요하다.

 

▲애플리케이션 개발

IIoT 엣지 게이트웨이는 여러 다른 기능을 수행할 수 있어야 하며, 각 유정에 배치된 다양한 센서와 액추에이터의 대규모 데이터를 실시간으로 처리할 수 있어야 한다. 대부분의 게이트웨이는 원격 데이터센터나 클라우드 상의 보다 강력한 서버로 정보를 전송하기 전에 유입되는 데이터만 처리하도록 설계됐기 때문에 RTOS(Real-Time Operating System)는 일반적으로 MCU(Microcontroller Unit) 안에 내장돼 있다.

그러나 기존의 임베디드 RTOS는 일반적으로 단일 용도로만 설계돼 있어 여러 기능을 실시간으로 동시에 수행하는 것이 불가능하다. 또한 간단한 RTOS는 머신러닝이나 컨테이너를 비롯한 다른 새로운 기술들을 지원할 수 없다. 결국 이런 제약조건들로 인해 시장 출시시간을 지연시키거나 전반적인 개발 비용을 증가시키게 된다.

 

▲시스템 안정성

엣지 게이트웨이는 각 원격 현장에서 중요 데이터를 처리해야 하는데, 시스템 충돌로 인해 생산이나 인명에 위험을 초래할 수 있어 게이트웨이의 운영체제는 매우 안정적이어야 한다. 일반적으로 게이트웨이에서는 파일을 추가, 수정 또는 삭제해 시스템 충돌이나 손상이 전혀 발생하지 않도록 해야 한다. 예외적 상황이 발생하거나 소프트웨어 애플리케이션이 시스템을 정지시키는 경우, 유지보수 엔지니어가 마지막 작업 버전으로 운영체제를 복귀시킬 수 있어야 한다.

 

▲원격 유지보수

모든 운영체제는 정기적인 펌웨어 업데이트와 취약성 패치가 필요하다. 그러나 원격·분산 애플리케이션 환경의 디지털 유전은 너무 많은 게이트웨이 펌웨어 업데이트가 또 다른 문제를 야기할 수 있다. 유지보수 엔지니어가 어떻게 각기 다른 지역에 위치한 수많은 각 장치들의 펌웨어를 업데이트할 것인가? 물리적으로 각 원격 현장으로 이동하는 것은 유전 크기에 따라 엄청난 시간과 비용이 소모될 것이다.

또한 하나의 원격 현장에서 펌웨어 업데이트가 실패한 경우 유지보수 엔지니어는 어떻게 디지털 유전 전체 시스템을 온라인 상태로 유지하고 실행되도록 할 수 있을까?

 

▲데이터 보호

이런 정보는 매우 민감한 기밀사항이기 때문에 각 게이트웨이에 저장된 모든 유정 데이터는 안전하게 보호돼야 한다. 침입자가 게이트웨이의 플래시 드라이브나 SD 카드와 같은 저장매체를 훔친다 하더라도 리버스 엔지니어링을 통한 무단 액세스로부터 데이터를 보호할 수 있어야 한다.

또한 게이트웨이 운영체제 소프트웨어는 무결성을 보호하고 검증해야 한다. 예를 들어, 정상적인 부팅 프로세스를 우회하거나 운영 소프트웨어를 교체할 수 있다면, 권한이 없는 직원이 임의로 게이트웨이를 조작하거나 전체 유전 시스템을 손상시킬 수도 있다.

 

▲향후 지원

대부분의 운영체제는 몇 년 동안만 공급업체의 지원이 이뤄진다. 그러나 2년마다 새로운 버전의 운영체제로 업그레이드할 수 있는 오피스 환경과 같은 상용 애플리케이션과 달리, 디지털 유전과 같은 산업용 애플리케이션은 일반적으로 10년 또는 가능한 더 오랫동안 동일한 플랫폼을 사용해야 한다.

산업용 애플리케이션은 구현과 구축에 많은 시간이 요구되는 복잡한 프로세스를 위해 고도로 특화된 프로그램을 실행한다. 또한 이런 프로그램은 새로운 운영체제 버전과 완벽하게 호환되지 않을 수도 있다.

 

분산형 애플리케이션을 위한 산업용 리눅스 배포판

다행히도 새로운 산업용 리눅스 플랫폼은 산업 자동화를 위해 특별히 설계된 개방형 소프트웨어 플랫폼을 제공함으로써 앞서 언급한 분산형 IIoT 애플리케이션 과제를 해결할 수 있다. 그러나 Moxa10를 비롯해 각기 다른 여러 공급업체와 제공자가 지원하는 오픈소스 이니셔티브처럼 산업용 리눅스 배포판도 매우 다양하다. 따라서 분산형 IIoT 애플리케이션의 엣지 게이트웨이를 위해 다음과 같은 요구사항을 완벽하게 만족시킬 수 있는 산업용 리눅스 배포판을 선택하는 것이 중요하다.

 

▲시장출시 시간 단축

최근 몇 년 동안 실리콘 비용이 급격히 감소하고, 기술 발전으로 더욱 소형화된 칩으로 점점 더 강력한 컴퓨팅 기능을 수행할 수 있게 됨에 따라 게이트웨이를 위한 임베디드 운영체제는 단일 용도 또는 단순한 RTOS의 한계를 넘어서고 있다. 실제로 최신 임베디드 시스템은 IIoT 게이트웨이를 비롯한 엣지 장치에서 다목적 리눅스 운영체제를 실행할 수 있다.

IoT 개발자는 이런 다목적 기능이 지원됨에 따라 비즈니스 성과에 집중하고, 애플리케이션을 보다 빨리 시장에 출시할 수 있다. 또한 IoT 개발자들이 가장 많이 사용하는 리눅스 배포판인 데비안(Debian)을 기반으로 한 산업용 리눅스 운영체제를 선택하면, 개발자들이 부가가치를 높이는데 익숙한 플랫폼을 제공함으로써 시장 출시시간을 단축할 수 있다.

임베디드 OS

▲견고한 파일 시스템과 이중 시스템 설계

산업용 리눅스 플랫폼은 부트로더, 커널, 파일 시스템 등 3가지 시스템 레이어를 가지고 있다. 애플리케이션 개발과 운영 중 가장 자주 변경되는 레이어는 파일 시스템이다. 시스템 충돌을 방지하기 위해 산업용 리눅스 OS는 파일 시스템 충돌을 방지하고, 관리자가 시스템을 이전 버전으로 복귀시킬 수 있는 메커니즘을 제공해야 한다. 견고한 파일 시스템을 위해 구체적으로 다음과 같은 사항들이 지원돼야 한다:

• 펌웨어 다운그레이드/업그레이드

• 펌웨어 업그레이드/다운그레이드 중 시스템을 기본 설정으로 복원할 때 예기치 않은 전원 손실로 인한 시스템 충돌을 방지하는 OverlayFS(Overlay File System)

• 펌웨어 업그레이드/다운그레이드 실패 시 파일 시스템 복구

또한 산업용 리눅스 OS는 부트로더/커널 업그레이드 실패 시 마지막 작업 버전의 부트로더 또는 커널을 유지하는 이중 시스템 설계도 갖추고 있어야 한다. 예를 들어 관리자는 보안 문제에 따른 패치를 설치하거나 버그를 수정하기 위해 부트로더 또는 커널을 업그레이드해야 할 수 있다. 그러나 부트로더 또는 커널 업그레이드가 실패하면, 전체 시스템을 부팅할 수 없게 되고, 산업 시스템 전체가 중단된다.

 

▲무선(Over-the-Air) 소프트웨어 업데이트

엣지 게이트웨이는 원격지에 위치하기 때문에 관리자가 현장에서 애플리케이션이나 시스템 소프트웨어를 업그레이드하기 어렵다. 이런 문제를 극복하기 위해서는 셀룰러, 와이파이 또는 다른 유형의 무선 네트워크를 통한 원격 펌웨어 업그레이드가 가장 실용적인 방법이다. 특히 데비안 시스템은 APT(Advanced Package Tool)라는 간단한 소프트웨어 업그레이드 메커니즘을 지원한다. APT는 원격 다운로드와 설치가 가능한 2만 5000개 이상의 소프트웨어 패키지가 지원되는 중앙 저장소를 갖추고 있다.

또한 개발자는 자체 보안 패치와 버그 수정, 또는 새로운 애플리케이션 소프트웨어를 APT 포맷으로 패키지화할 수도 있으며, 이 APT 패키지를 장치관리 서버와 같은 중앙 서버에 보낸 다음, 무선(Over-the-Air)으로 펌웨어 업그레이드를 수행할 수 있다. 장치에서 APT 패키지의 진위여부와 공급업체의 정품인지 확인하기 위해 APT 서버의 유효성 검사, 그리고 인증을 위한 메커니즘도 필요하다.

 

▲산업용 등급의 사이버 보안 통합

산업용 리눅스 플랫폼은 중요 데이터를 보호하기 위해 안전한 부팅 프로세스를 통합해야 한다. 산업용 리눅스 플랫폼은 각 부트 프로세스를 하드웨어 RoT(Root of Trust)에 고정시킴으로써 TCB(Trusted Computing Base), 즉 부트로더 또는 커널에 대한 무단 액세스를 방지함으로써 데이터 도난과 무작위 공격으로부터 게이트웨이를 보호할 수 있다.

보안 부팅을 위해서는 IBM eFuse 또는 인텔 부트 가드(Boot Guard) 기술이 지원되는 CPU가 필요하다. 두 기술은 모두 기본적으로 제조 후 수정할 수 없도록 칩 안에 핵심 프로그래밍 로직을 하드 코딩 방식으로 내장하고 있다. 일반적으로 다음과 같은 OS 부팅 프로세스는 이런 하드웨어에 기반한다:

① CPU가 부트로더를 로드한다.

② 부트로더는 커널을 로드한다.

③ 커널은 미니 루트 파일 시스템(initrd/intramfs)을 로드한다.

④ 미니 루트 파일 시스템은 rootFS(ext4/raid disk)를 시작한다.

비인증 코드 삽입 또는 스니핑(Sniffing)으로부터 각 스레드(Thread)를 보호하기 위해서는 각 프로세스가 실행될 때 비대칭 암호화와 서명확인이 함께 이뤄져야 한다. 다음 그림은 일반적인 보안 부팅 프로세스의 스레드 모델을 보여준다.

OS 부팅 프로세스 중 스토리지를 보호하는 것 외에도, 보안 부팅에는 애플리케이션 소프트웨어와 바이너리 데이터를 위한 라이브러리 보호 기능도 포함돼야 한다. 예를 들어, 공격자가 원격 현장의 게이트웨이를 물리적으로 훔친다 하더라도, 모든 데이터와 라이브러리가 비대칭으로 암호화돼 있다면 중요 정보에 액세스할 수 없게 된다.

 

▲장기적인 리눅스 지원

개발자가 리눅스 배포판을 사용할 때 가장 우려하는 것 중 하나는 유지관리와 지원 기간이다. 산업용 리눅스 플랫폼 또한 표준 리눅스 운영체제와 마찬가지로 오픈소스이며, 원 개발자에 의해 약 2년 동안만 유지관리된다. 그러나 산업용 애플리케이션은 2년마다 플랫폼을 업그레이드하거나 마이그레이션하는 것은 거의 불가능하다.

IIoT 애플리케이션의 경우 가장 좋은 방법은 최소 10년의 서비스가 보장되는 MIL(Moxa Industrial Linux)처럼 산업용 리눅스 플랫폼 대한 장기 지원을 제공하는 소프트웨어 공급업체와 협력해 소프트웨어 유지관리 기간을 연장하고, 소프트웨어 업데이트 유형, 주기를 조정함으로써 위험, 비용, 그리고 소프트웨어 구축으로 인한 중단을 줄이는 것이다.

 

결론

디지털 유전과 같은 분산형 IIoT 애플리케이션은 데이터를 클라우드로 전송하기 전에 중요 정보를 사전 처리하는 엣지 게이트웨이를 위한 견고하고 안전한 운영체제가 필요하다. 분산형 IIoT 환경에 영향을 미치는 애플리케이션 개발, 원격 유지관리, 데이터 보호, 향후 지원 과제들을 해결할 수 있는 산업용 리눅스 배포판이 IoT 개발자들 사이에서 가장 널리 사용되는 엣지 게이트웨이 운영체제가 될 것이다.

예를 들어, MIL은 임베디드와 IoT 애플리케이션 개발을 가속화하는 소형 풋프린트의 고성능, 산업용 등급의 리눅스 배포판으로, 보안 패치, 버그 수정을 비롯한 10년 리눅스 지원을 통해 산업용 프로젝트를 안전하고 지속 가능하게 만들고 있다. 또한 Moxa는 리눅스 재단의 회원사이며, 스마트시티, 사회기반 시설, 공장의 관리와 모니터링을 위한 오픈소스 플랫폼 개발을 목표로 하는 CIP(Civil Infrastructure Platform) 프로젝트에 참여하고 있다.

MIL 또는 다른 산업용 리눅스 배포판을 선택하든 중요한 것은, 엣지 게이트웨이 운영체제는 시장 출시시간을 단축하고, 견고한 파일 시스템과 이중 시스템 설계를 포함하고 있어야 한다는 것이다. 또한 간단하고 안전한 무선 업데이트 지원과 산업 등급의 사이버 보안 기능을 탑재하고 이를 장기 지원할 수 있어야 한다는 사실을 기억하자.

회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지
이 기사와 관련된 기사