Compare commits

1 Commits

Author SHA1 Message Date
zhaoyukun
b401387ad9 add_time_select 2026-04-27 11:12:23 +08:00

View File

@@ -301,48 +301,9 @@ mirrors:
EOF
# -----------------------
# NVMe 分区与格式
# NVMe 初始
# -----------------------
# 检查磁盘是否存在
if [[ ! -b /dev/nvme0n1 ]]; then
echo "错误:/dev/nvme0n1 不存在"
exit 1
fi
# 如果分区不存在,则创建
if [[ ! -b /dev/nvme0n1p1 ]]; then
echo "/dev/nvme0n1p1 不存在,开始创建分区..."
if lsblk -nr /dev/nvme0n1 | awk '{print $6}' | grep -q '^part$'; then
echo "检测到已有分区,但没有 nvme0n1p1请手动检查"
exit 1
fi
parted -s /dev/nvme0n1 mklabel gpt
parted -s /dev/nvme0n1 mkpart primary 0% 100%
partprobe /dev/nvme0n1
sleep 2
if [[ ! -b /dev/nvme0n1p1 ]]; then
echo "错误:分区创建失败"
exit 1
fi
echo "分区创建成功:/dev/nvme0n1p1"
else
echo "/dev/nvme0n1p1 已存在,跳过创建分区"
fi
# 如果没有文件系统,则格式化
if ! blkid /dev/nvme0n1p1 >/dev/null 2>&1; then
echo "/dev/nvme0n1p1 没有文件系统,开始格式化为 ext4..."
mkfs.ext4 -F /dev/nvme0n1p1
else
echo "/dev/nvme0n1p1 已有文件系统,跳过格式化"
fi
# -----------------------
# NVMe 挂载与绑定挂载
# -----------------------
@@ -358,10 +319,6 @@ else
echo "/mnt/nvme 已经挂载,跳过挂载"
fi
# ✅ 确保源目录存在(关键修复点)
mkdir -p /mnt/nvme/rancher
mkdir -p /mnt/nvme/longhorn
# 确保绑定挂载目标目录存在
mkdir -p /var/lib/rancher
mkdir -p /var/lib/longhorn
@@ -382,41 +339,24 @@ else
echo "/var/lib/longhorn 已经挂载,跳过绑定挂载"
fi
# -----------------------
# 更新 /etc/fstab
# -----------------------
# 更新 /etc/fstab保证开机自动挂载
NVME_UUID=$(blkid -s UUID -o value /dev/nvme0n1p1)
NVME_FSTYPE=$(blkid -s TYPE -o value /dev/nvme0n1p1)
if [[ -z "$NVME_UUID" || -z "$NVME_FSTYPE" ]]; then
echo "错误:无法获取 UUID 或文件系统类型,停止写入 fstab"
exit 1
fi
# 主挂载(安全)
grep -qE "[[:space:]]/mnt/nvme[[:space:]]" /etc/fstab || \
echo "UUID=${NVME_UUID} /mnt/nvme ${NVME_FSTYPE} defaults,nofail,x-systemd.device-timeout=5 0 2" >> /etc/fstab
echo "UUID=${NVME_UUID} /mnt/nvme ext4 defaults,nofail 0 2" >> /etc/fstab
# bind mount安全
grep -qE "[[:space:]]/var/lib/rancher[[:space:]]" /etc/fstab || \
echo "/mnt/nvme/rancher /var/lib/rancher none bind,nofail,x-systemd.requires-mounts-for=/mnt/nvme 0 0" >> /etc/fstab
grep -qE "^/mnt/nvme/rancher[[:space:]]+/var/lib/rancher[[:space:]]+none[[:space:]]+bind" /etc/fstab || \
echo "/mnt/nvme/rancher /var/lib/rancher none bind 0 0" >> /etc/fstab
grep -qE "[[:space:]]/var/lib/longhorn[[:space:]]" /etc/fstab || \
echo "/mnt/nvme/longhorn /var/lib/longhorn none bind,nofail,x-systemd.requires-mounts-for=/mnt/nvme 0 0" >> /etc/fstab
grep -qE "^/mnt/nvme/longhorn[[:space:]]+/var/lib/longhorn[[:space:]]+none[[:space:]]+bind" /etc/fstab || \
echo "/mnt/nvme/longhorn /var/lib/longhorn none bind 0 0" >> /etc/fstab
# -----------------------
# 验证
# -----------------------
echo "测试 fstab..."
mount -a
echo "显示挂载状态"
# 显示挂载状态
findmnt /mnt/nvme
findmnt /var/lib/rancher
findmnt /var/lib/longhorn
# -----------------------
# 时间同步
# -----------------------