분류

2021년 12월 1일 수요일

2018 니로 4년차 인젝터, 점화플러그 불량 수리 후기

 개요 

3년8개월간 애지중지 타던 니로에 드디어 뭔가 치명적인 결함이 생겨서 오토큐에 방문했습니다. 여태 몰아봤던 차 약 8대중 니로의 점화플러그나 인젝터 결함시 발생하는 진동이 가장 격해서 이래도 되나 싶어 영상과 사진, 그리고 수리 후기를 올려봅니다. 


1. 증상 

엔진 경고등 
증상은 다음 4가지가 발생했습니다. 
1) 배터리 충전이 잘 안됨.  
2) 차체 전체가 흔들리는 진동과 소음 발생 
3) 엔진음이 거칠어짐. 
4) 출력이 약해져 고속 주행시 엑셀 끝까지 밟아야 간신히 100km/h에 도달 언덕에서는 80km/h이하로 떨어짐. 


다행이도 요즘은 블랙박스가 있어 실제 느끼는 진동 그대로 블박에 담겼기에 해당 영상을 첨부합니다.



2. 수리 

집 근처 오토큐에 방문하자 처음 단말을 연결하여 고장코드 확인 결과 이번에는 점화불량 이라는 고장코드가 발생했다고 점화 플러그 교체를 진행한다고 하더니 잠시 후 확인 결과 인젝터 불량이라며 인젝터에 대한 주문과 재방문 수리를 해야 한다는 이야기를 들었습니다. 점화 플러그 수명이 5만Km 가량이지만, 이전 수리 이력이 있던 만큼 보증 수리 대상인 인젝터 부터 교환해 주신다고 합니다. 

신차 출고 후 3년8개월이 지났지만 주요 부품에 속해 5년 10만km까지는 무상 수리라 하여 무상 수리를 진행 하였습니다. 하지만 해당 부품 교체 결과 증상은 조금 나아졌지만 여전히 진동이 발생했고, 결국 점화플러그를 교체 해야 했습니다. 점화 플러그는 소모품이기에 유상입니다. 

인젝터 수리 약 2시간 점화플러그 교체 및 테스트 1시간 총 3시간가량이 들었습니다. 입고된 차가 워낙 많아서 대기한 시간이 더 길었던 것 같은 기분도 듭니다. 



기아차 제공 보증 수리 기간 니로 관련 부분 캡처 

점화 플러그 교체 비용은 공임 포함 73280원 가량이었습니다. 그나마 인젝터를 자비로 교체하지 않았기에 저렴하게 수리했습니다. 인터넷 구매 부품가가 35만원이니 수리했으면 50만원은 족히 나오지 않았을까 합니다. 

3. 후기 

모든 이상은 말끔히 고쳐졌고, 고장 부품 주변에 있던 녀석까지 무상으로 기아차에서 AS 받아서 기분은 좋았습니다. 다만 회사일도 바쁜데 정비센터도 바쁘니 군말없이 기다려야 하는 시간은 조금 힘들었습니다. 

그래도 센터장님 친절. 티비도 있고 일만 바쁘지 않았다면 걱정없이 느긋이 쉬다 가지 않았을까 하기도 합니다. 

게다가 보증 기간 내 부품에 대한 무상교환으로 해당 부품의 수명도 늘었으니 원래 고장난 부위보다 무언가 더 얻어가는 느낌도 있습니다. 

그리고 작년 6월 수리와 이번 수리 모두 약 3주 내에 불스원샷을 넣은 이후로 문제가 생겼습니다. 두번 모두 불스원샷 GDI 용을 넣었습니다. 불스원샷이 니로의 GDI엔진과 잘 맞지 않나? 하는 의구심도 듭니다. 불스원 에어컨 필터도 니로와 맞지 않는 것처럼 말이죠. 

아니면 불스원샷 하이브리드용이 새로 나왔던데 이녀석을 넣어야 하는걸까요? 아시는 분이 있으면 댓글 좀 달아주시면 감사하겠습니다. 

이상 별볼일 없는 수리 후기였습니다. 

2018 니로 4년차 인젝터, 점화플러그 불량 수리 후기 

2021년 11월 21일 일요일

암기와 이해에 대한 고찰

 개요 

학생 시절부터 암기와 이해에 대한 여러 이야기들을 들어왔습니다. 그중 가장 많이 들었던 이야기는 "암기하지말고 이해를 하란 말이야" 라는 말이었습니다. 선생님들도, 그리고 많은 부모들도 유사한 이야기를 합니다. 하지만 살면서 기억에 대한 고찰을 하다보니 이 부분에 적지않게 잘못된 부분이 있어 이야기를 짧게 해보고자 합니다.


1. 암기와 이해의 차이 

암기는 단순하게 기억의 특정 영역에 저장하는 것이고 이해는 기억에 연관지어 저장한다는 이야기를 가장 많이 합니다. 하지만 여기에서 중요한 부분이 누락되어있습니다.

이해를 위해 연관지을 대상인 먼저 암기된 기억이 존재하지 않는다면 이해는 불가능 할 수 밖에 없다는 이야기 입니다. 

암기를 하지 말고 이해를 하라는 말에 있는 모순은 바로 이해를 위한 사전 재료가 준비되지 않은 상태에서 아무리 이해를 강요한들 이해는 이루어지지 않는 다는 이야기 입니다. 

저는 프로그래머로서 적지 않은 수의 신입사원과 일을 해왔습니다. 항상 신입사원들을 가르칠때면 이해는 커녕 기초 지식이 적어 알려준 것을 잃어버리기를 반복합니다. 이러한 현상을 지속적으로 관찰해 본 결과를 이해하기 쉬운 내용으로 설명을 해보겠습니다. 

태어나서 별과 관련된 정보를 한 번도 본적 없는 사람이 있습니다. 이 사람을 A라고 합시다. 

이 사람에게 별은 저 별은 몇 억 광년 떨어져있고, 저 행성이 푸른 색을 띄는 것은 대기중의 가스가 어떻게 이루어져있기 때문이다. 라는 것을 이야기 했다고 합시다. 

여기서 문제가 발생합니다. A는 별에 대한 지식, 광년이라는 단위, 가스 등에 대한 지식이 전무하다고 할때 제가 아무리 훌륭한 멋들어진 단어를 써가며 이야기 한들 이 사람은 제가 하는 말을 "뭐라고 짓는 것인가?" 라는 생각을 하며 들을게 분명합니다. 

A는 사전 지식이 머리속에 암기되기 전에 이러한 것들을 전혀 이해할 수 없습니다. 


2. 이해에 앞서 암기가 먼저 되어야 한다. 

바로 위와 같은 이유 때문에 이해보다는 다양한 지식에 대한 암기가 선행적으로 이루어져야 합니다. 요즘 같은 인터넷 시대에도 아직도 적지 않은 사람이 "이해하지 말고 암기를 하라" 라는 말을 사람들은 아직도 암기와 이해에 대한 차이를 모른다고 생각이 듭니다. 

결국 이해라는 것은 그것을 본인이 머릿속에 연관지을 수 있는 다른 지식들이 암기된 상태여야만 연관지을 수 있는 것인데, 그것이 바탕이 되지 않은 사람에게 강요만 해서는 해결되지 않습니다. 

따라서 꼭 필요한 어떤 것에 대한 이해를 하지 못하는 사람이 있다면 앞으로는 이해를 강요하기 보다는 그것에 대한 베이스가 되는 지식을 어디에서 얻을 수 있는지 부터 알려주시기 바랍니다. 

혹은 기본 지식을 알려준 후에 이해가 되도록 유도하는 것도 한 방법입니다만. 이렇게 될 경우 지식전달에 참여하는 여러명의 시간을 모두 할애해야 하므로, 배움을 원하는 사람이 알맞는 자료를 찾을 수 있도록 해주는 것이 가장 좋은 해결책입니다. 

이상입니다. 누군가에게 도움이 될런지는 모르겠네요 ㅎㅎ; 

2021년 11월 13일 토요일

