在Linux系统中,分区(Partition) 是物理磁盘(如硬盘、SSD)的逻辑划分。你可以将它想象成给一个大仓库划分不同的区域,每个区域可以独立存放不同类型的货物(数据),并可能使用不同的货架管理方式(文件系统)。常见的分区工具包括fdisk、gdisk和parted。
分区创建后,操作系统并不能直接访问其内的数据。需要通过挂载(Mount) 操作,将分区关联到文件系统目录树中的一个目录(挂载点)。这个目录就成为访问该分区内数据的入口。例如,将存储用户家目录的分区挂载到 /home,那么所有 /home 下的文件操作,实际上都发生在那个分区上。
传统的分区管理不够灵活,一旦分区空间不足,调整起来非常麻烦。LVM(Logical Volume Manager) 应运而生,它抽象了物理存储,提供了更灵活、可动态调整的存储管理方式。
LVM的核心概念有三层:
pvcreate 命令初始化设备为PV。vgcreate 命令创建VG。lvcreate 命令创建LV。LVM的优势在于:
空间灵活:可以轻松扩展或缩小LV的大小。
管理方便:可以跨多个物理硬盘管理存储空间。
* 快照功能:可以创建LV的快照,用于数据备份或测试。
如果想让硬件设备(如普通分区或LVM逻辑卷)和目录在系统启动时永久地、自动地进行关联(挂载),就需要编辑 /etc/fstab 这个至关重要的配置文件。
这个文件定义了系统启动时需要自动挂载的文件系统。每一条记录对应一个挂载项,包含6个字段:`
<设备标识或UUID> <挂载点目录> <文件系统类型> <挂载选项> `
一个典型的例子(挂载一个LVM逻辑卷到 /data):`
# 使用设备的UUID进行标识(更稳定,推荐)
UUID=5b5e6c8d-... /data ext4 defaults 0 2
# 或使用设备文件路径
/dev/vgdata/lvdata /data ext4 defaults 0 2`
字段解释:
1. 设备标识:可以使用设备文件(如 /dev/sda1, /dev/vgname/lvname),但更推荐使用UUID(通过 blkid 命令查看),因为设备文件名可能变化。
2. 挂载点:必须是已存在的目录路径。
3. 文件系统类型:如 ext4, xfs, btrfs, swap 等。
4. 挂载选项:defaults 包含了常用的选项(rw, suid, dev, exec, auto, nouser, async)。
5. dump标志:通常设为 0(不使用dump备份)。
6. fsck顺序:根目录 / 应设为 1,其他文件系统设为 2,不需要启动时检查的设为 0。
编辑并保存 /etc/fstab 后,可以使用 sudo mount -a 命令测试配置是否正确(它会尝试挂载所有在fstab中定义但未挂载的设备),如果没有报错,下次重启时就会自动生效。
fdisk -l (查看), fdisk /dev/sdX (管理)pvcreate /dev/sdX1 (创建PV)vgcreate vg_name /dev/sdX1 (创建VG)lvcreate -L 10G -n lv<em>name vg</em>name (创建LV)lvextend -L +5G /dev/vg<em>name/lv</em>name (扩展LV)resize2fs /dev/vg<em>name/lv</em>name (扩展文件系统,针对ext)mount /dev/xxx /mnt/point (临时挂载)lsblk, df -h, blkid, pvs, vgs, lvs##
理解Linux的分区、挂载和LVM,是掌握系统存储管理的基础。分区提供了物理隔离,挂载建立了访问路径,而LVM则在物理硬件之上构建了一个可弹性伸缩的存储管理层。通过正确配置 /etc/fstab 文件,我们就能实现存储设备与系统目录的永久、自动关联,确保系统每次启动都能以预期的状态访问所有数据。从物理硬盘到用户可用的目录,这条数据通路正是Linux存储管理的精髓所在。