【收藏级】parted全套配置模板与脚本

2026-11-06 来源: 点击量

【收藏级】parted 全套配置模板与脚本

说明: parted 用于 GPT/MBR 磁盘分区,适合 Linux(CentOS、Rocky、Ubuntu),必须 root 执行;所有示例以 /dev/sdb 为目标盘,替换成你自己的磁盘。  警告:下面脚本会清空整块磁盘数据,测试前确认磁盘路径,生产务必先备份!

前置须知

parted 两种模式:交互模式、脚本模式(--script),自动化优先用脚本模式

推荐分区表:GPT(现代服务器首选);MBR 单盘上限 2T,不推荐

对齐规范:分区起始位置从 1MiB 开始(4k 扇区对齐,适配机械盘、SSD)

执行前卸载分区:umount /dev/sdb*【收藏级】parted全套配置模板与脚本

模板 1:GPT 单盘,一个整分区(最简单,适合数据盘)

#!/bin/bash

DISK="/dev/sdb"

umount ${DISK}*

parted --script ${DISK} mklabel gpt

parted --script ${DISK} mkpart primary 1MiB 100%

parted --script ${DISK} align-check optimal 1

执行后:

创建 GPT 标签

建立一个主分区,从 1MiB 到磁盘末尾

校验分区对齐格式化示例(ext4)

mkfs.ext4 ${DISK}1

模板 2:GPT 多分区分割模板(示例:boot、swap、data)

示例:磁盘总空间按需划分,仅演示逻辑,数值自行修改

#!/bin/bash

DISK="/dev/sdb"

umount ${DISK}*

parted --script ${DISK} mklabel gpt

# 第一个分区 boot 500M

parted --script ${DISK} mkpart boot 1MiB 500MiB

# swap分区 8G

parted --script ${DISK} mkpart swap 500MiB 8500MiB

# 剩余全部给数据区

parted --script ${DISK} mkpart data 8500MiB 100%

# 依次校验对齐

parted --script ${DISK} align-check optimal 1

parted --script ${DISK} align-check optimal 2

parted --script ${DISK} align-check optimal 3

格式化

mkfs.ext4 ${DISK}1

mkswap ${DISK}2

mkfs.ext4 ${DISK}3

模板 3:MBR 模板(仅老机器、小于 2T 磁盘才用,不推荐)

#!/bin/bash

DISK="/dev/sdb"

umount ${DISK}*

parted --script ${DISK} mklabel msdos

parted --script ${DISK} mkpart primary 1MiB 100%

模板 4:脚本:自动检测磁盘、清空、分区、格式化、写入 fstab

自动化一键脚本,带变量、挂载点、自动写入 /etc/fstab

#!/bin/bash

set -e

DISK="/dev/sdb"

PART="${DISK}1"

MOUNT_POINT="/data"

FS_TYPE="ext4"

# 卸载已有分区

umount ${DISK}* 2>/dev/null || true

echo "=== 开始清除磁盘并新建GPT分区 ==="

parted --script ${DISK} mklabel gpt

parted --script ${DISK} mkpart primary 1MiB 100%

# 等待内核识别分区

sleep 2

partprobe ${DISK}

echo "=== 格式化 ==="

mkfs.${FS_TYPE} ${PART}

echo "=== 创建挂载目录 ==="

mkdir -p ${MOUNT_POINT}

# 获取UUID

UUID=$(blkid -s UUID -o value ${PART})

# 写入fstab,避免重复追加

grep -q "${UUID}" /etc/fstab || echo "UUID=${UUID} ${MOUNT_POINT} ${FS_TYPE} defaults 0 0" >> /etc/fstab

echo "=== 挂载测试 ==="

mount ${MOUNT_POINT}

echo "完成!挂载点:${MOUNT_POINT}"

echo "UUID: ${UUID}"

常用 parted 单行命令速查(直接复制)

查看磁盘分区信息

parted /dev/sdb print

检查对齐

parted /dev/sdb align-check optimal 1

删除分区 3

