스토리지 가상화에 대한 질문


2

RAIDLVM을 포함한 스토리지 가상화 방법 을 이해하고 비교하려고합니다 . 다양한 개념의 관계에 대한 일반적인 아이디어와 큰 그림을 얻을 수 있기를 바랍니다.

  1. 다양한 스토리지 가상화 방법이 다음과 같이 장치 (디스크), 파티션 또는 파일 시스템 수준에서 가상화로 분류 될 수 있는지 궁금합니다.

    • RAID 는 물리적 디스크를 논리 / 가상 디스크로 대체하는 장치 / 디스크 수준의 가상화에 속합니다.
    • LVM 은 파티션 수준의 가상화에 속하며, 이는 파티션을 논리적 / 가상 파티션 (논리 볼륨이라고도 함)으로 대체합니다.
    • 파일 시스템 수준에서 파일 시스템을 논리 / 가상 파일 시스템 (예 : NAS (Network-Attached Storage))으로 대체하는 활성화도 있습니다 .
  2. 위의 이해가 정확하다면 각 수준의 가상화가 모든 하위 수준의 가상화도 구현합니까? 예를 들어, 파티션 수준의 가상화는 장치 수준의 가상화를 구현하고 파일 시스템 수준의 가상화는 파티션과 장치 수준 모두에서 가상화를 구현합니까?

  3. 서로 다른 수준의 가상화가 서로 다른 애플리케이션 영역에 어떤 영향을 미치거나 결정합니까? 예를 들어 RAID에는 적합하지만 LVM에는 적합하지 않고 LVM에는 적합하지만 RAID에는 적합하지 않은 응용 프로그램이 있습니까?

  4. 스토리지 가상화에 대한 Wikipedia 기사가 있으며 , 여기에는 블록 가상화 (스토리지 장치 기반 및 호스트 기반 및 네트워크 기반으로 더 분류 될 수있는)와 파일 가상화라는 두 가지 주요 범주의 방법이 있습니다.

    Part 1의 이해와 기사를 비교하십시오.

  5. 네트워크를 통한 스토리지 가상화를 위해 다양한 방법을 장치, 파티션 및 파일 시스템 수준으로 분류 할 수 있다고 생각 하기 때문에 위에서 언급 한 Wikipedia 기사의 블록 가상화에서 네트워크 기반 을 단일화하고 싶습니다. 예를 들어 SAN (Storage Area Network)이 장치 수준에 속하고 NAS (Network-Attached Storage)가 파일 시스템 수준에 속한다고 말할 수 있습니까?

감사합니다.


2
RAID 및 LVM을 "디스크"또는 "파티션"수준 가상화로 설명하는 데있어 매우 정확하다고 생각하지 않습니다. 스토리지 가상화는 중앙에서 관리되고 서버 단위가 아닌 전체적으로 시스템에 액세스 할 수있는 일반적으로 네트워크로 연결된 여러 장비의 추상화를 나타냅니다. RAID / LVM은 물론 SAN 가상화에서 일반적으로 사용되지만 스토리지 가상화 자체와는 거의 관련이 없습니다.
bubu

감사! 그러나 "RAID / LVM은 스토리지 가상화 자체와는 거의 관련이 없습니다." 스토리지 가상화 ( en.wikipedia.org/wiki/Storage_virtualization ), LVM ( en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux) ) 및 RAID ( en.wikipedia.org/wiki/RAID )에 대한 Wikipedia 기사에서 RAID LVM은 스토리지 가상화 방법이며 스토리지 가상화는 단순히 네트워크 연결 스토리지 장치의 경우가 아닙니다.
Tim

1
스토리지 가상화에 관한 Wikipedia 기사는 기껏해야 평범합니다.
bubu

그렇다면 추천 할만한 참고 자료가 있습니까?
Tim

답변:


3

답변을 제공 할 수도 있습니다. 특정 질문에 대한 자세한 답변은 @soandos의 답변을 참조하십시오.

LVM 대 RAID

