首页 > 系统相关 >Linux之LVM学习

Linux之LVM学习

时间:2022-11-25 11:02:30浏览次数:58  
标签:VG vg01 lv01 dev 学习 Linux LVM root localhost


LVM(Logical Volume Manager)逻辑卷管理,是在硬盘分区和文件系统之间添加的一个逻辑层,为文件系统屏蔽下层硬盘分区布局,并提供一个抽象的盘卷,在盘卷上建立文件系统。管理员利用LVM可以在硬盘不用重新分区的情况下动态调整文件系统的大小,并且利用LVM管理的文件系统可以跨越物理硬盘。当服务器添加了新的硬盘后,管理员不必将原有的文件移动到新的硬盘上,而是通过LVM直接扩展文件系统来跨越物理硬盘。

主要用于动态扩容和缩容。

RAID,主要用于冗余和数据加速;

LVM, 主要用于数据加速和扩展


1. 常用概念

PE:物理拓展

PV:物理卷

VG :卷组

LV:逻辑卷

Linux之LVM学习_文件系统


Linux之LVM学习_d3_02


2. LVM的创建过程

1.1 新增硬盘并分区

1.2 创建PV

​[root@localhost ~]# pvcreate /dev/sdb{1,2}​

[root@localhost ~]# pvcreate /dev/sdb{1,2}
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdb2" successfully created.


查看PV

​[root@localhost ~]# pvdisplay

[root@localhost ~]# pvdisplay
"/dev/sdb2" is a new physical volume of "<5.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb2
VG Name
PV Size <5.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID DW4XPe-UYiA-AT8p-rhnh-ypO8-tjIu-aJiqLB

"/dev/sdb1" is a new physical volume of "5.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 5.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID LY7D17-sir7-59ez-hSCM-aN4S-DHLI-Km9Hxh


1.3 创建VG

​[root@localhost ~]# vgcreate vg01 /dev/sdb1​

vg名称 要加入vg的pv


[root@localhost ~]# vgcreate vg01 /dev/sdb1
Volume group "vg01" successfully created


查看VG

​[root@localhost ~]# vgdisplay


1.4 创建LV

​[root@localhost ~]# lvcreate -n lv01 -L 100M vg01 ​

lv名称 lv大小 vg名称


查看LV

​[root@localhost ~]# lvdisplay

[root@localhost ~]# lvdisplay 
--- Logical volume ---
LV Path /dev/vg01/lv01
LV Name lv01
VG Name vg01
LV UUID CJ0hc4-H4Eu-iH0V-ScK2-HKkS-0SqM-F08BwA
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2022-11-22 16:40:15 +0800
LV Status available
# open 0
LV Size 100.00 MiB
Current LE 25
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0


1.5 文件格式化和挂载

​[root@localhost ~]# mkdir /lv01​

​[root@localhost ~]# mkfs.xfs /dev/vg01/lv01​​ #格式化

​[root@localhost ~]# mount /dev/vg01/lv01 /lv01​​ #挂载



1.6 扩展LV

1.6.1 添加新硬盘

​[root@localhost ~]# lsblk​​ #查看新添加的硬盘


1.6.2 给新硬盘分区

​[root@localhost ~]# gdisk /dev/sdc​


1.6.3 创建新的PV

​[root@localhost ~]# pvcreate /dev/sdc​


1.6.4 扩展VG

​[root@localhost ~]# vgextend vg01 /dev/sdc1​


[root@localhost ~]# vgdisplay   #VG原来的大小
--- Volume group ---
VG Name vg01
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <30.00 GiB
PE Size 4.00 MiB
Total PE 7679
Alloc PE / Size 5120 / 20.00 GiB
Free PE / Size 2559 / <10.00 GiB
VG UUID npZElq-cTaq-p3Ob-YDgJ-54fo-bqWe-Ijsrdv

[root@localhost ~]# vgextend vg01 /dev/sdc1
Volume group "vg01" successfully extended

[root@localhost ~]# vgdisplay #VG扩展后的大小
--- Volume group ---
VG Name vg01
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 49.99 GiB
PE Size 4.00 MiB
Total PE 12798
Alloc PE / Size 5120 / 20.00 GiB
Free PE / Size 7678 / 29.99 GiB
VG UUID npZElq-cTaq-p3Ob-YDgJ-54fo-bqWe-Ijsrdv



1.6.5 扩展LV

​[root@localhost ~]# lvextend -L 30G -r /dev/vg01/lv01​

[root@localhost ~]# lvextend -L 30G -r /dev/vg01/lv01
Size of logical volume vg01/lv01 changed from 10.00 GiB (2560 extents) to 30.00 GiB (7680 extents).
Logical volume vg01/lv01 successfully resized.
meta-data=/dev/mapper/vg01-lv01 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 2621440 to 7864320


