mirror of
https://github.com/kneutron/ansitest.git
synced 2025-01-30 05:02:54 +08:00
66 lines
1.8 KiB
Bash
66 lines
1.8 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# 2024.mar kneutron
|
||
|
# Works on almalinux 9
|
||
|
|
||
|
# Target disk
|
||
|
# TODO EDITME - maybe better to use partition instead of whole device
|
||
|
tdisk="pci-0000:06:0b.0-part1" # -> ../../vdb1
|
||
|
|
||
|
# REF: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/deduplicating_and_compressing_logical_volumes_on_rhel/index
|
||
|
|
||
|
# NOTE Starting with RHEL 9, VDO can only be managed using LVM tools
|
||
|
|
||
|
|
||
|
#Replace logical-size with the amount of logical storage that the VDO volume should present:
|
||
|
|
||
|
#For active VMs or container storage, use logical size that is ten times the
|
||
|
#physical size of your block device. For example, if your block device is
|
||
|
# 1TB in size, use 10T here.
|
||
|
|
||
|
#For object storage, use logical size that is three times the physical size
|
||
|
# of your block device. For example, if your block device is 1TB in size, use 3T here.
|
||
|
|
||
|
modprobe kvdo
|
||
|
|
||
|
# TODO EDITME
|
||
|
vdoname=vdotest
|
||
|
|
||
|
# TODO EDITME physical disk size 128G
|
||
|
let pdisk=128-1 # GB
|
||
|
# NOTE if we dont do -1 get insufficient free extents error
|
||
|
|
||
|
lsize=$(echo $[$pdisk * 3])
|
||
|
|
||
|
set -x -u
|
||
|
# RHEL8
|
||
|
#time vdo create --name=$vdoname \
|
||
|
# --device=/dev/disk/by-path/pci-0000:06:0b.0-part1 \
|
||
|
# --vdoLogicalSize=${lsize}G --writePolicy=async
|
||
|
|
||
|
# RHEL9
|
||
|
vgcreate $vdoname-vg "/dev/disk/by-path/$tdisk" # pci-0000:06:0b.0-part1
|
||
|
|
||
|
lvcreate --type vdo -n $vdoname-lv -L ${pdisk}G -V ${lsize}G $vdoname-vg/vdo-pool1
|
||
|
|
||
|
# vdotest--vg-vdotest--lv -> ../dm-4
|
||
|
time mkfs.xfs -K /dev/mapper/$vdoname--vg-$vdoname--lv
|
||
|
|
||
|
echo "$(date) - waiting for Godot"
|
||
|
time udevadm settle
|
||
|
date
|
||
|
|
||
|
systemctl enable --now fstrim.timer # auto once a week
|
||
|
|
||
|
mkdir -pv /mnt/vdo1
|
||
|
mount /dev/mapper/$vdoname--vg-$vdoname--lv /mnt/vdo1 -odefaults,noatime
|
||
|
|
||
|
set +x
|
||
|
echo ''
|
||
|
df -hT /mnt/vdo1
|
||
|
echo ''
|
||
|
echo "fstab:
|
||
|
/dev/mapper/$vdoname--vg-$vdoname--lv mount-point xfs defaults,noatime 0 0"
|
||
|
echo ''
|
||
|
vdostats --human-readable
|