레이블이 storage인 게시물을 표시합니다. 모든 게시물 표시
레이블이 storage인 게시물을 표시합니다. 모든 게시물 표시

2022년 7월 24일 일요일

RHEL환경의 VDO 구축 / 운영

 

VDO 구축

  • VDO 모듈 설치

$ yum install vdo kmod-kvdo
$  lsmod  | grep vdo
kvdo                  577536  0
uds                   253952  1 kvdo
dm_mod                151552  12 kvdo,dm_thin_pool,dm_bufio
  • VDO 볼륨 생성

$ vdo create --name= {{ VDO 이름 }} --device={{ 디스크 경로 }} --vdoLogicalSize= {{ logical siz }}
  • 파일시스템 생성

    • #xfs로 생성시

$ mkfs.xfs -K /dev/mapper/{{ VDO 이름 }}
    • #ext4로 생성시

# mkfs.ext4 -E nodiscard /dev/mapper/{{ VDO 이름 }}
  • /etc/fstab에 파일시스템 마운트

    • # xfs로 마운트시

$ /dev/mapper/{{ VDO 이름 }} {{ 마운트 경로 }} xfs defaults,x-systemd.device-timeout=0,x-systemd.requires=vdo.service 0 0
    • #ext4로 마운트시

$ /dev/mapper/{{ VDO 이름 }} {{ 마운트 경로 }} ext4 defaults,x-systemd.device-timeout=0,x-systemd.requires=vdo.service 0 0

VDO 운영

  • VDO 볼륨 관리

$ vdo start --name= {{ VDO 이름 }} or vdo start --all
$ vdo stop --name= {{ VDO 이름 }} or vdo stop --all
  • VDO 볼륨 활성화

    • #볼륨 활성화

$ vdo active --name {{ VDO 이름 }} or vdo active --all
    • #볼륨 비활성화

$ vdo deactivate --name {{ VDO 이름 }} or vdo deactive ~-~-all
  • 기본적으로 OS부팅시 VDO볼륨 활성화 수행 ( vdo create 시 ~-~-activate=disabled 옵션을 추가하면 자동 활성화 안함)

  • vdo볼륨 제거

$> vdo remove --name {{ VDO 이름 }} or vdo remove --all
  • VDO에서 사용하지 않는 블록 삭제

$ systemctl enable --now fstrim.timer
  • 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%
  • vdo 볼륨 크기 증가

# vdo growLogical --name={{ VDO 이름 }} --vdoLogicalSize= {{ 변경할 크기 }}

출처 - http://igoni.kr/books/linux/page/rhel-vdo



RHEL환경에서 VDO 사용하기

 

VDO 소개

  • VDO; Virtual Data Optimizer 기술은 스토리지의 활용을 증가시키기 위해 데이터 중복제거, 압축 기능을 제공하는 스토리지 기술

  • 활용 목적에 따른 아키텍쳐

    • VM호스트 기반의 아키텍쳐 - 블록 디바이스 상단에 VDO 디스크 생성 후 하이퍼바이져를 통해 VM image 저장

사진 설명을 입력하세요.

    • NFS 활용한 VDO 아키텍쳐 - VDO디스크 생성 후 파일시스템 생성. NFS나 samba로 export 수행

사진 설명을 입력하세요.

    • VDO기반의 LVM구성 - VDO디스크 생성 후 LV생성 후 파일시스템 생성. 필요시 NFS / samba로 export 수행

사진 설명을 입력하세요.

    • 암호화 적용시 VDO구성 - 암호화 적용시 VDO하단에 암호화 알고리즘이 적용되어야 하기 때문에 중복제거의 큰 효과는 없음

