lvm基础操作

小刀 小刀     2022-12-01     251

关键词:

基本介绍
Linux用户安装Linux 操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间。随着 Linux的逻辑盘卷管理功能的出现,这些问题都迎刃而解,
lvm是逻辑盘卷管理(Logical Volume Manager)的简称,它是 Linux环境下对磁盘分区进行管理的一种机制, LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

LVM基本术语
1)物理存储介质:这里指系统的存储设备:硬盘,如: /dev/hda、/dev/sda等等,是存储系统最低层的存储单元。
2)物理卷physical volume (PV )
物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如 RAID),是 LVM的基本存储逻辑块
3)卷组Volume Group (VG )
LVM卷组由一个或多个物理卷组成,但是更确切的说,它包含由这些物理卷提供的许多PE。
4)逻辑卷logical volume (LV )
这里是我们存储信息的地方,在逻辑卷之上可以建立文件系统 (比如/home或者 /usr等)。
5)PE(physical extent )
每一个物理卷被划分为称为 PE的基本单元,具有唯一编号的 PE是可以被 LVM寻址的最小单元。 PE的大小是可配置的,默认为 4MB。

具体操作
1)创建分区
[root@test-server ~]# fdisk -l                        #查看磁盘情况
[root@test-server ~]# fdisk /dev/sda            #进入磁盘(可以依次按键p->n->e->回车->回车->w,即用此磁盘所有空闲空间创建分区)
Command (m for help): n                             #n 为添加一个分区, p查看分区
First cylinder (2898-10443, default 2898):         #按Enter 键决定
Using default value 2898                                   #起始柱面选择默认值
Last cylinder or +size or +sizeM or +sizeK (289810443, default 10443): +2G             # 给2G的大小
Command (m for help): t                                   #更改分区类型
Partition number (1-5): 5                                   # 选着分区
Hex code (type L to list codes): l                       #分区类型列表

Hex code (type L to list codes):8e                    #将新添加的分区标注成 lvm
Command (m for help): p                                 #查看分区表
/dev/sda5 2756 2999 1959898+ 8e Linux LVM
Command (m for help): w                                 #保存
[root@test-server ~]# partprobe /dev/sda             #系统识别分区(代替重启)
[root@test-server ~]# mkfs.ext4 /dev/sda5           #格式化新添加的分区

2)PV创建    ("yum install lvm2" 安装lvm的操作命令,如pvcreate)
[root@test-server ~]# pvcreate /dev/sda5                 #创建pv
Writing physical volume data to disk "/dev/sda5"
Physical volume "/dev/sda5" successfully created
[root@test-server ~]# pvs                                          #或pvdisplay,查看当前pv的信息
PV VG Fmt Attr PSize PFree
/dev/sda5 lvm2 a-- 1.87G 1.87G

3)VG创建
[root@test-server ~]# vgcreate vg0 /dev/sda5           #vg0 为当前vg的名
Volume group "vg0" successfully created
[root@test-server ~]# vgs                                           #或vgdispaly,查看vg详细信息,会显示PE数
VG #PV #LV #SN Attr VSize VFree
vg0 1 0 0 wz--n- 1.87G 1.87G

4)LV创建(使用vgdisplay查看"Free  PE"中可用的空间来制作LVM。比如这里查看到Free PE空间为500M,则最大只能使用500M来制作lvm)
# lvcreate -L +大小 -n lv_name vg_name      (指定逻辑卷的大小,单位为"kKmMgGtT"字节)
# lvcreate -l +PE数 -n lv_name vg_name      (或"lvcreate -l +百分比FREE -n lv_name vg_name"命令,即使用卷组剩余所有空间的百分比)
[root@test-server ~]# lvcreate -L +500M -n lv01 vg0
Logical volume "lv01" created
[root@test-server ~]# lvs                                          #或lvdispaly,查看lv 的信息
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv01 vg0 -wi-a- 500.00M
You have mail in /var/spool/mail/root
[root@test-server ~]# mkfs.ext4 /dev/vg0/lv01             #格式化

5)挂载使用LVM
[root@test-server ~]# mkdir /mnt/lv01                                  #建立挂载目录
[root@test-server ~]# mount /dev/vg0/lv01 /mnt/lv01           #将制作的lvm挂载起来
[root@test-server ~]# df -h
[root@test-server ~]# touch /mnt/lv01/lv.file
[root@test-server ~]#ls /mnt/lv01

LVM的增大
比如原来lv大小500M ,现在要拉伸分区到 800M。
前提是vg0里面还有剩余空间(vgdispaly查看Free PE)。
先使用vgdisplay查看vg0组是否还有多余的空间.
[root@test-server ~]# vgdisplay
.......
Alloc PE / Size 1277 / 500M
Free PE / Size 490 / 300M
VG UUID hYScku-I097-bxMg-iUKq-WKnd-gEfQ-1wn5nU
...................

======================================================
如没有剩余,需要vgextend扩建。比如创建一个分区/dev/sdb1
# pvcreate /dev/sdb1
# vgextend vg0 /dev/sdb1 扩容到vg0组里
# vgdisplay 查看vg0多余的空间
======================================================