첫 nas 구매 8. 디스크 포멧과 레이드 형태에 따른 속도

 개요 

nas4dual 제품을 구매하고 한달간 사용하면서 여러 문제점에 직면했습니다. 4k영상의 초당 스트리밍 용량은 비디오 포멧과 fps 에 따라 다르긴 하지만 고프로의 알고리즘에 따라 4k 60fps로 영상을 촬영 할 경우 128GB 메모리로 3시간 51분의 데이터를 촬영할 수 있다고 합니다. 

따라서 라이딩 8시간 가량을 촬영 할 경우 약 300GB가 되고 이를 옮기는 시간이 현재의 RAID5 BTRFS 파일 시스템 환경에서 나오는 속도인 60MB/s의 속도로 작업 할 경우 5120초  : 1시간 30분이 됩니다. 

복사만 1시간 반이면 편집은 또 언제 합니까; 조금이라도 속도를 당길 수 있는 방법을 찾아야 했습니다. 따라서 여러 방면의 밴치마크 테스트를 수행해보기로 결심했습니다. 

단일 디스크상태와 레이드 상태에서 파일 시스템 포멧을 EXT4 와 BTRFS에 대한 데이터 복사 속도를 측정해보겠습니다. 네트워크 드라이브를 지원하는 밴치마크 도구가 별로 없기 때문에 nas perfomance tester 1.7을 사용하였습니다. 

나스 퍼포먼스 테스터


주의사항 

nas4 지원 raid 종류
nas4 dual 에서는 jbod, raid0,1,5,6,10이 지원됩니다. 하지만 이런 raid의 성능을 모두 활욜할 수는 없습니다. 이유는 nas4dual은 외장하드 모드가 지원되지 않는 치명적인 단점이 있습니다. 외장하드 모드가 지원되지 않기에 일반적인 PC 환경(1GB network) 에서는 128MB/s이상의 속도가 무용지물입니다.  

nas4dual은 엔터프라이즈 급 nas가 아니기에 일반적으로 가정이나 오피스에서 사용하는 환경은 1Gbps network 입니다.  1Gbps를 MB/s로 환산하면 128MB/s가 최대 속도 이므로 고속 raid 환경을 감당할 수 없습니다. 따라서 jbod나 raid 0는 실험을 하였으나, 실제보다 느릴 수 있습니다. 

Gbps 의 b는 bit를 의미하며 MB/s의 B는 Byte 를 의미합니다. 1Byte = 8bit 즉 우리가 아는 bps는 실제 사용하는 MB/s나 GB/s보다 8배 크게 표기 됩니다. . 

RAID 1은 미러라서 2DISK 환경에 사용하므로 제외하였으며,  NTFS는 NAS4 DUAL에서 디스크간 복제가 탐색기모드에서 지원되지 않아 불편함이 있어 제외하였습니다. 또한 리눅스 기반의 시스템에선 해당 파일 시스템에 원래 정상 지원되지 않습니다. 


실험 환경 

network 환경 : nas 1Gbps 2port linkaggration 설정이 적용되었습니다.
                    pc 는 1Gbps 단일 포트 입니다.  

테스트는 일반적으로 제가 보는 1080p 2시간 짜리 영화와 유사한 용량인 4GB로 5회 반복 테스트를 수행 했습니다.

디스크는 씨게이트 IronWolf SATA3 HDD 4개로 모두 동일한 상태 입니다. 일반적으로 windows 에서 ntfs 단일 디스크 엑세스시 120MB/s 가 나옵니다. 

약 3.1TB의 영화 미드 에니메이션이 있는 관계로 RAID는 3DISK로 구성해서 테스트 한 후 가장 빠른 포멧을 4DISK RAID로 구성하여 최종 결과를 만들었습니다. 

 

1Gbps 한계
실험 환경에서는 1Gbps 네트워크 속도의 한계에 대해 말하지 않을 수 없습니다. nas4dual은 외장하드 모드가 지원되지 않으므로 결국 PC network 대역폭이 한계 대역폭이 됩니다. 1Gbps = 128MB/s가 되므로 이 이상의 속도가 나오는 것을 측정할 수 없습니다. 이 부분은 서버급 실행환경(광랜 10Gbps 이상 네트워크) 에서만 가능 합니다. 

1. 단일디스크 

가) EXT4 

쓰기 114MB/s 읽기 92MB/s

나) BTRFS 

쓰기 90MB/s  읽기 98MB/s

2. 3DISK 

1) jbod

가) EXT4 

읽기 107MB/s  쓰기 99MB/s 

나) BTRFS 

읽기 99MB/s 쓰기 99MB/s

2) RAID0

가) EXT4 

읽기 105MB/s 쓰기 98MB/s

나) BTRFS 

읽기 98MB/s 쓰기 96MB/s

3) RAID0 

가) EXT4 

읽기 97 MB/s  쓰기 88MB/s 

나) BTRFS 

읽기 95MB/s 쓰기 76MB/s

3. 결론 

1. 단일 디스크 EXT4가 속도가 빠르다. 

2. BTRFS포멧은 읽기 쓰기가 느린 경향이 있다. 

3. RAID구성시 JBOD가 가장 빠르다. 

4. 어떤 구성도 1G NETWORK 속도에도 미치지 못한다. 

NAS라는 이름을 제공하는 여러 서비스에 중점을 둔 시스템으로 보입니다. 속도는 RAID 가아닌 단일 디스크 모드로 사용하는 것이 가장 높으며,  단일 디스크 속도보다 느린 RAID는 쓸모가 전혀 없어보입니다. 그냥 안정적으로 대용량 자료를 보관 할 생각으로 RAID 5 EXT4 를 4DISK 환경으로 쓰면 될 것 같습니다. 

RAID 중 DISK 속도 가속이 가능하다는 JBOD나 RAID0마저도 단일 디스크 환경보다 느리니 이건 뭐 펌웨어의 문제인지 어던 문제인지는 모르겠으나. RAID 시스템에서 기대할 수 있는 DISK속도 향상은 NAS4DUAL에서는 기대할 수 없습니다. 

4K 영상에 대한 빠른 저장과 사용에 대한 갈망은 USB3.1 SSD 외장하드로 이루어야 할 것 같습니다. 

언젠가4DISK RAID5의 속도를 올리겠습니다. 하지만 당장은 어려울것 같네요 raid에 디스크 추가를 하니 대기모드로만 추가가 됩니다.  

첫 nas 구매 7. 보안 향상을 위해 허용 국가 설정하기.

첫 nas 구매 8. 디스크 포멧과 레이드 형태에 따른 속도

2021년 10월 31일 일요일

첫 nas 구매 7. 보안 향상을 위해 허용 국가 설정하기.

 개요 

nas4dual을 구매하고 사용한지 어느 덧 한달이 다 되어갑니다. 처음 20%에 불과했던 cpu 사용율은 어느새 점점 증가하고 40%나 되고,  실제 제가 사용하지 않을 때 에도 network사용율이 높아지는 것으로 보아 점점 해킹 시도가 늘어가는 것 같습니다. 

처음에는 NAS의 포트를 자동 허용하는 UPNP를 사용했었으나, 여러 포트가 telnet을 통해 인터넷에 연결되고 있는 것을 확인하고 보안은 어렵구나 하고 그냥 dmz으로 설정해버렸습니다. 하지만 이건 최악의 선택이었습니다. 

dmz으로 옮기고 nas의 cpu 사용율이 꾸준히 40%를 유지했는데 원인은 해킹을 위한 탐지가 계속 되었기 때문 입니다.  그러다 문득 nas4dual 관리자 기능에 국가차단/허용 국가 설정이 있다는 것을 깨달았습니다. 

최선책은 nas에 대한 port forwarding 설정을 통해 최소 포트만 허용해주는 것입니다. 

그게 어려울 경우 경우 차선책에 대한 설명입니다. 


1. 실제 침입 시도가 있는가

