LVM部署手册

目录

前言

一、LVM的基本概念

二、LVM的特点

三、LVM的应用场景

四、总结

资源列表

一、基础环境

关闭防火墙

关闭内核安全机制

设置主机名

二、磁盘分区

使用fdisk命令将磁盘划分为三个主分区

将这三个分区ID标记好修改为”8e“

三、创建物理卷

创建物理卷

查看物理卷

将物理卷还原成普通分区或磁盘

四、创建卷组

使用/dev/sdb1 /dev/sdb2创建名为test的卷组

使用vgdisplay查看卷组

删除指定的卷组

扩展卷组的磁盘空间

五、创建逻辑卷

创建逻辑卷

查看逻辑卷

逻辑卷扩展

删除逻辑卷命令

备注


前言

        LVM,即逻辑卷管理器,是Linux系统下一种高效、灵活的磁盘分区管理方案。其核心功能在于将物理磁盘或磁盘分区组织成逻辑卷组(Volume Group,简称VG),进而从逻辑卷组中划分出逻辑卷(Logical Volume,简称LV),以满足用户对存储空间的需求。下面将从多个方面对LVM进行详细介绍。

一、LVM的基本概念

  1. 物理磁盘(Physical Disk):指的是系统中实际的硬盘设备,如sda、sdb等。
  2. 物理卷(Physical Volume,简称PV):通过pvcreate命令将物理磁盘或磁盘分区转换为LVM管理的物理卷。
  3. 卷组(Volume Group,简称VG):通过vgcreate命令将多个物理卷组合成一个卷组,作为逻辑卷分配的存储空间池。
  4. 物理扩展(Physical Extend,简称PE):LVM存储结构中的最小单元,默认大小为4MB。卷组中的物理卷空间被划分为多个PE。
  5. 逻辑卷(Logical Volume,简称LV):从卷组中划分出的存储空间,通过lvcreate命令创建,可用于挂载文件系统或作为其他存储设备的存储空间。

二、LVM的特点

  1. 灵活性:LVM允许在不停机的情况下动态调整逻辑卷的大小,方便管理存储空间。
  2. 可扩展性:通过将多个物理卷组合成卷组,LVM可以方便地添加或移除物理卷,以扩大或缩小卷组的可用容量。
  3. 跨分区/跨硬盘:逻辑卷可以跨越多个物理卷或物理硬盘,实现存储空间的充分利用。
  4. 易于管理:LVM提供了丰富的命令行工具,方便用户对存储空间进行创建、删除、调整等操作。

三、LVM的应用场景

  1. 磁盘容量管理:随着公司业务的发展,数据增长迅速,初始规划的磁盘容量可能无法满足需求。LVM可以方便地增加或减少逻辑卷的大小,以满足磁盘容量调整的需求。
  2. 数据备份与恢复:LVM允许用户将逻辑卷视为可动态扩展、快速创建和方便管理的分区,从而方便地进行数据备份和恢复操作。
  3. 灵活的数据迁移:LVM可以将不同物理硬盘的存储空间合并起来,使得文件系统不再关心底层物理磁盘的概念,从而可以灵活地进行数据迁移。

四、总结

        LVM作为Linux系统下一种高效、灵活的磁盘分区管理方案,其灵活性和可扩展性得到了广泛的认可和应用。在企业的云存储服务器、Web服务器、文件共享服务器、邮件服务器等网络环境中,LVM都发挥着重要的作用。通过合理利用LVM技术,可以大大提高系统的存储管理效率和数据安全性。

资源列表

操作系统配置主机名IP磁盘
CentOS7.3.16112C4Glvm192.168.207.13160G

一、基础环境

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

关闭内核安全机制

sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
​
# 重启服务器使配置生效
reboot

设置主机名

hostnamectl set-hostname lvm

二、磁盘分区

使用fdisk命令将磁盘划分为三个主分区