많은 사람들이 언급했듯이 RAID는 여러 디스크 드라이브가 디스크 배열로 함께 할당되어 다양한 수준의 성능 및 안정성 이점을 제공하는 표준 기술입니다. 예를 들어, RAID 0은 하드 드라이브로 얻을 수있는 최고의 성능을 제공하며 디스크 손실 (1 개의 손실 = 본질적으로 총 손실)에 매우 민감한 반면 RAID 6은 1 개의 드라이브 손실 시나리오에서 어레이를 재구성 할 때에도 중복성을 제공합니다. RAID 어레이는 일반적으로 OS에 대한 단일 드라이브로 간주됩니다.

RAID는 다 대일 매핑이라고 말할 수 있습니다.

반면에 LVM을 사용하면 논리적 "디스크 드라이브"(블록 장치는 정확하지만 어쨌든)를 다른 디스크 드라이브의 일부로 구성 할 수 있습니다. 그것들은 "다 대다 매핑"방식으로 존재합니다. LVM을 사용하여 RAID로 달성 할 수있는 것을 달성 할 수 있지만 LVM은 실제로 훨씬 더 많은 것을 성취 할 수있는 것입니다. 예를 들어, 다른 디스크 드라이브를 RAID 배열에 추가하려면 전체 배열을 처음부터 다시 작성해야합니다. LVM을 사용하면 디스크 드라이브를 머신에 추가하고 디스크 드라이브 매핑을 논리 볼륨에 추가하고 사용합니다 (실제 구성은 약간 더 복잡하지만 전체 어레이를 다시 작성하는 것보다 작습니다).


1
  1. RAID는 드라이브 고장시 모든 데이터가 그대로 유지되도록하는 백업 기술이며 LVM은 많은 작업을 수행 할 수있는 논리 볼륨 관리자입니다.
  2. 그렇지 않습니다.
  3. 이상한 질문처럼 보입니다. RAID는 여러 드라이브에서 데이터를 분리하는 방법이므로 하나라도 실패해도 데이터가 손실되지 않습니다. LVM은 사용자 / OS가 모든 하드 드라이브를 보는 방식을 변경하는 데 사용할 수있는 볼륨 관리자입니다. LVM은 RAID 1과 RAID 0을 구현할 수 있지만 서로 관련이 없습니다.
  4. 첫 번째는 데이터가 어떤 물리적 장치에 있는지 알 필요가 없으며 두 번째는 더 추상적 인 방식으로 파일 사이의 링크가 더 나은 단어없이 저장 될 수 있음을 의미합니다.
  5. 위에서 언급했듯이 "장치 수준"또는 "파티션 수준"이 없으므로 그렇게 말할 수 없습니다.

감사! 그러나 스토리지 가상화의 실현으로 인해 RAID와 LVM이 근본적으로 어떻게 다른지 여전히 알 수 없습니다. 그러므로 왜 그들이 다른 목적으로 사용되는지 이해하지 못합니까?
Tim

RAID는 가상화에 관한 것이 아닙니다. "중복 디스크 독립 어레이"를 나타냅니다. 가상화라는 단어는 위키피디아 기사에도 나타나지 않습니다. 자세한 내용은 en.wikipedia.org/wiki/RAID 를 참조하십시오 .
soandos

감사! 그러나 나는 여전히 당신의 의견을 이해하지 못합니다. (1) "가상 디스크"및 "가상 장치"는 RAID 관련 기사에 나와 있으며 RAID는 장치 수준에서의 스토리지 가상화라고 생각합니다. 저장 장치 관련 기사에서 저장 장치 기반 블록 가상화 ( en.wikipedia.org/wiki/… )에 RAID가 언급되어 있습니다.
Tim

공통점이있을 수 있지만 목표는 완전히 다릅니다. RAID에서는 데이터 스트라이핑 때문에 가상 디스크가 필요합니다. 일반적으로 하나의 디스크에 기록되는 데이터가 하나 이상의 디스크에 기록되므로 전체 파일을 연속적인 것처럼 읽는 방법이 필요합니다. 이것은 RAID의 개념에 대한 측면이며, 예를 들어 RAID 1에는 필요하지 않습니다.
soandos