IP테이블을 통해 중국을 차단해보았는데 침입을 시도하기 위해 IP 탐색을 하는 횟수가 일 약 1500회를 넘습니다.  nas4dual에서는 /var/logs 폴더 밑에 ip 테이블을 통해 차단된 ip에 대한 기록이 남습니다. .nasklog라는 파일이 주로 nas에서 ip의 목록이 남게 됩니다.  그중 하나만 샘플로 가져와보면 아래와 같습니다. 

2021.10.31. PM 10:12:33 [54623.686646] iptables:dropped: IN=bond0 OUT= MAC=90:9f**:00 SRC=27.***.***.159 DST=192.168.0.104 LEN=52 TOS=0x00 PREC=0x00 TTL=111 ID=40851 DF PROTO=TCP SPT=64631 DPT=50563 WINDOW=64240 RES=0x00 SYN URGP=0

iptables:dropped :   ip테이블을 통해 차단되었다.
IN= 요청이들어온 인터페이스 
OUT= 응답한 인터페이스 맥어드레스
SRC=요청자 IP
LEN 패킷 길이 등등이 기재되어있습니다. 

현재는 중국만 차단하고있습니다만. 중국을 통해 들어오는 녀석들이 수도 없는 걸로 봐선 다른 나라도 차단해야겠습니다. 알리바바 클라우드를 통해 유입되는 녀석들이 가장 많긴 하지만 중국만 그런 짓을 하는 것은 아닙니다. 클라우드는 어디든 있으니까요. 

ip2nation.com을 이용한 국가 정보 확인


2. 해킹은 어떤 순서로 이루어지는가 

해커들이 보편적으로 별다른 기술 없이 공유기나 NAS 서버에 접속하는 방법을 짧게 설명하면 이렇습니다. 

1) ip 무작위 탐색 

ping 명령을 통한 ip 대역이 열려있고 응답 가능한 서버를 탐색 (보통 스캔 프로그램 사용)


2) 해당 서버에 보안 취약점 검색 

무작위 ping에서 응답이 발생한 서버에 대해 보안 취약점 탐색 도구를 통해 보안 취약 포트, 프로토콜 정보 탐색 

3) 보안 취약점 공격 

공격 대상 ip와 포트가 정해지면 id와 패스워드를 무작위 입력하는 프로그램을 돌리거나 정해진 규칙을 통해 보안 취약점을 공격해 시스템 환경파일로 위장한 파일을 설치합니다. 

4) 해당 서버 사용 권한 획득 

공격을 통해 알아낸 계정이나 파일 전송을 통해 심어 놓은 악성 코드로 ip와 계정을 만들거나 알아내어 이것으로 사용 권한을 획득합니다. 


5) 악용 

자료 유출 이외에는 요즘은 가장 많이 본 해킹이 비트코인 채굴기를 돌립니다. 특정 서버에 접속해서 전달 받는 암호화 코드를 푸는데 모든 cpu와 gpu를 사용하게 만듭니다. 그 외에 ddos 같은 공격에도 사용될 수 있습니다. 

회사 서버가 비트코인 채굴기 설치를 두 번 당했는데 그중 한번은 비밀번호를 설정하지 않은 계정이 있어서 였고, 두 번째는 root 계정의 비밀번호가 털린 케이스였습니다. telnet이나 ssh를 열어 놓으면 특히 더 자주 당합니다. 


3. 그래서 해킹은 어떻게 방지하나

해킹은 어떤 식으로든 보안 취약점을 찾아내서 하는 공격이기에 라우터(공유기) 외부의 인터넷에서 접속을 최소화 하는 것이 가장 좋은 방법입니다. 하지만 ipdisk는 특성이 인터넷 망에 공유를 하는 것이 기본이므로, 인터넷에 노출 시키지 않을 수 없습니다. 이런 상황에서는 접속할 수 있는 특정 ip만 허용하는 것이 원칙입니다. 

하지만 torrent 와 같은 공유 프로그램을 사용할 경우 이것마저 거의 불가능해지는 것이 현실입니다. 따라서 ip디스크에는 보안에 위배되는 자료는 절대로 놓지 않아야 합니다. 

인터넷에 공개돼도 상관 없는 자료만 갖고 있다 하더라도 cpu와 memory 활용을 위한 공격이 있으므로 사용할 수 있는 국가를 한정하여 인터넷 노출을 최소화 하는 것이 그나마 피해를 더는 법 입니다. 

 해킹을 조금이라도 덜 당하기 위해 특정 국가만 허용하거나 vpn을 쓰는 것도 한 방법입니다. 하지만 vpn은 특성상 해당 vpn서버의 사용자가 많을 경우 속도가 저하될 가능성이 있습니다. 

저는 torrent를 쓰는게 nas 서버의 주 목적이므로 대한민국 이외의 feed 를 허용해야 합니다. 다음은 그 방법을 알아보겠습니다. 


4. 허용 국가 설정하기

가) feed의 ip 정보 알아내기 

윈도우즈 버튼을 누르고 cmd 라고 치면 명령프롬프트에 들어갈 수 있습니다. 



nslookup이라는 명령을 치면 간편하게 정보를 알아낼 수 있습니다. 명령어의 조합은 http나 https 같은 프로토콜을 제외한 도메인 정보를 nslookup 도메인 과 같은 형식으로 입력하면 됩니다. 
입력 명령어는 nslookup www.naver.com같은 형태로 넣으면 쉽게 알아낼 수 있습니다. 

nslookup 명령을 통해 알아낸 도메인의 ip정보
최근은 ip v4, v6 두가지를 모두 지원하는데 이중 v4에 해당하는 .으로 구분되는 항목을 기준으로 ip를 검색해보면 해당 도메인이 속한 ip를 알 수 있습니다. 

나) ip의 국가 정보 알아내기 

이전에는 whois검색을 통해 알아냈지만 최근은 nic 정보가 여러 시스템으로 분류되어 불편함이 있어 그냥 ip2nation.com을 활용합니다. 어차피 접속 국가 정보만 알아내면 됩니다. 위에서 알아낸 ip를 ip2nation.com에 입력합니다. 

ip2nation의 국가정보확인 기능 


nslookup을 통해 알아낸 ip정보를 ip2nation에 넣으면 해당 국가 정보를 알려줍니다. 이렇게 본인이 자주 받는 feed 목록을 작성한 후 해당 국가를 확인하여 목록을 만듭니다. 

다) 허용 국가 등록하기 

nas4dual의 관리자 페이지에서 어렵지 않게 등록할 수 있습니다. 
시스템 설정 -> 외부 접속 관리  메뉴를 통해 수행합니다. 

ip 타임 인터페이스 허용 등록
주의사항 
국가 차단을 할 경우 RSS 피드가 다운로드 되지 않는 경우가 있습니다. IP확인 결과 미국인데 IP타임에서는 미국으로 인식하지 못하는 경우가 있습니다. 

이상입니다. 즐거운 nas 생활 되세요. 누군가에겐 도움이 되었으면 좋겠습니다.  


2021년 10월 17일 일요일

첫 nas 구매 6. nas4dual의 feed 다운로드 시간을 직접 정해보자.

개요

nas4dual을 사용하면서 원하는 것들에 대한 직접적인 설정 방법을 계속해서 포스팅하고 있습니다. 이번이 6회 째네요 이번에는 rssfeed에 대한 다운로드 시간을 직접 정하는 방법에 대해 기술해보겠습니다. 

feed 다운로드 시간을 직접 정해보자 

flexget 프로그램은 linux 자체의 crontab 이라는 스케줄러를 통해서 실행됩니다. 하지만 nas4dual에서는 이 crontab에 대한 지원이 너무도 적습니다. 

4개의 설정밖에 없는 rssfeed 검색 크론탭 설정

linux의 크론탭은 5개의 자리수로 구성됩니다.

                        월        요일

이런 형태의 자리수에 채워진 숫자대로 반복이 정해지는 겁니다. 따라서 목요 드라마만 다운받고 싶은데 매일 다운로드를 수행한다는 것도 자원 낭비이고, 혹은 매일 오후 3시에 돌았으면 하는데 그 시간을 설정할 수 없는 현행의 프로그램으로는 약간의 개선이 필요한 상태입니다. 

