linux-系统管理与监控-磁盘管理

Linux 系统管理与监控:磁盘管理

一、概述

在 Linux 系统中,磁盘管理是系统管理员日常维护的一个重要部分。合理管理和监控磁盘使用情况,可以确保系统的稳定运行,并有效利用存储资源。磁盘管理涉及的内容包括查看磁盘信息、创建和管理分区、挂载文件系统、监控磁盘使用情况、LVM(逻辑卷管理)等。


二、磁盘信息查看

在 Linux 系统中,可以使用多种命令查看系统的磁盘信息,如磁盘设备列表、分区信息、文件系统使用情况等。

1. lsblk 命令

lsblk(List Block Devices)用于列出所有的块设备,显示磁盘及其分区的层级结构。

lsblk

该命令的输出列出了所有磁盘及其分区、挂载点等信息。常用选项:

  • -f:显示文件系统类型。
  • -l:以列表格式显示,不按树状结构排列。

例如,显示文件系统类型:

lsblk -f

2. fdisk 命令

fdisk 是用于查看和管理磁盘分区的经典命令。通过 fdisk -l 可以列出所有磁盘及其分区信息。

fdisk -l

fdisk 还可以用来对磁盘进行分区操作,后文会详细介绍。

3. df 命令

df(Disk Free)命令用于显示文件系统的使用情况,包括已用空间、可用空间和挂载点信息。

df -h
  • -h:以人类可读的形式(KB、MB、GB)显示磁盘使用情况。

该命令可以帮助管理员监控磁盘的使用状态,并及时发现空间不足的问题。

4. du 命令

du(Disk Usage)命令用于显示指定目录下的磁盘使用情况,常用于检查哪些文件或目录占用了大量的磁盘空间。

du -sh /path/to/directory
  • -s:仅显示总计。
  • -h:以人类可读的格式显示结果。

例如,查看 /var 目录的使用情况:

du -sh /var

5. parted 命令

parted 是一个强大的磁盘分区工具,可以用来查看磁盘分区表以及进行磁盘分区操作。使用 parted 查看磁盘信息:

parted /dev/sda print

这个命令将打印出 /dev/sda 磁盘的分区信息。


三、磁盘分区管理

磁盘分区是磁盘管理的重要组成部分,通过分区可以将物理磁盘划分为若干逻辑部分,每个部分可以被单独格式化、挂载或管理。常用的分区工具包括 fdiskparted

1. 使用 fdisk 进行分区

fdisk 主要用于管理 MBR(Master Boot Record)分区表的磁盘。使用 fdisk 对磁盘进行分区的基本步骤如下:

fdisk /dev/sda

进入交互式命令后,常见操作有:

  • n:新建分区。
  • d:删除分区。
  • p:打印分区表。
  • w:保存并退出。
  • q:不保存退出。

例如,给磁盘 /dev/sda 添加新分区的过程:

  1. 输入 n 创建一个新的分区。
  2. 输入 p 表示创建主分区。
  3. 输入分区号(通常是 1、2、3、4)。
  4. 设置分区的起始和结束扇区(可以使用默认值)。
  5. 输入 w 保存并退出。

2. 使用 parted 进行分区

parted 是一个功能更强大的分区工具,支持 GPT(GUID Partition Table)和 MBR 分区表,并能处理 2TB 以上的大磁盘。使用 parted 对磁盘进行分区的步骤如下:

parted /dev/sda

parted 交互式终端中,常用命令包括:

  • mklabel gpt:为磁盘创建 GPT 分区表。
  • mkpart:创建新分区。
  • print:打印分区表。
  • quit:退出。

例如,为 /dev/sda 创建一个 GPT 分区表,并分一个 100GB 的分区:

parted /dev/sda mklabel gpt
parted /dev/sda mkpart primary ext4 0% 100GB

3. 格式化分区

创建分区后,必须对其进行格式化才能使用。mkfs 命令用于格式化分区。例如,格式化为 ext4 文件系统:

mkfs.ext4 /dev/sda1

其它文件系统的格式化命令如下:

  • mkfs.xfs:格式化为 XFS 文件系统。
  • mkfs.vfat:格式化为 FAT 文件系统。

四、挂载和卸载文件系统

磁盘分区创建并格式化后,需要将其挂载到文件系统中才能使用。挂载操作将设备关联到文件系统中的一个目录。

1. 手动挂载

使用 mount 命令可以手动挂载分区到指定目录。例如,将 /dev/sda1 挂载到 /mnt 目录:

mount /dev/sda1 /mnt

查看当前所有挂载的文件系统:

mount

2. 自动挂载

为了在系统重启时自动挂载分区,可以将挂载信息写入 /etc/fstab 文件。fstab 文件存储了系统启动时自动挂载的设备和对应的挂载点。

/etc/fstab 文件的格式如下:

<设备>      <挂载点>   <文件系统类型>  <选项>  <dump>  <pass>
/dev/sda1    /mnt        ext4           defaults 0 2

在编辑 fstab 文件后,可以通过以下命令立即重新挂载:

mount -a

3. 卸载文件系统