[root@lvm ~]# fdisk /dev/sdb 
欢迎使用 fdisk (util-linux 2.23.2)。
​
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
​
Device does not contain a recognized partition table
使用磁盘标识符 0xea1b373c 创建新的 DOS 磁盘标签。
​
命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-125829119,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-125829119,默认为 125829119):+20G
分区 1 已设置为 Linux 类型,大小设为 20 GiB
​
命令(输入 m 获取帮助):n
Partition type:p   primary (1 primary, 0 extended, 3 free)e   extended
Select (default p): 
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (41945088-125829119,默认为 41945088):
将使用默认值 41945088
Last 扇区, +扇区 or +size{K,M,G} (41945088-125829119,默认为 125829119):+20G
分区 2 已设置为 Linux 类型,大小设为 20 GiB
​
命令(输入 m 获取帮助):n
Partition type:p   primary (2 primary, 0 extended, 2 free)e   extended
Select (default p): 
Using default response p
分区号 (3,4,默认 3):
起始 扇区 (83888128-125829119,默认为 83888128):
将使用默认值 83888128
Last 扇区, +扇区 or +size{K,M,G} (83888128-125829119,默认为 125829119):
将使用默认值 125829119
分区 3 已设置为 Linux 类型,大小设为 20 GiB
​
命令(输入 m 获取帮助):p
​
磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xea1b373c
​设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41945087    20971520   83  Linux
/dev/sdb2        41945088    83888127    20971520   83  Linux
/dev/sdb3        83888128   125829119    20970496   83  Linux
​
命令(输入 m 获取帮助):w
The partition table has been altered!
​
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@lvm ~]# 

将这三个分区ID标记好修改为”8e“

[root@lvm ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
​
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
​
​
命令(输入 m 获取帮助):p
​
磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xea1b373c
​设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41945087    20971520   83  Linux
/dev/sdb2        41945088    83888127    20971520   83  Linux
/dev/sdb3        83888128   125829119    20970496   83  Linux
​
命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
​
命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):2
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
​
命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
​
命令(输入 m 获取帮助):p
​
磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xea1b373c
​设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41945087    20971520   8e  Linux LVM
/dev/sdb2        41945088    83888127    20971520   8e  Linux LVM
/dev/sdb3        83888128   125829119    20970496   8e  Linux LVM
​
命令(输入 m 获取帮助):w
The partition table has been altered!
​
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@lvm ~]#

三、创建物理卷

创建物理卷

pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3
​
# 执行回显
[root@192 ~]# pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3Physical volume "/dev/sdb1" successfully created.Physical volume "/dev/sdb2" successfully created.Physical volume "/dev/sdb3" successfully created.

查看物理卷

[root@lvm ~]# pvdisplay --- Physical volume ---PV Name               /dev/sda2VG Name               clPV Size               49.00 GiB / not usable 3.00 MiBAllocatable           yes PE Size               4.00 MiBTotal PE              12543Free PE               1Allocated PE          12542PV UUID               LJHn7a-wXEL-E02b-MnSB-8qhR-lG2b-7lhxwm"/dev/sdb1" is a new physical volume of "20.00 GiB"--- NEW Physical volume ---PV Name               /dev/sdb1VG Name               PV Size               20.00 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               cgELvq-hGPu-FJkI-FICw-ClK0-oy0F-oK9jNL"/dev/sdb3" is a new physical volume of "20.00 GiB"--- NEW Physical volume ---PV Name               /dev/sdb3VG Name               PV Size               20.00 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               RTwFs3-GG09-Bae5-4HkM-Tni0-UGd9-HdixKX"/dev/sdb2" is a new physical volume of "20.00 GiB"--- NEW Physical volume ---PV Name               /dev/sdb2VG Name               PV Size               20.00 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               Br3r9M-o3DQ-yFoi-GUsL-1CnH-P3lt-Eapmne

将物理卷还原成普通分区或磁盘

pvremove /dev/sdb3

四、创建卷组

使用/dev/sdb1 /dev/sdb2创建名为test的卷组

vgcreate test /dev/sdb1 /dev/sdb2
​
# 有以下回显
[root@lvm ~]# vgcreate test /dev/sdb1 /dev/sdb2Volume group "test" successfully created

使用vgdisplay查看卷组

vgdisplay test
​
# 有以下回显
[root@lvm ~]# vgdisplay test--- Volume group ---VG Name               testSystem ID             Format                lvm2Metadata Areas        2Metadata Sequence No  1VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                0Open LV               0Max PV                0Cur PV                2Act PV                2VG Size               39.99 GiBPE Size               4.00 MiBTotal PE              10238Alloc PE / Size       0 / 0   Free  PE / Size       10238 / 39.99 GiBVG UUID               2VzuVC-z2FC-qiTa-o0fb-rr1y-Vevg-KHLCMr

删除指定的卷组

vgremove test

扩展卷组的磁盘空间

# 先使用vgcreate再同一个卷组里添加一个物理卷
vgcreate test /dev/sdb5
​
# 然后通过vgextend命令将物理卷/dev/sdb5添加到卷组test中、
vgextend test /dev/sdb5

五、创建逻辑卷

创建逻辑卷

lvcreate -L 10G -n lvtest test
​
-L 指定大小
-n 指定逻辑卷名称

查看逻辑卷

[root@lvm ~]# lvdisplay /dev/test/lvtest --- Logical volume ---LV Path                /dev/test/lvtestLV Name                lvtestVG Name                testLV UUID                I3A3ju-Kku0-dkQe-4GUQ-KASE-nrnb-WeEM6iLV Write Access        read/writeLV Creation host, time 192.168.207.131, 2021-06-18 17:40:40 +0800LV Status              available# open                 0LV Size                10.00 GiBCurrent LE             2560Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     8192Block device           253:2

逻辑卷扩展

# 扩容10G
lvextend -L +10G /dev/test/lvtest
​
# 分配所有剩余空间
lvextend -l +100%FREE /dev/test/lvtest
​
# 注意使用xfs文件系统需要以下命令激活
xfs_growfs /dev/test/lvtest
​
# 对于基于 ext3 和 ext4 的文件系统,运行以下命令
resize2fs /dev/test/lvtest

删除逻辑卷命令

# 此命令可以删除逻辑卷,实际执行的时候替换为自己的路径
lvremove /dev/test/lvtest

备注

  • 使用以下命令可以不重启识别硬盘

    echo "- - -" > /sys/class/scsi_host/host0/scan
    echo "- - -" > /sys/class/scsi_host/host1/scan
    echo "- - -" > /sys/class/scsi_host/host2/scan

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

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

相关文章

Vue3(TypeScript)-CSSProperties代码示例及用法详解

Vue3-CSSProperties代码示例及用法 在Vue3中封装一个可复用的公共CSSProperties // 目录 /xxx/src/hooks/use-scroll-updown-bottom-content/index.ts 全局定义hooks import { computed } from vue import type { CSSProperties } from vuetype UpDownOperationType up | down…

一个基于预训练的DenseNet121模型的人脸年龄分类系统

这篇文章采用预训练的DenseNet121模型并使用自定义的数据集类和自定义的类似正态分布的标签平滑策略来训练了一个人脸年龄分类模型,最后基于这个模型用tk实现了一个娱乐向的小系统。 数据集展示: 两个文件夹,分别是训练集和测试集&#xff0…

Bootstrap 3.x 版本基础引入指南

Bootstrap 是一款广受欢迎的前端框架,它简化了网页设计与开发流程,帮助开发者快速创建响应式布局和美观的网页界面。本文将向您介绍如何在项目中引入 Bootstrap 3.x 版本的基本步骤,包括 CSS 和 JavaScript 文件的引用,以及必要的…

java根据不同类型跳转相应的实现类