현재의 crontab은 아래와 같은 형태로 구성되어있습니다. 

명령어 : crontab -l 

결과 : 

0       *       *       *       *       /etc/rss.sh exec > /dev/null 2>&1 &
26      19      *       *       *       /sbin/hwclock -w
26      19      *       *       *       /sbin/ntpdate clock.iptime.co.kr
26      19      *       *       5       /sbin/ez-ipupdate -a 192.168.219.104 -u
이 명령줄을 각각 해석해보자면 이렇습니다. 
0       *       *       *       *      
0분   매시  매일 매월   모든요일

26      19      *       *       *  
26분  19시   매일  매월  모든요일 

26      19      *       *       5  

26분  19시  매일  매월   금요일 요일은 0-7 월-일 요일입니다. 

3시간 마다 옵션을 선택했다면 시간 부분이  */3 으로 되어있을것입니다.

저는 집에 가기 전에 오늘 볼 에니메이션을 다운받아놓고 컴퓨터가 대기했으면 좋겠습니다. 따라서 매일 오후 1시경에 시작해서 제가 보고싶은 것들을 모두 다운로드하고 영상이 기다렸으면 좋겠습니다. 하지만 이런 생각은 인터페이스에 반영되지 않았습니다. 

크론 스케줄러 파일의 위치는  /var/spool/cron/crontabs/root 파일입니다. 따라서 vi 편집기를 통해 이 녀석을 고칩니다. (원래는 crontab -e명령을 통해서 할 수 있지만 명령이 안됩니다.) 

telnete 접속후 다음 명령을 수행합니다. 

명령어 :  vi /var/spool/cron/crontabs/root 

crontab 편집화면

vi 편집기에서는 키보드의 i키나 insert키를 눌러 화면 하단에 --insert--라는 마크가 나와야 수치를 변화 시킬 수 있습니다. 또한 녹색 커서가 나오는데 이 커서의 앞 부분을 수정할 수 있습니다. 뒤쪽이 아닌 앞입니다. 보통의 편집 모드와 약간 다릅니다. 

저는 새벽에 방영한 녀석들과 낮부터 초저녁까지 방영하는 녀석들을 매일 2번 찾아보고 싶습니다. 따라서 다음과 같이 설정 하였습니다. 

저 앞의 숫자에 대한 편집이 완료 되었다면 키보드의 esc 키를 한번 누른 후  : 를 입력하고 x를 입력하고 엔터를 입력하면 저장 됩니다. 
크론 편집 화면 탈출
esc 키를 누르면 하단의 --Insert--마크가 사라집니다.  그상태에서 : 누르고 x 누르고 엔터 

크론탭에서 지원하는 문법은 쉽습니다. 다중 지정은 , 를 통해서 반복은 / 를통해서 지정할 수 있습니다. 

예를 들자면 다음과 같습니다.  
30분 마다 반복은 */30 * * * * 
10분 30분 반복은 10,30 같은 식입니다. 

제타위키를 보셔도 도움이 될 것 같습니다. 

2021년 10월 15일 금요일

첫 nas 구매 5. nas4dual의 rss 설정 제대로 알아보자.

 개요 

nas4dual의 설정 중 rss 피드를 설정하는데 정확한 정보를 찾는것이 너무 어려워 문서를 또 한장 쓰게 되었습니다. 개인적으로 이번 nas 구매에서 가장 큰 역할로 꼽은 것이 rss 다운로드 기능이기에 이것에 대한 설정을 정확히 할 수 없을 경우 여러 불편함이 발생하기 때문입니다. 


RSS 추가 및 설정 방법

일단 RSS라는 것은 토랜트의 목록을 관리하는 서버입니다. 한국 방송보다는 일본 에니메이션을 다운로드 받아 보는 것을 좋아하기에 RSS는 필수이며 관리가 필요없이 한 번 등록하고 반 영구적으로 (해당 RSS가 사라질 때 까지) 사용하는 항목입니다. 관리가 필요 없다는 것이 가장 큰 장점이기에 한번의 설정으로 가장 큰 효과를 봐야 합니다. 

가. RSS 피드 등록 

IPTIME 자체 UI의 FEED 목록
RSS 피드는 TORRENT 관리의 RSS FEED 설정을 통해서 수행할 수 있습니다. 이 RSS FEED를 관리하는 프로세스는 FLEXGET이라는 LINUX용 프로그램으로 구성되어있습니다. 인터넷에 본인이 원하는 RSS를 검색해서 추가 또는 삭제할 수 있는 인터페이스가 되어있습니다. 간단하게 주소를 추가하면 되므로 입력항에 대한 설명은 하지 않겠습니다. 또한 제목도 필요가 없습니다. 

나. FEED 필터 등록 

피드는 하루에도 수십,백 건의 자료가 올라오는데 RSS 피드만 추가 할 경우 해당 자료 전체 가 다운로드 됩니다. 방영되는 에니를 전부 보는 저로서는 피드만 추가하면 되지만 FEED 필터를 추가하는 설명도 진행하도록 하겠습니다. 

FEED 필터는 FEED에 올라오는 수많은 자료 목록 중 본인이 원하는 자료만 검색할 수 있는 포함 단어, 그리고 본인이 원하지 않는 단어를 제외하는 제외 단어 등을 여러개 등록할 수 있습니다. 파일 하나마다 허용되는 단어와 허용되지 않는 단어를 목록으로 화 해서 관리합니다. 등록된 단어는 하나 하나마다 허용 , 거부 권한을 갖는 목록으로 작성되어 TORRENT 하나당 그 내용과 제목을 기준으로 검색을 수행하게 됩니다. 

예를 들어보면 다음과 같습니다. 
포함단어 '바보', '멍청이'
제외단어 '똥개' 
라고 작성 한 경우 TORRENT의 제목이나 내용에 '바보나 멍청이'가 TORRENT는 자동으로 추가 되지만, '멍청이 똥개' 는 다운로드 되지 않습니다. 똥개가 들어가있기 때문이죠. 

뭐 RSS라는 것을 이미 알고 계신분이 FEED 등록을 하기에 불필요한 설명 이라고 생각이 되지만 처음이신 분들은 아셔야 합니다. 그리고 전 RSS를 이미 사용하고 있었음에도 불구하고 FLEXGET을 처음 써보기에 필터링 되는 방식을 알아내는데 상당한 시간을 소요했습니다. 일단 FLEXTGET이 필터링을 담당한다는 것을 알아내는 것 까지만 해도 3시간이 걸렸습니다. 

이러한 피드 필터를 등록하면 RSS 내에서 자신의 취향에 맞는 파일만 받을 수 있으므로 한번의 설정으로 필요한 파일을 지속적으로 공급 받는데 도움이 됩니다. 

feed filter 등록시 유의사항

feed filter는 매우 유용하지만 종종 오탐을 하기도 합니다. 완성된 단어를 꼭 사용해야 합니다. 영문 단어의 약어를 합친 경우 마그넷 링크를 오탐하여 원치 않는 자료가 다운로드 됩니다. 예를 들자면 나혼자 산다를 영문 약자로 'AL'이라고 했을 경우 같은 거죠. 사람도 이해하기 힘든 약어는 컴퓨터도 이해하지 못합니다. 

torrent의 설명 부분에 마그넷 링크가 있는 경우가 있기 때문입니다. 마그넷 링크는 임의 영문 숫자의 조합으로 만들어지기에 약어와 겹치는 경우가 매우 많습니다. 

다. FEED필터가 작동하는지 확인하기 

FEED 필터는 또다시 TELNET을 통해 nas4dual에 들어가야 확인할 수 있습니다. 또한 시간 단위로 crontab이라는 리눅스 자체의 스케쥴링을 통해서 작동하기 때문에 해당 시간 외엔 프로세스에서 조회할 수 없습니다. 
telnet의 사용법을 모르시는 분은 이전 게시물을 확인하시면 되겠습니다. 


따라서 크론탭에 예약되어있는 정보를 확인합니다. 

