btrfs
gistfile1.txt#
#!/usr/bin/env bash
set -euo pipefail
echo "1. Загрузка модулей ядра"
modprobe dm_cache || true
modprobe dm_cache_smq || true
modprobe dm_persistent_data || true
SSD_DATA="/dev/nvme1n1p6 /dev/nvme2n1p6 /dev/nvme3n1p6 /dev/nvme4n1p6 /dev/nvme5n1p6"
SSD_META="/dev/nvme0n1p6"
HDD="/dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1"
ALL_DEV="$SSD_DATA $SSD_META $HDD"
echo "2. Сброс старых LVM-структур и блокировок"
vgchange -an vg_main || true
vgremove -ff -y vg_main || true
pvremove -ff -y $ALL_DEV || true
wipefs -a -f $ALL_DEV
echo "3. Создание PV и VG"
pvcreate --dataalignment 1m -ff -y $ALL_DEV
vgcreate -y vg_main $ALL_DEV
echo "4. Создание основных томов"
lvcreate -y -n lv_main -l 100%PVS vg_main $HDD
lvcreate -y -n cache_meta -L 8G vg_main $SSD_META
lvcreate -y -i 5 -I 64K -n cache_data -l 100%FREE vg_main $SSD_DATA
echo "5. Сборка cache-pool и привязка writeback"
lvconvert -y --type cache-pool --chunksize 512k --poolmetadata vg_main/cache_meta vg_main/cache_data
lvconvert -y --type cache --cachepool vg_main/cache_data --cachemode writeback vg_main/lv_main
vgcfgbackup vg_main
lvs -a -o +devices
lvdisplay vg_main/lv_main
echo "6. Форматирование Btrfs"
mkfs.btrfs -f -O block-group-tree,squota /dev/vg_main/lv_main