[root@test-server ~]# lvextend -L +300M /dev/vg0/lv01      #使用 "-L +300M"  或是 "-l +490" 都可以
Logical volume lv01 successfully resized                          # 或者直接使用" lvextend -l +100%FREE /dev/vg0/lv0 "命令,即使用卷组剩余所有空间。
[root@test-server ~]# resize2fs /dev/vg0/lv01                     #拉伸文件系统
[root@test-server ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv01 vg0 -wi-ao 800.00M                                                      #大小变成了 800M

LVM的减小
[root@test-server ~]# umount /dev/vg0/lv01                           #卸载逻辑卷 /dev/vg0/lv01,或者卸载/mnt/lv01目录也可以
[root@test-server ~]# df -h                                                      #查看
[root@test-server ~]# e2fsck -f /dev/vg0/lv01                         #磁盘校验
[root@test-server ~]# resize2fs /dev/vg0/lv01 500M              #回缩文件系统到 500M
[root@test-server ~]# lvreduce -L 500M /dev/vg0/lv01           #回缩分区到 500M
WARNING: Reducing active logical volume to 500.00 MB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv01? [y/n]: y
[root@test-server ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv01 vg0 -wi-a- 500.00M                                                          #此时已变成500M大小
[root@test-server ~]# mount /dev/vg0/lv01 /mnt/lv01              #重新挂载分区
[root@test-server ~]# df -h                                                      #查看
[root@test-server ~]# ls /mnt/lv01                                           #查看文件

===========================================================
特别注意的是:
resize2fs命令         针对的是ext2、ext3、ext4文件系统。
xfs_growfs命令      针对的是xfs文件系统
===========================================================

LVM的系统快照
原理:系统快照(snapshot)是 lvm的另外一种重要的功能,快照就是将当时的数据记录下来,就好像照相记录一样,以后数据有任何改动,原数据会被移动到快照区,没有被改变的区域则由快照区与文件系统共享。
由于快照区和原本的 LV共享很多 PE,所以快照区与被快照的区域必须在同一个 VG上
操作:
以上面创建的 lv01为例
1)挂载lvm
[root@test-server ~]# mount /dev/vg0/lv01 /mnt/lv01
[root@test-server ~]# cd /mnt/lv01
[root@test-server lv01]# touch a,b,ca,b,c
[root@test-server lv01]# ls
aa ab ac ba bb bc ca cb cc lost+found lv.file restoresymtable
2)为lvm创建快照
[root@test-server lv01]# lvcreate -L 64M -s -n lv-backup /dev/vg0/lv01
Logical volume "lv-backup" created
3)挂载快照
[root@test-server lv01]# mkdir /mnt/lv-backup
[root@test-server mnt]# mount -o ro /dev/vg0/lv-backup /mnt/lv-backup/
4)备份快照
[root@test-server tmp]# dump -0u -f /tmp/lv-backup.dump /mnt/lv-backup/                       #备份
DUMP: Date of this level 0 dump: Sun Nov 11 14:53:31 2012
DUMP: Dumping /dev/mapper/vg0-lv--backup (/mnt/lv-backup) to /tmp/lv-backup.dump
5)删除快照
[root@test-server tmp]# umount /mnt/lv-backup/
[root@test-server tmp]# lvremove /dev/vg0/lv-backup
Do you really want to remove active logical volume lv-backup? [y/n]: y
Logical volume "lv-backup" successfully removed
6)清空/dev/vg0/lv01下内容
[root@test-server tmp]# umount /mnt/lv01
[root@test-server tmp]# mkfs.ext3 /dev/vg0/lv01
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
7)恢复数据
[root@test-server tmp]# mount /dev/vg0/lv01 /mnt/lv01
[root@test-server tmp]# cd /mnt/lv01
[root@test-server lv01]# ls
lost+found
[root@test-server lv01]# restore -rf /tmp/lv-backup.dump              #恢复
restore: ./lost+found: File exists
[root@test-server lv01]# ls                                                             #由于之前都删除了,所以这些都是改变的部分
aa ab ac ba bb bc ca cb cc lost+found lv.file restoresymtable

LVM的关闭 (删除)
[root@test-server ~]# umount /mnt/lv01
[root@test-server ~]# lvremove /dev/vg0/lv01                       #删除lv
Do you really want to remove active logical volume lv01? [y/n]: y
Logical volume "lv01" successfully removed
[root@test-server ~]# vgchange -a n vg0                               #使vg0不具有 active标志
0 logical volume(s) in volume group "vg0" now active
[root@test-server ~]# vgremove vg0                                      #删除vg
Volume group "vg0" successfully removed
[root@test-server ~]# pvremove /dev/sda5                            #删除pv
Labels on physical volume "/dev/sda5" successfully wiped

lvm基础应用扩展及缩减

逻辑卷的基础应用一、LVM简介  LVM(LogicalvolumeManager)即逻辑卷管理。它是Linux环境下对磁盘分区进行管理的一种机制。现在不仅仅是Linux系统上可以使用LVM这种磁盘管理机制,对于其它的类UNIX操作系统,以及windows操作系统... 查看详情