명령어 : crontab -l 

결과 : 

0       *       *       *       *       /etc/rss.sh exec > /dev/null 2>&1 &
26      19      *       *       *       /sbin/hwclock -w
26      19      *       *       *       /sbin/ntpdate clock.iptime.co.kr
26      19      *       *       5       /sbin/ez-ipupdate -a 192.168.219.104 -u

위에 보이는 결과 목록 중 /etc/rss.sh exec 가 nas4dual에서 rss 피드를 호출하는 녀석입니다. 뒤에 따라 붙은 > /dev/null 2>&1 &는 프로세스에 대한 호출 로그를 남기지 않겠다. 그리고 백그라운드 서비스로 부르겠다 라는 명령입니다. 

따라서 /etc/rss.sh exec명령을 통해 호출해보겠습니다.  

2021-10-15 21:06:03 VERBOSE  task          rss340409313    ACCEPTED: `바보 똥개.mp4` by regexp plugin because regexp '바보' matched field 'description'
2021-10-15 21:06:03 VERBOSE  task          rss340409313    REJECTED: `바보 똥개.mp4` by regexp plugin because regexp '똥개' matched field 'description'
명령을 수행하면 위와같이 목록에 있는 명령으로 각각 필터링이 이루어지는 것을 알 수 있습니다. 명령어에 보면 regexp 라는 것이 있는 것으로 보아 정규식도 활용 가능 한 것으로 보입니다. 

라. RSS 파일 및 필터 위치 

RSSFEED 파일은 torrent다운로드 폴더로 설정한 디스크의 한단계 위에 존재합니다. 저는 HDD1의 torrent라는 폴더에 다운로드 위치를 설정했는데 그 바로 위인 /mnt/HDD1/.rss_cfg/폴더에 해당 파일들이 있습니다. 
명령어 : /mnt/HDD1/.rss_cfg/
 ls
결과 :
rss340409313.yml  rss340407888.yml  received          flexget.log       db-config.sqlite  config.yml

이렇게 여러개의 파일이 있는데 db-config.sqlite는 아마도 저장이력이나 환경정보를 갖고있는 데이터 파일인것 같습니다. 

config.yml은 등록된 rss-feed 목록을 관리하는 환경 파일입니다. 등록된 rss-feed 주소 만큼 늘어나니 건들지 않는게 좋습니다. 

rss와 숫자로 이루어진 yml 파일이 필터링이 포함된 피드 파일입니다. 그중 하나를 열어보자면 내용은 이렇게 구성됩니다. 

명령어 : vi rss340409313.yml 
결과 : 
rss: https://토랜트 rss 주소/
verify_ssl_certificates: no
regexp:
accept:
- '바보'
- '멍청이'
reject:
- '똥개'
magnets: yes
exec:
auto_escape: yes
on_output:
for_failed: "/usr/python3/bin/magnet_location.sh '{{url}}' '{{task}}'"

여러 단어를 등록해야 하는경우 엑셀이나 단어장에 - '검색어' 형태의 목록을 만들어두셨다가 vi 편집기를 통해 일괄 등록하는 것도 가능합니다. 

참고 

web 인터페이스에서 보는 원본 rss 설정 파일은 이곳에 있습니다. 두곳을 모두 변경해야 합니다. 
 cd /etc/property/RSS/

마. upnp가 지원되지 않는다면 재부팅은 되도록 삼가하자 

torrent 의 자료를 제공하는 측 (peer) 가 접속하는 포트는 nas4dual이 재실행 될 때 마다 무작위로 선정됩니다. 공유기에 DMZ 설정을 해놓게 되면 보안에 취약한 nas4dual을 통해 별별 놈들이 다 들어올 수 있으므로 저는 nas를 DMZ으로 설정해놓지 않았습니다. 특정 포트만 인터넷에 공유해놓고 그마저도 포트포워딩을 통해 원본 포트와 다르게 변경을 해놓았는데 재부팅을 할 경우 해당 포트가 변경됩니다. 

포트가 변경되면 다운로드 속도가 줄어듭니다. 
upnp를 설정한 경우는 문제가 없습니다.  


transmission 시작시 무작위 포트 선택이라는 옵션은 해제할 수 없기 때문입니다. 그리고 재부팅을 하면 한번에 다운로드 받는 파일 수도 변경되므로 torrent에 대한 설정 변경을 최소화 하기위해 재부팅을 저는 안하고 있습니다. 재부팅시마다 연결 포트를 매번 변경해준다는 선택지도 있습니다. 하지만 귀찮습니다. 

기타 주의사항 

windows에서 토랜트의 다운로드 상태를 보려면 transmission-remote gui라는게 필요해집니다. 여기에서 토랜트에 대한 환경설정을 할 경우 대부분 무시되거나, 환경 설정이 꼬이는 경우가 발생합니다. 따라서 안드로이드나 windows 상에서 환경을 변경하시면 아니되옵니다. rss가 다운로드 되지 않을 경우 torrent다운로드 폴더를 다른 디스크 상으로 바꾸면 다시 정상 작동할 것으로 생각 됩니다. (안에 들어있는 .session 폴더나 .python 폴더 .rss_cfg 폴더의 설정이 어딘가에 중복되서 발생하는 것 같습니다. ) 

디스크 경로를 바꿀 수 없을경우 torrent 서비스를 중지하시고 .session .python .rss_cfg 3개의 폴더를 제대로 지우시고 토랜트 서비스를 재실행 하셔야 합니다. 

참고로 한 가지 설정만큼은 잘 되는 앱이 있네요 windows 10에서 torrent 다운로드 개수를 변경 할 수 있는 앱입니다. 트랜스미션bt <--한번에 다운로드 되는 개수만 늘려줍니다. 다른건 다 적용안되요. 
다만 이 다운로드 개수는 재부팅하면 다시 초기화가 됩니다. 

저는 지난번 설정에서 다운로드 속도에 대한 상향을 통해 18메가 언저리는 꾸준히 나오는데 그 이상은 잘 안나옵니다. 26메가는 아주 가뭄에 콩나는 수준으로 나와요. 회선은 500Mbps 니까 /8해서 62.5MB/s가 최대인데 반절도 못씁니다. 공유기를 바꾼 이후 더 나오면 캡처해서 올리겠습니다. archer ax73을 구매하였으나. 대한통운 택배 부분파업의 피해를 보고 있습니다. 


10개 파일을 동시 다운로드 해도 피어수가 많지 않아서인지 cpu는 20% 이내로 쓰네요. 

