8.5、管理文件系统之五(逻辑卷管理)

逻辑卷管理

逻辑卷管理分布

Linux中的LVM

快照

条带化

镜像

使用Linux LVM

定义物理卷

创建卷组

创建逻辑卷

创建文件系统

修改LVM

1、逻辑卷管理布局:
逻辑卷管理器( logical volume manager, LVM)可以动态的添加存储空间。
逻辑卷管理的核心在于如何处理安装在系统上的硬盘分区。在逻辑管理的世界里,硬盘分区称为物理卷****( physical volume, PV)。每个物理卷都会映射到硬盘上特定的物理分区。
多个物理卷集中在一起可以形成一个卷组( volume group, GV)。逻辑卷管理系统将卷组视为一个物理硬盘,但事实上卷组可能是由分布在多个物理硬盘上的多个物理分区组成的。卷组提供了一个创建逻辑分区的平台,而这些逻辑分区则包含了文件系统。
整个结构中的最后一层是逻辑卷( logical volume,LV)。逻辑卷为Linux提供了创建文件系统的分区环境,作用类似于Linux中的物理硬盘分区。Linux系统将逻辑卷视为物理分区。
下图所示是典型的Linux逻辑卷管理环境的基本布局
在这里插入图片描述
图中卷组横跨了三个不同的物理卷。覆盖了5个独立的物理分区。在卷组内部有两个独立的逻辑卷。图中可以看到有一个未使用的分区,如果需要的话,你可以通过LVM把该分区加入到卷组中。

我的理解是:LVM可以将许多个硬盘当作一个硬盘来使用,并且在需要时添加内存或着减少内存都可以。

2、Linux中的LVM

1)快照:有了可读写的快照之后,就可以删除原来的逻辑卷,然后将快照作为代替挂载上。这个功能对能快速故障转移或涉及修改数据的程序实验(如果原先失败需要恢复修改过程的数据)非常有用。
2)条带化:有了条带化以后,可跨多个物理硬盘创建逻辑卷。当Linux LVM将文件写入逻辑卷时,文件中的数据块会被分散到多个硬盘上。每个后继数据块会被写到下一个硬盘上。
3)镜像:当你创建镜像逻辑卷时,LVM会将原始逻辑卷同步到镜像副本下。
3、使用Linux LVM
1)定义物理卷:

1:创建Linux LVVM分区。

[root@CHENDAJIE chendajie]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (25579520-26601471,默认为 25579520):
将使用默认值 25579520
Last 扇区, +扇区 or +size{K,M,G} (25579520-26601471,默认为 26601471):+200M     
分区 5 已设置为 Linux 类型,大小设为 200 MiB

命令(输入 m 获取帮助):t
分区号 (1-5,默认 5):5
Hex 代码(输入 L 列出所有代码):8e			#不清楚的话可以按L显示出分区格式
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。

输入partprobe命令通知系统修改分区表

[root@CHENDAJIE chendajie]# partprobe 
方式打开。

下一步是用分区创建实际的物理卷,可以通过pvcreate命令来完成。

[root@CHENDAJIE chendajie]# pvcreate /dev/sda5
  Physical volume "/dev/sda5" successfully created.

pvcreate定义了用于物理卷的物理分区,它只是简单的将分区标记为Linux LVM系统中的分区。
值得注意的是,只要系统显示出现了 Physical volume "/dev/sda5" successfully created.就没问题。
此外,你还可以使用pvdisplay 命令查看

[root@CHENDAJIE chendajie]# pvdisplay /dev/sda5
  "/dev/sda5" is a new physical volume of "200.00 MiB"
  --- NEW Physical volume ---
  PV Name               /dev/sda5
  VG Name               
  PV Size               200.00 MiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               D8TAQl-MpEV-Hayd-Ta5E-xcQ5-Dv3X-T99ffQ

pvdisplay命令显示此时/dev/sad4已经被标注为物理卷了,注意,此时VG Name内容为空,因为物理卷还不属于某个卷组。

2:创建卷组
从命令行创建卷组时,使用的命令是:vgcreate命令。

