下面我将从原则、方案、步骤和示例四个方面详细说明。
1、分离系统和数据:
* 将操作系统文件与应用程序数据、用户数据、日志等分开,这样即使数据分区被写满,也不会影响操作系统的正常运行。
* 系统崩溃或需要重装时,可以格式化系统分区而保留数据分区。
2、考虑性能和用途:
日志分区 (/var 或/var/log)日志文件是频繁写入的,独立分区可以避免因日志暴增(例如被攻击时)占满根分区导致系统崩溃。
临时文件分区 (/tmp)防止临时文件占满根分区。
* 对于高IOPS要求的数据库,可以考虑使用独立的、高性能的SSD硬盘,并挂载到如/data 或/opt 目录。
3、预留扩展空间:
* 为根分区 (/) 和关键分区预留足够的未来扩展空间,不要分得“刚刚好”。
4、简化管理:
* 分区不是越多越好,过多的分区会增加管理的复杂性,并可能导致某个分区空间不足而另一个分区大量空闲,在灵活性和简洁性之间找到平衡。
5、利用逻辑卷管理 (LVM):
* 对于物理服务器,强烈推荐使用 LVM。
优势可以在不停机的情况下动态调整分区大小,方便进行快照备份。
这里提供几种不同场景下的方案,假设硬盘总大小为100GB。
方案一:基础简单方案(适用于小型应用、虚拟机)
这种方案分区少,易于管理。
| 挂载点 | 大小 | 文件系统 | 说明 |
/boot | 1 GB | ext4 | 存放系统启动文件,通常512MB-1GB足够。 |
swap | 4 GB | swap | 交换分区,大小一般为物理内存的1-2倍(如果内存很大,如>16G,可以等于或略小于内存)。 |
/ | 95 GB | ext4/xfs | 根分区,包含系统文件、程序、数据和家目录等所有内容。 |
优点:简单,无需担心某个目录空间不足。
缺点:缺乏对特定目录(如日志、数据)的保护,一旦某个用户或程序写满数据,整个系统会崩溃。
方案二:标准推荐方案(适用于大多数生产环境)
这是最常用和推荐的方案,在安全和易管理性之间取得了很好的平衡。
| 挂载点 | 大小 | 文件系统 | 说明 |
/boot | 1 GB | ext4 | 启动分区。 |
swap | 4 GB | swap | 交换分区。 |
/ | 30-50 GB | xfs/ext4 | 根分区,只安装操作系统和核心应用。 |
/var | 10-20 GB | xfs/ext4 | 存放日志、缓存和软件包数据,独立出来至关重要。 |
/home | 剩余空间 | xfs/ext4 | 存放用户数据和Web站点等。 |
优点:有效隔离了系统、日志和用户数据,安全性高。
变体:可以将/var 进一步细分为/var/log(日志)分区。
方案三:高安全性与性能方案(适用于重要业务服务器)
这种方案进一步细分,提供最高的控制粒度。
| 挂载点 | 大小 | 文件系统 | 说明 |
/boot | 1 GB | ext4 | 启动分区。 |
swap | 8 GB | swap | 根据内存调整。 |
/ | 30 GB | xfs | 根分区。 |
/var | 20 GB | xfs | 应用程序数据。 |
/var/log | 10 GB | xfs | 专门存放系统日志,这是安全最佳实践。 |
/tmp | 5 GB | xfs | 临时文件,可挂载时使用noexec,nodev 选项增强安全。 |
/home | 20 GB | xfs | 用户数据。 |
/opt 或/data | 剩余空间 | xfs | 存放大型应用(如Oracle)或业务数据。 |
优点:最大程度地隔离了风险,便于监控和管理。
缺点:规划复杂,需要提前预估好大小。
对于现代服务器,最佳实践是先创建少量物理分区,然后基于 LVM 进行管理。
步骤示例:
1、物理分区:
/boot 1GB (必须是独立的主分区,不能放在LVM里)
swap 4GB (可以创建为LVM逻辑卷,更灵活)
/ 将剩余所有空间分配给一个物理分区,并将其类型设置为LVM (8e)
2、LVM 配置:
* 用刚才的 LVM 物理分区创建一个物理卷 (PV)。
* 将这个 PV 加入一个卷组 (VG),例如vg_system。
在 VG 中创建多个逻辑卷 (LV),相当于“虚拟分区”
lv_root -> 挂载到/, 分配 30G
lv_swap -> 用作swap, 分配 4G
lv_var -> 挂载到/var, 分配 20G
lv_home -> 挂载到/home, 分配剩余空间
3、优势:
* 如果未来发现/home 空间不足,而/var 空间富余,你可以先减小lv_var,然后扩大lv_home,整个过程在线进行,无需重启。
ext4 非常稳定、可靠,是很多Linux发行版的默认选择,适合大多数场景。
XFS 高性能文件系统,特别擅长处理大文件和高并发IO,在红帽系发行版(RHEL, CentOS)中是默认选择。对于服务器,推荐使用 XFS。
Btrfs /ZFS 提供高级功能如写时复制、快照、数据校验等,功能强大,但配置相对复杂,在某些场景下可能性能有差异。
1、对于新手或小型服务器:采用方案二(标准推荐方案)。
2、对于重要的生产服务器:务必使用 LVM,并采用方案三(高安全性方案) 的思路来创建逻辑卷,至少保证/、/var、/home 分离。
3、文件系统:优先选择XFS。
4、关键点:一定要将/var(或至少/var/log)独立出来,这是用很小的管理成本换来巨大的稳定性提升。
5、规划前:明确服务器的用途(是Web服务器、数据库服务器还是文件服务器?),根据用途决定分区重点。
在安装操作系统时(如 CentOS, Ubuntu Server 的安装界面),通常会有手动分区选项,你可以在此处灵活应用上述方案,如果选择使用 LVM,安装程序通常也提供一键配置 LVM 的选项。
文章摘自:https://idc.huochengrm.cn/fwq/20656.html
评论
裘曼妮
回复服务器系统分区应根据操作系统需求、数据存储和性能要求合理分配,兼顾扩展性和稳定性。
蔚静槐
回复服务器系统分区应根据操作系统需求、应用类型及性能要求合理分配,通常建议将系统盘、数据盘和应用盘分开,确保系统稳定、数据安全与应用效率。
果芷蓝
回复服务器系统分区应根据操作系统需求、应用类型、数据存储量等因素合理分配,一般建议操作系统分区占比20%-30%,应用分区占比40%-60%,数据分区占比10%-20%,预留5%-10%的扩展空间。