주의사항 
기타설정 -> 외부 접속 관리를 설정 할 경우 
종종 rss 에서 다운로드가 되지 않는 경우가 발생했습니다. 
 Unable to download the RSS for task rss340932804 (https://사이트rss.php?filter=15&minMB=2000): HTTPSConnectionPool(host='사이트, port=443
위와 같은 에러 메시지가 발생할 경우 국가 차단 설정에서 해당사이트가 필터링 되는것이라고 보시면 되겠습니다. 또한 nas4dual의 국가 차단의 IP 대역이 실제 국가와 일치하지 않는 현상이 있습니다. 

2021년 10월 12일 화요일

첫 nas 구매 4. nas의 속도 향상을 위한 Link Aggregation을 지원하는 장비 정리 2021.10

 개요 

iptime nas4dual 제품을 구매한 이후로 여러가지 머리가 아플만큼의 정보가 필요한 상황이 되었습니다. 그중 nas의 통신 속도를 높이기 위해 필요한 부분은 바로 Link Aggregation이 되는 공유기나 switch가 되겠습니다. 

nas4dual은 기존 iptime 제품과 다르게 외장하드 모드를 지원하지 않기 때문에 iptime 공유기에 들어있는 나스 가속 모드를 쓸 수 없습니다. 만들면서도 자기네 판매 상위에 있는 공유기와 호환성을 생각하지 않고 만든 것을 보면 참... 상생을 중시하는 회사구나 싶습니다. 

그런 관계로 현재 가성비 최고의 조합은 raid 도킹스테이션 + ip타임 나스가속 공유기 가 됩니다. 가성비를 좋아하는 저로서는 뼈 앞픈 실책입니다. 같은 30만원을 썼으면 최고의 조합을 얻을 수 있었는데 최악의 선택을 해버린겁니다.

하지만 이미 사서 데이터도 다 옮겨버린거 다시 옮기기도 귀찮고 데이터 이동 시간만 3일이 걸리는 관계로 포기하고 link aggregation을 지원하는 장비를 정리해보고자 합니다. 회사별로 정리해보겠습니다. 

Link Aggregation은 3가지 명칭을 더 갖고 있습니다. 

LCAP, LAG 또는 IEEE 802.3ad 사람 해깔리게 말이쥬 


IPTIME

IP 타임에서는 간이 나스 가속을 하는 기능은 있어도 nas4dual 에서 필요한 듀얼 링크의 Link Aggregation 지원 공유기는 존재하지 않습니다. 스위치 제품군에서만 존재 합니다. 
IPTIME QNA 질답 <-- 클릭 

단 2개의 제품만 보이는데 아무리봐도 상생을 너무 좋아하는 기업같습니다. 



TP-LINK 

티피링크는 지원해주는 제품이 가장 많습니다. 국내 판매되지 않는 제품이나 판매중이어도 공개 재원상 기능이 지원되지 않는 제품은 취소선을 그어놓겠습니다.. 
Archer C2300( V1 ) , Archer C5400( V2 )해외 , Archer C3150 V2해외, Archer C4000( V2 V3 )해외, Archer AX73 , Archer A20( V1 V3 ) 해외, Archer AX50( V1 ) 재원없음, Archer C3150( V2 ) 재원없음, Archer AX6000( V1 ) , Archer AX3000( V1 ) 재원없음, Archer A2300( V1 )해외 , Archer C5400X( V1 )해외

여기에서 약간은 주의해야 할 점이 바로 버전정보가 있다는 말이죠. 제품명만 보고 무턱대고 샀다가 지원이 안될 수 있습니다. 상품 설명을 보실 때 버전 정보를 꼭 확인하셔야 합니다. 혹은 상품 설명중 Link Aggregation 정보가 있는지 꼭 확인해야 합니다. 

현재 국내 구매 Link Aggregation 이 지원되는 가장 싼 제품입니다. 



이 제품은 특히 주의하셔야 합니다. 국내 v1과 다른 버전이 섞여있어 지원되는 판매자가 있고 그렇지 않은 판매자가 있습니다. 링크 정렬이라고 달아놨네요 


ASUS 

아수스는 홈페이지에 RT-A88U제품이 된다고 써있지만 국내에는 재원상 써있지 않기에 이것 역시 주의가 필요합니다. 그래서 사진을 첨부하지 않습니다. 

NETGEAR

넷기어에서도 홈페이지에 1개의 제품이 검색됩니다. R8500


Link Aggregation 이 지원되는 장비에 대해 저가부터 고가 제품까지 알아보았습니다. 듀얼랜이 지원되는 nas 서버 사용자에게는 필수적인 제품이 될 것 같은데 가정용으로 나오는 제품 그리고 저가 제품은 없어도 너무 없네요. 

현실적으로 30만원으로 고속 스토리지와 고속 네트워크를 둘 다 지원할 수 있는 방법은 iptime 간이나스 공유기+ raid 지원 4베이 이상 도킹스테이션이며  그 외에는 50만원 이상의 투자를 해야만 하는 상황입니다. 

개인적으로는 디스크 제조사인 마샬 도킹스테이션 5베이 + iptime AX2400M 같은 제품의 조합이 가성비상으로 최고가 아닐까 합니다. 만 이미 사서 데이터 이동까지 다 한거 어쩝니까. 티피링크 ax73 정도 하나 들여야겠습니다. 들였습니다. 


TP-Link AX73(AX5400)
TORRENT 속도와 5Gbps 무선 속도가 비약적으로 빨라졌습니다. 
휴대폰 5g 측정 다운로드 244Mbps


torrent 속도 약 30MB/s
집 내에서의 업다운 속도도 빨라졌습니다. 
다운로드

업로드
80-95 사이를 꾸준히 내줍니다. (기존 64mbps) 


이상입니다. 즐거운 nas 생횔 되세요. 누군가에겐 도움이 되었으면 좋겠습니다.  


2021년 10월 11일 월요일

첫 nas 구매 3. 안드로이드에서 동영상 자막보기

 개요 

지난 목요일 설치한 NAS에서 외부에서 미디어를 보다보니 자막이 보이지 않는 불편함이 있었습니다. 따라서 이에 대한 개선책을 기술해보겠습니다. 순서는 IPDISK 설정 -> MX플레이어 설치 -> CX 파일 탐색기 설치 및 설정 순으로 진행됩니다. 불필요하거나 너무 쉬운 부분은 그냥 생략하겠습니다. 


1. IPDISK 설정

IPDISK 설정법은 여러 분들이 공유하고 있으므로 대체하겠습니다. 

IPTIME NAS설정 <-- 궁굼하면 클릭 


2.MX플레이어 설치 

이 부분도 PLAY STORE 에서 그냥 MX 플레이어를 설치하면 됩니다. 하지만 검색하면 잡다한 앱들이 같이 조회 되기에 일단 화면을 첨부합니다. 

mx 플레이어
딱 위 사진과 같은 플레이어 명칭과 제작 업체 제품을 다운로드 받아야 합니다. 


3. CX 파일탐색기 설치 및 설정 

CX 파일 탐색기 역시 설치는 동일 환경설정도 간단합니다. 

cx 파일탐색기
위 사진도 유사한 어플이 검색되는 관계로 딱 요거 다운받으라고 올려놓습니다. 

다음은 설정입니다. 설정도 어렵지 않고 인터페이스도 제법 쉽게 만들어져서 사용감이 좋은 앱입니다. 


일단 cx파일 탐색기를 구동하시고 네트워크 탭을 누르고 새 저장소를 클릭합니다. 
다음으로 본인의 ipdisk 주소와 FTP를 선택하시고 사용자명, 비밀번호를 입력하고 확인을 누릅니다. 


그러면 위와 같이 IPDISK 연동은 완료 되었습니다. 다음은 플레이어 설정입니다. 



다시 메인화면으로 돌아가셔서 오른쪽 위에 ... 을 누르면 위와같이 설정 버튼이 팝업됩니다. 



설정 창에 들어가면 동영상 플레이어에 체크되어 있는 부분을 해제하여 기본 동영상 플레이어가 작동하지 않도록합니다. 또한 위쪽의 기본앱을 눌러서 등록된 기본앱이 있을 경우 제거합니다. 


다시 메인페이지로 돌아가서 본인의 IPDISK를 눌러보면 폴더를 탐색하실 수 있고 이제 영상에서 자막이 자동으로 추가됩니다.
영상 파일과 자막 파일 

 다만 영상명칭과 자막의 명칭은 동일하게 (확장자 제외) 구성 되어있어야 합니다. 또한 자막 파일과 영상 파일은 같은 폴더 내에 있어야 합니다. 

구성이 완료되면 위와 같이 영상 파일 로드시 자막 파일이 같이 로드되어 나옵니다. 

이상입니다. 
읽어주셔서 감사합니다. 

2021년 10월 10일 일요일

첫 nas 구매 2.TORRENT 다운로드 속도 향상 시키기

개요

torrent의 속도가 이상하게 평소 pc로 받던 것보다 느려서 telnet을 통해 환경 설정을 하는 방법을 찾아보았습니다. 

 

telnet을 통한 torrent 환경 변경 

torrent를 다운로드 하는 transmission deamon의 속도를 높이려면 telnet을 통해 settings.json 파일을 변경해야 합니다. 하지만 확인 결과 환경 파일이 아닌 프로세스를 호출하는 프로그램에서 직접 파라미터로 제어하는 것이 확인 되었습니다. 따라서 이 부분 중 수정할 수 있는 부분에 대해 순차적으로 기술하도록 하겠습니다. 

torrent 설정이 잘못되었을 경우나 torrent가 실행 안될 경우 
혹은 crontab에 등록되있는 토렌트 명령 /etc/rss.sh 를 실행했을때 
아래와 같은 오류가 뜬다면 

-ash: /usr/python3/bin/flexget: not found

토렌트 다운로드 디스크에 있는 3개의 폴더를 지워야 합니다. 
.rss_cfg 
.session 
.python  
그리고 다음 명령을 통해 flexget을 다시 설치해주세요 
/bin/sh /etc/rss.sh

이후 nas 관리자 화면에서 토랜트를 중지했다가 재 시작해야 합니다. 

가. putty 다운로드 

먼저 putty라는 도구를 다운로드 받아야 합니다. 콘솔 기반의 인터페이스기에 초보자는 조금 어렵게 느껴질 수 있습니다. 

putty다운로드 링크 <--클릭

putty 다운로드 페이지

상위 링크에 가시면 windows나 arm 기반의 버전별로 다운로드를 지원합니다. 자신의 os버전에 맞게 다운로드 하셔서 설치하시기 바랍니다. 별다른게 없으니 그냥 다음 다음 누르면 끝납니다. 


나. nas4dual 관리 페이지 설정 

관리 페이지에서는 다음 일을 수행합니다. 이미 아시는분은 지나치셔도 좋습니다. 
torrent저장 폴더 생성 -> torrent 설정 -> telnet설정 

1) torrent 폴더 생성 

