(의미에 좀 차이가 있지만 미러링 = 동기화 비슷하다고 보고 적습니다)
현실적으로 백업을 많이 고민하다보면 많은 분들께서 실시간 or 편의성을 고려하여
타 기기간 미러링, 동기화 를 통한 백업을 어쩔수없이 많이 하실거라 봅니다.
즉 백업의 편의성과 유용성을 고려할 때 결국 미러링은 어찌보면 필수일 수 있는데요.
이 미러링의 안정성에 대해 어디까지 감안해야 하는가? 에 대해 얘기하고 싶습니다.
'Raid 1', '하이퍼 백업', '시놀로지 드라이브 쉐어싱크' 등이
정상적인 경우에는 미러링, 동기화를 잘 수행해 줄것입니다.
꼭 실시간이 아니라도 미러링을 실행한 순간 그대로요.
그리고 진정한 백업이라면 다른 NAS 등의 기기로 백업을 진행할테고요.
그러나 살다보면 언젠가 반드시 특정 HDD에 필히 문제가 발생할 것입니다.
거기에서부터 미러링 백업에 대한 온갖 생각이 들며 공포감이 생기는데요.
미러링은 도대체 어디까지 미러링을 하는 것일까? 에 대한 것입니다.
(이런 부분에 대해 잘 아시는 고수님들 계실지요..)
① 배드섹터가 생긴 것도 그대로 미러링 되는 걸까요?
② 물리적 배드섹터는 미러링이 안된다면 논리적 배드나 오류 같은건 미러링 될까요?
③ 배드섹터 그 자체가 아니라도 배드섹터가 있는 구간에 파일은 손상되었을텐데 파일이 손상된 채로 미러링 되는건가요??
④ 손상 파일이 옮겨지진 않더라도 미러링 대상 HDD에 해당 파일이 누락 되고 소실 되는건 아닌지?
⑤ 정말 수 많은 파일중에 저도 모르게 그런일이 생긴다면 못 알아 차릴테니 문제가 커집니다.
제가 적은 말 중에 어디까지가 맞는 말인가요??
미러링(동기화)이 어디까지 된다는 범위에 대한 정보를 아무리 찾아봐도 없는 것 같으니
이런 생각이 겉잡을 수 없이 커지는 것 같습니다.
제가 적은 부분에 맞는 말들이 있다면
미러링, 동기화에 대한 어떤 위험까지를 인정하고 받아들여야 하는 것일까요??
다들 제가 생각하는 이런 부분에 대해 비슷하게라도 생각해보신 분이 계시다면
어디까지가 미러링의 단점, 위험임을 인지하고 감수하여 어떻게 대처하고 계실까요?
손상이나 누락 파일의 미러링(동기화)을 막거나 대응할 방법이 있을까요???
OS 파티션 부분 = 이미지백업 (백업해 놓으면 편하죠..-- 망가질려면 망가져라 .. 복구해주마.)
Data 영역의 문제 = Raid 6 가 가장 마음이 편합니다
==> 죽을라면 죽어라.. 교체해주마..
==> SAS Ultrastar 중고 하드가 가격대 성능비로 가장 좋습니다. (가장 마음이 편하구요)
*** 평안을 찾으소서...
OS 백업도 중요하죠!
레이드6 무중단으로 굉장히 좋다고 알고있습니다.
다만 레이드5에 URE 이슈란 것이 있고 레이드6은 안심해도 된다고는 하나
해외 자료를 보다보면 가끔 레이드6도 안심할수만은 없다고도 하는듯한데
그런다고 레이드10 이런걸 써버리면 또
제가 쓴글의 논리에 빠져버리니까 이리저리 안쓰고 있었습니다.
제 글은 백업에 집중하니만큼 장비의 분리에 집중하는 글이긴 합니다.
미러링은 백업이 아니고... 장애 발생시 서비스 중단을 막기 위해 사용하는겁니다...
미러링으로 디스크 2개를 묶었다면 1번 디스크에 들어가는 파일을 2번 디스크도 동일하게 복사가 되고
이때 이 디스크 둘의 관계는 복제가 아닙니다... 이중(동시) 쓰기 입니다
동기화는 파일에 대한 사본을 만드는 복제 개념 이구요
백업은 어차피 돈만 있다면 디스크를 무한정 사다가 무한정 n차 백업하면 됩니다..
장애 발생시 백업된 디스크로 대체하던지 복제 해서 사용하면되겠죠
그런데 이 돈으로 해결이 안되는게... 장애 발생후 원상복구하는데에 들어가는 시간입니다
이 시간동안 서비스는 중단되는거구요 그걸 막으려고 미러링을 하는거고
실제 미러링중 디스크에 장애가 발생하면 미러링된 디스크로 대체되고 서비스는 중단없이 잘 돌아갑니다
백업 : 시점복원을 목적으로 사용
미러링/동기화 : 데이터 1:! 중복성을 목적으로 사용
백업은 데이터 복구 미러링/동기화는 데이터 연속성이죠.
실수로 업데이트된 데이터를 미러링이나 동기화 해봐야 아무런 의미가 없기에 이런거를 대비한 백업이 필요한거고 물리적인 결함으로 데이터가 손실되거나 파괴되는것을 유지하기 위해 미러링이나 동기화를 사용하는겁니다.
하이퍼백업 같은
백업 솔루션의 예약 시스템 등으로 주기적으로 동기화나 미러링 등을 이룬다면
(동기화나, 미러링의 이름으로 차용해서 백업시킵니다)
무결성 있는 백업 이라고는 할 수 없는 것인가요??
여담으로 베트섹터에 관해 몇자 더쓰면
미러링등을 사용하지 않고 단순 디스크 복제를 하더라도 베드섹터는 복제 되지 않습니다....
근례의 디스크는 디스크의 펌웨어 레벨에서 섹터 관리가 이루어 집니다
일반적으로 디스크에 여분의 섹터가 존재하며 쓰기나 읽기가 실패하게됬을때 디스크는 재차 시도후 반복 실패시 해당 섹터를 잠그고 여분의 섹터로 대체하게됩니다
이 작업은 하드코딩되므로 변경의 여지가 없습니다
예를 들어 1번부터 100번까지의 섹터가 있고 여분으로 101부터 110의 섹터가 있는 디스크가 있을때 10번 섹터에 베드가 발생하면 디스크는 10번섹터를 101 섹터로 치환할것입니다... 이후 외부에서 10번 섹터로의 IO가 발생하면 디스크의 펌웨어는 여지 없이 101섹터를 참조하게 됩니다...
본인이 실제의 10번섹터를 강제로 복제하고 싶어도 불가능 합니다 디스크의 펌웨어에 의해 101으로 참조 됩니다
만약 여분의 섹터를 넘어 복구 불가능한 섹터가 발생된 디스크의 경우에는... 디스크 복제시 해당 실제의 베드섹터가 참조 되므로 복제 시도를 할것이나.
불량 섹터이기에 읽어지지 않으면 복제 과정에서 무한루프에 빠지거나 지연이 발생할껍니다
지금은 쓰이지 않지만 플로피 디스크에는 당연하게도 이런 펌웨어가 존재치 않습니다
하여 이를 이용해서 불법복제 방지를 목적으로 임의이 불량섹터를 만들어 복제가 되지 않게 하는 방법도 존재했었습니다
여분의 교체가 잘이루어진다면.. 배드섹터 관련 부분의 복제에 대해선 신경쓰지 않아도 되겠군요.
복제는 걱정이 안되어도 소실은 걱정해야할 수도 있어보이는군요.
① 배드섹터가 생긴 것도 그대로 미러링 되는 걸까요? / 안됩니다
② 물리적 배드섹터는 미러링이 안된다면 논리적 배드나 오류 같은건 미러링 될까요? / 안됩니다
③ 배드섹터 그 자체가 아니라도 배드섹터가 있는 구간에 파일은 손상되었을텐데 파일이 손상된 채로 미러링 되는건가요?? /아닙니다 디스크단위로 대체됩니다
④ 손상 파일이 옮겨지진 않더라도 미러링 대상 HDD에 해당 파일이 누락 되고 소실 되는건 아닌지? / 미러링된 디스크간 데이터가 옮겨지는 것이 아닌것은 우에서 설명했고 누락이나 소실되는건... 그럴수 있습니다 그래서 쓰기중 정전이나 컨트롤러 다운등으로 인한 데이터 소실/오염을 막기위해 BBU를 사용학고, 에러 보정(ECC)기능이 들어간 SAS 디스크를 사용 하는겁니다 만약 본인이 레이드로 사용중인 디스크가 SAS가 아니라면 데이터 오염(데이터 불일치)을 막기위해 주기적으로 스크러빙을 해야합니다
⑤ 정말 수 많은 파일중에 저도 모르게 그런일이 생긴다면 못 알아 차릴테니 문제가 커집니다. / 그래서 반드시 필요한 경우가 아니면 레이드를 할 이유가 없는 것입니다 그리고 스크러빙을 하면 데이터불일치는 해결됩니다 단 SATA 디스크를 사용하면 데이터 오염 빈도가 SAS보다 더 높아지므로 더 자주 해야될뿐입니다
서버 레벨에서 관련 솔루션 까지 주셔서 정말로 감사합니다.
이 글의 궁금증을 떠나 무결성에 대해 다른 부분도 많이 도움되고
데이터 스크러빙 개념 들어봤는데 꼭 알아봐야겠네요.
제가 미러링과 동기화 등 잘못된 의미로 혼용을 한것들이 있음은 알고 있습니다.
하지만 제 글은 백업과 데이터 무결성에 더 치중되어 있음에
단순 레이드1이 아닌 '장치'와 '장치' 간의 백업 궁금증에 더 치중되어 있는데요.
그러다보니 하이퍼백업같은 (증분백업 개념있는) 백업 솔루션은
동기화? 미러링? 의 이름으로
예약백업을 진행하기 때문에 혼용이 이루어졌으나.
의미는 이해하실수 있을거라 봅니다..
즉 장치간에 이런 동기화라는 이름의 (증분백업개념 가진) 백업도
1장치에서 2장치로
배드섹터의 오류를 읽지 않고
(주기적으로 예약 백업해왔다는 전제하에)
- 제 수많은 데이터들 중에 인지도 못한채로
해당 배드섹터 소실된 부분을 백업시켜 날려버릴것인지?
- 아니면 배드섹터를 읽지 않고 주기적으로 예약 백업해온
정상적인 자료로 남겨둘것인지? 궁금하네요..
그러나 백업은 열심히 해놓았는데 사고나 문제가 생겨서 데이터 복구를 시도했는데 방법을 재대로 몰라서 복구가 재대로 안되는 경우가 있습니다..
따라서 데이터 리스토어 하는 방법도 많이 연습해두어야 문제가 생겼을때 써 먹을수 있습니다..
사용하는 컴퓨터가 잿덩이로 변해도 똑같은 모델과 스팩의 시스템을 구한다면 이것을 다 셋팅하고 데이터를 리스토어 해서 사용(서비스)을 할 수 있게 해야 합니다..
데이터 백업은 다른 독립된 장치로 3차 까지 해두어야 데이터 망실의 확률이 많이 낮아진다고 합니다..
(1차 백업 한 데이터를 복구하다가 중간에 사고 나서 데이터 복구가 재대로 안되는 경우도 있고 1차 백업한 데이터가 깨져 있는 경우도 있습니다..)
RAID의 디스크 미러링 (RAID 1)은 RAID 콘트롤러가 여러개의 디스크를 묶어서 레이드 볼륨의 데이터 인/아웃을 하는 것이고
그 때 데이터는 각 디스크에 똑같이 저장이 됩니다.. 그러나 각 디스크의 데이터들은 실시간으로 움직이기에 만일 바이러스가 걸리거나
렌섬웨어가 걸리게 되면 레이드 볼륨의 모든디스크가 똑같이 바이러스에 걸리거나 렌섬웨어에 걸리게 됩니다..
RAID 를 사용하는 가장 큰 이유는 디스크가 물리적으로 고장이 나더라도 시스템의 서비스 중단 없이 (시스템을 끄지 않고) 고장난 디스크를 교체하기
위함입니다.. 그 때문에 핫스압 베이도 필요합니다..
레이드가 무중단 개념인것도 알고 있지만
사실 몇몇 백업 솔루션에서 동기화, 미러링 이란 말을 차용하기에 섞은것도 있습니다.
사실 백업과 자료 무결성에 대한 공포에 대한 글이기에
장치와 장치간 2중 3중 백업에 더 궁금증이 치중되어있긴 합니다.
즉 장치에서 장치간
하이퍼백업, 쉐어싱크 같은 솔루션들이 동기화, 밀러링이란 이름으로 아무튼 백업을 시킵니다만..
이 과정에서 메인 장치에 배드나 오류가 있을 경우
2중 장치에 백업 (동기화 비슷한 느낌으로 일단 혼용) 시키면 자료가 무결한가??에 대해 궁금합니다.
(주기적으로 정상자료를 백업했으니 정상자료는 있는데 그걸 소실된 자료로 덮어쓸것이냐? 남길것이냐? 가 궁금하네요)
사고로 백업 장비 하나 완전히 고장나서 못 쓰더라도 다른 백업 장비가 대처할 수 있도록 여러개의 독립된 백업장치에 백업을 하는 것입니다..
그 외에 데이터 무결성이나 스케쥴이나 하는 방법등은 어떤 백업 소프트웨어를 사용하고 어떻게 계획하느냐에 따라 달라집니다..
(백업된 데이터의 무결성은 백업소프트웨어가 채크 하는 것이지 백업 하드웨어가 하는 것은 아니라고 생각합니다..)
어느 정도의 규모의 데이터가 움직이고 얼마만한 크기의 데이터가 백업되는지는 모르지만 돈만 충분히 투자 된다면 방법은 찾기 나름일 것입니다..
그리고 RAID 6가 안정적이다라고 생각할수도 있지만 꼭 그렇지 않습니다..
사람이 만든 장비이기에 RAID 6도 관리가 소홀해지면 주저 앉아버리는 경우가 발생합니다..
레이드에 묶인 하드들도 계속 데이터 억세스를 하기에 언젠가는 모든 하드에 알게 모르게 배드가 쌓기에 되고 레이드 콘트롤러가 모든 하드들을
백그라운드로 감시하고 있다가 배드색터 갯수가 늘어서 감당이 안되게 되면 하드를 내밷습니다.. 즉 배드 하드가 되어 버리는 것이죠..
그것에 대한 대비법은 주기적으로 하드를 전체다 갈아주는 것 밖에 답이 없습니다..
하드도 소모품입니다.. 보통 기업용 하드는 3년 정도 쓰고 새 것으로 바꾸는 것이 좋습니다..
결국 필연적인 편의를 위해 백업의 명목으로 행하는
예약이든 실시간이든 스케쥴링을 통한 장치의 2중화 3중화 가
그 자체만으로 데이터의 완전 무결성을 보장해주진 않는다는 결론이네요.
소프트웨어마다의 차이를 특히 인지했구요.
(편의상 거의 의존할 수 밖에 없는 부분이라.. 그런 취지로 쓴 글이지만요)
댓글에 좋은 말씀들 잘 정리해서
다양한 방법의 조화를 더 고려해봐야겠군요.
파일자체가 어느순간 깨지는게 걱정되시면 증분백업방식으로 파일당 버전 몇개 세팅하시면 됩니다.
두가지 모두 동시도입시 hw sw양쪽모두 해결됩니다. 랜섬웨어건 디스크불량이든 뭐건 간에요.
양쪽으로 유용한 해결 방법 주셔 정말 감사드립니다.
사실 피하려고 했지만 무결성 하려면 결국 버저닝은 필요하게 되는군요.