사물인터넷 장치를 구축하거나 연속 비디오를 녹화하는 것은 저전력, 고용량 저장 시스템을 필요로 하며, 가급적 저렴한 하드웨어를 사용하는 것이 좋습니다. 특정 경우에, 당신의 장치는 원격지에 있거나 산업 장비, 로봇, 또는 차량에 장착되어 높은 진동 강도를 다루게 될 수 있습니다. 이러한 상황은 고체 상태 저장 장치를 필수적으로 만듭니다.
저는 네트워크 연결 저장 서버를 Raspberry Pi를 사용하여 구축하는 것을 살펴보기 시작했습니다; 결국 그것들은 훌륭한 단일 보드 컴퓨터입니다. 그러나 이런 종류의 작업에는 이상적이지 않게 만드는 몇 가지 요소가 있습니다. 첫째로, 최신 3B+에서는 네트워크 포트가 300Mbit/s이고, 이전 세대에서는 100Mbit/s입니다. 둘째로, USB 포트는 USB 2.0(480Mbit/s)만 지원하므로 USB 3.0(5Gbit/s)보다 상당히 느립니다. USB 커넥터는 고진동 환경에서 항상 최선의 선택이 아니며, 이로 인해 간헐적인 연결 오류가 발생하거나 케이블이 잘 고정되어 있지 않으면 피로로 인해 실패할 수 있습니다. 특히 USB 2.0 케이블은 VFD 구동 모터와 같은 고 EMI 환경에서도 특별히 잘 작동하지 않습니다.
시장에 나와 있는 매력적인 옵션들을 비교한 후, 영국의 유통업체(https://odroid.co.uk)에서 ODroid HC1(Home Cloud 1)을 구매했습니다. 이 제품은 매우 컴팩트하면서도 합리적인 가격의 싱글 보드 컴퓨터입니다. HC1의 광고된 벤치마크는 비슷한 가격대의 다른 싱글 보드 컴퓨터들과 비교했을 때 꽤 놀라운 수준입니다.
Hard Kernel에서 직접 구매할 경우, 제품 가격은 미화 49달러이며, 배송비, 전원 공급 장치, 하드 드라이브는 포함되어 있지 않습니다. Hard Kernel은 또한 RasPi 폼 팩터에서 처리 능력이 매우 뛰어난 보드들을 제공하는데, 이에 대한 비용을 지불할 의향이 있는 사람들에게 매우 인상적입니다. HC1은 네트워크 연결 스토리지를 제어하는 데 전념하면서, 불필요한 기능을 모두 제거한 점이 저에게 매력적으로 다가왔습니다. 또한, 열린 케이스 역할을 하는 거대한 히트싱크에 장착되어 있음에도 불구하고 상당히 컴팩트합니다. 원하는 경우 상단 커버를 포함할 수 있는 옵션도 있습니다.
내장된 WiFi 기능과 디스크 고장 시 데이터 보안을 위해 RAID 및 여러 드라이브를 운영할 수 있는 기능을 원했습니다. Odroid HC1은 이러한 기능이 부족하지만, 선택적으로 USB WiFi 동글을 연결할 수 있는 단일 USB 포트를 유지하고 있습니다. 저는 대량 데이터를 쓰거나 읽기보다는 모바일 기기에서 드라이브의 내용을 확인할 수 있는 편리함을 위해 WiFi에 관심이 있었습니다. 반면, RAID는 단일 보드 컴퓨터에서는 좀 더 어렵습니다. x86 기반 기계를 살펴보거나, 그래픽 프로세서를 추가하거나, 추가적인 전력을 많이 소모하는 기능을 고려하지 않는 한 말이죠. 컴팩트하면서도 저전력 옵션을 찾기 어려웠기 때문에 RAID에 대한 기대를 접어야 했습니다.
저장 장치로는 삼성 860 Evo SATA SSD 1테라바이트를, 부팅 장치로는 샌디스크 16기가바이트 microSDHC 카드를 선택했습니다. 오래된 2기가바이트 microSD 카드로 충분할 것이라고 생각했지만, 운영 체제에는 너무 느렸습니다. 16GB 샌디스크 microSDHC는 가장 저렴한 명품 브랜드 카드였습니다. 매우 견고한 설정을 찾고 있다면, 삼성 860 Evo PRO 드라이브는 가격이 두 배이지만 Evo의 플래시 내구성이 거의 네 배에 달하여, 중요한 데이터를 수집하는 원격 설치에 매우 가치가 있을 수 있습니다. PRO 버전은 또한 훨씬 적은 전력을 소비합니다. 삼성의 예산 지향적인 옵션으로는 Qvo 라인이 있으며, 이는 Evo의 플래시 내구성의 절반 정도입니다. RAID 옵션을 제공하지 않는 하드웨어를 가지고 있기 때문에 다른 브랜드보다 삼성을 선택하기로 했습니다. 과거에 문제가 없었고, 지속적으로 9개를 운영하고 있어서 이전에 잘 작동했던 것을 고수하기로 결정했습니다.
기계식 디스크는 저전력, 진동이 심한 환경 또는 가혹한 환경에 적합하지 않습니다. 기계식 디스크는 제공하는 저장 용량에 비해 매우 저렴하지만, 진동, 먼지, 습기에 매우 취약합니다. SSD는 기계식 디스크보다 훨씬 적은 전력을 소비하며, 데이터 쓰기를 시작하고자 할 때 슬립 모드에서 나올 때의 스핀업 시간에 영향을 받지 않습니다.
삼성 860 EVO SSD와 구매 후 ODroid HC1.
단일 보드 컴퓨터용으로 여러 네트워크 연결 스토리지 운영 체제가 있습니다. 저는 OpenMediaVault를 사용하기로 결정했습니다. 이는 상당수의 ARM 기반 단일 보드 컴퓨터에서 실행되므로, 다른 경로(예: 라즈베리 파이)를 선택하더라도 따라갈 수 있습니다. 또한, 웹 인터페이스를 통해 설정 및 공유/사용자 관리가 매우 쉬워 명령 줄이나 SSH를 요구하지 않습니다!
ODroid HC1을 구성하고 실행하는 것은 하드 디스크를 연결하고, SD 카드를 플래싱하여 연결한 다음, 이더넷과 전원을 연결하는 것뿐입니다. 이 과정을 단계별로 살펴보겠습니다.
먼저, 펌웨어 이미지를 SD 카드에 옮겨봅시다.
Sourceforge에서 “OMV_4_Odroid_XU4_HC1_HC2.img.xz” 이미지를 다운로드하세요.
선택한 이미지 플래셔를 다운로드하세요. 이 글에서는 사용하기 쉬운 Etcher (https://etcher.io/)를 사용할 것입니다.
microSD 카드를 컴퓨터에 꽂으세요.
Etcher를 열고 다운로드한 이미지와 드라이브를 선택하세요.
플래시를 클릭하세요!
Etcher가 SD 카드에 이미지를 플래싱하고 검증하는 동안, 하드 드라이브를 HC1의 SATA 커넥터에 간단히 꽂아 ODroid HC1과 하드 드라이브를 조립할 수 있습니다.
ODroid HC1이 삼성 디스크에 연결되면 매우 컴팩트한 네트워크 연결 스토리지를 만들 수 있습니다.
그런 다음 뒤집어 포함된 나사를 사용하여 드라이브를 고정하세요.
그런 다음 이더넷 케이블을 꽂을 수 있습니다.
이더넷 케이블을 연결하면 모든 하드웨어 연결이 완료됩니다.
Etcher가 SD 카드에 플래싱을 마치면, HC1에 꽂고 전원을 연결할 수 있습니다. OpenMediaVault는 첫 부팅 때 안정적인 인터넷 연결을 필수적으로 요구합니다. 저는 처음 HC1을 무선 링크가 포함된 네트워크에 연결해 부팅해 보았는데, 특히 품질이 높지 않아 장치를 작동시키는 데 상당한 어려움을 겪었습니다. 하지만, HC1을 네트워크의 유선 부분에 직접 연결하자마자 즉시 성공했습니다.
첫 부팅에는 시간이 좀 걸릴 수 있으니, 차나 커피를 마시거나 이 블로그의 다른 글들을 확인해 보세요. HC1이 부팅되고 설치될 때까지 최소 15분 동안 기다리세요; 완료되었다는 시각적인 표시가 없으므로, 너무 이르게 장치를 다루기보다는 조금 더 기다리는 것이 좋습니다.
네트워크에서 DHCP 주소를 제공하는 장치(일반적으로 가정이나 소규모 사무실에서는 인터넷 라우터)를 확인하여 연결된 클라이언트를 보고 ODroid의 IP 주소를 찾으세요. 또는 IP 스캐닝 도구를 사용하여 찾을 수도 있습니다—인기 있는 선택은 Angry IP Scanner입니다(저는 Java가 필요 없는 레거시 버전을 선호합니다). 이것이 네트워크상의 유일한 ODroid라면 IP 주소를 찾는 단계를 건너뛰고 웹 브라우저에서 http://odroidxu4/로 이동할 수 있습니다. 그렇지 않다면, 브라우저로 IP 주소로 이동하세요.
OpenMediaVault 구성은 로그인부터 시작됩니다.
기본 사용자 이름과 비밀번호는 admin / openmediavault입니다.
첫 번째로 해야 할 일은 시스템⇒일반 설정으로 가서 웹 관리자 비밀번호를 변경하는 것입니다.
그런 다음 시스템⇒업데이트 관리로 이동하여 모든 최신 패키지를 가지고 있는지 확인하세요. 확인 버튼을 누른 다음 패키지 정보 옆의 체크박스를 클릭하여 모두 선택하고 업데이트 버튼을 누르세요
OpenMediaVault가 업데이트를 설치하는 동안 잠시 기다려 주세요.
업데이트가 완료되면 재부팅하고 싶어질 것입니다. 대시보드 오른쪽 상단의 ⋮ 메뉴 아이콘을 클릭하고 재부팅을 선택하세요.
기존 하드 드라이브를 사용하거나 하드 드라이브가 사전 포맷된 경우, 진행하기 전에 파티션을 삭제해야 합니다. 저장소⇒파일 시스템 메뉴로 이동하여 /dev/sda* 항목을 선택하고 삭제하세요. 하지만, 부팅 중인 SD 카드인 /dev/mmc
항목은 건드리지 않도록 주의하세요!
하드 디스크를 설정하려면 파일 시스템을 생성해야 합니다.
빈 디스크가 준비되면 생성 버튼을 클릭하세요. 드라이브에 볼륨 라벨을 지정하고, 파일 시스템으로 EXT4가 선택되어 있는지 확인한 후 확인을 클릭하세요.
이 작업은 몇 분 정도 걸릴 수 있습니다.
완료되면 닫기를 클릭한 다음 /dev/SDA1을 선택하고 마운트 버튼을 클릭하세요. 드라이브가 마운트되려면 적용을 클릭해야 합니다.
적용 버튼은 장치 테이블의 오른쪽 상단 모서리에 있습니다.
다음으로, 파일 공유에 액세스할 사용자가 필요합니다. 메뉴에서 Access Rights Management⇒User로 이동한 다음, 추가를 클릭하세요.
저장소 작업을 마쳤으니, 이제 액세스 권한 관리를 설정해야 합니다.
사용자 이름과 비밀번호를 설정한 다음 추가를 클릭하세요. 그런 다음 새 파일 시스템을 마운트할 때와 같이 변경 사항을 적용해야 합니다. 이제 파일 공유에 액세스할 사용자가 생겼습니다.
새 사용자를 생성할 때 기본 옵션을 구성해야 합니다.
Access Rights Management⇒Shared Folders로 이동하여 추가를 클릭하세요.
“logdata”와 같은 이름을 공유에 부여하고 추가를 클릭하세요. 이상적으로는 “다른 사용자”의 액세스를 거부하여 폴더에는 사용자만 액세스할 수 있도록 권한을 설정해야 합니다.
공유 폴더를 생성하면 방금 생성한 사용자가 네트워크 연결 저장소로 데이터를 전송할 수 있습니다.
공유가 생성되면 선택한 다음 권한 버튼을 클릭하여 사용자를 추가할 수 있습니다.
읽기/쓰기 확인란을 선택한 다음 저장을 클릭하세요. 다시, 이 변경 사항을 적용해야 합니다.
마지막으로, 이전에 클릭한 권한 버튼 옆에 있는 ACL 버튼을 클릭하고 동일한 작업을 수행한 다음 적용하고 닫으십시오.
서비스 - SMB/CIFS 메뉴 옵션으로 이동하십시오. 이것은 장치의 파일 서버입니다.
활성화를 클릭한 다음 저장하고 적용하십시오.
변경 사항을 저장하기 위해 적용 버튼을 클릭하는 것을 잊지 마십시오.
SMB 서버를 활성화한 후에는 공유 탭을 클릭한 다음 추가 버튼을 클릭하십시오. 이전에 생성한 공유를 선택한 다음 저장 버튼을 클릭하고 변경 사항을 적용하십시오.
윈도우에서는 윈도우 탐색기에서 \\odroidxu4\ (또는 \\ipaddress\)로 이동하여 공유가 올바르게 설정되었는지 확인할 수 있습니다. 프롬프트가 나타나면 앞서 생성한 자격 증명을 입력하십시오.
네트워크상의 다른 컴퓨터에서 OCDroid의 공유 폴더를 보고 접근하기 위해 우리의 자격 증명을 사용할 수 있습니다.
드라이브로부터 복사하거나 복사할 때, 유선 네트워크를 통해 약 95-115Mbytes/초의 전송 속도를 볼 수 있어야 합니다. 이는 기가비트 네트워크가 전송할 수 있는 속도와 대략 비슷합니다. HC1의 처리량은 상당히 인상적입니다.
OpenMediaVault는 파일 전송을 위한 다른 방법도 지원합니다. 데이터를 생성하는 장치가 SMB 파일 시스템(Windows 공유)을 지원하지 않는 경우, FTP를 활성화하고 싶을 수도 있습니다. 일반적으로 FTP는 SMB보다 빠르지 않지만, 마이크로컨트롤러를 사용하는 경우 SMB 공유보다 구현하기가 더 쉽습니다.
FTP 서버는 원격 위치에서 서버를 탐색하는 데에도 상당히 유용할 수 있습니다. 기본 마이크로컨트롤러에서 FTP 서버에 접근하려면 SSL이 필수가 아니라 선택적이어야 합니다. SSL 없이 FTP 서버를 운영해야 하는 경우, NAS가 연결된 네트워크로 VPN 터널을 통해서만 인터넷을 통해 서버에 접근해야 합니다.
서비스⇒FTP로 이동한 다음, 활성화 상자를 체크하고 저장을 클릭합니다.
이제 공유 탭으로 이동하여 위의 SMB 공유와 마찬가지로 공유를 추가할 수 있습니다. 저장을 클릭한 다음 구성 변경 사항을 적용하는 것을 잊지 마세요.
만약 여러분이 전력 소모가 매우 적고 공간도 적게 차지하는 원격 데이터 저장 서버를 구축하고자 한다면, Odroid HC1은 훌륭한 옵션입니다. 만약 여러분이 매우 습하거나 축축한 환경에 있다면, 보드 양면에 충분한 양의 방수 코팅을 하고, 하드 드라이브 내부에도 (만약 여러분이 고체 상태 디스크를 사용한다면) 코팅을 할 수 있도록 방수 코팅을 사용하는 것이 좋습니다. 방수 코팅은 보드가 부식되지 않도록 보호합니다.
Odroid에 있는 큰 방열판은 설치에 많은 강도를 추가하여, SATA 커넥터가 진동이나 충격으로 인해 피로를 겪을 걱정이 거의 없게 합니다. 고체 상태 드라이브와 함께 사용하면, 이는 여러분에게 견고한 네트워크 연결 저장 장치를 제공합니다.
앞서 언급했듯이, 최상의 견고함을 위해서는 데이터를 자동으로 두 드라이브에 거울처럼 복사하는 것이 이상적일 것입니다. 더 나아가, 여러 드라이브를 RAID 6에 구성할 수도 있지만, 그렇게 되면 '콤팩트', '저전력', '비용 효율적'의 범위를 훨씬 벗어나게 됩니다. Odroid HC1 히트싱크/케이스는 쌓을 수 있으므로, 단순히 두 개의 NAS를 함께 사용하고 OpenMediaVault가 구성할 수 있는 RSync와 같은 소프트웨어 동기화를 사용하여 두 번째 시스템에서 첫 번째 시스템의 파일을 복사하는 것이 가능합니다. 두 시스템을 동기화함으로써, 드라이브가 실패할 경우 일부 장애 조치 및 데이터 보존 기능을 갖게 됩니다.
다음 PCB 설계에서 Altium Designer®가 어떻게 도움을 줄 수 있는지 더 알아보고 싶으신가요? Altium의 전문가와 상담하세요.