사진 설명을 입력하세요.

  • 스토리지 스택별 VDO 구성

    • VDO 아래 stack에 배치할 component

      • Software RAID / DM Multi path

    • VDO 상단 stack

      • LVM cache / snapshot / thin provisioning

    • unsupport stack

      • VDO 상단에 다른 볼륨 구성, LVM 상단에 구성되는 VDO,

  • 장점

    • 공간활용도 증가

    • VM호스트 머신으로 운영시 물리/논리의 용량 비율은 약 1:10 비율로 활용 가능

    • (1TB디스크로 중복제거와 압축 기능을 화용해 10TB까지 사용 가능)

    • Ceph기반의 경우 1:3 비율로 용량 활용 가능

  • 단점

    • 암호화 / 중복제거 적용시 I/O 성능 저하

시스템 요구사항

  • 메모리

    • VDO모듈 (실제로 점유하는 메모리 용량은 i + ii + iii )

      • 38MB의 고정 메모리 할당 + 블록 맵 크기 150MB 이상 필요

      • logical size 1TB당 1.6MB 할당

      • Physical size 1TB 당 268MB 할당

    • UDS Size

      • 기본 250MB 필요

      • 인덱스 유형별 메모리

인덱스 유형

중복제거용 용량

비 고

Dense

1GB메모리당 당 1TB디스크

일반적으로 4TB 물리디스크에 1GB 인덱스 구성도 충분

Sparse

1GB메모리당 당 10TB디스크

권장 모드, 일반적으로 40TB 물리디스크에 1GB 인덱스 구성도 가능

  • 스토리지

    • physical size는 최대 256TB 까지 구성 가능

    • VDO 메타데이터와 UDS 인덱스 구성용 스토리지 구성

    • 메타 데이터는 스토리지 4GB당 1MB를 저장하고, slabe당 1MB씩 추가로 저장

    • 일반적으로 UDS 인덱스 구성시 dense는 1GB 메모리가 17GB스토리지를 사용, sparse는 170GB 스토리지를 사용

컴포넌트 리스트

  • kvdo : VDO를 사용하기 위한 커널 모듈

  • uds : VDO기반에서 인덱싱 후 중복데이터를 분석하는 커널 모듈, 새로운 데이터 저장시 이전에 저장된 데이터와 동일한지 검색 후 동일한 데이터를 두번 저장하지 않도록 참조 구성

  • cli : 스토리지 구성 및 관리 수행

스토리지 용량 관리

  • physical size : VDO를 사용하기 위한 블록장치, 메타데이터 크기를 뺀 값만큼의 용량을 사용

  • logical size : VDO볼륨으로 셍성된 크기, 일반적으로는 physical size보다 크게 설정하면 되나, 기본값은 1:1 비율로 생성, logical 최대 사이즈는 4PB까지 사용가능

  • slab size : VDO볼륨에서 여러개 slab으로 분할 관리. 기본 slab크기는 2GB씩 최대 8192개의 Slab이 생성될 수 있음

  • physical size별 권장 slab 크기 (slab사이즈는 vdo 생성시 --vdoSlabSize={{ size }} 옵션으로 생성 가능)

Physical Size

Slab Size

10 ~ 99GB

1GB

100GB ~ 1TB

2GB

2 ~ 256TB

32GB

출처

http://igoni.kr/books/linux/page/rhel-vdo

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/vdo-quick-start

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/deduplicating_and_compressing_storage/deploying-vdo_deduplicating-and-compressing-storage



centos6.x drbd설치

 

Centos6에서 DRBD rpm 으로 설치

[root@localhost ~]# rpm -ivh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
[root@localhost ~]# yum install *drbd84* -y
[root@localhost ~]# modprobe drbd
[root@localhost ~]# lsmod | grep drbd
drbd 297925 0
libcrc32c 841 1 drbd



adfit

AI들끼리 대화하기

ChatGPT, perplexity, Gemini... 많은 AI 서비스가 있고 서비스별로 다양한 엔진이 있죠. 문득 AI끼리 대화를 시켜보면 어떤 대화의 흐름을 이어갈까 궁금해졌습니다. 그래서 해보았습니다. 규 칙 나(사람)은 양쪽 AI에서...