기사가 잘 작성되지 않았습니다.
가장 큰 문제 중 하나는 스토리지의 전체 스택에 여러 계층의 추상화가 있으며 "가상화"는이를 배치 할 장소를 결정하기 어려운 퍼지 단어입니다. 스토리지의 여러 추상화 계층을 잘 살펴보기 위해 작년에 한 블로그 기사를 알려 드리겠습니다 ( 자세한 내용은 여기 를 참조하십시오).
마케팅 대변에서 "스토리지 가상화"는 이전에는 없었던 추상화를 소개합니다. 이는 시장 부문에 따라 여러 지점에서 발생할 수 있습니다. 그러나 그것은 단지 마케팅입니다. 기술적 인 시간.
스토리지 스택 (약간 단순화) :
- 디스크
- RAID 컨트롤러
- 소프트웨어 RAID
- 볼륨 관리자
- 파일 시스템
- 네트워크 파일 시스템
- 네트워크 파일 시스템 클라이언트
디스크 , 심지어 구식 회전 자기 디스크도 가상화 수준을 수행합니다. 플래터 (또는 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 볼륨은 괜찮습니다.