lvm基础详细说明及动态扩容lvm逻辑卷的操作记录

LVM概念:--------------------------------------------------------------------------------------------------------------------------------------------------------它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁... 查看详情

lvm基础详细说明及动态扩容lvm逻辑卷的操作记录

1.LVM概念这里我们来介绍一下,到底什么LVM,它有什么具体的作用。我们都知道我们平时一般是直接在硬盘上创建分区,然后在分区上创建文件系统。而LVM它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区... 查看详情

十lvm磁盘故障小案例

...磁盘分区。卷组:多个物理卷的集合。逻辑卷:在卷组的基础上划分出来的逻辑卷。 最终在逻辑卷的基础上进行格式化,再挂载到系统里面去使用。如何操作:1.fdisk/dev/sdb2.n创建3个新分区,分别1G3.t改变分区类型为8e(lvm) ... 查看详情

lvm逻辑卷管理器基础

一、LVM简介    逻辑卷管理器LVM(LogcalVolumeManager),LVM可以弹性的调整文件系统的容量,不必要再去烦恼文件系统空间不够的问题。LVM的实现是将几个物理分区(或磁盘)通过软件组合成为一块看起来是独立的大... 查看详情

lvm基础

什么是LVMLVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如... 查看详情

lvm挂盘的详细操作(代码片段)

LVM挂盘的详细操作[root@localhost/]#fdisk/dev/sdbWelcometofdisk(util-linux2.23.2).Changeswillremaininmemoryonly,untilyoudecidetowritethem.Becarefulbeforeusingthewritecommand.Devicedoesnotcontainarecognize 查看详情

linux操作系统中lvm磁盘配额

1.LVM概述 2. LVM机制3.LVM管理命令4. 盘配额概述5.磁盘配额设置步骤        1.LVM概述   LVM(LogicalVolumeManager)逻辑卷管理能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高... 查看详情

lvm基本操作删除操作

         LVM基本操作(二)删除操作  实验前,查看磁盘状态及lv状态。实验环境,物理磁盘有sda,sdb,sdc,sdd,sde,sdf六块磁盘。包括两个自己建立的VG,linuxcast和vgname。cl是系统自己建立的vg。7... 查看详情

lvm基本操作创建

...组。如不理解可以看:LVM 例如:假定一个已经安装好操作系统的服务器,在运行许久后,磁盘空间不足,但服务区又不可能停止,在添加一块硬盘后如何扩展其磁盘空间就是一个问题。lvm就是 查看详情

lvm认知与扩容操作

...问量吧。这次想续写点东西,主要讲的是"LVM认知和扩容操作"。因为网上大多数不准确,可能作者也没有真实服务器可以做实验,然后俺比较幸运合伙搞IDC的,所以这篇文章想给大家带来点帮助! 环境背景介绍,北京峰鸟网... 查看详情

动态扩容lvm逻辑卷的操作记录

   查看详情

基于lvm逻辑卷下的磁盘配额操作(代码片段)

...接上篇进行的LVM逻辑卷进行接下来的磁盘配额的学习本章操作内容接上篇lvm逻辑卷,如果没有看过上篇博客操作的小伙伴,可在操作完逻辑卷的内容时候再继续跟着本篇内容进行磁盘配额的操作!磁盘配额概述:1.需要磁盘限额... 查看详情

lvm基本知识与常用命令

lvm基础知识:    lvm是LogicalVolumeManager(逻辑卷管理)的缩写,可以理解为一种硬盘分区管理工具,有以下几个重要的基础术语:物理卷(PyhsicalVolume,PV):是由系统的基础存储设备,如/dev/sda,/dev/sda1等转换过来的... 查看详情

lvm(逻辑卷)的增加扩容缩小删除操作(代码片段)

一、逻辑卷的创建查看磁盘[[email protected]~]#lsblkNAMEMAJ:MINRMSIZEROTYPEMOUNTPOINTsda8:00200G0disk├─sda18:101G0part/boot└─sda28:20199G0part├─centos-root253:0050G0lvm/├─centos-swap253:102G0lvm[SWAP]└─centos- 查看详情

关于linux系统lvm问题

...srsda4=/home安装系统完成后进入系统可以对以上分区进行LVM操作么,包括创建PV、VG、LV、调整大小等?该操作是否会破坏原有数据?如果不可以,是否意味着只能对新建的分区进行LVM操作,或者利用光盘引导然后对其进行LVM操作?... 查看详情

lvm逻辑卷vg卷组丢失故障处理

...,多个物理卷添加创建为一个卷组(VG),然后在卷组的基础上创建逻辑卷(LVM),进而在逻辑卷上去创建文件系统,这种在硬盘或分区和文件系统之下的磁盘管理机制大大提高了对磁盘管理的灵活性,也是当前企业Linux环境下... 查看详情

centos6.9之lvm创建,扩容等常用操作

    在系统安装时候大多情况下有可能因为考虑不周,导致服务器空间不足问题,这时候如果没有lvm逻辑卷管理工具的话,往往就是查找服务器大文件删除之,或者应用迁移。但如果有了lvm逻辑卷管理,只需要新增... 查看详情