mirror of
https://github.com/kneutron/ansitest.git
synced 2025-01-16 04:42:55 +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
|