웹사이트 검색

스트라이핑 I/O를 사용하여 여러 논리 볼륨 관리 디스크 관리


이 기사에서는 논리 볼륨이 I/O를 스트라이프하여 디스크에 데이터를 쓰는 방법을 살펴보겠습니다. 논리 볼륨 관리에는 I/O를 스트라이프하여 여러 디스크에 데이터를 쓸 수 있는 멋진 기능 중 하나가 있습니다.

LVM 스트라이핑이란 무엇입니까?

LVM 스트라이핑은 단일 물리적 볼륨에 지속적으로 쓰는 대신 여러 디스크에 데이터를 쓰는 기능 중 하나입니다.

스트라이핑의 특징
  1. 디스크 성능이 향상됩니다.
  2. 하드 쓰기를 반복해서 단일 디스크에 저장합니다.
  3. 여러 디스크에 대한 스트라이핑을 사용하면 디스크 채우기를 줄일 수 있습니다.

논리 볼륨 관리에서 논리 볼륨을 생성해야 하는 경우 확장 볼륨은 볼륨 그룹 및 물리 볼륨에 완전히 매핑됩니다. 이러한 상황에서 PV(물리적 볼륨) 중 하나가 채워지면 다른 물리적 볼륨에서 더 많은 확장을 추가해야 합니다. 대신 PV에 더 많은 확장을 추가하면 논리 볼륨이 I/O를 쓰는 특정 물리 볼륨을 사용하도록 지정할 수 있습니다.

4개의 디스크 드라이브가 있고 4개의 물리적 볼륨을 가리킨다고 가정합니다. 각 물리적 볼륨이 총 100 I/O를 수행할 수 있다면 볼륨 그룹은 400 I/O를 얻습니다.

스트라이프 방법을 사용하지 않는 경우 파일 시스템은 기본 물리적 볼륨에 걸쳐 씁니다. 예를 들어, 물리적 볼륨 100 I/O에 대한 일부 데이터 쓰기는 첫 번째(sdb1) PV에만 기록됩니다. 쓰기 중에 스트라이프 옵션을 사용하여 논리 볼륨을 생성하면 100개의 I/O를 분할하여 4개의 드라이브마다 기록됩니다. 즉, 4개의 드라이브마다 각각 25개의 I/O를 수신하게 됩니다.

이는 라운드 로빈 프로세스로 수행됩니다. 논리 볼륨 중 하나를 확장해야 하는 경우 이 상황에서는 1 또는 2 PV를 추가할 수 없습니다. 논리 볼륨 크기를 확장하려면 4 pv를 모두 추가해야 합니다. 이는 스트라이프 기능의 단점 중 하나입니다. 이를 통해 논리 볼륨을 생성하는 동안 모든 논리 볼륨에 동일한 스트라이프 크기를 할당해야 한다는 것을 알 수 있습니다.

논리 볼륨 관리에는 동시에 여러 PV에 걸쳐 데이터를 스트라이프할 수 있는 기능이 있습니다. 논리 볼륨에 익숙하다면 논리 볼륨 스트라이프를 설정해 보세요. 그렇지 않다면 논리 볼륨 관리의 기본 사항을 알아야 합니다. 아래 기사를 읽고 논리 볼륨 관리에 대해 자세히 알아보세요.

요구사항

  1. Linux에서 유연한 LVM 디스크 저장소 설정 – 1부
  2. Linux에서 LVM을 확장/축소하는 방법 - 2부
내 서버 설정

여기서는 운동에 Centos6.5를 사용하고 있습니다. RHEL, Oracle Linux 및 대부분의 배포판에서 동일한 단계를 사용할 수 있습니다.

Operating System :	CentOS 6.5
IP Address :		192.168.0.222
Hostname : 		tecmint.storage.com

Striping I/O를 이용한 논리 볼륨 관리

시연을 위해 각 드라이브의 크기가 1GB인 4개의 하드 드라이브를 사용했습니다. 아래와 같이 'fdisk' 명령을 사용하여 4개의 드라이브를 보여드리겠습니다.

fdisk -l | grep sd

이제 '<를 사용하여 sdb, sdc, sddsde 4개의 하드 드라이브에 대한 파티션을 생성해야 합니다. Strong>fdisk' 명령입니다. 파티션을 만들려면 이 문서의 1부(위 링크)에 제공된 4단계 지침을 따르고 유형을 로 변경했는지 확인하세요. LVM(8e), 파티션을 생성하는 동안.