우선 메뉴에서 폴더/사용자 관리를 열어 폴더 관리 메뉴로 들어갑니다. 다음으로 원하는 디스크를 선택하고 새 폴더를 누르면 폴더명칭과 폴더에 할당할 서비스를 선택할 수 있습니다. 설정을 다 하신후 저장해주세요. 


저는 윈도우 공유와 ftp만 선택하였습니다. 다른 서비스는 사용하지 않습니다. 


2) torrent 설정 

다음으로 torrent 관리 -> torrent 설정으로 들어가셔서 torrent 다운로드를 실행상태로 만들고 완료목록 자동삭제, 원격 GUI지원 등을 클릭하신 후 조금 전에 만든 torrent 폴더를 다운로드 폴더로 지정하여주세요. 그리고 저장을 하면 torrent에 대한 기본 설정은 끝납니다. 

3) telnet설정 

다음으로 telnet 설정입니다. telnet을 해야 torrent의 속도를 변경할 수 있어요. 

메뉴의 시스템 설정 -> 기타 설정으로 들어가셔서 화면 중앙에 있는 telnet 부분을 클릭하시고 telnet설정을 실행으로, 그리고 root 비밀번호를 입력하신 후 저장하기를 눌러주세요. telnet은 보안에 취약하기 때문에 사용 후 다시 실행중단으로 꼭 변경해주세요 

다. putty 접속 및 torrent 환경 파일 변경 

다음으로 처음 설치한 putty를 선택하셔서 Host Name에 nas 서버 ip를 넣고 port에 23을 입력 후 접속합니다. 



위와 같이 콘솔 창이 열리면 처음에는 root라고 입력하고 엔터, 그 다음은 좀전에 설정한 비밀번호를 누르고 엔터를 치시면 됩니다. 

관리자 권한을 획득한 후 /usr/hddapp/sbin 폴더로 들어가 파일 목록을 확인합니다. 
다음 명령을 차례로 수행하면 아래와 같은 결과를 볼 수 있습니다.
su 엔터 
cd /usr/hddapp/sbin 
ls -la 
localhost> su 

/# cd /usr/hddapp/sbin

/ # ls -la
drwx------    2 root     root        12288 Jul 27 17:53 lost+found
drwxr-xr-x    8 root     root        14700 Oct  9 20:14 dev
drwxr-xr-x   19 root     root         1024 Oct  9 21:14 .
drwxr-xr-x   10 root     root         1024 Oct 10  2021 var
drwxr-xr-x    2 root     root         1024 Oct 10  2021 temp
drwxr-xr-x    3 root     root         1024 Oct 10  2021 syscache
drwxr-xr-x    4 root     root         6144 Jul 27 17:53 lib
dr-xr-xr-x  239 root     root            0 Jan  1  1970 proc
dr-xr-xr-x   12 root     root            0 Oct 10  2021 sys
drwxr-xr-x   11 root     root         1024 Oct  9 20:30 usr
-rw-------    1 root     root         1024 Oct  9 20:46 .rnd
drwxr-xr-x    3 root     root         1024 Oct  9 21:32 tmp
lrwxrwxrwx    1 root     root           11 Jul 27 17:53 linuxrc -> bin/busybox
drwxr-xr-x    4 root     root         1024 Oct 10  2021 mnt
drwxr-xr-x    2 root     root         1024 Jul 27 17:53 bin
drwxr-xr-x    7 root     root            0 Oct  9 21:32 system
drwxr-xr-x   21 root     root         3072 Oct  9 21:12 etc
drwxr-xr-x    2 root     root         1024 Jul 27 17:53 root
drwxr-xr-x   19 root     root         1024 Oct  9 21:14 ..
drwxr-xr-x    4 root     root         1024 Oct  9 18:07 home
drwxr-xr-x    2 root     root         3072 Oct 10  2021 sbin


위에 보이는 파일 목록 중 transmission-deamon 이라는 파일과 transmission-remote 라는 두개의 파일이 토랜트를 전송해주는 프로그램입니다. 그 중 remote는 원격앱을 통한 제어를 지원해주는 프로그램이고 deamon은 다운로드를 수행해주는 프로그램입니다. 

ps -ef 명령을 통해 좀 더 자세히 보겠습니다. 
18169 root      22120 S   /usr/hddapp/sbin/transmission-daemon -c /mnt/HDD1/torrent -w /mnt/HDD1/torrent -g /mnt/HDD1/torrent/.session -L 300 -l 50 -X 1 -s 100000 -S 100000 -FD -p 9091 -t -u 사용자 -v 비밀번호
호출할 때 옵션을 주는 것이 해당 파일을 호출하는 스크립트 파일을 찾아야 할 것 같습니다. 이 스크립트의 옵션은 -L 300이 최대 시드 -l이 토랜트 하나당 시드 -s가 다운로드 -S가 업로드입니다. 

기본값 인 0으로 무제한 다운로드, 업로드 속도에 대한 설정을 수행 할 경우 100,000 KB/s 가 설정 되는데 일반적인 가정 통신 속도로 환산을 해보면 800Mbps 에 해당합니다. 원래는 설정을 변경하지 않아도 다운로드 속도가 잘 나와야 하는데. 제 nas는 느려도 너무 느립니다. 토랜트 모두를 합쳐서 10MB/s밖에 나오지 않습니다. 

torrent 다운을 담당하는 transmission의 프로세스ID는 위 그림에서 제일 위에 나온 18169 입니다. 프로세스 ID는 프로그램을 실행할 때 마다 순차적으로 자동 증가하므로 ps 명령을 통해 조회해보지 않으면 알 수 없습니다.  

토랜트 트랜스미션 프로세스 조회 커맨드: ps -ef | grep trans 

여기서 ps 는 프로세스 조회 명령 -ef 는 상세정보 | grep 는 해당 정보만 조회 trans는 transmission-deamon 중 앞자리만 쓴 것 입니다. 

여기저기 파일을 뒤적여본 결과  /etc/property/Torrent.set 파일에 토랜트의 최고 속도는 지정되지만 그외의 정보는 찾을 수 컴파일이 되어 있는지 아무리 검색을 해도 나오지 않았습니다. 그래서 vi 편집기를 통해 여러 설정을 해 보았습니다.
vi /etc/property/Torrent.set

run=1
max_down_rate=50000000
max_up_rate=0
down_folder=/HDD1/torrent
count=0
min_peer=200
pex=1
auto_delete=1
seeding=0
gui_run=1
id=사용자
passwd=비밀번호
port=9091
upnp_enable=0
102412