(2) "RAID는 가상화에 관한 것이 아닙니다"와 관련하여 RAID가 여러 물리적 스토리지 장치를 전체 가상 / 논리 스토리지 장치처럼 보이게하고 사용하는지 궁금합니다. Raid 기사에서 인용 한 내용은 "여러 디스크 드라이브 구성 요소를 논리 장치로 결합하여 이루어집니다".
Tim

0

기사가 잘 작성되지 않았습니다.

가장 큰 문제 중 하나는 스토리지의 전체 스택에 여러 계층의 추상화가 있으며 "가상화"는이를 배치 할 장소를 결정하기 어려운 퍼지 단어입니다. 스토리지의 여러 추상화 계층을 잘 살펴보기 위해 작년에 한 블로그 기사를 알려 드리겠습니다 ( 자세한 내용은 여기 를 참조하십시오).

마케팅 대변에서 "스토리지 가상화"는 이전에는 없었던 추상화를 소개합니다. 이는 시장 부문에 따라 여러 지점에서 발생할 수 있습니다. 그러나 그것은 단지 마케팅입니다. 기술적 인 시간.

스토리지 스택 (약간 단순화) :

  1. 디스크
  2. RAID 컨트롤러
  3. 소프트웨어 RAID
  4. 볼륨 관리자
  5. 파일 시스템
  6. 네트워크 파일 시스템
  7. 네트워크 파일 시스템 클라이언트

디스크 , 심지어 구식 회전 자기 디스크도 가상화 수준을 수행합니다. 플래터 (또는 SSD의 스토리지 셀)에있는 실제 블록에 대한 논리적 관점을 제공하며, 80 년대 중반부터 이런 방식으로 사용되었습니다. 마그네틱 드라이브는 불량 블록을 재 할당하기 위해 특정 수의 블록을 예약하며 논리적 관점은 이것이 디스크 컨트롤러에서 어떻게 추상화되는지입니다. SMART와 같은 기술은이 과정에서이를 포착하여 드라이브가 "사전 실패"라고보고하여 전환을 적절히 계획 할 수 있습니다. 이것은 80 년대 이래 어떤 형태로 이루어졌습니다.

RAID 카드 는 운영 체제에서 스토리지의 실제 모양을 숨기고 또 다른 추상화 계층을 제공합니다. 이것은 80 년대 후반에 최초의 RAID 카드가 나온 이후에 이루어졌으며, 그 이후로 더 복잡해졌습니다. 쓰기 캐시가있는 카드는 쓰기가 실제로 어딘가에 있기 전에 커밋 된 것으로보고 될 수 있으므로 또 다른 추상화 계층을 제공합니다. 스토리지 영역 네트워크 어레이와 같은 정말 멋진 것은 실시간 복제를 위해 두 개의 개별 디스크 어레이에 쓸 수도 있으며 OS는 더 현명하지 않습니다.

운영 체제에 들어가면 각각의 작업이 수행되므로 상황이 훨씬 더 어두워집니다. 소프트웨어 RAID (Linux의 md)는 일반적으로 논리적으로 결합 된 스토리지를 상위 스토리지 계층에 제공하는 저수준 스토리지 드라이버로 구현됩니다. RAID 카드와 마찬가지로 모든 종류의 흥미로운 작업을 수행 할 수 있습니다. 이 단계에서 구현 된 "스토리지 가상화"제품 중 일부가 구현됩니다.

LVM ( 볼륨 관리자)에 도달하면 심각하게 복잡한 구성을 제공 할 수 있습니다. 다음 계층에서 디스크를 단일 가상 볼륨으로 집계하는 경우 볼륨 관리자는 여러 볼륨을 하나의 큰 볼륨으로 결합하거나 볼륨 풀을 임의의 수의 볼륨으로 분할 할 수 있습니다. 다시 말하지만, 일부 Storage Virtualization 제품은이 계층에도 존재합니다.

