大家好,欢迎来到IT知识分享网。
1、LVM基本概念
LVM: Logical Volume Manager(逻辑卷管理),Linux环境下对磁盘分区进行管理的一种机制。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。
2、LVM基本组成
2.1、物理存储介质(PhysicalStorageMedia)
指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。
2.2、物理卷(Physical Volume,PV)
指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
2.3、卷组(Volume Group,VG)
类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。
2.4、逻辑卷(Logical Volume,LV)
类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。
2.5、物理块(Physical Extent,PE)
PE是物理卷PV的基本划分单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。
2.6、逻辑块(Logical Extent,LE)
逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
3、LVM优点
LVM通常用于装备大量磁盘的系统,但它同样适于仅有一、两块硬盘的小系统。
3.1、小系统使用LVM的益处
- 硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间。
- 文件系统建立在逻辑卷上,而逻辑卷可根据需要改变大小(在卷组容量范围内)以满足要求。
- 文件系统建立在LVM上,可以跨分区,方便使用。
3.2、大系统使用LVM的益处
4、磁盘挂载
给虚拟机增加磁盘,这里以添加500G举例
4.1、查看磁盘信息
# 查看文件系统情况 df -h fdisk -l
图中Disk /dev/vdb为新添加的磁盘
4.2、磁盘分区
4.2.1、划分小于2TB的分区——–可以使用fdisk和parted命令来划分。
# 对指定磁盘进行初始化操作 fdisk /dev/vdb
继续输入“t”修改类型,如果不知道类型的16进制码,可以输入“L”查看,图中可看到Linux LVM的16进制编码为“8e”
输入16进制编码“8e”,将类型修改为LinuxLVM,Linux与LinuxLVM区别在于LVM可以动态调整分区大小
此时输入w保存退出
这个时候再输入fdisk -l,就可以看见创建的分区了。
4.2.2、划分大于2TB的分区——–只能使用parted命令来划分。
# 使用parted对vdc进行分区(这里以新添加vdc 4TB举例) parted /dev/vdc
# 打印分区信息,查看分区设置是否正确 print
# 标志位GPT分区格式,设置分区类型为GPT mklabel gpt
# 建立主分区 mkpart primary 0KB 100%
# 输入print继续查看信息 print
# 退出 quit
4.3、创建PV(物理卷):
pvcreate /dev/vdb1
# 查看当前物理卷情况 pvdisplay pvs
4.4、创建 VG(卷组)
图中 PV Name /dev/vda2 为系统物理卷并且在VG uos里,现在创建的新物理卷名字为/dev/vdb1但还没有分配VG所以接下来创建VG(卷组)。
vgcreate vg_data /dev/vdb1 # 输入vgcreate vg_data /dev/vdb1,意思是vgcreate vg名称 需要加入的PV # vg名称这里使用的是vg_你要挂载的目录,例如,我需要挂载/data目录下则为vg_data
可以输入vgdisplay或者vgs查看卷组情况:
可以看到有两个VG,vg_data是自己创建,并且包含一个PV,说明操作成功,但是如果需要挂在到目录上使用还需要使用LV(逻辑卷)
4.5、创建LV(逻辑卷)
lvcreate -l +100%FREE -n lv_data vg_data # lvcreate –n lv_名称 –l +100%FREE 表示将vg_data空间全部新建到lv_data上,后面加上所在的VG名称,便创建成功了。
4.6、格式化LV
# 接下来对LV进行格式化,格式化成需要的格式 这里以xfs演示 mkfs.xfs /dev/vg_data/lv_data # mkfs.需要的格式 需要格式化的LV位置
4.7、挂载
在格式化成功后需要挂载到指定目录,先创建目录 /data并挂载LV到/data目录,语法为 mount 指定的LV 需要挂载的目录
mkdir /data mount /dev/vg_data/lv_data /data/
在挂载继续查看文件系统情况输入:df –h 下图显示vg_data中的lv_data已经成功挂载到 /data 目录下
4.8、自动挂载
/dev/mapper/vg_data-lv_data /data xfs defaults 0 0
5、磁盘扩容
5.1、初始化磁盘创建PV(磁盘分区已完成)
以扩容VG uos下的根目录扩容500G为例(详见挂载部分)
# 初始化,创建PV pvcreate /dev/vdb1
5.2、PV加入VG
再次使用查看已有VG:vgs
已经成功将PV加入VG uos
5.3、扩容LV
# 这里是将 FREE 中所有的剩余空间全部使用扩容到 /dev/mapper/uos-root 根目录下 # 可以通过命令 df -h 查看挂载路径,或者在 /etc/fstab 目录下查看 lvextend -L +100%FREE /dev/mapper/uos-root # 或者可以使用如下命令扩容大小 lvextend -L +200G /dev/mapper/uos-root # 或者可以使用如下命令缩小容量 lvreduce -L 80G /dev/mapper/uos-root
5.4、格式化LV
xfs_growfs /dev/mapper/uos-root 注: resize2fs命令 针对的是ext2、ext3、ext4文件系统 xfs_growfs命令 针对的是xfs文件系统
# 查看磁盘扩容情况 df -h lsblk
6、磁盘卸载
# 停掉所有服务 # 检查/data目录下运行的进程并kill fuser -mv /data/ kill -9 81943 kill -9
# 卸载磁盘 umount /data/ umount /dev/vg_data/lv_data
# 删除lv lvremove /dev/vg_data/lv_data
# 删除分区 fdisk /dev/vdb
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/113276.html





































