Linux --- 分区方案
一、概要
1. 环境
(1) Rocky Linux 9.1
(2) RHEL 8 系列
对于RHEL系列的Linux系统来讲,必须的分区有/root和swap,此外为确保系统的健壮性,强烈推荐针对/boot和/var进行分区。
2. 核心目录简介
(1) swap: 交换分区,无挂载点,用于创建虚拟内存,当物理内存不够用时,数据将会被写入到交换分区,最小分区大小与物理内存相等,建议为物理内存的2倍。可以参考下表来分配交换分区:
物理内存(RAM) | 建议的交换分区 | 建议的交换分区(支持休眠) |
< 2GB | 2 x RAM | 3 x RAM |
2GB - 8GB | RAM | 2 x RAM |
8GB - 64GB | 4GB - 0.5 x RAM | 1.5 x RAM |
> 64GB | > 4GB | 不建议支持休眠 |
(2) /(root): 根目录。它是Linux文件系统的根目录,默认情况下,所有目录的文件都存储到这里。注意该目录不同于"/root",后者用于存储root用户的数据。
对于RHEL 8.0以上版本的系统,5GB的磁盘空间可以安装minimal版本的系统,RHEL建议分配10GB以上的空间。
(3) /boot: 启动目录。该目录包含Linux内核文件,boot目录无法使用LVM进行动态分配,RHEL建议给该目录分配不少于1GB的空间;
3. 普通目录简介
(1) /bin: 系统命令目录。用于存放系统命令程序,比如chmod, chown, cp等;
(2) /dev: 设备(Device)目录。所有的硬件设备均以文件的形式放在这里;
(3) /etc: 配置文件目录。
(4) /home: 用户目录。RHEL建议给每个用户分配至少1GB的空间,这样在系统升级之后用户数据会依然存在;
(5) /lib: 库文件目录。
(6) /lib64: 64位库文件目录。
(7) /media: 系统可移除的媒体目录。比如CD-ROM;
(8) /mnt: 文件系统临时挂载目录。
(9) /opt: 第三方软件目录。
(10) /proc: 内核和进程虚拟目录。
(11) /root: 超级管理员的用户目录。
(12) /run: 运行时目录。
(13) /sbin: Essential system binaries。
(14) /srv: 系统服务数据目录。
(15) /tmp: 临时文件目录。用于保存程序创建的临时文件。
(16) /usr: 共享和只读数据目录。该目录是Linux文件系统第二大的组成部分,它存储着绝大部分RHEL系统程序,对于minimal版本的安装建议给该目录分配5GB的空间,对于带有图形界面的安装建议给改目录分配10GB的空间。
(17) /var: 变量目录。用于存储变量文件、日志、网页和 ftp 文件,RHEL建议给该目录分配不少于3GB的空间。
4. 注意事项
(1) 不建议将"/usr"或"/var"目录与"/(root)"目录分开分区。由于"/usr"和"/var"包含系统关键模块,因为分开会导致系统启动过程变得更加复杂,某些情况下会影响系统启动。但是这种限制不针对这两个目录的子目录。
(2) 在安装系统时,建议保留部分分区(不分配),以便后期可以利用LVM进行二次分区。
(3) XFS格式的文件系统不可以被动态调整变小,建议使用ext4格式的文件系统。
二、分区方案
1. 普通分区
(1) swap按照表格分区;
(2) /boot = 1GB;
(3) /(root) 剩余分区。
2. 数据库服务器
(1) 普通分区;
(2) 创建数据挂载点,挂载额外的磁盘,并将数据库的数据存放目录映射到该挂载点;
例如:将MySQL的数据文件存放目录“/var/lib/mysql”进行挂载,这样升级或重装系统之后,MySQL的数据无需再进行恢复。
3. 文件服务器
(1) 普通分区;
(2) 文件服务器必须进行独立磁盘的挂载。
4. 网站服务器
(1) 普通分区;
(2) 针对网站目录/var/www进行分区。
5. 虚拟主机的主机
(1) 务必将绝大多数磁盘空间给予根分区"/"。
三、Rocky Linux 默认分区
1. 分区和挂载
(1) 命令
df -Th
2. 所有磁盘和分区
(1) 命令
sudo fdisk -l