본문 바로가기

Life with AI/Research with AI9

[Ceph Storage] CLI 명령어를 사용하여 rebalancing 및 데이터 복구 예시 Ceph은 분산형 파일 시스템으로서 데이터를 분산하고 관리하는 데 최적화된 시스템입니다. 그러나 데이터의 저장 및 관리 과정에서 어떤 문제가 발생할 수 있으며, 그것을 해결하는 것은 매우 중요합니다. 이를 위해 Ceph은 다양한 툴과 유틸리티를 제공합니다. 이번에는 rebalancing을 수행하고 손상된 데이터를 검색하고 복구하는 예시를 다루어보겠습니다. Rebalancing 수행하기 Rebalancing은 클러스터 내에서 OSD(데이터를 저장하는 데 사용되는 블록 디바이스) 간에 데이터의 분산을 재조정하는 작업입니다. 이는 데이터의 분산을 최적화하여 성능을 향상시키기 위해 수행됩니다. rebalancing을 수행하는 데 사용되는 몇 가지 CLI 명령어는 다음과 같습니다. ceph osd df 이 명령어.. 2023. 3. 6.
[Ceph Storage] Ceph Administration Tool CLI 명령어 Ceph에서 제공하는 Admistration Tool의 대표적인 CLI 명령어 예시 입니다 OSD 관련 명령어 1. ceph osd tree 설명: OSD의 상태와 위치를 나타내는 트리를 출력합니다. 실행 결과 예시: ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 52 root default -2 26 host ceph-node1 0 8 osd.0 up 1.00000 1.00000 1 8 osd.1 up 1.00000 1.00000 2 8 osd.2 up 1.00000 1.00000 -3 26 host ceph-node2 3 8 osd.3 up 1.00000 1.00000 4 8 osd.4 up 1.00000 1.00000 5 8 osd.5 up 1.. 2023. 3. 5.
[Ceph Storage] Rebalancing 기능 Ceph는 대규모 분산 스토리지 시스템으로서 수많은 데이터 노드와 클러스터를 지원합니다. 이러한 분산 스토리지 시스템에서는 데이터의 저장 및 검색 작업을 고르게 분산시키기 위해 데이터를 여러 노드에 분산시키는 데이터 샤딩(sharding) 기능을 사용합니다. 하지만 이러한 데이터 샤딩이 고르게 이루어지지 않으면 클러스터의 부하 및 데이터 처리 능력이 저하되어 사용자에게 불편함을 줄 수 있습니다. 이를 방지하기 위해 Ceph는 Rebalancing 기능을 제공합니다. Ceph의 Rebalancing 기능은 클러스터에서 데이터의 불균형을 검출하고, 불균형을 해소하기 위해 데이터를 이동시키는 기능입니다. 데이터 노드가 추가되거나 삭제되는 경우에도 Rebalancing 기능을 사용하여 데이터의 균형을 유지할 수.. 2023. 2. 25.
[Ceph Storage] Erasure Coding 알아보기 Ceph의 Erasure Coding이란? Ceph는 객체 스토리지 시스템으로서 대규모 데이터 센터에서 사용되며, 분산 파일 시스템과 같은 다양한 데이터 스토리지 솔루션을 제공합니다. Ceph는 특히 데이터 보존성과 가용성을 보장하기 위해 Erasure Coding이라는 기술을 사용합니다. Erasure Coding은 데이터의 일부를 유실해도 원본 데이터를 복구하는 방법으로서 RAID와 비슷한 기능을 합니다. 하지만 RAID는 디스크에서 발생하는 싱글 포인트 오브 실패(SPOF) 문제로 인해 Ceph에서는 대안으로 Erasure Coding을 사용합니다. Erasure Coding의 개요 Erasure Coding은 여러 장치나 노드에서 데이터 조각을 나누고, 노이즈를 추가하는 방식으로 데이터의 안정성을.. 2023. 2. 24.
[Ceph Storage] CRUSH 알고리즘과 CRUSH Map Ceph는 오픈소스 분산 스토리지 시스템으로, 객체, 블록, 파일 시스템 등 다양한 형태의 데이터를 저장하고 관리할 수 있습니다. Ceph의 중요한 구성 요소 중 하나는 CRUSH 알고리즘과 CRUSH Map입니다. 이번에는 Ceph의 CRUSH Map에 대해 자세히 살펴보겠습니다. CRUSH 알고리즘 CRUSH 알고리즘은 Ceph에서 사용하는 분산 데이터 복제 및 위치 결정 알고리즘입니다. CRUSH 알고리즘은 데이터를 저장하는 OSD (Object Storage Device)의 위치를 결정하는 데 사용됩니다. 이를 통해 데이터를 안정적으로 분산 저장하고, 데이터의 안전성 및 가용성을 보장합니다. CRUSH 알고리즘은 단순한 해시 알고리즘보다 효율적이며, 데이터 복제 및 복구에 있어서도 우수한 성능을 .. 2023. 2. 23.
[Ceph Storage] Failover의 종류와 방법 Ceph는 대규모 분산 스토리지 클러스터를 지원하는 오픈소스 분산 스토리지 시스템이다. Ceph는 다중 디스크 및 다중 서버 구성을 통해 내결함성(fault-tolerance)을 제공한다. 그러나 시스템 장애로 인한 서비스 중단을 방지하기 위해 Failover 기술이 필요하다. Failover는 시스템의 일부분이 동작하지 않는 상황에서 다른 시스템으로 작업을 전환하는 과정을 의미한다. Ceph에서는 주로 3가지 종류의 Failover를 지원한다. 1. OSD Failover OSD(Object Storage Device) Failover는 OSD 데몬이 죽거나 OSD 호스트가 다운되는 경우 수행된다. 이 때 Failover는 PG(Placement Group)가 담당하는 OSD 데몬을 찾아 대체한다. O.. 2023. 2. 22.
[Ceph Storage] Pool의 개념과 활용 Ceph는 분산형 스토리지 시스템으로서, 데이터를 여러 대의 노드에 분산시켜 안정적인 데이터 저장 및 처리를 가능케 합니다. Ceph의 데이터 저장 단위는 "Object"로, Object는 Unique Identifier(Object ID), Data, Metadata 등의 정보로 구성됩니다. 이러한 Object는 Ceph에서 "Pool"이라는 단위로 관리되며, 이번 글에서는 Ceph의 Pool에 대해 구체적으로 설명하도록 하겠습니다. Pool 개념 Ceph의 Pool은 데이터를 저장하는 노드의 집합으로 생각할 수 있습니다. Pool은 Object들의 묶음으로, 각각의 Pool은 각기 다른 데이터 유형(데이터의 특성, 액세스 패턴 등)을 저장하도록 구성할 수 있습니다. Pool은 여러 Object들의 메.. 2023. 2. 22.
[Ceph Storage] 손실된 데이터를 CLI를 사용하여 복구하는 방법 Ceph는 분산 파일 시스템이며, 여러 개의 데이터 복제본을 유지함으로써 데이터의 안정성과 가용성을 보장합니다. 하지만 데이터 손실은 언제든 일어날 수 있으므로, 손상된 데이터를 복구해야 하는 경우가 발생할 수 있습니다. 이 글에서는 Ceph CLI(Command-Line Interface)를 사용하여 손실된 데이터를 복구하는 방법에 대해 설명합니다. 1. 손상된 오브젝트 식별 Ceph 클러스터에서 오브젝트가 손상되었다는 것을 알리는 방법 중 하나는 'pg repair' 메시지를 보는 것입니다. 이 메시지는 손상된 오브젝트가 있는 placement group(PG)에서 발생합니다. 손상된 오브젝트를 식별하려면 다음 CLI 명령을 실행하십시오. ceph pg ls | grep repair​ 이 명령은 모든.. 2023. 2. 21.