当前位置: 首页 > news >正文

Linux多块磁盘挂载同一目录

1、背景

由于服务器磁盘空间使用率已经使用占比超过95%,故购买了些磁盘对服务器进行扩容,但是如果直接进行磁盘挂载的,那么就只能挂载一个磁盘挂载一个目录,使用新磁盘空间得不到最大的利用率,故需要将多块磁盘合并为一块磁盘。

2、基础概念

在挂载之前需要了解下几个基础概念

2.1、PV(Physical Volume)- 物理卷

物理卷是 LVM 中的基本单元,它通常对应于一个硬盘分区或整个磁盘。在 LVM 中,你需要先将硬盘分区或整个磁盘初始化为物理卷,然后才能将它们添加到卷组中。物理卷存储着实际的数据,并提供了一个抽象层,使得数据能够被组织和管理。

2.2、VG(Volumne Group)- 卷组*

卷组是由一个或多个物理卷组成的逻辑单元,它可以看作是一个汇集了多个物理卷的容器。在卷组中,所有物理卷的存储空间被汇总在一起,并形成一个或多个逻辑卷。卷组提供了一个统一的存储空间,使得你可以更加灵活地管理和分配存储资源。

2.3、LV(Logical Volume)- 逻辑卷

逻辑卷是从卷组中划分出来的一个逻辑存储单元,它对应于一个文件系统或一个数据卷。在逻辑卷中,你可以创建文件系统、挂载分区以及存储数据等操作,就像在物理磁盘分区上一样。逻辑卷的大小可以根据需求动态调整,并且可以在不影响其他逻辑卷的情况下进行管理。
总的来说,物理卷是实际的存储单元,卷组是物理卷的集合,而逻辑卷是从卷组中划分出来的逻辑存储单元。LVM 提供了一种灵活的存储管理机制,使得你可以更加方便地管理和分配存储资源,从而满足不同的需求。

3、操作流程

通过df -h可以看到硬盘的分布情况,要将硬盘合并需要将其格式化,内容也会被清空,所以格式化之前应该先备份原数据,接下来是具体的操作步骤。
使用一下命令,可以查看出目前还有那些磁盘暂未使用(挂载)

在使用pvcreate vgcreate lvmcreate命令式需要提前安装lvm2命令(必须)

可以所使用如下命令查看是否安装lvm2

rpm -qa | grep lvm2

如果没有可以自行下载

# 在线安装
yum install lvm2 -y

离线安装包地址:RPM
在这里插入图片描述
或者直接下载我的,然后上传到服务器任意的一个位置

rpm -ivh *.rpm --nodeps --force

进行安装,然后开始进行下述步骤。↓↓↓

3.1、查看磁盘

[root@node1 /]# lsblk

在这里插入图片描述

3.2、创建物理卷

[root@node1 /]# pvcreate /dev/sdc /dev/sdd /dev/sde /dev/sdf

在这里插入图片描述

3.3、创建卷组

[root@node1 /]# vgcreate first_vg /dev/sdc /dev/sdd /dev/sde /dev/sdf

在这里插入图片描述

3.4、创建逻辑卷

[root@node1 /]# lvcreate -l 100%VG -n first_lv first_vg

在这里插入图片描述

3.5、在dev目录下查看创建的逻辑卷

[root@node1 dev/]# ls
[root@node1 dev/]# cd mapper/
[root@node1 mapper/]# ls

在这里插入图片描述

3.6、格式化

[root@node1 /]# mkfs.ext4 /dev/mapper/first_vg-first_lv

在这里插入图片描述

3.7、临时挂载

[root@node1 /]# mount /dev/mapper/first_vg-first_lv /app

查看

[root@node1 mapper/]# df -h

在这里插入图片描述

3.8、永久挂载

将挂载的目录写入配置文件中,否则待下次启动服务器时会丢失挂载。

[root@node1 /]# vim /etc/fstab

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • AI免费UI页面生成
  • 【LeetCode每日一题】——401.二进制手表
  • 2024/9/20 使用QT实现扫雷游戏
  • 基于Vue 3组合函数的分页、搜索与排序实践 —— nbsaas-boot项目的实际应用
  • 4. 密码协议
  • 一站式语音识别服务:中文、方言、多语言全覆盖
  • vue node node-sass sass-loader 版本 对应 与 兼容
  • 进程间的通信-信号量
  • 【网络安全】-ssrf服务器请求伪造攻击-burp
  • 如何将Git本地代码推送到Gitee云端仓库
  • 使用 Bedrock 模型进行 SQL 查询生成:高效自动化的全新体验!
  • 【nodejs环境】nvm是真有用
  • PyQt5库学习之QFileDialog.getOpenFileName函数
  • 【Linux庖丁解牛】—Linux基本指令(上)!
  • LED 生产电子看板实现工厂精准管理
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 08.Android之View事件问题
  • 2017前端实习生面试总结
  • conda常用的命令
  • java多线程
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • web标准化(下)
  • 产品三维模型在线预览
  • 聊聊flink的TableFactory
  • 软件开发学习的5大技巧,你知道吗?
  • 云大使推广中的常见热门问题
  • Java数据解析之JSON
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • 容器镜像
  • ​queue --- 一个同步的队列类​
  • # dbt source dbt source freshness命令详解
  • #QT(QCharts绘制曲线)
  • (26)4.7 字符函数和字符串函数
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (二)linux使用docker容器运行mysql
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (接口自动化)Python3操作MySQL数据库
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (四)JPA - JQPL 实现增删改查
  • (五)IO流之ByteArrayInput/OutputStream
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .NET 发展历程
  • .NET 事件模型教程(二)
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .NET8 动态添加定时任务(CRON Expression, Whatever)
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • [ JavaScript ] JSON方法
  • [000-01-030].Zookeeper学习大纲
  • [AAuto]给百宝箱增加娱乐功能