综上,LVM的管理过程是:

创建PV -- 创建VG -- 创建LV -- 格式化 -- 挂载


3. LVM删除

LV的删除步骤恰恰相反:

卸载 -- 删除LV -- 删除VG -- 删除PV


​[root@localhost ~]# umount /lv01​​ #卸载分区

​[root@localhost ~]#lvremove /dev/vg01/lv01​​ #卸载LV

​[root@localhost ~]# vgremove vg01​​ #卸载VG

​[root@localhost ~]# pvremove /dev/sdb1​​ #卸载PV


4. SSM工具

SSM(SystemStorageManager)利用命令行工具ssm命令来一键完成磁盘管理。


​[root@localhost ~]# yum -y install system-storage-manager​

​[root@localhost ~]# ssm list dev​ #显示硬盘设备信息

[root@localhost ~]# ssm list dev
--------------------------------
Device Total Mount point
--------------------------------
/dev/sda 20.00 GB
/dev/sda1 1.00 GB /boot
/dev/sda2 1.00 GB SWAP
/dev/sda3 18.00 GB /
/dev/sdb 10.00 GB
/dev/sdb1 5.00 GB
/dev/sdb2 5.00 GB
--------------------------------


4.1 使用SSM创建LVM

一条命令实现PV创建、VG创建、LV创建和挂载。


命令格式:

ssm create -s lv大小 -n lv名称 --fstype lv文件系统类型 -p VG名 设备 挂载点


​[root@localhost ~]# ssm create -s 200M -n lv01 --fstype xfs -p vg01 /dev/sdb{1,2} /lv01​

[root@localhost ~]# ssm create -s 200M -n lv01 --fstype xfs -p vg01 /dev/sdb{1,2} /lv01
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdb2" successfully created.
Volume group "vg01" successfully created
Logical volume "lv01" created.
meta-data=/dev/vg01/lv01 isize=512 agcount=4, agsize=12800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=51200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Directory '/lv01' does not exist! Create (Y/n/q) ? Y


​[root@localhost ~]# df -h​

[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.8G 17G 10% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.5M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 1014M 127M 888M 13% /boot
tmpfs 199M 0 199M 0% /run/user/0
/dev/mapper/vg01-lv01 197M 11M 187M 6% /lv01


标签:VG,vg01,lv01,dev,学习,Linux,LVM,root,localhost
From: https://blog.51cto.com/u_748290/5885741

相关文章

  • Java学习
    分享学习一个技术的经验,Java的大体路线是JavaSE->JavaWeb->Spring->SSM整合(Spring+SpringMVC+myBatis)->SpringBoot->SpringCloud.要想到达最终的Springboo......
  • 【Linux】linux | CentOS7 | 命令行模式 | 图形化界面模式
    1、图形化界面->命令行1)键盘按键Ctrl+Alt+F32、命令行->图形化界面1)键入命令init5......
  • 【Linux】linux | 查看文件 | 查看目录大小 | 磁盘大小
    1、查看挂载点磁盘大小df-lh2、列表方式ls3、列表并显示大小ll-hS4、查看目录大小1)进入所在目录cd/2)查看总大小du-sh3)查看列表文件大小du-sh*4)查看某个文件夹或者文件......
  • 软件测试学习思维导图
    1、测试分析图: 2、软件测试全景图: 3、软件开发流程图: ......
  • Linux 用户组和权限管理
    1.Linux的安全模型1.1安全3A安全3A并不是Linux特有的概念,在很多领域都有3A的概念,比如微软、思科、华为等设备都有安全的概念;大致分为以下一个概念:认证(Authentication):即验......
  • 代码案例详解!如何让机器学习模型自解释!⛵
    ......
  • 引流是什么? 怎样学习引流?
    引流是指吸引用户,通过某种方法,某种手段能让更多的人可以看到你,关注到你。引流3种常见思维获取流量,永远是商业市场永恒不变的共同需求。是指单位时间内流经封闭管道或明......
  • Java并发编程学习13-任务取消(下)
    任务取消(下)《任务取消》由于篇幅较多,拆分了两篇来介绍各种实现取消和中断的机制,以及如何编写任务和服务,使它们能对取消请求做出响应。1.任务限时运行我们知道许多任务......
  • Linux之awk 练习题-----文本处理
    1.awk获取每个以C和E开头的名字。[root@VM-4-13-centosawk]#catrenyuan.txtmeagesexjack18男ben28男Cici38女wumen48男chu55男jj42男eni......
  • go gin 打包到linux
     https://leeay.gitee.io/2022/08/12/go/go_gin%E9%A1%B9%E7%9B%AE%E6%89%93%E5%8C%85%E4%B8%8A%E7%BA%BF%E5%88%B0Linux%E6%9C%8D%E5%8A%A1%E5%99%A8/  goenv-w......