다음 단계는 파일 시스템 입니다. 이것은 잘 알려진 "파일"과 "디렉토리"추상화가 존재하는 계층입니다. 일부 파일 시스템 (btrfs, zfs)에는 볼륨 관리자와 같은 기능이 내장되어있어 스냅 샷 생성, 중복 제거, 다른 장치로의 복제 및 스토리지 계층 간 파일 마이그레이션과 같은 기능을 제공합니다. 마지막 비트는 아직 많은 파일 시스템에는 없지만 Storage Virtualization 공급 업체의 목표입니다.

다음 단계는 네트워크 파일 시스템 입니다. 이것은 Samba / CIFS, NetATalk / Appletalk, NFS 등입니다. 올바른 방식으로 작성된 경우 이러한 네트워크 파일 시스템은 스토리지를 더 추상화 할 수 있습니다. 내가 생각하는 한 제품인 Novell의 Open Enterprise Server와 ShadowVolume은 서로 다른 스토리지 (여러 속도 / 비용이 다름)에서 여러 볼륨을 가져 와서 네트워크 사용자에게 단일 볼륨으로 표시 한 다음에 따라 볼륨간에 파일을 마이그레이션합니다. 사용 통계. 구매할 수있는 일부 "스토리지 가상화"어플라이언스는 실제로이 계층에서 많은 노력을 기울입니다.

스토리지 스택에 대한 마지막 중지 는 클라이언트 시스템네트워크 파일 시스템 클라이언트입니다. DFS (Distributed File System)가 존재하는 것은이 레벨에서 파일 시스템의 단일 논리 프리젠 테이션이 여러 네트워크 파일 시스템에 존재할 수있게합니다. 클라이언트는 이것이 DFS 공유이고 특정 개체가 DFS 링크라는 것을 알고 있으며,이를 따라갈 때 지정된 네트워크 공유를 상위 디렉토리의 하위 디렉토리로 나타냅니다. 이 수준에서 추상화의 다른 예가 있었지만 DFS가 가장 일반적 일 것입니다.


명심해야 할 것은이 모든 것을 통해 스토리지 스택의 각 계층이 상위 계층과 독립적이라는 것입니다. 많은 레이어가 이미 블록 수준 추상화를 수행하고 있으므로 하나를 추가해도 많은 변화가 없습니다. 파일 수준 추상화는 스택의 맨 위 근처에서 발생해야하며 (파일 시스템이 존재하는 곳), 아래로 내려 오는 영향은 눈치 채지 못할 정도로 크게 분리됩니다.


핵심 "스토리지 가상화 (Storage Virtualization)"는 여전히 PC 시대가 시작된 이래 (이전이 아닌 경우) 발생한 일에 대한 마케팅 용어입니다. 이번에는 가상화가 현재 유행어가 될 때 새로운 추상화 계층이 진행되고 있습니다.

내가 아는 새로운 추상화 계층은 "스토리지 라우터"라고하는 것으로, 대규모 스토리지 영역 네트워크에서만 볼 수 있습니다. 이 장치 뒤에는 여러 가지 스토리지 배열이 있으며 이러한 개별 배열을 여러 LUN이있는 단일 배열로 제공합니다. 가장 환상적인 것은 거의 사용하지 않는 블록을 느리게 / 저렴한 스토리지로 옮기고 많이 사용하는 블록을 SSD 계층으로 옮기는 것과 같은 흥미로운 블록 수준 추상화를 수행하거나 일반적으로 그런 종류의 것을 허용하지 않는 스토리지 어레이 간의 실시간 복제를 처리 할 수 ​​있습니다.

PS : RAID는 단순한 장치 수준 가상화가 아닙니다. 지금 은 디스크 슬라이스 를 사용하여 다른 RAID 그룹에 할당 하는 스토리지 배열 을 사용하고 있습니다. 잘 작동하고 있습니다 (지금하고 있습니다). 같은 디스크 장치에 RAID1과 RAID5 볼륨이 모두 있습니다. 두 개의 드라이브를 잃어 버리면 RAID5 볼륨이 토스트되지만 동일한 디스크의 RAID1 볼륨은 괜찮습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.