NVR장비(CCTV녹화장비)에 헤놀 설치 후기
며칠전 자주가는 리사이클 샵에 NVR장비가 들어왔는데
겉모습이 QNAP NAS랑 너무 비슷하게 생겼더군요
바이오스토어 VS-8232 Pro+ 라는 제품인데 조사해보니
VIOSTOR브랜드는 QNAP에서 파는 NVR장비로서
자사 NAS를 그대로 가져다가 펌웨어만 IPTV 네트워크 녹화전용으로 바꿔서 파는 제품이더군요
예전 QNAP NAS를 한대 사면 서베일런스 스테이션 라이센스를 2개~4개(IPTV대당)정도 공짜로 주곤 했는데
요즘은 서베일런스 스테이션에 AI로 동체 사물추적같은 고급기능들이 늘어나면서
IPTV 1대당 라이센스 가격도 엄청 올라가고 그나마 무료로 주던 라이센스도 다 폐지했더군요
뭐 암튼 QNAP이 작년 10월을 마지막으로 VIOSTOR브랜드를 완전히 폐지하고 사후 서비스도 다 종료해버려서
기업에서 쓰던 NVR장비가 더 이상 유지보수가 안되니까 그냥 잘 작동되는 NVR장비가 리사이클샵에 많이 흘러들어왔다고 개인적으로 아는 점원이 설명해 주더군요
저번에 기동불가로 정크품라고 써있던 TS-470 Pro OEM제품을 싸게 가져와서 헤놀을 올려서 아주 잘 썼기에
이것도 정크로 혹시나 싸게 살수 있지 않을까 싶었는데
이건 제대로 잘 동작하는 거라면서 가격이 좀 비쌌습니다.... (37000엔...)
호기심에 사기에는 리사이클 샵 제품 치고 가격대가 높아서 좀 고민하긴 했는데
HDD 베이 8개에 IPTV 48채널 동시녹화라면 CPU도 그럭저럭 쓸만할거 같아서 일단 지르고 봤습니다....
집에 와서 연결해보니 정말로 정크 제품이 아닌 제대로 잘 작동하는 NVR이더군요
기본으로 들어있는 IPTV 녹화가능 라이센스가 자그마치 32개..... (최대 48개.. 이렇게 많이 어디다 쓰나....)
그런데 8베이의 외부 저장장치로 쓰기에는 진짜 아무런 기능이 없습니다.
(앱 센터에 전체 앱이 딸랑 2개..... 실화냐......!!!)
NVR의 내부 사양을 조사해보니 QNAP TVS-871와 같은 기종이네요
CPU는 core i3-4170 (대강 i7-4790S 정도까지 업글은 가능할듯..)
램이 8기가(DDR3L)
기가빗 랜포트 4개
pcie gen3 4x 슬롯 2개
일단 TVS-871의 펌웨어 풀이미지를 QNAP 포럼에서 받아서 클론질라로 부팅해서
dd로 내부 USB-DOM의 내용을 TVS-871로 갈아 엎어버리고 (기존 NVR펌은 혹시나 해서 잘 백업해뒀습니다)
펌웨어를 최신버전으로 업글해 보니 완벽히 QNAP TVS-871로 잘 인식되서 작동합니다
(애초에 더 비싼 48채널짜리 NVR을 사다가 싸구려(?)NAS로 바꿔 쓰는 사람이 있을거 같지는 않습니다만...)
(QNAP NAS는 전면 액정 패널에서 IP확인이나 부팅, 종료 같은 조작이 가능해서 나름 편합니다)
QTS도 최신버전까지 제대로 지원하고...
혹시나 했는데 역시 서베일런스 스테이션 라이센스는 계승되지 않고 딸랑 4개..
(부활한 앱센터 앱들... 속이 다 시원하네요...)
뭔가 QNAP NAS는 기능은 이것 저것 엄청 많은데 역시 시놀 인터페이스가 더 익숙합니다.
QNAP펌이 올라가 있는 USB-DOM에 헤놀을 올리고 싶었는데 DOM용량이 512M밖에 안됩니다.
arpl(RR)이미지가 1기가 짜리라...
일단 QNAP NAS로 잘 작동하는것을 확인했으니 QNAP용 USB-DOM은 빼서 잘 보관하고...
헤놀을 올리기 위해서 USB-DOM단자에 USB커넥터를 달아서 arpl 부팅용 USB를 만들어서 끼워넣습니다
(USB-DOM이라고 해봐야 그냥 4핀 USB2.0헤더가 2개 달린와 배열과 똑같습니다)
일단 모델은 안전빵으로 DS3622xs+으로 갈까 했는데
마침 8베이짜리 DS1819+도 가능하기에
베이수도 같고 CPU도 같은 인텔계열이고 랜포트도 4개로 똑같고 pcie확장슬롯 상황도 비슷한지라
모델은 DS1819+로 결정했습니다.
DSM 버젼은 7.2로 선택하고 SATA 상황을 봤더니 이 모양이더군요...
SATA 확장포트가 전부 22개....
그 중에 메인 SATA는 6개중에서 4개만 쓰고
4포트짜리 Marvell제 SATA확장포트를 4개 추가해서 딸랑 1개씩만 쓰고 있는 상황...
(아마도 입출력 속도를 위해서 컨트롤러당 1개씩만 쓰는 듯한..)
게다가 베이순서하고 SATA 확장포트 순서도 달라서 DSM에서 모든 SATA포트를 다 인식하긴 애초에 글렀습니다...
일단 안쓰는 SATA포트들을 DSM에서 제거하기 위해 "SataPortMap" 커맨드를 추가합니다.
SATA 확장포트가 전부 5개가 달려있고 순서대로 4개-1개-1개-1개-1개씩만 사용하므로
SataPortMap = 41111
다음은 SATA포트와 베이번호를 맞춰줘야하는데 일단 한개씩 디스크를 온라인 핫스왑하면서 베이번호를 확인하니..
01:1f.2포트는 순서대로 1-2-3-4번
73:00.0 포트가 7번
78:00.0 포트가 8번
79:00.0 포트가 5번
7a:00.0 포트가 6번 이라서 DiskIdxMap 커맨드를 추가합니다.
DiskIdxMap = 0006070405
sata포트 순서대로 두자리씩 0번부터 디스크베이의 번호를 지정해주면 됩니다
부팅하니 DSM이 무리없이 잘 올라오고
초기화 후에 디스크 베이도 번호순대로 제대로 인식합니다.
nvme 슬롯이 없는게 좀 아쉽긴 하지만 중고 8베이 NAS로서 가성비로는 나쁘지 않은거 같네요..
이렇게.. 해피엔딩인줄 알았는데...
좀 쓰다보니 QNAP으로 부팅했을때보다 헤놀일때의 팬 돌아가는게 평상시에도 좀 시끄럽습니다.
일단 ssh들어가서 CPU상황을 확인해보니
CPU 주파수 스케일링이 동작을 안하는지 idle시에도 전부 performance로 돌고 있더군요..
가뜩이나 하드가 8대라 전력소모도 큰 상황이라
모두 powersave로 바꿔주니 팬속도도 떨어지고 idle시 전력소모량도 10W정도 떨어지네요...
일단 무거운 작업은 메인으로 쓰는 ds1821+에 다 몰려 있으니 당분간 powersave로 별 문제 없을거 같지만
이걸 i7-4790s로 업글하면 하극상이 벌어져 이쪽이 메인이 될지도 모르겠네요...
(참고로 cpu 주파수 스케일링을 적용하려면 powersave대신 conservative나 프리퀀시 스케일러 서비스를 돌린뒤에
userspace를 지정하면 될거 같긴한데 실제 적용해보진 않았습니다.)
재부팅하면 도루묵이 될거 같아서
헤놀의 작업스케쥴러에 들어가서 root사용자로 부트업 이벤트의 스크립트에 추가해 줍니다.
echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo powersave > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo powersave > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo powersave > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
원래 주로 쓰는 DS1821+가 이미 있기에 이건 백업용으로 돌릴려고 생각중인데..
이렇게 해놓고 보니 전력소모가 신경쓰여서 하드디스크 대기기능을 켜놨습니다.
여기서 또 다른 문제가 발생하는데......
문제는 지정된 시간이 지나면 하드디스크가 절전모드로 전환이 되기는 하지만
하드디스크가 절전모드가 되자마자 다시 깨어나 하드디스크가 도는 상황이 계속 발생합니다......
그래서 헤놀의 HDD의 대기기능에서 대기기능 로그 활성화를 켜주고
지원센터에서 시스템 로그 도구에서 동면 디버깅 모드를 활성화 시켜줍니다.
이렇게 설정 해 주면 절전모드에 빠지거나 깨어날때마다
/var/log/hibernation.log 파일과 /var/log/hibarnationFull.log에 로그가 쌓입니다.
왜 절전모드에 빠지자마자 다시 깨어나나 봤더니 레드필 드라이버 버그가 있는거 같더군요...
메모리디스크(tmpfs)에 저장하는 기록을 제외하고 추려봤더니
tail -f /var/log/hibernationFull.log | grep -v 'proc\|tmpfs'
HDD 절전모드에 들어가자마자 이런 에러를 뿜어냅니다.
<redpill/smart_shim.c:688> Expected to copy HDIO_DRIVE_CMD header of 4 bytes from (null) - it failed
원인은 하드디스크가 sleep 상태일 때 시스템이 HDIO_DRIVE_CMD 명령을 실행하는데 이걸 redpill드라이버가 처리하지 못해서 이 에러를 기록하려고 하고
로그 파일인 /var/log/kern.log 하고 /var/log/messages 파일에 저장하려 할때 다시 HDD를 깨우는게 원인이더군요...
그냥 파일 저장을 하지 못하게 kern.log하고 messages파일을 /dev/null로 심볼릭링크를 걸었는데도 불구하고 HDD가 절전모드에서 계속 깨어나길래 해결책을 인터넷을 뒤져보니
redpill 드라이버의 smart_shim.c 파일을 수정해서 에러출력하는 부분을 제거하고 다시 컴파일 하던지(리눅스 커맨드도 이번에 배운 초짜에겐 무리...)
아니면 /etc.defaults/syslog-ng/patterndb.d/kernel.conf 하고 /etc.defaults/syslog-ng/patterndb.d/message.conf 파일에 저장할 로그파일의 위치를 설정할 수 있는데
이 위치를 기본 위치인 /var/log/ 에서 메모리 디스크 링크인 /tmp/로 바꿔주면 HDD를 깨울일이 없기 때문에 괜찮다는 글을 보고
vim을 열어서 저장위치를 /var/log/에서 /tmp/로 바꿔줍니다.
(전원을 껐다 키면 tmp에 저장된 로그 파일은 날아가겠지만 뭐 로그를 자주 확인할 것도 아니고...)
그리고 scemd.log파일도 헤놀이 올라간 PC가 상태표시 LED 제어가 안되는것 때문에 에러가 쌓인다고 하길래
확인 사살을 겸해 scemd.log 파일도 쌓이지 않도록 /dev/null로 바꿔버렸습니다.
ln -sf /dev/null /var/log/scemd.log
이렇게 모두 설정하고 나니
절전모드로 문제없이 잘 빠지고 파일 액세스할때 잘 깨어나고 거의 완벽해진거 같습니다.
8베이 다 채웠을때 전력소모는 평상시 115W정도 나오는데 HDD 절전모드시에는 45W정도 나오네요
마지막으로 인텔 X520-DA2 카드를 껴주니 뭐 완벽하게 잘 인식하고 잘 달라 붙습니다.
지빅은 시스코꺼인데 X520이 오라클OEM인지라 타사 지빅 패치는 따로 하지 않아도 잘 인식하네요
(지빅이 중고로 너무 싸게 많이 풀려서 지빅2개에 om3케이블을 더해도 DAC 케이블보다 싸다는게 유머.....)
이로서 중고로 업어온 NVR은 완전체(?) 헤놀NAS로 거듭나게 되었네요
정크로 싸게 사온게 아니라서 초 가성비는 아니긴 한데
지금 메인으로 쓰는 DS1821+를 살때 깨진 돈을 생각해보면 나름 꽤 선방한거로 보입니다.
cmt alert