0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux系统安装技巧与分区策略

马哥Linux运维 ? 来源:马哥Linux运维 ? 2025-08-06 17:51 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

从零开始:Linux系统安装与分区最佳实践

运维老司机的肺腑之言:系统分区就像房屋装修的水电布局,一旦做错,后期改动成本巨大!本文将分享我10年运维经验中总结的分区策略和安装技巧。

开篇:为什么分区策略如此重要?

还记得第一次装Linux系统时的忐忑吗?面对fdisk命令行界面,不知道该如何下手。经历过无数次系统重装、数据丢失的痛苦后,我总结出了这套"零事故"的分区方案。

真实案例:某公司数据库服务器因为分区不当,日志文件撑爆了根分区,导致系统无法启动,最终损失200万。这样的悲剧,完全可以通过合理分区避免!

分区策略全景图

生产环境推荐分区方案

# 标准服务器分区布局(以500GB硬盘为例)
/boot   - 1GB  (启动分区,独立确保系统可启动)
/     - 50GB  (根分区,系统核心文件)
/home   - 100GB (用户数据,方便迁移和备份)
/var    - 150GB (日志和缓存,避免撑爆系统)
/tmp    - 20GB  (临时文件,定期清理)
/opt    - 100GB (第三方软件安装目录)
swap    - 16GB  (虚拟内存,建议为物理内存1-2倍)
/data   - 剩余  (业务数据专用分区)

不同场景的分区策略

桌面用户方案

/     - 100GB (系统+软件)
/home   - 剩余  (个人文件)
swap    - 8GB  (内存<16GB时设置)

开发环境方案

/     - 80GB  (系统核心)
/home   - 200GB (开发项目)
/var    - 50GB  (构建缓存)
/opt    - 100GB (开发工具)
swap    - 16GB 
/workspace - 剩余  (项目代码专用)

云服务器方案

/     - 40GB  (精简系统)
/var    - 60GB  (日志监控)
/data   - 剩余  (应用数据)
swap    - 文件形式(灵活调整)

安装前的硬件检查清单

BIOS/UEFI 配置要点

# 检查启动模式
[ -d /sys/firmware/efi ] &&echo"UEFI模式"||echo"Legacy模式"

# 关键BIOS设置:
 Secure Boot: 建议关闭(避免驱动问题)
 SATA Mode: AHCI模式(性能最佳)
 Virtualization: 开启(支持容器和虚拟化)
 UEFI Boot: 推荐开启(支持大硬盘)

硬盘健康检查

# 安装前必做的硬盘检测
smartctl -a /dev/sda     # 查看硬盘健康状态
badblocks -v /dev/sda    # 坏道检测
hdparm -tT /dev/sda     # 性能测试

# 关键指标解读:
# Reallocated_Sector_Ct: >0 需警惕
# Current_Pending_Sector: >0 立即更换
# UDMA_CRC_Error_Count: >1000 检查数据线

分区实战演练

方案一:命令行专业分区(推荐)

# 1. 查看磁盘信息
lsblk
fdisk -l

# 2. 进入分区工具
fdisk /dev/sda

# 3. 创建GPT分区表(支持大硬盘)
g  # 创建GPT分区表

# 4. 创建EFI分区(UEFI必需)
n  # 新建分区
1  # 分区号
  # 起始扇区(默认)
+512M# 大小
t  # 更改分区类型
1  # EFI System

# 5. 创建boot分区
n
2
+1G
t
2
20 # Linux filesystem

# 6. 创建LVM分区(灵活管理)
n
3
  # 使用剩余空间
t
3
30 # Linux LVM

w  # 写入分区表

方案二:LVM动态分区(企业首选)

# 1. 创建物理卷
pvcreate /dev/sda3

# 2. 创建卷组
vgcreate vg_system /dev/sda3

# 3. 创建逻辑卷
lvcreate -L 50G -n lv_root vg_system   # 根分区
lvcreate -L 150G -n lv_var vg_system   # var分区
lvcreate -L 100G -n lv_home vg_system  # home分区
lvcreate -L 20G -n lv_tmp vg_system   # tmp分区
lvcreate -L 16G -n lv_swap vg_system   # swap分区

