X86 Open로그인

추천하기 twitter 로그인 facebook 로그인 google 로그인 카카오 로그인 네이버 로그인
1
CPU
메인보드
그래픽카드
사운드칩셋
설치 만족도

설계편 https://www.x86.co.kr/imessage/1260458

조립편 https://www.x86.co.kr/index.php?mid=imessage&page=2&document_srl=1260553

 

수정됨_IMG_1393.jpg

 

이어지는 소프트웨어 편 입니다.

이 NAS를 처음 만들 당시의 기획은 ESXI 위에 NAS용 운영체제+가끔씩 돌리는 windows를 가상화 하는것 이였습니다.

 

 

m_d934ce1707702262621f4490b8d41ad082849_m.jpg

 도식화 하면 이런 형태 였죠. NAS 답게 항상 켜두는 컨셉이였으므로

 셀러론 1840g + 8g ddr3 그리고 2.5 인치 hdd로 구성해서 전력 소비를 억제한 형태였습니다.

 아이들 17W 수준이였습니다.

 

 그런데 사람 욕심이 끝이 없다고 1840g의 성능이 애매하게 느껴졌고 국내에서 비교적 싸게 구할 수 있는

 4670T 로 업그레이드 하게 되었습니다.

 보통 T 붙은 CPU 즉 저전력 CPU들은 클럭제한이 붙어서 성능은 낮은 주재에 국내에 정식 수입도 않해서 적당한 조건에 구하기가 상당히 어려운 편인데.. 해당 재품은 벌크로 많이 들여 파는 사람들이 있어서 일반 제품 중고가로 2만원정도 저렴하게 구할 수 있엇습니다. 물론 성능 생각하면 싸다는 느낌은 아니였습니다만. 파워가 아슬아슬해서 일반 재품을 구입해도 거의 T 정도 성능에 근접하게 클럭재한을 해야 하는 저로서는 크게 나쁜 선택은 아니였엇죠..

 

 다만 그렇게 업그래이드를 하고 나자 아이들 전력 소비는 30W에 근접하게 되었고 제기준에서 심리적으로 "항상 켜두어도 되는 기기의 전력 소비"를 벗어나게 되었습니다.

 

 이렇게 되어서 절전 모드가 필요하게 되자 ESXI의 불편한 점이 터저나오게 되었는데요..

 ESXI 라는게 일반 소비자에게 라이선스를 막 뿌리고 있어서 마이크로 서버나 가정용 홈서버에도 막 쓰이고는 있지만

 본디 타겟이 되는 소비자 층이 육중한 서버를 그것도 대량으로 굴리는 상황에서 리소스를 잘게 쪼게거나 합치기를 원하는 소비자다 보니.. 엔트리급 하드웨어에 대한 지원은 없는것과 다름이 없습니다. 그래서

 

 1. H81 보드 따위를 위한 모니터링 시스템이 전혀 없음 전력 소비는 물론이고 온도 팬속도 전혀 모니터링 불가

 2. 절전모드 역시 불가 ESXI 역시 절전모드를 위한 시스템은 같추어저 있지만. 일반 PC에 대한 고려는 전혀 없고 특정 서버가 다수의 서버를 모니터링 하면서 활동량을 분석해 깨우거나 잠들게 만드는 시스템으로 최소한 컴퓨터 2대 이상 필요.

 

 이러한 문제가 생겼습니다. 그리고 두번째로 나스용 운영체제로 사용하고 있던 XPEN 의 한계 점으로 인한 문제가 한가지 있엇는데..

 

 SMB 3.0 멀티 체널 기능을 지원하지 않습니다.

 해당 기능은 컴퓨터 옆에 두고 사용하는 nas에게있어서는 꽤나 의미 있는 기술이라 포기하기 쉽지 않은 기술이나.

 smb의 오픈소스 카피인 SAMBA는 아직 재대로 지원을 하고 있지 않습니다.

 해당 기술을 사용하려면 windows를 NAS용 운영체제로 사용하거나 아주아주 최신 SAMBA의 배타버전으로 꾸역꾸역 구현해야 하는데.. 후자는 XPEN에서는 불가능 합니다. 근본적으로 빌드인 어플리캐이션을 위한 포트가 선점되어 있고 무슨수를 써도 해당 포트를 다른 기능으로 돌릴 수 없기 떄문이죠.. 물론 모든 smb 클라이언트의 대상 포트를 변경해 주는 방법도 있습니다만. 윈도우즈 클라이언트에서 그 작업을 하는것은 매우 번거롭고 하고 나서도 편하게 사용하기 힘듭니다.

 

 그래서 NAS의 운영체제는 windows 10 으로 이전하고 nas가 절전 모드에 들어가 있는 동안 꺼지면 곤란한 기능들을 분리해서 수행 시키기 위해서 ARM SBC 를 하나 구입했습니다.

 

