미러링
미러링(mirroring)이란 특정 사이트의 콘텐츠(글, 웹페이지, 이미지 파일, html 소스 등)을 특정 주기를 간격으로 자동으로 복제해 저장해 놓는 기능이다. 특정 사이트를 미러링 하는 사이트를 미러사이트라고 부른다.
개요
네이버나 다음 등 한국의 대형 포털 사이트에서는 언론사가 제공한 뉴스를 각각의 포털 사이트 내에서 독자들이 읽게 하는데, 이걸 인링크라고 한다. 이 인링크가 내용을 복사하는데 댓글로 여론조작을 하는 등의 부작용이 있다. robots.txt가 작동하는 사이트는 미러링이 쉽지 않다(아카이브라면 가능하다). 구글 웹 캐시 기능이나 archive.is나 웨이백 머신 등의 아카이브도 미러링과 비슷한 맥락이다. 문제는 이게 시스템에 의해 전자동으로 저장되는지, 사람이 직접 저장해야 되는지에 따라 미러링과 아카이브로 나뉘기도 한다는 점이다. 다만 본관 사이트의 허가를 받지 않은 무단 불법 미러링은 위법이라고 판결이 났다. 실제로 일베저장소의 불법 미러링 사이트가 등장하여 게시물을 삭제하려면 100달러를 내야 한다고 한다. 비슷한 불법 미러링 사이트로 세이브 메갈도 있었지만 해킹으로 인해 폐쇄되었다. 물론 이는 시스템에 자동 저장되는 경우 한정이고, 사람이 수동으로 하는 아카이브로 박제하는 것이 위법인 건 아니다. 합법적 미러사이트를 만들어 두었을 때의 장점은 트래픽 초과 등으로 본관이 터졌을 때 대체할 사이트를 만들어 놓을 수 있다는 점이다. 본관이 해킹이나 모종의 이유로 데이터에 이상이 생겼을 때를 대비하여 실시간으로 미러사이트가 백업을 하는 것이 가능하다. 또한 본관 사이트에 집중되었던 트래픽을 분산시킬 수 있다. 엔하위키 및 리그베다 위키에서 트래픽 문제로 검색 엔진의 크롤링을 허용하지 않아서 그런 것도 있다. 다음이나 네이버, 구글 같은 검색 엔진에서 뭘 찾으면 엔하위키 또는 리그베다 위키가 아닌 엔하위키 미러가 나왔으니 당연히 접속자 수가 더 많을 수밖에 없다. 이러한 미러링은 자신에게 요청되었던 모든 것에 대한 복사본을 유지하는 캐시나 프록시 서버와는 달리, 대체로 특정 원격 서버에 있는 전체 디렉터리나 파일들에 대해 이루어진다. 예를 들면, 주요 소프트웨어 개발사들은 대체로 사용자들의 다운로드 편의를 제공하기 위해 전 세계적으로 여러 개의 미러사이트들을 운영한다. 이러한 기법은 하드웨어 또는 소프트웨어에 의해 구현될 수 있다. 미러링은 레이드 시스템의 보편적인 특징이다. 노벨 네트웨어와 같은 일부 운영 체계들은 디스크 미러링을 소프트웨어적으로 지원한다. 이러한 기술이 자기테이프 저장 시스템에 적용되었을 때에는 그것을 미러링이라고 하지 않고 "트위닝"(twinning)이라고 불린다. 미러링에 비해 좀 더 낮은 가격으로 데이터 손실을 최소화할 수 있는 대안은, 디스크를 자기 테이프에 정기적으로 백업하는 것이다. 웹 사이트가 아닌 로컬 컴퓨터의 데이터를 실시간으로 백업하는 것은 '디스크 미러링'이라 불린다. 불법이라면 구글 같은 경우에는 DMCA 테이크다운이 걸려야 한다. 크롤링 해서 데이터를 개인 하드에 소장하는 것까지는 합법이다. 배포하면 그 순간부터 합법과 불법이 갈린다. 특히 박제 목적의 경우에는 임시 조치가 내려질 수도 있다.[1]
종류
- 스위치 미러링
네트워크 장비인 스위치의 설정에 의해 스위치 포트로 들어오고 나가는 패킷들의 특정한 포트에 미러링 시킬 수 있다. 제어 및 통제 솔루션은 해당 미러링 포트에서 복사된 패킷을 전달받게 됩니다. 단점은 스위치를 통한 미러링의 경우 스위치 자체에 부하가 심해지면, 미러링 패킷이 유실될 수 있다. 스위치 자체 내에서 소프트웨어적인 미러링을 하게 때문에 스위치의 부하가 심해지면 미러링보다는 스위치 본연의 임무가 더 우선시 되기 때문에 미러링은 우선순위에서 밀릴 수밖에 없다. 그러나, 별도의 장비(미러링 탭)가 추가되지 않는다는 점에서 스위치 미러링을 사용하는 경우도 있다.
- 탭 미러링
인풋 포트 1개, 아웃풋 포트 2개로 구성되어 있다. 스위치 미러링과 다르게 물리적(기계적)으로 복사가 이루어지기 때문에 패킷 유실률은 거의 없다. 단점은 네트워크 라인(선) 중간에 들어가야 하는 것이기 때문에 어디에 설치할지 포인트를 잘 잡아야 한다는 것이다. 즉, 어느 위치에 설치해야 회사 내의 원하는 패킷 트래픽 또는 전체 패킷 트래픽을 모두 받아볼 수 있는지 판단해야 한다.[2]
서버역할
대기 서버에 완벽한 데이터베이스 복사본을 이용하여 데이터베이스의 이중화를 유지한다. 또한 클러스터링에 비해 약 3초 미만의 시간 내에 서비스가 이어진다. 그리고, 특별한 장비의 요구 사항이 없다. 그렇기 때문에 네트워크에 연결되어 있는 일반적인 저 사양의 장비로 훌륭하게 데이터가 용성을 구현할 수 있다. 또한 구현도 쉽다. 그리고, 문제가 발생하면 자동으로 서버의 역할을 교대하여 서비스를 유지한다. 이럴 때 데이터베이스 서버에 연결된 클라이언트 측에서는 어떤 서버를 사용하는지 모르는 상태에서 서버의 변경이 가능하다. 자동적인 데이터베이스 미러링을 구현하기 위해서는 다음과 같은 역할을 가진 서버가 있어야 한다.
역할 설명 주 서버(Principal Server) 데이터베이스를 가지고 서비스를 운영하는 서버 미러 서버(Mirror Server) 주 서버의 데이터베이스의 복사본을 유지하는 서버 감시 서버(Witness Server) 서버 간의 연결과 주 서버의 문제 발생 시 자동적으로 문제점을 해결하는 서버
각주
- ↑ 미러링 나무위키 - https://namu.wiki/w/%EB%AF%B8%EB%9F%AC%EB%A7%81
- ↑ NAVER CLOUD PLATFORM, 〈네트워크(Packet)을 제어하는 기술 (Mirroring / Inline / Proxy)〉, 《미디엄》, 2019-09-30
- ↑ 〈데이터베이스 미러링〉, 《디비가이드넷》
참고자료
- 미러링 나무위키 - https://namu.wiki/w/%EB%AF%B8%EB%9F%AC%EB%A7%81
- 〈데이터베이스 미러링〉, 《디비가이드넷》
- NAVER CLOUD PLATFORM, 〈네트워크(Packet)을 제어하는 기술 (Mirroring / Inline / Proxy)〉, 《미디엄》, 2019-09-30