#!/usr/bin/env bash set -euo pipefail shopt -s nullglob THP_ENABLED_PATH="/sys/kernel/mm/transparent_hugepage/enabled" THP_DEFRAG_PATH="/sys/kernel/mm/transparent_hugepage/defrag" if [ -f "$THP_ENABLED_PATH" ]; then echo "Attempting to set THP enabled mode to 'madvise'..." if echo madvise > "$THP_ENABLED_PATH"; then echo "Successfully set THP enabled mode to madvise." else echo "ERROR: Failed to set THP enabled mode." >&2 fi else echo "WARNING: THP enabled file not found at $THP_ENABLED_PATH. THP may not be compiled into the kernel." fi if [ -f "$THP_DEFRAG_PATH" ]; then echo "Attempting to set THP defrag mode to 'madvise'..." if echo madvise > "$THP_DEFRAG_PATH"; then echo "Successfully set THP defrag mode to madvise." else echo "ERROR: Failed to set THP defrag mode." >&2 fi else echo "WARNING: THP defrag file not found at $THP_DEFRAG_PATH." fi echo "THP configuration script finished." devices=(/dev/disk/by-id/nvme-{ALIBABA_NVMe_Controller,Ali_ECS_NVMe_Instance_Storage}_*) ((${#devices[@]} == 0)) && exit 0 vg_name="volumegroup1" lv_name="local-storage" mount_dir="/mnt/fast-disks" vgcreate "$vg_name" "${devices[@]}" # Use 90% of the VG by extents to avoid 512-byte alignment issues lvcreate -l 90%VG -n "$lv_name" "$vg_name" mkfs.ext4 "/dev/${vg_name}/${lv_name}" mkdir -p "$mount_dir" mountpoint -q "$mount_dir" || mount "/dev/${vg_name}/${lv_name}" "$mount_dir" uuid=$(blkid -s UUID -o value "/dev/${vg_name}/${lv_name}") if ! grep -q "UUID=${uuid}" /etc/fstab; then echo "UUID=${uuid} ${mount_dir} ext4 defaults,nofail,noatime,x-systemd.device-timeout=10s 0 0" >> /etc/fstab fi chmod 777 "$mount_dir"