2장. VDO 유지 관리
VDO 볼륨을 배포한 후 특정 작업을 수행하여 유지 관리 또는 최적화할 수 있습니다. 다음 작업 중 일부는 VDO 볼륨의 올바른 작동에 필요합니다.
사전 요구 사항
- VDO가 설치 및 배포됨. 1장. VDO 배포을 참조하십시오.
2.1. VDO 볼륨에서 여유 공간 관리 링크 복사링크가 클립보드에 복사되었습니다!
VDO는 씬 프로비저닝된 블록 스토리지 대상입니다. 이로 인해 VDO 볼륨에서 공간 사용량을 적극적으로 모니터링하고 관리해야 합니다.
2.1.1. VDO 볼륨의 물리 및 논리 크기 링크 복사링크가 클립보드에 복사되었습니다!
VDO는 다음과 같은 방식으로 물리적, 사용 가능한 물리적 및 논리 크기를 사용합니다.
- 물리 크기
이 크기는 기본 블록 장치와 동일합니다. VDO는 다음을 위해 이 스토리지를 사용합니다.
- 중복 제거 및 압축 가능한 사용자 데이터
- UDS 인덱스와 같은 VDO 메타데이터
- 사용 가능한 물리 크기
이것은 VDO가 사용자 데이터에 사용할 수있는 물리적 크기의 부분입니다.
이 값은 물리 크기에서 메타데이터 크기를 뺀 값과 같고, 볼륨을 slab 크기로 분할한 후 나머지 부분을 slab 크기로 나눕니다.
- 논리 크기
이는 VDO 볼륨이 애플리케이션에 제공하는 프로비저닝된 크기입니다. 일반적으로 사용 가능한 실제 크기보다 큽니다. vdo
LogicalSize옵션이 지정되지 않은 경우 이제 논리 볼륨의 프로비저닝이1:1비율로 프로비저닝됩니다. 예를 들어, VDO 볼륨이 20GB 블록 장치에 배치된 경우 2.5GB는 UDS 인덱스용으로 예약됩니다(기본 인덱스 크기가 사용되는 경우). 나머지 17.5GB는 VDO 메타데이터 및 사용자 데이터에 대해 제공됩니다. 따라서 사용할 수 있는 스토리지가 17.5GB를 넘지 않으며 실제 VDO 볼륨을 구성하는 메타데이터로 인해 더 적을 수 있습니다.VDO는 현재 절대 최대 논리 크기가 4PB인 물리 볼륨의 최대 254배의 논리 크기를 지원합니다.
그림 2.1. VDO 디스크 조직
이 그림에서 VDO 중복 제거 스토리지 대상은 블록 장치에 완전히 배치되므로 VDO 볼륨의 물리적 크기가 기본 블록 장치와 동일한 크기입니다.
2.1.2. VDO의 씬 프로비저닝 링크 복사링크가 클립보드에 복사되었습니다!
VDO는 씬 프로비저닝된 블록 스토리지 대상입니다. VDO 볼륨에서 사용하는 물리 공간의 양은 스토리지 사용자에게 표시되는 볼륨 크기와 다를 수 있습니다. 이러한 차이를 활용하여 스토리지 비용을 절감할 수 있습니다.
공간 외 조건
작성한 데이터가 예상 최적화 속도를 달성하지 못하는 경우 예기치 않게 스토리지 공간이 부족하지 않도록 주의하십시오.
논리 블록(가상 스토리지) 수가 물리적 블록(실제 저장소) 수를 초과할 때마다 파일 시스템 및 애플리케이션이 예기치 않게 공간이 부족해질 수 있습니다. 따라서 VDO를 사용하는 스토리지 시스템은 VDO 볼륨에서 사용 가능한 풀의 크기를 모니터링하는 방법을 제공해야 합니다.
vdostats 유틸리티를 사용하여 이 사용 가능한 풀의 크기를 확인할 수 있습니다. 이 유틸리티의 기본 출력에는 Linux df 유틸리티와 유사한 형식으로 실행되는 모든 VDO 볼륨에 대한 정보가 나열됩니다. 예를 들면 다음과 같습니다.
Device 1K-blocks Used Available Use%
/dev/mapper/vdo-name 211812352 105906176 105906176 50%
VDO 볼륨의 물리적 스토리지 용량이 거의 가득 차면 VDO는 다음과 유사하게 시스템 로그에 경고를 보고합니다.
Oct 2 17:13:39 system lvm[13863]: Monitoring VDO pool vdo-name.
Oct 2 17:27:39 system lvm[13863]: WARNING: VDO pool vdo-name is now 80.69% full.
Oct 2 17:28:19 system lvm[13863]: WARNING: VDO pool vdo-name is now 85.25% full.
Oct 2 17:29:39 system lvm[13863]: WARNING: VDO pool vdo-name is now 90.64% full.
Oct 2 17:30:29 system lvm[13863]: WARNING: VDO pool vdo-name is now 96.07% full.
이 경고 메시지는 lvm2-monitor 서비스가 실행 중인 경우에만 표시됩니다. 기본적으로 활성화되어 있습니다.
공간 부족 조건을 방지하는 방법
사용 가능한 풀 크기가 특정 수준 아래로 떨어지면 다음을 수행하여 작업을 수행할 수 있습니다.
- 데이터 삭제. 그러면 삭제된 데이터가 중복되지 않을 때마다 공간을 회수합니다. 데이터를 삭제하면 삭제가 발생한 후에만 공간을 사용할 수 있습니다.
- 물리적 스토리지 추가
VDO 볼륨의 물리적 공간을 모니터링하여 공간 부족 상황을 방지합니다. 물리적 블록이 없으면 최근에 작성되었으며 VDO 볼륨에 승인되지 않은 데이터가 손실될 수 있습니다.
씬 프로비저닝 및 TRIM 및 DISCARD 명령
씬 프로비저닝의 스토리지 절감 효과를 얻기 위해서는 물리적 스토리지 계층에서 데이터를 삭제할 시기를 알아야 합니다. 씬 프로비저닝된 스토리지로 작동하는 파일 시스템은 TRIM 또는 DISCARD 명령을 전송하여 논리적 블록이 더 이상 필요하지 않은 경우 스토리지 시스템에 알립니다.
TRIM 또는 DISCARD 명령을 전송하는 몇 가지 방법을 사용할 수 있습니다.
-
discard마운트 옵션을 사용하면 파일 시스템은 블록이 삭제될 때마다 이러한 명령을 보낼 수 있습니다. -
fstrim과 같은 유틸리티를 사용하여 제어되는 방식으로 명령을 보낼 수 있습니다. 이러한 유틸리티는 파일 시스템에 사용되지 않는 논리 블록을 감지하고TRIM또는DISCARD명령 형식으로 정보를 스토리지 시스템에 전송합니다.
사용하지 않는 블록에서 TRIM 또는 DISCARD 를 사용할 필요는 VDO에만 국한되지 않습니다. 씬 프로비저닝된 모든 스토리지 시스템에는 동일한 과제가 있습니다.
2.1.3. VDO 모니터링 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 VDO 볼륨에서 사용 및 효율성 정보를 얻는 방법을 설명합니다.
사전 요구 사항
- VDO 소프트웨어를 설치합니다. 1.7절. “VDO 설치”을 참조하십시오.
절차
vdostats유틸리티를 사용하여 VDO 볼륨에 대한 정보를 가져옵니다.# vdostats --human-readable Device 1K-blocks Used Available Use% Space saving% /dev/mapper/node1osd1 926.5G 21.0G 905.5G 2% 73% /dev/mapper/node1osd2 926.5G 28.2G 898.3G 3% 64%
2.1.4. 파일 시스템에서 VDO 공간 확보 링크 복사링크가 클립보드에 복사되었습니다!
이 절차에서는 파일 시스템을 호스팅하는 VDO 볼륨의 스토리지 공간을 회수합니다.
파일 시스템이 DISCARD,TRIM 또는 UNMAP 명령을 사용하여 블록이 사용 가능한 것으로 통신하지 않는 한 VDO는 공간을 회수할 수 없습니다.
절차
- VDO 볼륨의 파일 시스템이 삭제 작업을 지원하는 경우 활성화합니다. 5장. 사용하지 않는 블록 삭제을 참조하십시오.
-
DISCARD,TRIM또는UNMAP를 사용하지 않는 파일 시스템의 경우 수동으로 사용 가능한 공간을 회수할 수 있습니다. 바이너리 0으로 구성된 파일을 저장하여 사용 가능한 공간을 채운 다음 해당 파일을 삭제합니다.
2.1.5. 파일 시스템없이 VDO의 공간 확보 링크 복사링크가 클립보드에 복사되었습니다!
이 절차에서는 VDO 볼륨에서 파일 시스템 없이 블록 스토리지 대상으로 사용되는 스토리지 공간을 회수합니다.
절차
blkdiscard유틸리티를 사용합니다.예를 들어 단일 VDO 볼륨은 LVM을 그 위에 배포하여 여러 하위 볼륨으로 나눌 수 있습니다. 논리 볼륨을 프로비저닝 해제하기 전에
blkdiscard유틸리티를 사용하여 이전에 해당 논리 볼륨에서 사용한 공간을 확보합니다.LVM은
REQ_DISCARD명령을 지원하며 공간을 확보하기 위해 적절한 논리 블록 주소에서 VDO에 요청을 전달합니다. 다른 볼륨 관리자를 사용하는 경우REQ_DISCARD또는 이에 상응하는 SCSI 장치의 경우UNMAP또는 ATA 장치의 경우TRIM을 지원해야 합니다.
2.1.6. 파이버 채널 또는 이더넷 네트워크에서 VDO의 공간 확보 링크 복사링크가 클립보드에 복사되었습니다!
이 절차에서는 LIO 또는 SCST와 같은 SCSI 대상 프레임워크를 사용하여 파이버 채널 스토리지 패브릭 또는 이더넷 네트워크의 호스트에 프로비저닝되는 VDO 볼륨(또는 볼륨의 일부)의 스토리지 공간을 회수합니다.
절차
SCSI 이니시에이터는
UNMAP명령을 사용하여 씬 프로비저닝된 스토리지 대상의 공간을 확보할 수 있지만 이 명령에 대한 지원을 알리도록 SCSI 대상 프레임워크를 구성해야 합니다. 일반적으로 이러한 볼륨에서 씬 프로비저닝을 활성화하여 수행합니다.다음 명령을 실행하여 Linux 기반 SCSI 이니시에이터에서
UNMAP에 대한 지원을 확인합니다.# sg_vpd --page=0xb0 /dev/device출력에서 최대 매핑 해제 LBA 개수 값이 0보다 큰지 확인합니다.