parted --script /dev/sdb rm 3

修改分区名称(GPT 支持命名)

parted --script /dev/sdb name 3 data-volume

配套:扩容分区脚本(分区后面还有空闲空间,扩展分区)

只能向后扩容,不能向前

#!/bin/bash

DISK="/dev/sdb"

PART_NUM=1

parted --script ${DISK} resizepart ${PART_NUM} 100%

partprobe ${DISK}

# ext4文件系统扩容

resize2fs ${DISK}${PART_NUM}

重要避坑清单

parted 单位不要混用,统一用 MiB,不要 MB,二者含义不同

resizepart 之后必须执行 partprobe,让内核刷新分区表,不然 mkfs/resize2fs 报错

SSD、NVMe 一律 GPT + 1MiB 起始对齐

不要对正在使用的系统盘执行 mklabel,直接宕机丢数据

如果是 RAID/LVM,先在底层做好 RAID,再对 RAID 设备分区,不要对单块盘分区

脚本中 set -e 遇到错误自动终止,适合生产;调试时可以去掉

相关文章
  • 【收藏级】parted全套配置模板与脚本
    【收藏级】parted全套配置模板与脚本

    【收藏级】parted 全套配置模板与脚本说明: parted 用于 GPT/MBR 磁盘分区,适合 Linux(CentOS、Rocky、Ubuntu),必须 root 执行;所有示例以 /dev/sdb 为目标盘,替换成你自己的磁盘。 警告:下面脚本会清空整块磁盘数据,测试前确认磁盘路径,生产务必先备份!前置须知parted 两...

  • 2026年日志管理框架最新教程,运维必收藏
    2026年日志管理框架最新教程,运维必收藏

    2026 日志管理框架最新教程,运维必收藏核心变化一句话:2026 不再是单一 ELK 一统天下,OpenTelemetry OTLP 是采集标准;轻量优先选 Loki+Vector/Alloy,强全文检索选 OpenSearch,旧 ELK 逐步迁移;核心目标:日志、指标、链路统一可观测,控制存储成本、降低运维负担。重点提...

  • 高可用架构精选最佳实践:资深运维的私藏技巧
    高可用架构精选最佳实践:资深运维的私藏技巧

    高可用架构精选最佳实践:资深运维的私藏技巧高可用的本质不是"永远不挂",而是挂了也能继续服务核心业务。下面从架构分层、容错机制、运维实战三个维度拆解。一、架构分层:三层盾牌模型SeatGeek 的"Shielding the Core"策略把防御分为三层,每层职责明确。Edge S...

  • 为什么推荐年度Fluentd?深度对比与实测
    为什么推荐年度Fluentd?深度对比与实测

    【干货】为什么推荐年度 Fluentd?深度对比与实测一句话定位:Fluentd 是 CNCF 毕业、Apache2.0 协议的统一日志采集聚合层,主打复杂日志清洗、多源多目的地路由、自带磁盘持久缓冲;适合做集群聚合节点,和轻量采集端 Fluent Bit 搭配是云原生标准组合。实测结论:它不...

  • 挂载最佳实践:资深运维的私藏技巧
    挂载最佳实践:资深运维的私藏技巧

    挂载最佳实践:资深运维的私藏技巧 一、fstab 安全规范修改 fstab 前必须先备份:cp /etc/fstab /etc/fstab.bak。每次编辑完必须执行 mount -a 验证,无输出即正常,有报错立刻修复,否则重启后可能进入紧急模式。数据盘条目务必加 nofail,网络存储务必加 _netdev,防止设备不...

  • 为什么推荐K8s部署实战?深度对比与实测
    为什么推荐K8s部署实战?深度对比与实测

    推荐 K8s 部署实战,核心不是因为它“听起来高级”,而是它能把部署效率、资源利用率、故障恢复、AI 算力调度、云原生生态一起拉高。 2026 年之后,K8s 已经不只是 Web 应用部署工具,正在成为 AI 推理、GPU 调度、平台工程、GitOps 的基础设施底座。 一、为什么值得...