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

news2024/9/22 1:49:44

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.coloradmin.cn/o/2153852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

查找算法 01分块查找

自己设计一个分块查找的例子&#xff0c;不少于15个数据元素&#xff0c;并建立分块查找的索引 基于上述例子&#xff0c;计算查找成功的ASL、查找失败的ASL 拓展&#xff1a; ‌‌分块查找的平均查找长度&#xff08;‌ASL&#xff09;的计算公式如下‌&#xff1a;‌ ‌顺序…

Camunda流程引擎并发性能优化

文章目录 Camunda流程引擎一、JobExecutor1、工作流程2、主要作用 二、性能问题1、实际场景&#xff1a;2、性能问题描述3、总结 三、优化方案方案一&#xff1a;修改 Camunda JobExecutor 源码以实现租户 ID 隔离方案二&#xff1a;使用 max-jobs-per-acquisition 参数控制上锁…

ThreadLocal与AsyncLocal

简介 ThreadLocal 用于在多线程环境中创建线程局部变量&#xff0c;可以让每个线程独立地访问自己的变量副本&#xff0c;互不影响。 而 AsyncLocal 是 ThreadLocal 的异步版本&#xff0c;专门用于异步编程场景&#xff0c;在异步操作中它可以正确处理上下文切换。 ThreadLo…

ftp服务的管理及安全优化

1.ftp介绍 ftp : file transfer proto 互联中最老牌的文件传输协议 2.vsftpd安装及启用 环境 #server 主机 &#xff1a; # R3 # 192.168.10.130 # selinux 关闭 # 火墙开启 # dnf 安装设定完成 # #client 主机 &#xff1a; # R4 # 192.168.10.131 # selinux 关闭 …

C++之职工管理系统(细节Q)

指针初始化类 && 普通变量初始化类 抽象基类worker&#xff0c;只需编写 .h &#xff0c;无需 .cpp 底层实现 类 记得声明权限public&#xff01;&#xff01;&#xff01;不然默认private&#xff0c;主函数访问不了 记得继承父类 Worker * worker&#xff1a;指向Wo…

source insight学习笔记

目录 目的 基础配置 1、护眼的保护色 2、行号显示 基础操作 目的 记录一下使用source insight中遇到的问题。比如常见好用的基础配置&#xff0c;常用的基础操作等。主要是为了自己以后忘记了好找。自己写的东西总归看起来更舒服。 PS&#xff1a;目前是第一个版本&#…

Linux相关概念和重要知识点(5)(权限的修改、时间属性)

1.权限的修改 &#xff08;1&#xff09;提权行为 普通用户是会受到权限的限制&#xff0c;但root账户无视一切权限限制&#xff0c;因此当我们要获取更高的权限&#xff0c;有一种办法就是将自己变成root或者短暂拥有和root一样的权力。 普通用户 -> root &#xff1a;s…

NoSql数据库Redis知识点

数据库的分类 关系型数据库 &#xff0c;是建立在关系模型基础上的数据库&#xff0c;其借助于集合代数等数学概念和方法来处理数据库 中的数据主流的 MySQL 、 Oracle 、 MS SQL Server 和 DB2 都属于这类传统数据库。 NoSQL 数据库 &#xff0c;全称为 Not Only SQL &a…

网络丢包定位记录(二)

网卡驱动丢包 查看&#xff1a;ifconfig eth1/eth0 等接口 1.RX errors: 表示总的收包的错误数量&#xff0c;还包括too-long-frames错误&#xff0c;Ring Buffer 溢出错误&#xff0c;crc 校验错误&#xff0c;帧同步错误&#xff0c;fifo overruns 以及 missed pkg 等等。 …

K8S介绍+集群部署

Kubernetes介绍 官网&#xff1a;https://kubernetes.io/ 一、应用部署方式演变 1、传统部署&#xff1a;互联网早期&#xff0c;会直接将应用程序部署在物理机上 优点&#xff1a;简单&#xff0c;不需要其他技术的参与 缺点&#xff1a;不能为应用程序定义资源使用边界&a…

WAN广域网技术--PPP和PPPoE