当不再需要使用某个挂载的分区时,可以使用 umount 命令将其卸载。例如,卸载 /mnt

umount /mnt

如果设备正忙而无法卸载,可以使用 lsof 命令查看占用该设备的进程:

lsof /mnt

五、LVM(逻辑卷管理)

LVM 是 Linux 系统中的逻辑卷管理工具,它允许系统管理员对物理磁盘进行抽象,创建更加灵活的分区系统。与传统的分区不同,LVM 提供了更高的灵活性,允许在线调整磁盘大小、创建快照等功能。

1. LVM 组件

LVM 由以下几个基本组件组成:

  • PV(Physical Volume):物理卷,LVM 的基础单元,可以是整个磁盘或磁盘分区。
  • VG(Volume Group):卷组,将多个物理卷整合成一个逻辑池,供逻辑卷使用。
  • LV(Logical Volume):逻辑卷,类似于传统分区,但可以动态调整大小。

2. 创建 LVM 的基本步骤

  1. 创建物理卷(PV)

    pvcreate /dev/sda1
    
  2. 创建卷组(VG)

    vgcreate vg_data /dev/sda1
    
  3. 创建逻辑卷(LV)

    创建一个大小为 10GB 的逻辑卷:

    lvcreate -L 10G -n lv_data vg_data
    
  4. 格式化逻辑卷

    将逻辑卷格式化为 ext4 文件系统:

    mkfs.ext4 /dev/vg_data/lv_data
    
  5. 挂载逻辑卷

    将逻辑卷挂载到 /mnt

    mount /dev/vg_data/lv_data /mnt
    

3. 扩展逻辑卷

如果逻辑卷空间不足,可以在线扩展逻辑卷。首先扩展逻辑卷的大小,然后扩展文件系统:

lvextend -L

 +5G /dev/vg_data/lv_data
resize2fs /dev/vg_data/lv_data

六、磁盘监控

为了保证系统的稳定运行,管理员需要定期监控磁盘的使用情况,及时清理不必要的文件和释放磁盘空间。

1. 监控磁盘使用情况

使用 df 命令查看每个文件系统的使用率:

df -h

使用 du 命令可以查看目录下的文件大小,帮助发现哪些文件或目录占用了大量磁盘空间。

