目录
一、解释下文件系统、块设备、挂载点、逻辑卷。
二、简述文件系统、块设备、挂载点、逻辑卷之间的关系?
三、如何检查文件系统?
四、挂载和卸载文件系统的流程?
五、find命令都可以根据什么查找文件。
一、解释下文件系统、块设备、挂载点、逻辑卷。
1. 文件系统(File System)
在 RHEL 中,文件系统是操作系统用于管理文件和目录的机制。RHEL 支持多种文件系统,常见的有:
- ext4:默认的文件系统,稳定且高效。
- XFS:适用于大文件和高性能场景,RHEL 7 及以上版本的默认文件系统。
- Btrfs:支持快照、压缩等高级功能,但尚未成为默认选择。
文件系统负责:
- 文件和目录的存储与管理。
- 权限控制(如用户、组、其他用户的读写执行权限)。
- 元数据管理(如文件大小、创建时间等)。
示例:
在 RHEL 中,可以使用以下命令查看文件系统类型:
lsblk -f
2. 块设备(Block Device)
块设备是 RHEL 中用于存储数据的基本单元,通常以固定大小的块(如 4KB)进行读写。常见的块设备包括:
- 物理硬盘(如 /dev/sda)。
- 分区(如 /dev/sda1)。
- 逻辑卷(如 /dev/mapper/vg0-lv0)。
块设备通过设备文件访问,RHEL 中的设备文件通常位于 /dev 目录下。
示例:
查看系统中的块设备:
lsblk
3. 挂载点(Mount Point)
挂载点是 RHEL 中将文件系统连接到目录树的目录。通过挂载,文件系统的内容可以在挂载点目录下访问。RHEL 中的挂载点通常位于 /mnt 或 /media 目录下,但可以挂载到任何目录。
示例:
将 /dev/sda1 分区挂载到 /mnt/data:
sudo mount /dev/sda1 /mnt/data
查看已挂载的文件系统:
df -h
4. 逻辑卷(Logical Volume, LV)
逻辑卷是 RHEL 中逻辑卷管理(LVM)的一部分,用于动态管理存储空间。LVM 将物理存储设备(如硬盘或分区)抽象为逻辑卷,提供更灵活的存储管理方式。
LVM 的主要组件:
- 物理卷(Physical Volume, PV):实际的存储设备(如 /dev/sda1)。
- 卷组(Volume Group, VG):由一个或多个物理卷组成。
- 逻辑卷(Logical Volume, LV):从卷组中划分的逻辑存储单元。(后续会详细讲到)
优点:
- 动态调整大小(无需重新分区)。
- 支持快照、镜像等高级功能。
- 灵活的存储管理。
示例:
创建逻辑卷:
- 创建物理卷:
sudo pvcreate /dev/sdb1
- 创建卷组:
sudo vgcreate vg0 /dev/sdb1
- 创建逻辑卷:
sudo lvcreate -n lv0 -L 10G vg0
- 格式化并挂载逻辑卷:
sudo mkfs.xfs /dev/vg0/lv0
sudo mount /dev/vg0/lv0 /mnt/data
查看逻辑卷信息:
sudo lvs
二、简述文件系统、块设备、挂载点、逻辑卷之间的关系?
- 块设备 是存储数据的物理或虚拟设备(如硬盘、分区或逻辑卷)。
- 逻辑卷 是从 卷组 中划分的逻辑存储单元,逻辑卷本身也是一种块设备。
- 文件系统 创建在 块设备 或 逻辑卷 上,用于管理文件和目录。
- 挂载点 是将 文件系统 连接到目录树的目录,用户通过挂载点访问文件系统中的数据。
示例流程
- 创建块设备:
- 物理硬盘 /dev/sdb 被分区为 /dev/sdb1。
- 创建逻辑卷:
- 将 /dev/sdb1 初始化为物理卷(PV)。
- 创建卷组 vg0,并将 /dev/sdb1 加入卷组。
- 从卷组 vg0 中创建逻辑卷 lv0(/dev/vg0/lv0)。
- 创建文件系统:
- 在逻辑卷 /dev/vg0/lv0 上创建 XFS 文件系统:
sudo mkfs.xfs /dev/vg0/lv0
- 挂载文件系统:
- 将文件系统挂载到 /mnt/data:
sudo mount /dev/vg0/lv0 /mnt/data
- 访问数据:
- 用户可以通过 /mnt/data 访问文件系统中的数据。
关系图
块设备(如 /dev/sdb1)
|
v
逻辑卷(如 /dev/vg0/lv0)
|
v
文件系统(如 XFS)
|
v
挂载点(如 /mnt/data)
总结
- 块设备 提供存储空间。
- 逻辑卷 在块设备的基础上提供灵活的存储管理。
- 文件系统 在块设备或逻辑卷上创建,用于管理文件和目录。
- 挂载点 将文件系统连接到目录树,使用户可以访问数据
三、如何检查文件系统?
使用df du等命令。
四、挂载和卸载文件系统的流程?
1. 识别块设备
首先,需要识别系统中可用的块设备(如硬盘、分区或逻辑卷)。
使用 lsblk 查看块设备:
lsblk
输出示例:
- 这里 sdb 是一个未分区的硬盘,sda3 是一个未挂载的分区。
2. 分区(如果需要)
如果块设备未分区(如 sdb),可以使用 fdisk 或 parted 进行分区。
使用 fdisk 分区:
- 启动 fdisk:
sudo fdisk /dev/sdb
- 创建新分区:
- 输入 n 创建新分区。
- 选择分区类型(主分区 p 或扩展分区 e)。
- 设置分区大小。
- 保存分区表:
- 输入 w 保存并退出。
- 刷新分区表:
sudo partprobe /dev/sdb
- 查看分区:
lsblk
3. 格式化文件系统
在分区或逻辑卷上创建文件系统(如 ext4、XFS)。
格式化 ext4 文件系统:
sudo mkfs.ext4 /dev/sdb1
格式化 XFS 文件系统:
sudo mkfs.xfs /dev/sdb1
4. 创建挂载点
挂载点是一个目录,用于访问文件系统的内容。
创建挂载点:
sudo mkdir /mnt/data
5. 挂载文件系统
将文件系统挂载到挂载点。
挂载文件系统:
sudo mount /dev/sdb1 /mnt/data
验证挂载:
使用 df -h 或 lsblk 查看挂载状态:
df -h
或:
lsblk
6. 配置自动挂载(/etc/fstab)
为了在系统启动时自动挂载文件系统,需要编辑 /etc/fstab 文件。
获取文件系统的 UUID:
sudo blkid /dev/sdb1
输出示例:
/dev/sdb1: UUID="1234-5678-90AB-CDEF" TYPE="ext4"
编辑 /etc/fstab:
在 /etc/fstab 中添加一行:
UUID=1234-5678-90AB-CDEF /mnt/data ext4 defaults 0 2
- 第一列:设备标识(如 UUID 或设备路径)。
- 第二列:挂载点。
- 第三列:文件系统类型。
- 第四列:挂载选项(如 defaults)。
- 第五列:是否备份(0 表示不备份)。
- 第六列:是否检查文件系统(0 表示不检查,1 表示根文件系统,2 表示其他文件系统)。
测试 /etc/fstab 配置:
sudo mount -a
重启系统验证:
重启系统后,文件系统会自动挂载。
7. 卸载文件系统
如果需要卸载文件系统,可以使用以下步骤。
卸载文件系统:
sudo umount /mnt/data
验证卸载:
df -h
总结
完整的挂载操作流程如下:
- 识别块设备:使用 lsblk 查看块设备。
- 分区:使用 fdisk 或 parted 对块设备分区(如果需要)。
- 格式化文件系统:使用 mkfs 创建文件系统。
- 创建挂载点:创建目录作为挂载点。
- 挂载文件系统:使用 mount 挂载文件系统。
- 配置自动挂载:编辑 /etc/fstab 实现开机自动挂载。
- 卸载文件系统:使用 umount 卸载文件系统。
五、find命令都可以根据什么查找文件。
文件名、文件类型、文件大小、文件权限、文件所有者、文件修改时间、文件内容
同时可以组和条件查找(与、或、非)