Linux逻辑卷管理

一.前言

        Linux系统在使用的过程中,数据只会越来越多。如果在硬盘的标准分区创建了文件系统,那么向已有的文件系统增添额外的存储空间是一件头疼的事情。我们只能在同一块物理硬盘上的可用空间范围内调整分区大小。此外硬盘没有存储空间了,就需要找一块更大的硬盘,手动将之前的文件系统转移到新的硬盘上。

        那这边就有了逻辑卷管理器(LVM)的概念,他可以通过将另一块硬盘上的分区加入已有的文件系统来动态的添加存储空间。无须让我们重建整个文件系统的情况,轻松的关联磁盘空间。

二.LVM布局

LVM有三个主要部分组成

首次设置逻辑卷的步骤如下

1.创建物理卷

2.创建卷组

3.创建逻辑卷

4.格式化逻辑卷

5.挂载逻辑卷

三.步骤实操

1.创建pv

在指定作为pv的存储设备之前,先确保分区且为未使用。可以使用pvcreate创建pv分区

新增一块硬盘,需要重启服务器,就能看到未挂载的新硬盘。(可以是物理硬盘或者分区,整个硬盘,或使用fdisk 等⼯具建⽴的普通分区)

[root@zhangke ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   30G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0    4G  0 part [SWAP]
└─sda3   8:3    0   25G  0 part /
sdb      8:16   0   10G  0 disk 
sr0     11:0    1 55.9M  0 rom  /run/media/root/VMware Tools
[root@zhangke ~]# fdisk -l

磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009853d

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    10487807     4194304   82  Linux swap / Solaris
/dev/sda3        10487808    62914559    26213376   83  Linux

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


[root@zhangke ~]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.

最好多设置几个PV.LVM的关键在于将额外的存储空间动态添加到LV。设置好PV后,就可以创建VG了

pvcreate /dev/sdb  /dev/sdc

2.创建VG

只要是PV 就可以加入VG。可以用vgcreate创建VG

[root@zhangke ~]# vgcreate vg00 /dev/sdb
  Volume group "vg00" successfully created
[root@zhangke ~]# vgdisplay 
  --- Volume group ---
  VG Name               vg00
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <10.00 GiB
  PE Size               4.00 MiB
  Total PE              2559
  Alloc PE / Size       0 / 0   
  Free  PE / Size       2559 / <10.00 GiB
  VG UUID               6LEarm-eCfQ-kpfH-hAIu-SCA8-RZqO-5Hcmlv
[root@zhangke ~]# vgcreate vg00 /dev/sdb
  Volume group "vg00" successfully created
[root@zhangke ~]# vgdisplay 
  --- Volume group ---
  VG Name               vg00
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <10.00 GiB
  PE Size               4.00 MiB
  Total PE              2559
  Alloc PE / Size       0 / 0   
  Free  PE / Size       2559 / <10.00 GiB
  VG UUID               6LEarm-eCfQ-kpfH-hAIu-SCA8-RZqO-5Hcmlv

vgdisplay命令 用于显示LVM卷组的信息,可以先确认下,怕VG命名重复

3.创建LV

可以使用lvcreate命令创建LV

[root@zhangke ~]# lvcreate -L 5G -v vg00
    Archiving volume group "vg00" metadata (seqno 1).
    Creating logical volume lvol0
    Creating volume group backup "/etc/lvm/backup/vg00" (seqno 2).
    Activating logical volume vg00/lvol0.
    activation/volume_list configuration setting not defined: Checking only host tags for vg00/lvol0.
    Creating vg00-lvol0
    Loading table for vg00-lvol0 (253:0).
    Resuming vg00-lvol0 (253:0).
    Wiping known signatures on logical volume "vg00/lvol0"
    Initializing 4.00 KiB of logical volume "vg00/lvol0" with value 0.
  Logical volume "lvol0" created.
[root@zhangke ~]# lvdisplay /dev/vg00/lvol0 
  --- Logical volume ---
  LV Path                /dev/vg00/lvol0
  LV Name                lvol0
  VG Name                vg00
  LV UUID                BMlyB7-e2zp-UNwd-hEGn-QDfA-DHXl-NVurBT
  LV Write Access        read/write
  LV Creation host, time zhangke, 2024-03-23 11:28:02 +0800
  LV Status              available
  # open                 0
  LV Size                5.00 GiB
  Current LE             1280
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

注意:如果出于某种原因,VG没有足够的存储空间来满足LV要求的大小,那么lvcreate将无法创建LV。

创建LV之后,可以使用lvdisplay显示相关信息。命令中的完整路径名用于指定LV,除了这个,也可以使用lvs和lvscan命令显示系统LV的信息。

4.使用LVM

LVM格式化

[root@zhangke ~]# mkfs.ext4 /dev/vg
vg00/        vga_arbiter  
[root@zhangke ~]# mkfs.ext4 /dev/vg00/lvol0 
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

挂载LVM

[root@zhangke ~]# mkdir my_lvm
[root@zhangke ~]# mount -t ext4 /dev/vg00/lvol0  my_lvm
[root@zhangke ~]# ls my_lvm/
lost+found
[root@zhangke ~]# lsblk 
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda            8:0    0   30G  0 disk 
├─sda1         8:1    0    1G  0 part /boot
├─sda2         8:2    0    4G  0 part [SWAP]
└─sda3         8:3    0   25G  0 part /
sdb            8:16   0   10G  0 disk 
└─vg00-lvol0 253:0    0    5G  0 lvm  /root/my_lvm
sr0           11:0    1 55.9M  0 rom  /run/media/root/VMware Tools
[root@zhangke ~]# lsblk -f
NAME         FSTYPE      LABEL        UUID                                   MOUNTPOINT
sda                                                                          
├─sda1       xfs                      3babadfa-dd46-43ff-a002-39f6d237c675   /boot
├─sda2       swap                     c265afc6-a0e2-4f62-b8b0-c9356e7aab0d   [SWAP]
└─sda3       xfs                      c4bfb099-33fa-479e-9b9a-fcb3b01aee51   /
sdb          LVM2_member              oMzo1G-EFrl-bj2F-cFBv-JMDq-0v1E-dPNnfF 
└─vg00-lvol0 ext4                     5cdbfdc2-aefe-478a-8321-fcc95f6b52b2   /root/my_lvm
sr0          iso9660     VMware Tools 2020-07-17-17-46-47-00                 /run/media/root/VMware Tools

如果相应在系统上重启时,自动挂载新的LV,就需要再/etc/fstab上添加记录

5.扩大或收缩VG和LV

vgextend将PV加入VG
vgreduce        从VG删除PV
lvextend扩大LV
lvreduce收缩LV

举个例子,扩大LV

[root@zhangke ~]# lsblk 
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda            8:0    0   30G  0 disk 
├─sda1         8:1    0    1G  0 part /boot
├─sda2         8:2    0    4G  0 part [SWAP]
└─sda3         8:3    0   25G  0 part /
sdb            8:16   0   10G  0 disk 
└─vg00-lvol0 253:0    0    5G  0 lvm  /root/my_lvm
sr0           11:0    1 55.9M  0 rom  /run/media/root/VMware Tools
我们可以看到sdb 这块硬盘总共10g,lv是5g。可以扩容5g

[root@zhangke ~]# lvextend -L +4G /dev/vg00/lvol0 
  Size of logical volume vg00/lvol0 changed from 5.00 GiB (1280 extents) to 9.00 GiB (2304 extents).
  Logical volume vg00/lvol0 successfully resized.
[root@zhangke ~]# lsblk 
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda            8:0    0   30G  0 disk 
├─sda1         8:1    0    1G  0 part /boot
├─sda2         8:2    0    4G  0 part [SWAP]
└─sda3         8:3    0   25G  0 part /
sdb            8:16   0   10G  0 disk 
└─vg00-lvol0 253:0    0    9G  0 lvm  /root/my_lvm
sr0           11:0    1 55.9M  0 rom  /run/media/root/VMware Tools
[root@zhangke ~]# 

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

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

相关文章

【tingsboard开源平台】环境准备和安装

文章目录 环境准备:1.安装JAVA2.安装maven环境3.安装nodeJS(16.15.1)4.安装git环境5.安装npm依赖关系6.放入文件fetched7.安装IDEA 环境准备: 1.安装JAVA 以安装java11为例&#xff0c;安装tingsboard需要的jdk 下载地址&#xff1a;https://www.oracle.com/java/technologi…

蓝桥杯每日一题(floyd算法)

4074 铁路与公路 如果两个城市之间有铁路t11&#xff0c;公路就会t2>1,没铁路的时候t1>1,公路t21。也就是公路铁路永远都不会相等。我们只需要计算通过公路和铁路从1到n最大的那个即可。 floyd是直接在数组上更新距离。不需要新建dis数组。另外一定要记得把邻接矩阵初始…

2024,听世界用中文讲故事

汉语为桥&#xff0c;联结一段中国缘分&#xff1b;故事为骨&#xff0c;分享一段精彩人生&#xff1b;文化为翼&#xff0c;共筑一个和美地球村。近日&#xff0c;由教育部中外语言交流合作中心主办、中文联盟承办的第二届“汉语桥”全球外国人汉语大会故事会启动。与世界深情…

C#执行命令行

效果图 主要代码方法 private Process p;public List<string> ExecuteCmd(string args){System.Diagnostics.Process p new System.Diagnostics.Process();p.StartInfo.FileName "cmd.exe";p.StartInfo.RedirectStandardInput true;p.StartInfo.RedirectSta…

如何删除Excel中的空白行?这里提供详细步骤

要从数据集中删除所有空白行吗&#xff1f;如果是这样&#xff0c;Microsoft Excel提供自动和手动方法来清除空白行并向上移动数据。下面是如何使用这些方法。 删除空白行时&#xff0c;Excel会删除整行并上移数据&#xff0c;以便数据集中不再有空行。记住&#xff0c;你也可…

数据结构/C++:位图 布隆过滤器

数据结构/C&#xff1a;位图 & 布隆过滤器 位图实现应用 布隆过滤器实现应用 哈希表通过映射关系&#xff0c;实现了O(1)的复杂度来查找数据。相比于其它数据结构&#xff0c;哈希在实践中是一个非常重要的思想&#xff0c;本博客将介绍哈希思想的两大应用&#xff0c;位图…

VS code中安装了git插件,报错无法使用怎么办?

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端程序媛。 1枚程序媛&#xff0c;2年时间从1800到月入过万&#xff0c;工作5年买房。 分享成长心得❤️&#xff0c;和你一起慢慢变富。 后台回复“前端工具”可获取开发工具&#xff0c;持续更新中 后台…

就业班 第二阶段 2401--3.27 day7 shell之流程控制

把昨天的续上 五、变量置换 命令替换 adate %m%d a$(date %m%d) 反引号亦可用$() 代替 变量替换 一 ${parameter:-word} 若 parameter 为空或未设置&#xff0c;则用 word 代替 parameter 进行替换&#xff0c;parameter 的值不变 # a1 # unset b # a${b:-3} # echo $a 3 #…

SSH配置公钥私钥免密登录——windows to linux

SSH配置公钥私钥免密登录——windows to linux SSH的安全机制一、修改远程主机ssh设置二、在windows客户端生成公钥私钥文件三、将客户端公钥追加到远程主机 .ssh/authorized_keys中参考链接 SSH的安全机制 SSH之所以能够保证安全&#xff0c;原因在于它采用了非对称加密技术(…

【网安小白成长之路】2.PHP与MySQL交互

&#x1f42e;博主syst1m 带你 acquire knowledge&#xff01; ✨博客首页——syst1m的博客&#x1f498; &#x1f51e; 《网安小白成长之路(我要变成大佬&#x1f60e;&#xff01;&#xff01;)》真实小白学习历程&#xff0c;手把手带你一起从入门到入狱&#x1f6ad; &…

力扣Lc22--- 459. 重复的子字符串(java版)-2024年3月27日

1.题目描述 2.知识点 &#xff08;1&#xff09; 在Java中&#xff0c;.repeat(i) 是一个字符串方法&#xff0c;用于将原始字符串重复 i 次。 例如&#xff0c;对于字符串 “ab”&#xff0c;使用 .repeat(3) 将会返回 “ababab”。 public class RepeatExample {public s…

区块链技术与大数据结合的商业模式探索

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验&#xff01;希望我的分享能帮助到您&#xff01;如需帮助可以评论关注私信我们一起探讨&#xff01;致敬感谢感恩&#xff01; 随着区块链技术和大数据技术的不断发展&#xff0c;两者的结合为企业带来了新的商业模式…

WordPress建站:打造您的网站的绝佳选择

前不久&#xff0c;我们遇到一些Hostease客户咨询如何可以快速搭建网站。我们通常推荐客户使用wordpress建站。WordPress建站是指利用WordPress这套免费开源的建站系统来构建网站。类比于电脑软件&#xff0c;安装WordPress后即可轻松搭建网站&#xff0c;其优势不言而喻。 SEO…

DBeaver修改sql语句保存位置

1、dbeaver通过工作空间方式来管理Script的sql脚本以及数据库连接。 工作空间&#xff0c;其实也就是一个文件夹 默认保存路径查看&#xff1a; 文件--> 切换工作空间 --> 其他 sql脚本的保存位置默认在工作空间下的 \General\Scripts 文件夹中。 2、 3、点击浏览&#…

HTML(三)---【列表、表格、块元素、行元素的使用】

零.前言 本文主要介绍列表、表格、块内元素、行内元素。 前置知识及常见标签使用&#xff0c;请见前章&#xff1a; HTML&#xff08;一&#xff09;---【基础】-CSDN博客 HTML&#xff08;二&#xff09;---【常见的标签使用】-CSDN博客 一.<li>表内列表项 1.定义…

C语言例4-14:从键盘输入小写字母转换成大写字母并输出。

代码如下&#xff1a; //从键盘输入小写字母转换成大写字母并输出。 #include<stdio.h> int main(void) {char c1,c2;printf("输入小写字母&#xff1a; \n");c1 getchar(); //从键盘输入一个字符putchar(c1);printf(",%d\n",c1);c2 c1-32; …

Java智慧工地源码 智慧工地的价值体现 开发一套智慧工地系统需要多少钱

智慧工地是智慧地球理念在工程领域的行业具现&#xff0c;是一种崭新的工程全生命周期管理理念。它运用信息化手段&#xff0c;通过三维设计平台对工程项目进行精确设计和施工模拟&#xff0c;围绕施工过程管理&#xff0c;建立互联协同、智能生产、科学管理的施工项目信息化生…

【射频连接器】RF Jack Plug Female Male Socket Pin

SMA Jack Female (Socket) SMA Plug Male (Pin) 总结&#xff1a; 中间是针的plug插头&#xff1b; 中间是孔的jack 插座&#xff1b;以上是一般的正常逻辑&#xff1b; 你说有没有 Jack Male &#xff1f;Plug Female? 嗯&#xff1f; 有的 Jack Male Plug Female

力扣面试150 删除有序数组中的重复项 双指针

Problem: 26. 删除有序数组中的重复项 思路 &#x1f469;‍&#x1f3eb; 三叶题解 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( 1 ) O(1) O(1) Code class Solution {public int removeDuplicates(int[] nums) {int j 0, n nums.length;for(int i 0;…

【数学】 【分数】 【字符串】972. 相等的有理数

本文涉及知识点 数学 分数 字符串 LeetCode972. 相等的有理数 给定两个字符串 s 和 t &#xff0c;每个字符串代表一个非负有理数&#xff0c;只有当它们表示相同的数字时才返回 true 。字符串中可以使用括号来表示有理数的重复部分。 有理数 最多可以用三个部分来表示&…