실제 수행은 ps -ef | grep transmission-daemon 
명령을 통해 나온 프로세스 id를 kill 명령을 통해 종료시키니 자동으로 재시작 되었습니다. 
그리고 아래와 같이 정상적으로 적용 다운로드 속도만 50Gbps로 정상적으로 추가되었습니다. 어차피 안될거 뻥튀기좀 해줍니다. 
##프로세스 삭제 
kill -9 프로세스id
##수행결과 
19055 root      46988 S   /usr/hddapp/sbin/transmission-daemon -c /mnt/HDD1/torrent -w /mnt/HDD1/torrent -g /mnt/HDD1/torrent/.session -L 300 -l 50 -X 1 -s 50000000 -S 100000 -FD -p 9091 -t -u 사용자 -v 비밀번호-A



토랜트 다운로드 속도는 web 인터페이스 상으로 합계 20MB/s 정도가 나옵니다. 정확한 타임을 제어 보지 않았으나 10여개 파일을 테스트 해봤는데 최대 26300KB/s가 나왔으며, 국내 피어가 많은 예능 프로의 torrent는 약 2GB 파일이 30초 이내에 받아집니다. PC에서 받던 속도와 다르지 않습니다. 국내 파일을 받을 경우 약 20000KB/s 속도가 나옵니다. 최대 속도 설정이 100,000KB/s로 500Mbps에서 나올 수 있는 최대 속도는 /8해서 64MB/s입니다. 이전 받던 속도는 30~40MB/s 정도였습니다. 기본 무제한으로 설정할 경우 100000KB/s인 100MB/s가 최대인데 왜 1/10밖에 나오지 않는지는 의문입니다. 



2021.10.15 nas를 구매한지 2주만에 link aggrigation이 지원되는 장비로 변경하였습니다. 

LINK AGGRIGATION 적용시 29.77MB


500Mbps 회선 link aggregation 적용시 30MB/s나옵니다.
인터넷 회선을 업그레이드 하고 싶지만. 지속적으로 돈이 나가는걸 좋아하지 않기에 여기서 멈추겠습니다.  


arm 보드용 grep 명령이 하위 폴더 파일을 찾지 못하는 관계로 관련된 모든 폴더와 프로세스를 뒤져가며 약 6시간을 보냈습니다. 노력은 배신하지 않는군요 ㅎㅎ.  

아쉬운 점도 있습니다. 해외 파일의 경우 구성되는 경우 피어의 수가 많지 않고 15, 16정도에 머무르며 낮은 속도를 유지합니다. pc에서 파일당 피어수 200씩 주고 작업할때랑은 다르게 느립니다. 이 부분은 조금 아쉽습니다. 

또한 재부팅을 했을 경우에도 해당 파라미터는 유효하며 web 인터페이스에서도 수정은 불가능 하지만 해당수치로 표시됩니다. 

시드 부분도 변경할 수 있는 분이 계시면 알려주시면 감사하겠습니다. 이런건 솔직히 제조사에서 해서 나와야 하는거 아닌가 하네요 


기타 . transmission-deamon에서 설정할 수 있는 것들 

아쉬운점은 트랜스 미션 데몬에서 설정할 수 있는 변수들을 모두 만질 수있다면 최적의 속도를 만들 수 있는데... 그렇지 못한 것이 아쉽습니다. 

명령을 통해 트랜스미션에 대한 환경 목록을 조회할 수 있습니다. 그중 다운로드 속도와 관련된 녀석을 붉게 칠하고 설명을 하겠습니다. 
transmission-daemon --help
/usr/hddapp/sbin # transmission-daemon --help
transmission-daemon은 헤드리스 전송 세션입니다.
원격 전송을 통해 제어할 수 있는
또는 웹 인터페이스.

사용법: transmission-daemon [옵션]

옵션:
 -h --help 이 도움말 페이지를 표시하고 종료
 -a --allowed <list> 허용된 IP 주소. (기본:
                                         127.0.0.1)
 -b --blocklist 피어 차단 목록 활성화
 -B --no-blocklist 피어 차단 목록 비활성화
 -c --watch-dir <디렉토리> 새 .torrent 파일을 감시할 위치
 -C --no-watch-dir watch-dir 비활성화
      --incomplete-dir <디렉토리> 새 급류를 저장할 위치
                                         그들은 완전하다
      --no-incomplete-dir 불완전한 토렌트를 저장하지 마십시오.
                                         다른 위치
 -d --dump-settings 설정을 덤프하고 종료
 -e --logfile <filename> 로그 메시지를 이 파일 이름으로 덤프합니다.
 -f --foreground 대신 포그라운드에서 실행
                                         악마화
 -g --config-dir <경로> 구성 파일을 찾을 위치
 -p --port <포트> RPC 포트(기본값: 9091)
 -s --speed-limit-down <limit> 최대 다운로드 속도
 -S --speed-limit-up <limit> 최대 업로드 속도
 -A --no-allowed 허용된 IP 주소를 비활성화합니다. (기본:
                                         127.0.0.1)
 -t --auth 인증 필요
 -T --no-auth 인증을 요구하지 않음
 -u --username <username> 인증을 위한 사용자 이름 설정
 -v --password <password> 인증을 위한 비밀번호 설정
 -V --version 버전 번호를 표시하고 종료
      --log-error 오류 메시지 표시
      --log-info 오류 및 정보 메시지 표시
      --log-debug 오류, 정보 및 디버그 메시지 표시
 -w --download-dir <경로> 다운로드한 데이터를 저장할 위치
      --paused 시작 시 모든 토렌트 일시 중지
 -o --dht 분산 해시 테이블(DHT) 활성화
 -O --no-dht 분산 해시 테이블(DHT) 비활성화
 -y --lpd 로컬 피어 검색(LPD) 활성화
 -Y --no-lpd 로컬 피어 검색(LPD) 비활성화
      --utp 피어 연결을 위한 uTP 활성화
      --no-utp 피어 연결에 대한 uTP 비활성화
 -P --peerport <port> 들어오는 피어의 포트(기본값:
                                         52413)
 -m --portmap NAT-PMP 또는 UPnP를 통한 포트 매핑 활성화
 -M --no-portmap 포트 매핑 비활성화
 -L --peerlimit-global <limit> 전체 피어의 최대 수
                                         (기본값: 200)
 -l --peerlimit-torrent <limit> 토렌트당 최대 피어 수
                                         (기본값: 50)
 -er --encryption-required 모든 피어 연결을 암호화합니다.
 -ep --encryption-preferred 암호화된 피어 연결 선호
 -et --encryption-tolerated 암호화되지 않은 피어 연결 선호
 -i --bind-address-ipv4 <ipv4 addr> 피어 연결을 수신 대기할 위치
 -I --bind-address-ipv6 <ipv6 addr> 피어 연결을 수신 대기할 위치
 -r --rpc-bind-address <ipv4 addr> RPC 연결을 수신할 위치
 -R --chroot <dir> 루트 디렉토리 설정
 -U --user <user> 권한 변경을 위한 사용자 설정
 -G --group <그룹> 권한 변경을 위한 그룹 설정
 -fd --fake-daemon 가짜 데몬 모드 활성화
 -FD --no-fake-daemon 가짜 데몬 모드 비활성화
 -gsr --global-seedratio ratio 재정의되지 않는 모든 토렌트
                                         토렌트별 설정, 다음까지 시드해야 함
                                         특정 비율
 -GSR --no-global-seedratio
                                         토렌트별 설정, 시드해야 함
                                         비율에 관계없이
 -x --pid-file <pid-file> PID 파일 활성화
 -X --message-level <레벨> 메시지 레벨

3가지 변수가 토랜트 다운로드 속도와 연관된 항목 입니다. 
-s   --speed-limit-down     <limit>     Max download speed
기본값은 10000으로 되어있는데 이게 10메가 바이트입니다. 따라서 본인이 할당하고 싶은 대역 만큼 넣으시면 됩니다. 앞에 1도 고정이 아니기 때문에 본인이 원하는 만큼 넣으면 됩니다.