# 4. LVM的最大优势:后期可调整!
lvextend -L +50G /dev/vg_system/lv_var  # 扩容var分区
resize2fs /dev/vg_system/lv_var     # 扩展文件系统

文件系统选择策略

主流文件系统对比

文件系统 适用场景 优势 劣势
ext4 通用场景 稳定、兼容性好 性能一般
xfs 大文件、高IO 高性能、支持大文件 不支持缩容
btrfs 现代化需求 快照、压缩、校验 相对较新
zfs 企业存储 数据完整性、压缩 内存消耗大

实战文件系统创建

# ext4 - 通用推荐
mkfs.ext4 -L"root"/dev/vg_system/lv_root
mkfs.ext4 -L"home"/dev/vg_system/lv_home

# xfs - 高性能场景
mkfs.xfs -L"var"/dev/vg_system/lv_var
mkfs.xfs -L"data"/dev/vg_system/lv_data

# 设置swap
mkswap /dev/vg_system/lv_swap

# 优化挂载参数
mount -o defaults,noatime,discard /dev/vg_system/lv_root /mnt

系统安装核心技巧

网络安装配置(推荐)

# 1. 配置网络源(提升安装速度)
# CentOS/RHEL 清华源
sed -i's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g'/etc/yum.repos.d/CentOS-Base.repo

# Ubuntu 阿里源
cat> /etc/apt/sources.list <

自动化安装脚本

#!/bin/bash
# auto_install.sh - 自动化分区脚本

DISK="/dev/sda"
VG_NAME="vg_system"

# 分区自动化
parted -s$DISKmklabel gpt
parted -s$DISKmkpart ESP fat32 1MiB 513MiB
parted -s$DISKset1 esp on
parted -s$DISKmkpart primary 513MiB 1537MiB
parted -s$DISKmkpart primary 1537MiB 100%
parted -s$DISKset3 lvm on

# LVM自动化
pvcreate${DISK}3
vgcreate$VG_NAME${DISK}3
lvcreate -L 50G -n lv_root$VG_NAME
lvcreate -L 16G -n lv_swap$VG_NAME
lvcreate -l 100%FREE -n lv_home$VG_NAME

# 文件系统创建
mkfs.fat -F32${DISK}1
mkfs.ext4${DISK}2
mkfs.ext4 /dev/$VG_NAME/lv_root
mkfs.ext4 /dev/$VG_NAME/lv_home
mkswap /dev/$VG_NAME/lv_swap

echo"分区完成!准备安装系统..."

性能优化黄金配置

fstab优化配置

# /etc/fstab 优化示例
UUID=xxx / ext4 defaults,noatime,discard 0 1
UUID=xxx /boot ext4 defaults,noatime 0 2
UUID=xxx /home ext4 defaults,noatime,discard 0 2
UUID=xxx /var xfs defaults,noatime,discard 0 2
UUID=xxx /tmp ext4 defaults,noatime,discard,nodev,nosuid,noexec 0 2
UUID=xxx none swap defaults 0 0

# 关键参数解释:
# noatime: 不更新访问时间,提升性能
# discard: 支持SSD TRIM,延长寿命
# nodev,nosuid,noexec: /tmp安全加固

内核参数调优

# /etc/sysctl.conf 生产环境优化
vm.swappiness = 10       # 降低换页频率
vm.dirty_ratio = 15      # 脏页刷新比例
vm.dirty_background_ratio = 5 # 后台刷新比例
fs.file-max = 2097152     # 最大文件句柄数
net.core.rmem_max = 16777216 # 网络缓冲区优化
net.core.wmem_max = 16777216

安全加固策略

分区安全设置

# 1. /tmp 安全挂载
mount -o remount,nodev,nosuid,noexec /tmp

# 2. /var/tmp 链接到 /tmp
rm-rf /var/tmp
ln-s /tmp /var/tmp

# 3. 禁用不必要的文件系统
echo"install cramfs /bin/true">> /etc/modprobe.d/blacklist.conf
echo"install freevxfs /bin/true">> /etc/modprobe.d/blacklist.conf
echo"install jffs2 /bin/true">> /etc/modprobe.d/blacklist.conf