du -sh /var/*

2. I/O 性能监控

iostat 命令用于监控磁盘的 I/O 性能,显示磁盘读写速率、CPU 使用率等信息。

iostat -x

iotop 是一个类似于 top 的工具,用于实时显示系统中哪些进程正在占用 I/O 资源。

iotop

七、总结

磁盘管理是 Linux 系统管理中的重要组成部分。管理员通过 lsblkfdiskparted 等工具可以查看和管理磁盘分区,通过 mountumount 实现文件系统的挂载与卸载,并通过 LVM 提供灵活的存储管理。同时,通过磁盘使用情况和 I/O 性能监控,可以帮助管理员优化磁盘资源,确保系统高效稳定运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/881613.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[C语言]连子棋游戏

文章目录 一、前言二、游戏思路三、游戏方法1、初始化2、判断胜利3、交互4、电脑下棋 四、核心方法说明1、初始化游戏2、销毁棋盘3、显示游戏4、电脑下棋5、用户下棋6、判断游戏状态7、游戏交互 五、游戏效果展示与源码分享1、游戏效果2、源代码 一、前言 对于指针和数组理解尚…

DataGrip在Windows和MacOS平台上的快捷键

0. 背景信息 No.说明1测试DataGrip版本号 : 2024.2.2 1. Windows下快捷键 2. MacOS下快捷键

基于波特图的控制系统设计算法

波特图&#xff08;Bode Plot&#xff09;是一种用于描述线性控制系统频率响应的图形表示方法&#xff0c;通常用于分析和设计控制系统。它以控制系统的传递函数&#xff08;或频域传递函数&#xff09;为基础&#xff0c;将系统的幅频特性&#xff08;振幅-频率响应&#xff0…

PyCharm与Anaconda超详细安装配置教程

1、安装Anaconda&#xff08;过程&#xff09;-CSDN博客 2.创建虚拟环境conda create -n pytorch20 python3.9并输入conda activate pytorch20进入 3.更改镜像源conda/pip(只添加三个pip源和conda源即可) 4.安装PyTorch&#xff08;CPU版&#xff09; 5.安装Pycharm并破解&…

LED灯、蜂鸣器、继电器的控制

LED灯的控制 该专栏所有文章都默认使用STM32F103ZET6开发板 目录 LED灯的控制 一、简单的LED灯控制 1、初始化函数 led灯 2、应用函数 2、蜂鸣器 3、继电器 一、简单的LED灯控制 编程框架&#xff1a;初始化函数和应用函数 1、初始化函数 初始化函数一般包括&#xf…

SVTR文字识别

论文地址&#xff1a;https://arxiv.org/abs/2205.00159 notes&#xff1a; 论文2.5中说的N nodes&#xff0c;就是输出的类别数量&#xff0c;英文37&#xff0c;中文6625&#xff0c;英文37说的是最简单的英文文字识别任务&#xff0c;不区分大小写&#xff0c;就是26个字母…

软件测试 BUG 篇

目录 一、软件测试的生命周期 二、BUG 1. bug的概念 2. 描述bug的要素 3. bug的级别 4. bug的生命周期 5. 与开发产生争执怎么办&#xff1f;&#xff08;面试高频考题&#xff09; 5.1 先检查自身&#xff0c;是否bug描述不清楚 5.2 站在用户角度考虑并抛出问题 5.3 …

nginx架构篇(三)

文章目录 一、Nginx实现服务器端集群搭建1.1 Nginx与Tomcat部署1. 环境准备(Tomcat)2. 环境准备(Nginx) 1.2. Nginx实现动静分离1.2.1. 需求分析1.2.2. 动静实现步骤 1.3. Nginx实现Tomcat集群搭建1.4. Nginx高可用解决方案1.4.1. Keepalived1.4.2. VRRP介绍1.4.3. 环境搭建环境…

【已解决】SpringBoot3项目整合Druid依赖:Druid监控页面404报错

文章标题 问题描述原因分析解决方案参考资料 问题描述 最近&#xff0c;笔者在SpringBoot3项目中整合Druid连接池时&#xff0c;偶然翻到一条介绍Druid监控的短视频&#xff0c;兴致盎然之下尝试设置了一下Druid监控。 But&#xff0c;按照视频中提供的yml参数对照设置&#x…

【全网最全】2024华为杯数学建模C题高质量成品查看论文!【附带全套代码+数据】

题 目&#xff1a; ___基于数据驱动下磁性元件的磁芯损耗建模 完整版获取&#xff1a; 点击链接加入群聊【2024华为杯数学建模助攻资料】&#xff1a;http://qm.qq.com/cgi-bin/qm/qr?_wv1027&kxtS4vwn3gcv8oCYYyrqd0BvFc7tNfhV7&authKeyedQFZne%2BzvEfLEVg2v8FOm%…

山体滑坡检测系统源码分享

山体滑坡检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

使用vue创建项目

一、安装环境 二、创建vue框架&#xff08;创建文件夹&#xff0c;摁shift鼠标右键 打开&#xff09; 1、项目配置 2、新增目录 三、路径别名配置 输入/ ,VSCode会联想出src下的所有子目录和文件&#xff0c;统一文件路径访问时不容易出错 四、ElementPlus配置 1、组件分为…

华为全联接大会HC2024 观会感

9/19-21于上海&#xff0c;华为举办了他一年一届也是最重要的华为系展会-Huawei Connect 华为全联接大会&#xff0c;今天有幸赶在展会最后一天来参观一下 上午照常是keynote&#xff0c;由华为计算线总裁进行了今天的KN开场&#xff0c;介绍了华为在“算”方面的进展&#x…

web基础—dvwa靶场(九)Weak Session IDs

Weak Session IDs&#xff08;弱会话&#xff09; Weak Session IDs&#xff08;弱会话&#xff09;&#xff0c;用户访问服务器的时候&#xff0c;一般服务器都会分配一个身份证 session id 给用户&#xff0c;用于标识。用户拿到 session id 后就会保存到 cookies 上&#x…

某花顺爬虫逆向分析

目标网站&#xff1a; aHR0cHM6Ly9xLjEwanFrYS5jb20uY24v 一、抓包分析 携带了cookie&#xff0c;每次请求的cookie都不一样&#xff0c;且不携带cookie不能成功返回数据 hook Cookie代码 _cookie document.cookie Object.defineProperty(document, cookie, {get(){con…

camtasia2024绿色免费安装包win+mac下载含2024最新激活密钥

Hey, hey, hey&#xff01;亲爱的各位小伙伴&#xff0c;今天我要给大家带来的是Camtasia2024中文版本&#xff0c;这款软件简直是视频制作爱好者的福音啊&#xff01; camtasia2024绿色免费安装包winmac下载&#xff0c;点击链接即可保存。 先说说这个版本新加的功能吧&#…

[JavaEE] UDP协议

目录 再谈端口号 一、端口号的划分 二、UDP协议 三、UDP的特点 再谈端口号 一、端口号的划分 0-1023&#xff1a;知名端口号&#xff0c;端口号固定&#xff0c;其中包括HTTP&#xff0c;FTP&#xff0c;SSH等广为使用的应用层协议。 1024-65535&#xff1a;操作系统动态分…

微软AI核电计划

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

AtCoder ABC370 A-D题解

比赛链接:ABC370 AT 上 400 分寄。 Problem A: Code #include <bits/stdc.h> using namespace std; int main(){int L,R;cin>>L>>R;if(LR)cout<<"Invalid"<<endl;else if(L1)cout<<"YES"<<endl;elsecout<…

Java | Leetcode Java题解之第413题等差数列划分

题目&#xff1a; 题解&#xff1a; class Solution {public int numberOfArithmeticSlices(int[] nums) {int n nums.length;if (n 1) {return 0;}int d nums[0] - nums[1], t 0;int ans 0;// 因为等差数列的长度至少为 3&#xff0c;所以可以从 i2 开始枚举for (int i …