Skip to content

Installation steps of kvdo + vdo on Debian 11(.3) #47

@tigerblue77

Description

@tigerblue77

Hello everyone,

I wrote this little script to install kvdo + vdo on Debian 11(.3) (tested with 5.10.0-13 Linux kernel)

# First part : KVDO module
DEPENDENCIES="git make linux-headers-$(uname -r)"
WORK_DIRECTORY="/tmp/kvdo/"

apt update && \
apt install -y $DEPENDENCIES && \
#git clone https://github.com/dm-vdo/kvdo.git $WORK_DIRECTORY && \
git clone https://github.com/tigerblue77/kvdo.git $WORK_DIRECTORY && \
cd $WORK_DIRECTORY && \
make -j $(nproc) -C /usr/src/linux-headers-`uname -r` M=`pwd` && \
cd - && \
cp ${WORK_DIRECTORY}vdo/kvdo.ko /lib/modules/$(uname -r) && \
cp ${WORK_DIRECTORY}uds/uds.ko /lib/modules/$(uname -r) && \
apt autoremove --purge -y $DEPENDENCIES && \
rm -Rf $WORK_DIRECTORY

# Second part : VDO module
DEPENDENCIES="git make gcc uuid-dev libz-dev libdevmapper-dev libblkid-dev"
WORK_DIRECTORY="/tmp/vdo/"

apt update && \
apt install -y $DEPENDENCIES && \
git clone https://github.com/dm-vdo/vdo.git $WORK_DIRECTORY && \
cd $WORK_DIRECTORY && \
make -j $(nproc) && \
make -j $(nproc) install && \
cd - && \
apt autoremove --purge -y $DEPENDENCIES && \
rm -Rf $WORK_DIRECTORY

depmod
#update-initramfs -u
#echo uds >>/etc/modules && \
#echo kvdo >> /etc/modules
modprobe kvdo
modprobe uds

VDO's part questions (second part) :

  • Can anyone tell me if lines 32-34 are needed ?
  • Don't hesitate to suggest any improvment !
  • Once improved, maybe we could add this script to repository's README.md ?

I tested this script with the following LVM volume creation script :

pvcreate /dev/sdb
vgcreate vgdo /dev/sdb
# I set the slab size to 8GB because my server will have between 20 to 60TB of usable space
lvcreate --type vdo --name vdolv --extents 100%VG --virtualsize 200G --config 'allocation/vdo_slab_size_mb=8192' vgdo
mkfs.ext4 -E nodiscard /dev/vgdo/vdolv

I wrote this script with help of those forum topics :

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions