30.3.3. VDO 볼륨 생성
블록 장치에 대한 VDO 볼륨을 생성합니다. 동일한 시스템에서 별도의 장치에 대해 여러 VDO 볼륨을 생성할 수 있습니다. 이 방법을 선택하는 경우 시스템에서 VDO의 각 인스턴스에 대해 다른 이름과 장치를 제공해야 합니다.
중요
확장 가능한 스토리지를 백업 블록 장치로 사용합니다. 자세한 내용은 30.2절. “시스템 요구 사항” 에서 참조하십시오.
다음 모든 단계에서TYPE _name 을 VDO 볼륨에 사용할 식별자로 바꿉니다(예: EgressIP
1
).
- VDO 관리자를 사용하여 VDO 볼륨을 생성합니다.
#
vdo create \--name=vdo_name
\--device=block_device
\--vdoLogicalSize=logical_size \
[--vdoSlabSize=slab_size
]- VDO 볼륨을 생성하려는 블록 장치의 영구 이름으로 block_device 를 교체합니다. 예를 들어
/dev/disk/by-id/scsi-3600508b1001c264ad2af21e903ad031f
입니다.중요영구 장치 이름을 사용합니다. 비영구 장치 이름을 사용하는 경우 장치 이름이 변경되면 VDO가 나중에 제대로 시작되지 않을 수 있습니다.영구 이름에 대한 자세한 내용은 25.8절. “영구 이름 지정” 을 참조하십시오. - logical_size 를 VDO 볼륨이 제공해야 하는 논리 스토리지 양으로 교체합니다.
- 활성 VM 또는 컨테이너 스토리지의 경우 블록 장치의 물리적 크기가 10 배인 논리 크기를 사용합니다. 예를 들어, 블록 장치의 크기가 1TB인 경우 여기에서
10T
를 사용하십시오. - 오브젝트 스토리지의 경우 블록 장치의 물리적 크기를 세 배인 논리 크기를 사용합니다. 예를 들어, 블록 장치의 크기가 1TB인 경우 여기에서
3T
를 사용하십시오.
- 블록 장치가 16TiB보다 큰 경우
--vdoSlabSize=32G
를 추가하여 볼륨의 slab 크기를 32GiB로 늘립니다.16TiB 이상의 블록 장치에서 기본 slab 크기 2GiB를 사용하면 EgressIP create 명령이 다음과 같은 오류로 인해 실패합니다.vdo: ERROR - vdoformat: formatVDO failed on '/dev/device': VDO Status: Exceeds maximum number of slabs supported
자세한 내용은 30.1.3절. “VDO 볼륨” 에서 참조하십시오.
예 30.1. 컨테이너 스토리지용 VDO 생성
예를 들어 1TB 블록 장치에서 컨테이너 스토리지에 대한 VDO 볼륨을 생성하려면 다음을 사용할 수 있습니다.#
vdo create \--name=vdo1
\--device=/dev/disk/by-id/scsi-3600508b1001c264ad2af21e903ad031f
\--vdoLogicalSize=10T
VDO 볼륨이 생성되면 VDO는 항목을/etc/vdoconf.yml
구성 파일에 추가합니다. 그런 다음 EgressIP.service
systemd 장치는 항목을 사용하여 기본적으로 볼륨을 시작합니다.중요VDO 볼륨을 만들 때 오류가 발생하면 정리할 볼륨을 제거합니다. 자세한 내용은 30.4.3.1절. “불필요한 Created 볼륨 제거” 를 참조하십시오. - 파일 시스템을 생성합니다.
- XFS 파일 시스템의 경우 다음을 수행합니다.
#
mkfs.xfs -K /dev/mapper/vdo_name - ext4 파일 시스템의 경우:
#
mkfs.ext4 -E nodiscard /dev/mapper/vdo_name
- 파일 시스템을 마운트합니다.
#
mkdir -m 1777 /mnt/vdo_name#
mount /dev/mapper/vdo_name /mnt/vdo_name - 자동으로 마운트되도록 파일 시스템을 구성하려면
/etc/fstab
파일 또는 systemd 마운트 장치를 사용합니다./etc/fstab
구성 파일을 사용하기로 결정한 경우 다음 행 중 하나를 파일에 추가합니다.- XFS 파일 시스템의 경우 다음을 수행합니다.
/dev/mapper/vdo_name /mnt/vdo_name xfs defaults,_netdev,x-systemd.device-timeout=0,x-systemd.requires=vdo.service 0 0
- ext4 파일 시스템의 경우:
/dev/mapper/vdo_name /mnt/vdo_name ext4 defaults,_netdev,x-systemd.device-timeout=0,x-systemd.requires=vdo.service 0 0
- 또는 systemd 장치를 사용하기로 결정하는 경우 적절한 파일 이름으로 systemd 마운트 장치 파일을 만듭니다. VDO 볼륨의 마운트 지점의 경우 다음 콘텐츠를 사용하여
/etc/systemd/system/mnt-cabundle_name.mount
파일을 생성합니다.[Unit] Description = VDO unit file to mount file system name = vdo_name.mount Requires = vdo.service After = multi-user.target Conflicts = umount.target [Mount] What = /dev/mapper/vdo_name Where = /mnt/vdo_name Type = xfs [Install] WantedBy = multi-user.target
예를 들어 systemd 장치 파일은/usr/share/doc/vdo/examples/systemd/VDO.mount.example
에 설치됩니다.
- VDO 장치에서 파일 시스템의
삭제
기능을 활성화합니다. VDO에서 배치 및 온라인 작업 모두 작동합니다.삭제
기능을 설정하는 방법에 대한 자세한 내용은 2.4절. “사용되지 않는 블록 삭제” 을 참조하십시오.