[root@CHENDAJIE chendajie]# vgcreate Voll /dev/sda5
  Volume group "Voll" successfully created

如果你想查看新创建的卷组的细节,可以使用vgdisplay命令

[root@CHENDAJIE chendajie]# vgdisplay Voll
  --- Volume group ---
  VG Name               Voll
  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               196.00 MiB
  PE Size               4.00 MiB
  Total PE              49
  Alloc PE / Size       0 / 0   
  Free  PE / Size       49 / 196.00 MiB
  VG UUID               2qUFSu-yQ6l-UCn1-kVhr-5OZS-QKqG-OLc2S1

此时我创建了一个名为Voll的卷组,创建一个或多个卷组后,就可以创建逻辑卷了。

3:创建逻辑卷
Linux系统使用逻辑卷来模拟物理分区,并在其中保存文件系统。Linux系统会像处理物理分区一样处理逻辑卷,允许定义逻辑卷中的文件系统,然后将文件系统挂载到虚拟目录上。

lvcreate命令参数如下:
lvcreate
	-c 	#指定快照逻辑卷的单位大小
	-C	#设置或重置连续分配策略
	-i		#指定条带数
	-T		#指定每个条带的大小
	-l		#指定分配给新逻辑卷的逻辑区段数,或者要用的逻辑区段的百分比
	-L		#指定分配给新逻辑卷的硬盘大小
	-m    #创建逻辑卷镜像
	-M	#让设备号一直有效
	-n		#指定新逻辑卷的名称
	-p		#为逻辑卷设置读/写权限
	-r		#设置预读扇区数
	-R	#指定将镜像分成多大的区
	-s		#创建快照逻辑卷
	-Z		#将新逻辑卷的前1KB数据设置为零

创建逻辑卷:

[root@CHENDAJIE chendajie]# lvcreate -l 100%FREE -n lvtest Voll
  Logical volume "lvtest" created

查看创建的逻辑卷的细节:lvdisplay

[root@CHENDAJIE chendajie]# lvcreate -l 100%FREE -n lvtest Voll
  Logical volume "lvtest" created.
[root@CHENDAJIE chendajie]# lvdisplay Voll
  --- Logical volume ---
  LV Path                /dev/Voll/lvtest
  LV Name                lvtest
  VG Name                Voll
  LV UUID                0Cg19i-eSqv-b4nV-vp0w-leOz-jhKA-FZe00h
  LV Write Access        read/write
  LV Creation host, time CHENDAJIE.cn, 2019-09-27 17:43:16 +0800
  LV Status              available
  # open                 0
  LV Size                196.00 MiB
  Current LE             49
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

-你可以使用-l选项来按可用空间的百分比来指定这个大小,或者使用-L选项以字节、千字节(KB)、兆字节(MB)或GB来指定实际的大小。-n选项允许你为逻辑卷指定一个名称(本例中称作vtest)

4:创建文件系统
因为我的文件系统时XFS格式,所以此处我使用的命令是mkfs.xfs。

[root@CHENDAJIE chendajie]# mkfs.xfs /dev/Voll/lvtest
meta-data=/dev/Voll/lvtest       isize=512    agcount=4, agsize=12544 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=50176, 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

创建文件系统之后,用mount命令将这个卷挂载到虚拟目录中,你需要用特殊的路径来标识逻辑卷。

[root@CHENDAJIE ~]# mount /dev/Voll/lvtest /media/my_partition/
[root@CHENDAJIE ~]# cd /media/my_partition/
[root@CHENDAJIE my_partition]# ls -al
总用量 0
drwxr-xr-x  2 root root  6 9月  27 17:52 .
drwxr-xr-x. 3 root root 26 9月  27 17:55 ..

路径中使用了卷组名和逻辑卷名,而不是物理分区路径。文件被挂载以后,就可以访问虚拟目录终的这块新区域了。
5:修改LVM
Linux LVM命令
vgchange #激活和禁用卷组
vgremove #删除卷组
vgextend #将物理卷加到卷组中
vgreduce #从卷组中删除物理卷
lvextend #增加逻辑卷的大小
lvreduce #减小逻辑卷的大小

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值