1 不同实现类字典 AllArgsConstructor Getter public enum SendMessageEnum {HUAWEI("AndHWPush"),JIGUANG("AndJPush"),MEIZU("AndMZPush"),OPPO("AndOppoPush"),XIAOMI("AndXMPush"),XINGE("AndXinGePush"),;p…

Java跨Docker容器备份数据库数据

Java跨Docker容器备份数据库数据 前置背景思路整理编写备份脚本容器启动检验效果Java容器MySQL容器 Java代码执行备份 我的个人博客:Lichg,欢迎大家访问。 前置背景 在我们的开发部署场景中,通常多数使用Docker进行部署。当你的数据库和项目…

【吊打面试官系列】Java高并发篇 - 什么是乐观锁和悲观锁?

大家好,我是锋哥。今天分享关于 【什么是乐观锁和悲观锁?】面试题,希望对大家有帮助; 什么是乐观锁和悲观锁? 1、乐观锁: 就像它的名字一样,对于并发间操作产生的线程安全问题持乐观状态, 乐观锁认为竞争…

ICML 2024 多视角融合驱动的通用具身操作算法SAM-E,为机器人学习复杂操作给出了可行解决方案

当我们拿起一个机械手表时,从正面会看到表盘和指针,从侧面会看到表冠和表链,打开手表背面会看到复杂的齿轮和机芯。每个视角都提供了不同的信息,将这些信息综合起来才能理解操作对象的整体三维。 想让机器人在现实生活中学会执行…

【2024上半年软考】软件设计师答案

软件设计师 群策群力 仅供参考 ①数据库权限应该选revoke ②工作在数据链路层的设备是交换机 ③结构化思维:自上而下分解 ④链表需要遍历的是删除最后一个元素 ⑤磁盘是辅存 ⑥瀑布模型不够灵活 ⑦软件测试路径覆盖程度最高 ⑧29个数字最多查找5次的是有序数组进行二…

nuxt2移动端适配,处理移动端引入的组件库大小不正常显示

版本 "postcss-pxtorem": "^5.1.1" "nuxt": "^2.14.7"安装 npm i -D postcss-pxtorem5.1.1postcss.config.js 排除组件库适配,解决组件库大小在页面不正常显示 const pxToRem require(postcss-pxtorem) module.exports …

AI小天才:让你轻松掌握机器学习之K近邻

课程链接:AI小天才:让你轻松掌握机器学习 K近邻(K-Nearest Neighbors,简称KNN)算法是一种常用的监督学习算法,用于分类和回归任务。KNN算法的基本原理是通过找出与新样本最近的K个训练样本,并根…

【stm32】江科协听课笔记

[3-1] GPIO输出_哔哩哔哩_bilibili 5.GPIO输出 这里,寄存器就是一段特殊的存储器,内核可以通过APB2总线队寄存器进行读写,这样就可以完成输出/读取电平的功能。寄存器的每一位对应一个引脚,stm32是32位的,这里的寄存器…

【工具】珍藏免费宝藏工具,不好用你来捶我

前言 🍊缘由 藏在我硬盘里的好东西,必须跟小伙伴们分享 东西很好,必须分享。良辰吉日,跟大家分享几款神仙级小工具,实际亲测,不好来锤。 正文 一.影刀 影刀可以使任何操作系统、桌面软件、Web程序的自动…

怎么搭建微信留言板功能

在信息爆炸的时代,微信已经成为了我们日常生活中不可或缺的一部分。它不仅仅是一个简单的聊天工具,更是一个充满无限可能的营销平台。今天,我要向大家介绍的是如何在你的微信平台上搭建一个独具特色的留言板功能,让用户能够自由发…

PyTorch的数据处理

💥今天看一下 PyTorch数据通常的处理方法~ 一般我们会将dataset用来封装自己的数据集,dataloader用于读取数据 Dataset格式说明 💬dataset定义了这个数据集的总长度,以及会返回哪些参数,模板: from tor…

ubuntu部署gitblit

在Ubuntu上部署Gitblit可以通过以下步骤进行: 安装Java环境: Gitblit需要Java运行环境,可以通过OpenJDK进行安装。 sudo apt update sudo apt install openjdk-11-jdk下载Gitblit: 从Gitblit官方网站下载最新的Gitblit WAR文件…

51-54 Sora能制作动作大片还需要一段时间 | DrivingGaussian:周围动态自动驾驶场景的复合高斯飞溅

24年3月,北大、谷歌和加州大学共同发布了DrivingGaussian: Composite Gaussian Splatting for Surrounding Dynamic Autonomous Driving Scenes。视图合成和可控模拟可以生成自动驾驶的极端场景Corner Case,这些安全关键情况有助于以更低成本验证和增强自…

《最新出炉》系列入门篇-Python+Playwright自动化测试-42-强大的可视化追踪利器Trace Viewer

宏哥微信粉丝群:https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入 1.简介 在我们日常执行自动化测试工作的过程中,经常会遇到一些偶发性的bug,但是因为bug是偶发性的,我们不一定每次执行都能复现,所以我…

ComfyUI 高级实战:极速稳定视频风格转绘

大家好,我是每天分享AI应用的萤火君! 重绘视频一直是短视频平台上的热点内容,流量不错。重绘视频一般是将真实视频重绘为动漫风格,或者是使用新的人物形象重放视频中的人物动作,再或者只是重绘视频中的部分内容&#…

什么样的展馆场馆才是科技满满?就差一张智慧场馆大屏

随着科技的飞速发展,传统的场馆展示方式已经无法满足现代人对信息获取和体验的需求。智慧场馆大屏作为一种新型的展示方式,应运而生。它将高清大屏显示技术、智能交互技术、数据分析技术等融为一体,为观众带来更加丰富、生动的展示体验。 一…

web前端绘制关系图:探索复杂数据可视化的艺术

web前端绘制关系图:探索复杂数据可视化的艺术 在数字时代的浪潮中,web前端绘制关系图已经成为数据处理与展示的重要工具。这种技术不仅能够帮助我们更好地理解和分析复杂数据,还能通过直观的可视化方式提升用户体验。本文将深入剖析web前端绘…