磁盘加密方案

# LUKS全盘加密(高安全需求)
cryptsetup luksFormat /dev/sda3
cryptsetup luksOpen /dev/sda3 encrypted_lvm
pvcreate /dev/mapper/encrypted_lvm
# 后续LVM操作与常规相同

# 生产环境建议:敏感数据分区加密,系统分区不加密

常见问题解决方案

安装过程问题排查

# 1. 启动失败排查
# 检查grub配置
grub2-mkconfig -o /boot/grub2/grub.cfg
# 重新安装grub
grub2-install /dev/sda

# 2. 分区识别问题
# 更新分区表
partprobe /dev/sda
# 检查UUID
blkid /dev/sda1

# 3. LVM激活问题
vgchange -ay    # 激活所有卷组
vgscan      # 扫描卷组
pvscan      # 扫描物理卷

救援模式操作

# 系统无法启动时的救援步骤
# 1. 启动救援模式
# 2. 激活LVM
vgchange -ay
# 3. 挂载根分区
mount /dev/vg_system/lv_root /mnt/sysimage
# 4. 进入chroot环境
chroot/mnt/sysimage
# 5. 修复问题后重启

监控与维护

分区使用率监控

#!/bin/bash
# disk_monitor.sh - 磁盘监控脚本

THRESHOLD=80
df-h | awk'NR>1 {
  usage = $5
  gsub(/%/, "", usage)
  if (usage > THRESHOLD) {
    print "警告: " $6 " 分区使用率达到 " $5
    print "可用空间: " $4
  }
}'| mail -s"磁盘空间警告"admin@company.com

LVM扩容操作

# 在线扩容步骤(生产环境验证)
# 1. 添加新硬盘
pvcreate /dev/sdb
vgextend vg_system /dev/sdb

# 2. 扩展逻辑卷
lvextend -L +100G /dev/vg_system/lv_var

# 3. 扩展文件系统
# ext4
resize2fs /dev/vg_system/lv_var
# xfs
xfs_growfs /var

高级技巧分享

自动化部署集成

# kickstart 配置示例(CentOS/RHEL)
cat> /var/www/html/ks.cfg <

容器化环境分区

# Docker/Kubernetes 节点分区建议
/        - 50GB (系统核心)
/var/lib/docker - 200GB (容器存储)
/var/lib/kubelet - 100GB (Pod存储)
/data      - 剩余  (持久化存储)

# 使用专用文件系统
mkfs.xfs -n ftype=1 /dev/vg_system/lv_docker # Docker需要

安装后检查清单

系统健康检查

# 完整的系统检查脚本
#!/bin/bash
echo"=== 系统安装验证报告 ==="
echo"安装时间:$(date)"
echo""

echo"1. 分区信息:"
df-h
echo""

echo"2. LVM状态:"
vgs
lvs
echo""

echo"3. 挂载点检查:"
mount | column -t
echo""

echo"4. 系统负载:"
uptime
free -h
echo""

echo"5. 磁盘IO性能:"
ddif=/dev/zero of=/tmp/testfile bs=1G count=1 oflag=direct
rm-f /tmp/testfile
echo""

echo"6. 网络连通性:"
ping -c 3 8.8.8.8
echo""

echo"=== 验证完成 ==="

总结与最佳实践

黄金法则

1.规划先行:永远不要急着分区,先画出分区图

2.预留空间:LVM至少保留20%空间用于扩容

3.分离关键目录:/var、/tmp、/home独立分区

4.备份重要数据:分区前务必备份重要文件

5.测试验证:生产环境方案先在测试机验证

运维老司机的忠告

? 选择合适的方案:没有最好的分区方案,只有最适合的

? 自动化是趋势:手工分区效率低,拥抱自动化工具

? 监控不能少:分区不是一劳永逸,需要持续监控

? 保持学习:技术在发展,分区策略也要与时俱进

进阶学习路径

1.容器化存储:学习Docker、Kubernetes的存储方案

2.软件定义存储:Ceph、GlusterFS等分布式存储

3.云原生存储CSI、StorageClass等Kubernetes存储概念