http://www.hardkernel.com/main/products/prdt_info.php?g_code=G145457216438

 

 

odriod c2 라고 국내 기업이 생산하는 재품인데 5w 정도의 소비전력으로 성능은 라즈베리 파이3 보다 조금 좋은 정도 입니다..

 

수정됨_IMG_1474.jpg

 내부에 이렇게 설치 해 주고 파워에서 나오는 5v 상시전원을 물려서 전원만 연결된 상태면 항상 켜저 있도록 만들었습니다.

 이렇게 구성한 서버 NAS의 운영체제는 ubuntu의 ARM 버전입니다.

 기능을 구성할때 참고할 자료가 많은것이 장점이죠. 관리는 SSH나 xRBP를 통해서 합니다.

 

 

  network.jpg

 

   그래서 결국 만들어진 새로운 시스템의 다이어 그램은 위와 같은데요.

 ARM nas에서 성능은 거의 필요없고 항상 대기하고 있야 하는 기능을 수행하고

 x86 nas에서 대기는 필요 없지만 성능이 필요한 기능을 수행하도록 만든 일종의 빅 리틀 시스템이랄까 뭐 그렇습니다.

 

제목 없음-4.jpg

원래 목적 했던 SMB 3.0 멀티 채널은 잘 작동합니다.. 뭐 10G 네트워크 카드가 싸게 풀려서 눈물 나는 상황이 되었지만요..

 

 그리고 x86 NAS에 서 HYPER V 그러니까 또 VM을 돌리게 된건 타임머신 백업 때문입니다.

 처음엔 그냥 찾아보면 윈도우즈용 AFP 서버도 구할수 있겠지 하고 생각했엇는데 아무리 찾아도 오픈소스 프로젝트는 없는것 같더군요. 뭐 카피당 70만원 수준의 상용 어플리캐이션은 있엇습니다만... 그걸 쓰느니 그냥 hyper-v 위에 우분투를 올려서 해결 했습니다.

 

 예 여기서 부터 또하나의 고난이 찾아 옵니다. 뭐가 문제냐면..

 대부분의 시간은 s3 절전 상태로 보네는 이 x86 NAS는 네트워크 엑세스를 감지해서 절정 상태가 해제 되게 됩니다.

 구체적으로는 자신의 IP를 대상으로 들어오는 ARP와 SNY 패킷 을 네트워크 카드가 인식해서 컴퓨터를 절전에서 해제하게 되는데요. 문제는 윈도우즈에서는 이 설정이 모두 자동입니다.

 

 예 자동입니다. 지가 알아서 다 합니다. 예 전부 자동입니다.

 hyper-v의 게스트 운영체제의 IP로 들어오는 트래픽에도 반응하도록 알아서 설정해 줄 정도로 센스가 없는 주제에

 구석구석 찾아도 해당 기능을 설정할 수가 없습니다. (linux 계열은 ethtool 명령어로 수동 설정 가능 합니다.)

 

 예 결국은 방법을 찾는것을 포기하고 NDIS 필터 드라이버의 셈플을 수정해서 강제로 NDIS_WAKE_PATTERN을 삽입하는것으로

 해결 했습니다. c 까막눈 + 영어 까막눈 이라 한참을 삽질했네요.

 

