Linux我用 LinuxLinux学习之路

LVM学习_逻辑卷管理

2019-05-24  本文已影响13人  皮皮大

Linux 逻辑卷管理LVM


什么是 LVM

逻辑分区的创建顺序:物理分区 > 物理卷 > 卷组 > 逻辑卷 > 挂载


分区

硬盘的分区机制主要分为两种:MBR和GPT

MBR

  1. 每块硬盘都只有一个主引导扇区,0号磁头的第一个扇区,大小为512字节。主引导扇区包含MBR(主引导记录,446字节),DPT(分区表,64字节),MN(结束标志,2个字节,是AA和55)。BIOS读取MBR的时候总是最后检查这两个结束标志。
  2. 硬盘为分区列表保留了64个字节的存储空间,每个分区的对象占据16个字节。主引导分区也叫主分区,能够存储4个分区的数据。
  3. 一块硬盘最多划分4个主分区。windows系统一般需要安装在这个分区中,最多有4个。
  1. 扩展分区也是主分区的一种,不同之处在于可以划分为无数个逻辑分区,且无法格式化。
  2. 扩展分区只能有一个,然后细分为逻辑分区。在MBR硬盘中,分区号为1-4是主分区或者扩展分区,最多一个。
  1. 逻辑分区的编号只能从5开始。逻辑分区利用链表进行链接,如果E盘中的信息丢掉,那么操作系统将找不到F盘。
  2. 逻辑分区是由扩展分区是由连续切割出来的分区。
    MBR=446bytes程序代码+64bytes分区表+2bytes标志位,其中分区表中每16bytes识别一个分区,一共可以识别4个(主分区+扩展分区)

总结:分区方式:确保至少一个主分区,主分区最多4个,扩展分区最多1个,二者的编号只能从1-4;逻辑分区的文件名编号只能从5开始:

1.png 2.png

GPT


LVM 工作原理

LVM 优点

  1. 灵活的容量:当使用逻辑卷,文件系统能够扩展到多个磁盘上,能够将多个磁盘或者磁盘分区成单一的逻辑卷;
  2. 存储池的伸缩性强:通过命令的形式来扩大或缩小逻辑卷大小,不必重新格式化分区或者磁盘设备;
  3. 设备命令方便:用户能够根据适合自身的方式进行设备命名;
  4. 数据再分配:数据能够在磁盘在线的情况下进行移动和分配;
  5. 卷快照:使用逻辑卷获得设备快照,用来一致性备份或者测试数据更新效果而不影响真实数据。
  6. 逻辑卷的大小可以动态管理,不会丢失现有数据,提高磁盘管理的灵活性。
  7. ......

LVM术语

系统的存储设备,存储系统最低的存储单元,如:/dev/sda,/dev/hda1

磁盘分区或从逻辑上和磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,包含有和LVM相关的管理参数。

LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。能在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上能建立文件系统(比如/home或/usr等)。

一个线性逻辑卷聚合多个物理卷成为一个逻辑卷。比如,如果你有两个60GB硬盘,你能生成120GB的逻辑卷.

每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是能被LVM寻址的最小单元。PE的大小是可设置的,默认为4MB。

逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

关系图如下:


image.png

安装LVM 管理工具

  1. 检查系统中是否安装了LVM管理工具
rpm -qa|grep lvm
  1. 如果没有安装,使用yum方式安装
yum install lvm*
  1. 再次检查,如下显示则正确安装
rpm -qa|grep lvm

lvm2-libs-2.02.180-10.el7_6.3.x86_64
llvm-private-6.0.1-2.el7.x86_64
lvm2-2.02.180-10.el7_6.3.x86_64
mesa-private-llvm-3.9.1-3.el7.x86_64

LVM实现过程


Linux分区及逻辑卷操作

创建磁盘阵列分区

使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是相同的,差别仅仅是LVM的分区类型为8e

1、使用root账户登录

su - root

2、检查磁盘阵列的分区信息,通过 fdisk -l 查看

fdisk -l            # 查看磁盘阵列的分区信息

3、格式化磁盘

fdisk /dev/sdc              # 选中未分区的磁盘,添加新的分区
Command (m for help): m     # m查看分区命令帮助
Command action
   a   toggle a bootable flag
   ......(省略)
   x   extra functionality (experts only)
   
Command (m for help): n    # 创建新的分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p      # 选择p(primary)创建主分区 
Partition number (1-4, default 1): 1    # 分区编号,主分区从1开始
First sector (2048-35643391, default 2048):   # 柱面起止位置,直接默认值
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-35643391, default 35643391): 
Using default value 35643391
Partition 1 of type Linux and of size 17 GiB is set

Command (m for help): t    # 设置分区的系统id号
Selected partition 1
Hex code (type L to list all codes): 8e   # 主分区id为8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help):w     # 将分区信息写入分区表,保存并退出fdisk命令
The partition table has been altered!
......(省略)
Syncing disks.

4、 重启系统显示磁盘阵列分区信息

fdisk -l   # 查看分区信息

Device Boot      Start         End      Blocks   Id  System
/dev/sdc1        2048     35643391    17820672   8e  Linux LVM

创建物理卷

5、创建及查看物理卷PV

利用pvcrea命令将添加到卷组的所有分区或磁盘创建为物理卷。

pvcreate /dev/sdc1    # 创建物理卷
pvcreate /dev/sdc2
pvcreate /dev/sdc3

pvdisplay             # 查看物理卷
pvs/pvscan            # 查看简略信息
pvremove /etc/sdc1    # 删除物理卷(不执行命令)

创建卷组及扩容

6、把分区创建成一个卷组VG

vgcreate vg1 /dev/sdc1 /dev/sdc2 /dev/sdc3  # vg1 是创建的卷组名设备称
vgdisplay vg1            # 查看卷组
vgs/vgs                  # 查看简略信息 
vgchange -a y vg1        # 激活逻辑卷
vgremove  vg1            # 删除卷组
vgextend vg1 /dev/sdc1   # 通过物理磁盘sdc扩容
pvresize /dev/md         # 通过raid设备间接扩容

创建逻辑卷

7、创建逻辑卷LV

例如:从vg1中划分一个100M,名字是lv1的卷组

lvcreate -L 100M -n lv1 vg1  # 创建逻辑卷
lvextend -L +1G /dev/vg1/lv1 # LV扩容,增加1G容量
resize2fs /dev/vg1/lv1       # 文件系统扩容

umount /dev/vg1/lv           # 删除需先卸载
lvremove /dev/vg1/lv1        # 删除逻辑卷

-L :指定创建的LV大小;

-n:LV的名称;

-l:创建LV的PE数量


格式化并挂载

8、格式化并挂载

mkfs.ext4 /dev/vg1/lv1      # 格式化
mount /dev/vg1/lv1 /mnt/    # 挂载 /mnt/为挂载目录
df -h                       # 查看分区 
df -TH                      # 查看实际的磁盘容量

逻辑卷创建的具体流程如下图:

上一篇 下一篇

猜你喜欢

热点阅读