4.存储性能优化:NVMe、存储分层等前沿技术

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11535

    浏览量

    214885
  • 服务器
    +关注

    关注

    13

    文章

    9859

    浏览量

    88424
  • 数据库
    +关注

    关注

    7

    文章

    3948

    浏览量

    66811

原文标题:从零开始:Linux系统安装与分区最佳实践

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何在Ubuntu Linux上释放/boot分区中的空间

    在Ubuntu Linux上,/boot分区是用于存储启动相关的文件的。随着时间的推移,这个分区可能会变满,导致系统无法安装新的内核和更新。
    的头像 发表于 11-28 10:04 ?1452次阅读

    Linux安装的几点经验

    Linux安装的几点经验Linux安装的几点经验  有关于Linux操作系统的好处许多文章都已经
    发表于 09-13 10:16

    linux安装中出现的分区问题?

    看教程上面linux安装前要对硬盘进行分区。我对分区这个概念不是很清楚。现在有一个30G的逻辑分区空出来了,我还要怎么对其操作吗?不怎么会
    发表于 03-07 21:25

    Linux系统安装分区的选择(推荐)

    转 原文地址为:Linux系统安装分区的选择(推荐) 前言: 以前初识Linux时,对Lin
    发表于 07-04 09:15

    使用VMware给虚拟机安装linux系统

    现有Linux系统”,它表示删除之前的linux分区,然后自动进行分区和格式化。由于,我们是学习安装
    发表于 07-05 06:09

    怎么让linux系统支持ntfs分区

    大家都知道默认的linux是不支持ntfs分区挂载的,现在我就交大家怎么安装,然后支持linux系统
    发表于 07-11 08:03

    Linux系统的性能优化策略

    近年来,世界上许多大软件公司纷纷推出各种Linux服务器系统Linux下的应用软件。目前,Linux 已可以与各种传统的商业操作系统分庭抗
    发表于 07-16 06:23

    安装Linux操作系统课件

    本章学习目标  明确安装前的准备工作了解Fedora Core 系统对软、硬件的要求正确地选择安装方式理解Fedora Core 系统的磁盘
    发表于 04-10 16:56 ?0次下载

    如何分区LINUX安装系统

    如何分区LINUX安装系统 为了安装L i n u x ,你必须为它准备硬盘空间。这个硬盘空间必须和你的计算机上
    发表于 03-29 10:40 ?451次阅读

    Linux快速入门之Linux安装

    Windows的区别。 1.2.1 基础概念 1.文件系统分区和挂载 文件系统是指操作系统中与管理文件有关的软件和数据。Linux的文件
    发表于 10-18 14:10 ?0次下载
    <b class='flag-5'>Linux</b>快速入门之<b class='flag-5'>Linux</b><b class='flag-5'>安装</b>

    Linux有哪几种分区

    Linux分区有三种:主分区,扩展分区和逻辑分区
    发表于 05-20 09:17 ?5040次阅读
    <b class='flag-5'>Linux</b>有哪几种<b class='flag-5'>分区</b>

    Linux磁盘分区和挂载

    1.Linux 来说 wulun 有几个分区,分给哪一目录使用,他归根结底只有一个根目录,一个独立且唯一的文件结构,Linux 中每个分区都是用来组成整个文件
    的头像 发表于 03-26 10:14 ?1485次阅读

    安装Linux后windows在哪启动

    安装 Linux 后,Windows 的启动位置由原先的默认位置(通常是硬盘的第一个分区)改变为 GRUB 启动加载器。GRUB(GNU GRand Unified Bootloader)是一个多
    的头像 发表于 11-28 15:02 ?1590次阅读

    linux系统如何进行磁盘分区

    linux系统如何进行磁盘分区? 磁盘分区是在Linux系统中进行硬盘划分的一种方法,它可以将一
    的头像 发表于 12-19 11:35 ?1630次阅读

    Linux磁盘分区扩容方法

    linux分区常用命令:fdisk,修改MBR分区表,MBR格式,被修改的分区大小最大为2T。
    的头像 发表于 10-23 11:46 ?1325次阅读
    <b class='flag-5'>Linux</b>磁盘<b class='flag-5'>分区</b>扩容方法