http://www.2cpu.co.kr/lec/2239?&sfl=wr_name%2C1&stx=isaiah&sop=and

길어지므로 경과는 다른 사이트에 기록한걸 대신 첨부합니다..

 

 

 이걸 해결하고 나서 두번째 문제는 x86 nas가 잠이 들어 버리면 내부망 network 디스커버리에서 사라저 버린다는 겁니다.

 디스커버리 기능이 도대체 뭐냐? 하시는 분들도 계실 텐데요.. 이겁니다.디스커버리.jpg

 내부망에 있는 서버들이 자동으로 클라이언트에서 뜨는것..

 x86 nas가 꺼저 버리면 이게 사라진단 말이죠 안 사라졌으면 좋겠는데.

 

 해당 기능은 내부망에서 브로드 캐스팅 되는 패킷으로 구형됩니다. osx에서는 bonjour로 불리는 기능으로 구형이 되어 있고

 windows에서는 windows network browser 기능으로 구축이 되어 있습니다.

 

 bonjour 쪽은 쉬웠습니다.

 bonjour 기능의 오픈소스 구현체인 avahi 는 원래 해당 기능을 직접적으로 수행할 수 없는 장비를 위해서 대신 해당 장치의 IP를 bonjour 기능으로 알려주는 기능이 내장 되어 있습니다.

http://www.joinc.co.kr/w/man/12/avahi/tutorial

 이 블로그를 참고해서 오드로이드 C2에 avahi를 설치하고

 Hyper-v 내부에 설치된 ubuntu의 IP 192.168.1.31을 알려주도록 설정했습니다.

 위의 이미지에 나오는 TimeMashine은 x86 nas가 꺼진 상태에서 오드로이드의 브로드 캐스트로 인식이 된 겁니다.

 저 아이콘을 클릭하면 해당 IP로 ARP 패킷이 날아가고 x86 nas가 반응해서 잠에서 깨어나게 되는 거죠

 

 windows 쪽은 그런식으로깔끔 하게 해결 할 수 는 없었습니다.

 windows browse 기능을 대신해주는 linux 프로그램인 nmbd는 SAMBA에 포함되어 있는데 다른기기를 대신 광고해 준다는 계념 자채가 없었습니다.

 

 다만 마스터 브라우저 기능이 있엇는데 이것은 자신이 내부망에 어떤 컴퓨터가 있는지를 리스트 해 가지고 있다가 다른 장비를 위해서 대표로 전파하는 기능입니다. 리스트의 갱신과 작성은 모두 자동이가 간섭할 수 없었습니다만..

 해당 리스트 즉 /var/cachae/samba/browse.dat 가 그냥 TEST 형식인데다 메모리에 올려 두고 쓰는게 아니라 필요 할떄마나다 읽어 오는 구성이라 크론탭으로 1분 마다 확인하고 갱신하도록 스크립트를 실행 시켜서 해결 했습니다.

 

 지금은 잘 자고 잘 일어 납니다.

 

 스텍 익스체인지 같은 곳에 질문해도 별로 답해주는 사람이 없을 정도로 별로 관심있는 사람이 없는 부분이라..

 대부분의 읽는 분들에게는 지겨울 거라 생각해서 구체적인 설명은 줄였습니다..

 추가로 궁금한 부분 질문하시면 구채적인 설정도 토해 넵니다..

good poor

Mactopia님
1명이 이글을 호평하셨습니다. 0명이 불평하셨습니다.

★ 글쓴이에게 고마우시면 커피한잔 후원(클릭) ★ 추천 정보가 입력되지 않았습니다.
twitter 공유 facebook 공유 googleplus 공유 카카오스토리 공유 네이버라인으로 공유

글쓴이의 서명이 비어 있습니다.

★ 글쓴이에게 고마우시면 커피한잔 후원(클릭) ★ 추천 정보가 입력되지 않았습니다.
일반로그인 twitter 로그인 facebook 로그인 google 로그인 카카오 로그인 네이버 로그인
서버에 요청 중입니다. 잠시만 기다려 주십시오...