Compare commits
1 Commits
efae786eed
...
b401387ad9
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b401387ad9 |
78
bushujb.sh
78
bushujb.sh
@@ -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
|
||||
|
||||
|
||||
# -----------------------
|
||||
# 时间同步
|
||||
# -----------------------
|
||||
|
||||
Reference in New Issue
Block a user