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

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

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

从零开始: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 << 'EOF'
deb https://mirrors.aliyun.com/ubuntu/ focal main restricted
deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted
deb https://mirrors.aliyun.com/ubuntu/ focal universe
deb https://mirrors.aliyun.com/ubuntu/ focal-updates universe
EOF

# 2. 最小化安装 + 后期定制
# 只安装Base System,避免无用软件包

自动化安装脚本

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

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

# 分区自动化
parted -s $DISK mklabel gpt
parted -s $DISK mkpart ESP fat32 1MiB 513MiB
parted -s $DISKset 1 esp on
parted -s $DISK mkpart primary 513MiB 1537MiB
parted -s $DISK mkpart primary 1537MiB 100%
parted -s $DISKset 3 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 << 'EOF'
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
clearpart --all --initlabel --drives=sda

# 分区自定义
part /boot --fstype="xfs" --ondisk=sda --size=1024
part pv.01 --fstype="lvmpv" --ondisk=sda --grow
volgroup vg_system --pesize=4096 pv.01
logvol / --fstype="xfs" --size=51200 --name=lv_root --vgname=vg_system
logvol /var --fstype="xfs" --size=153600 --name=lv_var --vgname=vg_system
logvol swap --fstype="swap" --size=16384 --name=lv_swap --vgname=vg_system
EOF

容器化环境分区

# 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. 1. 规划先行:永远不要急着分区,先画出分区图
  2. 2. 预留空间:LVM至少保留20%空间用于扩容
  3. 3. 分离关键目录:/var、/tmp、/home独立分区
  4. 4. 备份重要数据:分区前务必备份重要文件
  5. 5. 测试验证:生产环境方案先在测试机验证

运维老司机的忠告

  • • 🎯 选择合适的方案:没有最好的分区方案,只有最适合的
  • • 🛠️ 自动化是趋势:手工分区效率低,拥抱自动化工具
  • • 📊 监控不能少:分区不是一劳永逸,需要持续监控
  • • 🔄 保持学习:技术在发展,分区策略也要与时俱进

进阶学习路径

  1. 1. 容器化存储:学习Docker、Kubernetes的存储方案
  2. 2. 软件定义存储:Ceph、GlusterFS等分布式存储
  3. 3. 云原生存储:CSI、StorageClass等Kubernetes存储概念
  4. 4. 存储性能优化:NVMe、存储分层等前沿技术

文末福利

就目前来说,传统运维冲击年薪30W+的转型方向就是SRE&DevOps岗位。

为了帮助大家早日摆脱繁琐的基层运维工作,给大家整理了一套高级运维工程师必备技能资料包,内容有多详实丰富看下图!

共有 20 个模块

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

1.38张最全工程师技能图谱

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

2.面试大礼包

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

3.Linux书籍

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

4.go书籍

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

······

6.自动化运维工具

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

18.消息队列合集

从零开始:Linux系统安装与分区最佳实践插图6
动图封面

以上所有资料获取请扫码

备注:最新运维资料

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

100%免费领取

(后台不再回复,扫码一键领取)

本文链接:https://www.yunweipai.com/47341.html

网友评论comments

发表回复

您的电子邮箱地址不会被公开。

暂无评论

Copyright © 2012-2022 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部