分享两个磁盘挂载脚本,分别是 2T以下的磁盘挂载和 2T以上的磁盘挂载
小磁盘挂载脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| #!/bin/bash device=$1 # /dev/vdb folder=$2 # /data
mkdir -p $folder
echo "n
p
1
w
"|fdisk -u $device
kk="${device}1"
mkfs.xfs $kk
mount $kk $folder echo `blkid $kk | awk '{print $2}' | sed 's/\"//g'` $folder xfs defaults 0 0 >> /etc/fstab
|
使用方式:
1
| ./install.sh /dev/vdb /data
|
大容量磁盘挂载脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #!/bin/bash
device=$1 # /dev/vdb folder=$2 # /data
mkdir -p $folder
echo "mklabel gpt mkpart p1 xfs 0G -1 quit "|parted $device
kk="${device}1"
mkfs.xfs -f $kk
mount $kk $folder echo `blkid $kk | awk '{print $2}' | sed 's/\"//g'` $folder xfs defaults 0 0 >> /etc/fstab
|
使用方式同:
1
| ./install.sh /dev/vdb /data
|
另外分享两个由deepseek优化的
小容量:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| #!/bin/bash
# 硬盘挂载脚本 # 功能: 对2T以下的硬盘进行分区、格式化并挂载 # 使用方法: ./mount_disk.sh [设备路径] [挂载目录] # 示例: ./mount_disk.sh /dev/vdb /data
# 检查参数数量 if [ $# -ne 2 ]; then echo "错误: 参数不正确!" echo "用法: $0 <设备路径> <挂载目录>" echo "示例: $0 /dev/vdb /data" exit 1 fi
device=$1 # 设备路径,如 /dev/vdb folder=$2 # 挂载目录,如 /data
# 检查设备是否存在 if [ ! -b "$device" ]; then echo "错误: 设备 $device 不存在!" exit 1 fi
# 创建挂载目录 echo "创建挂载目录: $folder" mkdir -p "$folder" || { echo "错误: 无法创建目录 $folder" exit 1 }
# 使用fdisk进行分区 # 通过heredoc传递分区指令: # n - 新建分区 # p - 主分区 # 1 - 分区号1 # 回车 - 使用默认起始扇区 # 回车 - 使用默认结束扇区 # w - 写入分区表 echo "正在对 $device 进行分区..." fdisk -u "$device" <<EOF n p 1
w EOF
# 检查分区是否成功创建 partition="${device}1" if [ ! -b "$partition" ]; then echo "错误: 分区 $partition 创建失败!" exit 1 fi
# 格式化分区为XFS文件系统 echo "正在格式化 $partition 为XFS文件系统..." mkfs.xfs -f "$partition" || { echo "错误: 格式化 $partition 失败!" exit 1 }
# 挂载分区 echo "正在挂载 $partition 到 $folder..." mount "$partition" "$folder" || { echo "错误: 挂载 $partition 到 $folder 失败!" exit 1 }
# 获取分区的UUID uuid=$(blkid "$partition" -s UUID -o value) if [ -z "$uuid" ]; then echo "错误: 无法获取 $partition 的UUID!" exit 1 fi
# 将挂载信息添加到/etc/fstab实现开机自动挂载 echo "将挂载信息添加到 /etc/fstab..." echo "UUID=$uuid $folder xfs defaults 0 0" >> /etc/fstab
echo "操作成功完成!" echo "设备: $device" echo "分区: $partition" echo "挂载点: $folder" echo "文件系统类型: xfs"
|
大容量:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| #!/bin/bash
# GPT分区硬盘挂载脚本 # 功能: 使用parted创建GPT分区表并分区,格式化为XFS文件系统后挂载 # 使用方法: ./mount_disk.sh [设备路径] [挂载目录] # 示例: ./mount_disk.sh /dev/vdb /data
# 检查是否以root用户运行 if [ "$(id -u)" -ne 0 ]; then echo "错误: 此脚本需要root权限运行" >&2 exit 1 fi
# 检查参数数量 if [ $# -ne 2 ]; then echo "错误: 参数不正确!" >&2 echo "用法: $0 <设备路径> <挂载目录>" >&2 echo "示例: $0 /dev/vdb /data" >&2 exit 1 fi
device="$1" # 设备路径,如 /dev/vdb folder="$2" # 挂载目录,如 /data
# 检查设备是否存在 if [ ! -b "$device" ]; then echo "错误: 设备 $device 不存在或不是块设备" >&2 exit 1 fi
# 检查设备是否已被挂载 if grep -q "$device" /proc/mounts; then echo "错误: 设备 $device 已被挂载" >&2 exit 1 fi
# 创建挂载目录 echo "创建挂载目录: $folder" if ! mkdir -p "$folder"; then echo "错误: 无法创建目录 $folder" >&2 exit 1 fi
# 使用parted创建GPT分区表和分区 echo "正在创建GPT分区表和分区..." if ! parted -s "$device" \ mklabel gpt \ mkpart primary xfs 0% 100%; then echo "错误: 分区创建失败" >&2 exit 1 fi
# 等待内核重新读取分区表 partprobe "$device" sleep 2
# 设置分区变量 partition="${device}1"
# 检查分区是否成功创建 if [ ! -b "$partition" ]; then echo "错误: 分区 $partition 创建失败" >&2 exit 1 fi
# 格式化分区为XFS文件系统 echo "正在格式化 $partition 为XFS文件系统..." if ! mkfs.xfs -f "$partition"; then echo "错误: 格式化 $partition 失败" >&2 exit 1 fi
# 挂载分区 echo "正在挂载 $partition 到 $folder..." if ! mount "$partition" "$folder"; then echo "错误: 挂载 $partition 到 $folder 失败" >&2 exit 1 fi
# 获取分区的UUID uuid=$(blkid -s UUID -o value "$partition") if [ -z "$uuid" ]; then echo "错误: 无法获取 $partition 的UUID" >&2 exit 1 fi
# 检查fstab中是否已有该挂载点 if grep -q "$folder" /etc/fstab; then echo "警告: $folder 已在fstab中存在,将更新条目" sed -i "\|$folder|d" /etc/fstab fi
# 将挂载信息添加到/etc/fstab echo "将挂载信息添加到 /etc/fstab..." echo "UUID=$uuid $folder xfs defaults 0 0" >> /etc/fstab
# 验证fstab条目 if ! grep -q "$uuid" /etc/fstab; then echo "错误: 无法验证fstab中的条目" >&2 exit 1 fi
echo "操作成功完成!" echo "设备: $device" echo "分区: $partition" echo "挂载点: $folder" echo "文件系统类型: xfs" echo "UUID: $uuid"
|