디스크 미러링

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

디스크 미러링은 데이터의 중복 저장을 통해 데이터 손실 위험을 줄이는 기술이다. 하드웨어 및 소프트웨어 방식으로 구현되며, 각 디스크에 개별적으로 접근하여 읽기 성능을 향상시킬 수 있다. 여러 작업이 동일한 디스크의 데이터를 놓고 경쟁하는 경우, 스래싱을 줄여 성능 향상에 기여하며, 디스크의 데이터에 자주 접근하는 하드웨어 구성에서 중요한 고려 사항이다.

디스크 미러링
📚 더 읽어볼만한 페이지
  • RAID - ZFS
    ZFS는 Jeff Bonwick 등이 설계하고 구현한 파일 시스템으로, 데이터 무결성, 스냅샷, RAID-Z 등의 기능을 제공하며, 썬 마이크로시스템즈에서 개발되어 OpenZFS 프로젝트를 통해 다양한 운영체제에서 사용된다.
  • RAID - 장애 허용 시스템
    장애 허용 시스템은 일부 구성 요소에 고장이 발생해도 성능 저하 없이 작동하도록 설계되어 높은 신뢰성이 요구되는 분야에서 사용되며, 안전 실패 방지, 성능 저하 최소화, 견고성, 고장 투명성 등의 특징을 가진다.
  • 장애 허용 컴퓨터 시스템 - 컴퓨터 클러스터
  • 장애 허용 컴퓨터 시스템 - 트랜잭션 처리
    트랜잭션 처리는 데이터베이스 시스템에서 데이터의 일관성과 무결성을 보장하기 위한 기술이며, ACID 속성을 통해 데이터 정확성을 유지하고 롤백, 데드락 처리 등의 기술을 활용한다.

2. 디스크 미러링의 작동 방식

디스크는 원래 컴퓨터 시스템에서 신뢰하기 어려운 부품으로 여겨진다. 미러링은 시스템이 자동으로 여러 사본을 유지하거나, 디스크 하드웨어에 문제가 생겼을 때 시스템이 계속 작동하고 데이터를 빠르게 복구할 수 있도록 데이터의 이중 백업을 가능하게 한다. 미러링은 디스크의 신뢰성 문제를 해결하기 위해 로컬에서 수행하거나, 더 복잡한 재해 복구 시스템의 일부로 원격으로 수행할 수 있다. 특히 고가용성 시스템의 경우에는 로컬과 원격 두 가지 방법을 모두 사용하기도 한다. 일반적으로 데이터는 물리적으로 동일한 드라이브에 미러링되지만, 이 과정에서 기반이 되는 물리적 형식은 숨겨지는 논리 드라이브에도 적용할 수 있다.

미러링은 일반적으로 디스크 어레이와 같은 하드웨어 솔루션이나 운영 체제 내의 소프트웨어(예: 리눅스 mdadm, 장치 매퍼)를 통해 제공된다.

2.1. 하드웨어 방식

디스크 어레이와 같은 하드웨어 솔루션을 통해 미러링을 제공한다.

2.2. 소프트웨어 방식

운영 체제 내의 소프트웨어 (예: 리눅스 mdadm, 장치 매퍼)를 통해 디스크 미러링을 제공한다. BtrfsZFS와 같은 파일 시스템들은 통합된 데이터 미러링을 제공한다. Btrfs와 ZFS를 사용하면 데이터와 메타데이터 무결성 체크섬을 모두 유지보수할 수 있어 블록의 잘못된 사본을 감지할 수 있고 미러링된 데이터를 사용하여 올바른 블록의 데이터를 가져올 수 있다는 추가적인 장점이 있다.

3. 디스크 미러링의 추가적인 이점

디스크 미러링은 하드웨어 고장 시 데이터 중복성을 제공하는 것 외에, 읽기 성능 향상에도 기여한다. 디스크 미러링은 각 디스크에 개별적으로 접근하여 읽기 작업을 수행할 수 있게 해주기 때문이다. 특정한 상황에서 시스템은 어떤 디스크가 필요한 데이터에 가장 빠르게 접근할 수 있는지 선택할 수 있다. 이는 여러 작업이 동일한 디스크의 데이터를 놓고 경쟁할 때, 스래싱(작업 간 전환에 더 많은 시간이 소요되는 현상)을 줄여주는 효과가 있어, 디스크 데이터에 자주 접근하는 하드웨어 구성에서 중요한 고려 사항이 된다.

3.1. 읽기 성능 향상

디스크 미러링은 읽기를 할 때 각 디스크에 개별적으로 접근할 수 있게 해준다. 특정한 상황에서 시스템은 각 읽기에 대해 어떤 디스크가 필요한 데이터에 가장 빠르게 접근할 수 있는지 선택할 수 있어 성능이 크게 향상된다. 여러 작업이 동일한 디스크의 데이터를 놓고 경쟁하는 경우, 스래싱(작업 간 전환에 더 많은 시간이 소요되는 현상)이 줄어들어 특히 중요하다. 이는 디스크 데이터에 자주 접근하는 하드웨어 구성에서 중요한 고려 사항이다.