linux磁盘管理
### Linux磁盘管理知识点 #### 一、磁盘与分区概念 - **磁盘**: 物理硬盘设备,是计算机存储数据的主要介质。 - **分区**: 将物理磁盘分割成若干个逻辑区域,便于管理和使用。 #### 二、Linux下的磁盘与分区识别 - **磁盘命名**: Linux系统通过 `/dev` 目录下的文件来表示磁盘设备,如 `/dev/sda` 表示第一块SATA硬盘。 - **分区命名**: 在磁盘名后加数字表示分区,如 `/dev/sda1` 表示 `/dev/sda` 的第一个分区。 #### 三、Linux磁盘管理工具 - **fdisk**: 用于创建、删除和显示磁盘分区表。 - **parted**: 提供更灵活的分区管理功能,支持分区的调整大小等操作。 - **lsblk**: 显示系统中的块设备及其属性,帮助了解当前系统的磁盘和分区状态。 - **pvcreate/vgcreate/lvcreate**: 用于LVM(Logical Volume Manager)的创建,是一种更高级的磁盘管理方式。 #### 四、磁盘分区与格式化 - **创建分区**: - 使用 `fdisk /dev/sda` 进入交互模式,输入 `n` 创建新分区。 - 输入 `p` 创建主分区,或输入 `e` 创建扩展分区。 - 按提示设置分区大小。 - 保存并退出,使用 `w` 写入更改。 - **格式化分区**: - 格式化为 `ext4` 文件系统: `mkfs.ext4 /dev/sda1` - 格式化为 `xfs` 文件系统: `mkfs.xfs /dev/sda1` #### 五、磁盘挂载 - **挂载的概念**: 将分区或文件系统连接到现有的目录树中。 - **挂载步骤**: 1. 创建挂载点目录,例如 `mkdir /mnt/data` 2. 使用 `mount /dev/sda1 /mnt/data` 命令将分区挂载到指定目录。 3. 验证挂载状态: `mount` 命令查看所有已挂载的文件系统。 - **自动挂载**: - 修改 `/etc/fstab` 文件,添加挂载配置行,如: ``` /dev/sda1 /mnt/data ext4 defaults 0 2 ``` - 上述配置表示将 `/dev/sda1` 挂载到 `/mnt/data`,使用 `ext4` 文件系统,采用默认选项。 #### 六、磁盘空间管理 - **df命令**: 查看磁盘空间使用情况。 - `df -h`: 以人类可读的方式显示磁盘空间。 - **du命令**: 查看目录或文件占用的空间。 - `du -sh /path/to/directory`: 查看指定目录的大小。 - **磁盘清理**: - 清空回收站: `rm -rf ~/.Trash/*` - 删除日志文件: `sudo rm /var/log/*.log` - 清除缓存: `sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'` #### 七、LVM管理 - **LVM概念**: 逻辑卷管理器允许动态调整文件系统的大小,提供更灵活的磁盘管理方式。 - **创建物理卷**: - `pvcreate /dev/sda1`: 创建物理卷。 - **创建卷组**: - `vgcreate dataVG /dev/sda1`: 创建名为 `dataVG` 的卷组。 - **创建逻辑卷**: - `lvcreate -L 5G -n dataLV dataVG`: 创建一个5GB大小、名为 `dataLV` 的逻辑卷。 - **挂载逻辑卷**: - `mkfs.ext4 /dev/dataVG/dataLV`: 格式化逻辑卷。 - `mount /dev/dataVG/dataLV /mnt/data`: 挂载逻辑卷。 - **扩展逻辑卷**: - `lvextend -L +5G /dev/dataVG/dataLV`: 扩展逻辑卷大小5GB。 - `resize2fs /dev/dataVG/dataLV`: 调整文件系统大小以匹配逻辑卷大小。 #### 八、磁盘性能优化 - **磁盘I/O调度器**: - 查看当前使用的调度器: `cat /sys/block/sda/queue/scheduler` - 设置为 `cfq` 调度器: `echo cfq > /sys/block/sda/queue/scheduler` - **使用固态硬盘(SSD)**: - 开启 TRIM 支持: `sudo fstrim -v /` - 关闭swap: `sudo swapoff -a` - **磁盘缓存优化**: - 开启读写缓存: `sudo bash -c 'echo 3 > /proc/sys/vm/drop_caches'` #### 九、备份与恢复 - **rsync**: 快速同步工具,用于数据备份。 - 备份整个目录: `rsync -avz /source/ /destination/` - **tar**: 归档工具,常用于打包压缩文件。 - 打包并压缩文件夹: `tar -czvf backup.tar.gz /path/to/folder` - **dd**: 数据复制工具,可用于制作磁盘镜像。 - 创建磁盘镜像: `dd if=/dev/sda of=backup.img` - 恢复磁盘镜像: `dd if=backup.img of=/dev/sda` 通过以上内容,我们可以全面了解Linux下磁盘管理的相关知识和技术细节,包括如何进行磁盘的分区、格式化、挂载以及更高级的LVM管理和磁盘性能优化等。这对于日常运维工作至关重要,能够帮助我们更好地管理和利用系统资源。