파티션을 성공적으로 생성한 후에는 이제 이 4개 드라이브를 모두 사용하여 물리적 볼륨을 생성해 보세요. PV를 생성하려면 표시된 대로 다음 'pvcreate' 명령을 사용하세요.

pvcreate /dev/sd[b-e]1 -v

PV가 생성되면 'pvs' 명령을 사용하여 PV를 나열할 수 있습니다.

pvs

이제 4개의 물리 볼륨을 사용하여 볼륨 그룹을 정의해야 합니다. 여기서는 vg_strip이라는 볼륨 그룹과 함께 물리적 확장 크기(PE)가 16MB인 볼륨 그룹을 정의합니다.

vgcreate -s 16M vg_strip /dev/sd[b-e]1 -v

명령에 사용된 위 옵션에 대한 설명입니다.

  1. [b-e]1 – sdb1, sdc1, sdd1, sde1과 같은 하드 드라이브 이름을 정의합니다.
  2. -s – 물리적 범위 크기를 정의합니다.
  3. -v – 장황함.

다음으로 새로 생성된 볼륨 그룹을 확인합니다.

vgs vg_strip

VG에 대한 더 자세한 정보를 얻으려면 vgdisplay 명령과 함께 '-v' 스위치를 사용하십시오. 그러면 vg_strip 볼륨 그룹.

vgdisplay vg_strip -v

주제로 돌아가서 이제 논리 볼륨을 생성하는 동안 스트라이프 방법을 사용하여 논리 볼륨에 데이터를 써야 하는 방법인 스트라이프 값을 정의해야 합니다.

여기서는 lv_tecmint_strp1이라는 이름으로 900MB 크기의 논리 볼륨을 생성하고 있으며 이는 vg_strip 볼륨 그룹에 있어야 합니다. 4 스트라이프로 정의합니다. 이는 데이터가 내 논리 볼륨에 쓰기 때문에 4 PV에 걸쳐 스트라이프되어야 함을 의미합니다.

lvcreate -L 900M -n lv_tecmint_strp1 -i4 vg_strip
  1. -L – 논리 볼륨 크기
  2. -n – 논리 볼륨 이름
  3. -i –줄무늬

위 이미지에서 스트라이프 크기의 기본 크기가 64KB임을 알 수 있습니다. 자체 스트라이프 값을 정의해야 하는 경우 -I( 대문자 I). 논리 볼륨이 생성되었는지 확인하려면 다음 명령을 사용하십시오.

lvdisplay vg_strip/lv_tecmint_strp1

이제 다음 질문은 스트라이프가 4개의 드라이브에 쓰고 있는지 어떻게 알 수 있습니까?입니다. 여기서는 'lvdisplay' 및 -m(논리 볼륨 매핑 표시) 명령을 사용하여 확인할 수 있습니다.

lvdisplay vg_strip/lv_tecmint_strp1 -m

정의된 스트라이프 크기를 생성하려면 내가 정의한 256KB 스트라이프 크기를 사용하여 1GB 크기의 하나의 논리 볼륨을 생성해야 합니다. 이제 3개의 PV에만 스트라이프를 적용하겠습니다. 여기서 스트라이프할 PV를 정의할 수 있습니다.

lvcreate -L 1G -i3 -I 256 -n lv_tecmint_strp2 vg_strip /dev/sdb1 /dev/sdc1 /dev/sdd1

다음으로 스트라이프 크기와 스트라이프하는 볼륨을 확인합니다.

lvdisplay vg_strip/lv_tecmint_strp2 -m

이제 장치 매퍼를 사용할 시간입니다. 이를 위해 'dmsetup' 명령을 사용합니다. 장치 매퍼 드라이버를 사용하는 논리 장치를 관리하는 하위 수준 논리 볼륨 관리 도구입니다. 어떤 스트라이프가 어떤 드라이브에 의존하는지 알기 위해 dmsetup 명령을 사용하여 lvm 정보를 볼 수 있습니다.

dmsetup deps /dev/vg_strip/lv_tecmint_strp[1-2]

여기서는 strp1이 4개의 드라이브에 의존하고 strp2가 3개의 장치에 의존한다는 것을 알 수 있습니다.

데이터를 쓰기 위해 논리 볼륨을 스트라이프하는 방법을 배웠기를 바랍니다. 이 설정을 위해서는 논리 볼륨 관리의 기본에 대해 알아야 합니다. 다음 기사에서는 논리 볼륨 관리에서 마이그레이션할 수 있는 방법을 보여 드리겠습니다. 그때까지 업데이트를 계속 지켜봐 주시고 기사에 대한 귀중한 의견을 제공하는 것을 잊지 마십시오.