广域网基础概述 广域网&#xff08;Wide Area Network&#xff0c;WAN&#xff09;是一种覆盖广泛地区的计算机网络&#xff0c;它连接不同地理位置的计算机、服务器和设备。广域网通常用于连接不同城市、州或国家之间的网络&#xff0c;它通过互联网服务提供商&#xff08;ISP…

九芯电子革新健康检测!语音播报血压计ic芯片解决方案

血压计&#xff0c;可测量血压并将读数显示在屏幕上。为了提高老年人和视障人士的可用性&#xff0c;现代电子语音血压计已经开发出来&#xff0c;可提供当前血压读数的听觉反馈。这是通过集成语音芯片来实现的&#xff0c;该芯片将测量结果发声给用户。 &#xff08;一&#x…

Java免税购物商城:Spring Boot技术实现

第二章 系统开发关键技术 2.1 JAVA技术 Java主要采用CORBA技术和安全模型&#xff0c;可以在互联网应用的数据保护。它还提供了对EJB&#xff08;Enterrise JavaBeans&#xff09;的全面支持&#xff0c;java servlet AI&#xff0c;JS&#xff08;java server ages&#xff09…

《使用 LangChain 进行大模型应用开发》学习笔记(四)

前言 本文是 Harrison Chase &#xff08;LangChain 创建者&#xff09;和吴恩达&#xff08;Andrew Ng&#xff09;的视频课程《LangChain for LLM Application Development》&#xff08;使用 LangChain 进行大模型应用开发&#xff09;的学习笔记。由于原课程为全英文视频课…

银河麒麟桌面操作系统V10(SP1)离线升级SSH(OpenSSH)服务

目录 前言 准备工作 准备与目标服务器相同版本的操作系统 准备编译依赖包 下载OpenSSL源码包 下载OpenSSH源码包 升级OpenSSH服务 查看当前版本信息 安装编译依赖包 安装OpenSSL 安装OpenSSH 前言 OpenSSH是一个广泛使用的开源SSH(安全壳)协议的实现,它提供了安…

01-ZYNQ linux开发环境安装,基于Petalinux2023.2和Vitis2023.2

TFTP 服务器配置 安装安装 tftp-hpa 和 tftpd-hpa &#xff1b;tftp-hpa 客户端&#xff0c;tftpd-hpa 为服务端 #安装 tftp-hpa 和 tftpd-hpa sudo apt-get install tftp-hpa tftpd-hpa配置服务器 #创建路径 mkdir -p ~/workspace/tftp-boot chmod 777 ~/workspace/tftp-b…

开放式耳机什么品牌好?2024年开放式蓝牙耳机排行榜推荐

​开放式耳机绝对是个不错的选择&#xff0c;它们长时间佩戴耳朵也不会感到疲劳&#xff0c;对耳朵的健康也很友好。虽然过去存在一些漏音的问题&#xff0c;但与它们带来的便利相比&#xff0c;这点儿小瑕疵几乎可以忽略不计。漏音可能会对他人造成干扰&#xff0c;也可能影响…

vue3(整合版)

创建第一个vue项目 1.安装node.js cmd输入node查看是否安装成功 2.vscode开启一个终端&#xff0c;配置淘宝镜像 # 修改为淘宝镜像源 npm config set registry https://registry.npmmirror.com 输入如下命令创建第一个Vue项目 3.下载依赖&#xff0c;启动项目 访问5173端口 …

年度巨献 | OpenCSG开源最大中文合成数据集Chinese Cosmopedia

01 背景 近年来&#xff0c;生成式语言模型&#xff08;GLM&#xff09;的飞速发展正在重塑人工智能领域&#xff0c;尤其是在自然语言处理、内容创作和智能客服等领域展现出巨大潜力。然而&#xff0c;大多数领先的语言模型主要依赖于英文数据集进行训练&#xff0c;中文数据…

python:给1个整数,你怎么判断是否等于2的幂次方?

最近在csdn上刷到一个比较简单的题目&#xff0c;题目要求不使用循环和递归来实现检查1个整数是否等于2的幂次方&#xff0c;题目如下&#xff1a; 题目的答案如下&#xff1a; def isPowerofTwo(n):z bin(n)[2:]print(bin(n))if z[0] ! 1:return Falsefor i in z[1:]:if i !…