Linux逻辑卷管理LVM

简介: 目前我们用的物理磁盘有内存限制,当我们把磁盘占满了,如果将文件放在其他磁盘对于以后的维护很是麻烦,单靠物理磁盘是无法解决空间增长的问题的这个时候逻辑卷就起到了很重要的作用,这篇文章的学习目标是,了解逻辑卷的优势特点,学会如何创建逻辑卷并且扩展逻辑卷。

前言


 目前我们用的物理磁盘有内存限制,当我们把磁盘占满了,如果将文件放在其他磁盘对于以后的维护很是麻烦,单靠物理磁盘是无法解决空间增长的问题的这个时候逻辑卷就起到了很重要的作用,这篇文章的学习目标是,了解逻辑卷的优势特点,学会如何创建逻辑卷并且扩展逻辑卷。


一、逻辑卷简介


目的:管理磁盘的一种方式,性质与基本磁盘无异

特点:随意扩张大小,解决了物理磁盘空间有限的问题。

术语:PV:物理卷(Physical   volume)

         VG:卷组(Volume   Group)

         LV:逻辑卷(Logical   Volume)


二、创建逻辑卷


  创建逻辑卷比创建基本分区多了三步:


变成物理卷————>加入卷组————>在卷组中抽出空间,制作逻辑卷


1、准备物理磁盘


5a15f658acad4688b53432b8c28d25b1.png


可以看到我们sdd、sdf、sdg、sdh、sdi都是可以用的物理磁盘,接下来我将以sdd磁盘来做例子。


2、将物理磁盘转换成物理卷-PV


命令:pvcreate   /dev/sdd


402ec15af2544c52b4fe3da7b1f248e7.png


这个时候sdd磁盘已经转换成了物理卷可以通过pvs命令查看


1d76ba4a6ced45a59d5e0747f54937ee.png


pvs表头信息解读:

  1. ● PV:物理卷
  2. ● VG:卷组
  3. ● Fmt:类型
  4. ● Attr:属性
  5. ● PSize:大小
  6. ● PFree:空余空间


可以看到sdd现在是PV物理卷了,因为还没有加入到卷组,所以VG那一列是空的。空余空间5G。

3、创建卷组


命令:vgcreate   卷组名  /dev/sdd


//创建卷组名为vg1并将sdd加入到vg1卷组
[root@localhost ~]# vgcreate  vg1 /dev/sdd
  Volume group "vg1" successfully created
//查看卷组信息
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree 
  centos   1   2   0 wz--n- <19.02g     0 
  vg1      1   0   0 wz--n-  <5.00g <5.00g


vgs表头解读:

  • ● VG:卷组名
  • ● #PV:物理卷数
  • ● #LV:逻辑卷数
  • ● #SN:编号
  • ● Attr:属性
  • ● VSize:大小
  • ● VFree:可用空间


4、创建逻辑卷


命令:lvcreate  -L  逻辑卷空间大小    -n   逻辑卷名    卷组名

-L:跟空间大小

-n:跟逻辑卷名


//创建逻辑卷lv1抽取vg1卷组的空间4G给逻辑卷lv1
[root@localhost ~]# lvcreate -L 4G -n lv1 vg1
  Logical volume "lv1" created.

5、创建文件系统并挂载


命令同划分基本区间

创建文件系统:mkfs.ext4   /dev/卷组名/逻辑卷名

挂载:mount   /dev/卷组名/逻辑卷名     /挂载点


(1)创建文件系统

b1dcfce44691452b82dc5939667fd424.png


(2) 挂载

01493e067c8c4b16afc1ed80d867019f.png


到这,逻辑卷就创建成功了。


三、VG管理及扩容LV


 用逻辑卷的主要原因是因为逻辑卷可以任意大小,接下来就要介绍如何扩容LV逻辑卷的空间。


1、VG管理(扩大VG)


以原来的VG内存用光为前提,这个时候我们需要扩大VG。

命令:vgextend


1)创建PV,将另一块磁盘转换为物理卷(以sdf为例)

b0f47adfa39745068274587f3269934f.png


2)扩展VG,将PV增加到VG中

2c653e3473cc425284bf14ae8bc11716.png


将sdf加入到vg1中,vgs的输出结果可看到vg1中有两个物理卷,一个上面创建逻辑卷,总空间变为了10G,可用空间是6G,到这VG扩展结束了,还差最后的LV扩容就真正的扩大了逻辑卷的空间。


2、LV扩容


 刚刚扩大了VG,现在需要抽取VG的空间到LV中,以达到扩大逻辑卷空间的效果。


(1)lv扩容


命令:lvextend  -L  需要扩展到多大   /dev/抽取卷组名/逻辑卷名


//从vg1中抽取内存到lv1中将lv1的内存扩展到5G,扩大逻辑卷空间
[root@localhost ~]# lvextend -L 5G /dev/vg1/lv1
  Size of logical volume vg1/lv1 changed from 4.00 GiB (1024 extents) to 5.00 GiB (1280 extents).
  Logical volume vg1/lv1 successfully resized.
//查看文件系统当前内存,发现lv1的内存并没有扩大
[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.6M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        18G  4.2G   13G   25% /
/dev/sda1               xfs       997M  172M  826M   18% /boot
tmpfs                   tmpfs      98M   24K   98M    1% /run/user/0
/dev/sr0                iso9660   4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1               ext4      2.0G  6.0M  1.8G    1% /mnt/disk1
/dev/sdb2               ext4      190M  1.6M  175M    1% /mnt/disk2
/dev/sdb5               ext4      190M  1.6M  175M    1% /mnt/disk5
/dev/sdb6               ext4      2.4G  7.3M  2.2G    1% /mnt/disk6
/dev/sdb3               ext4      190M  1.6M  175M    1% /mnt/disk3
/dev/mapper/vg1-lv1     ext4      3.9G   16M  3.6G    1% /mnt/lv1


从查看文件系统当前内存来看,lv1的内存并没有扩大,我们需要进行最后一步FS扩容。


(2)FS扩容


命令:resize2fs     /dev/vg1/lv1


//FS扩容
[root@localhost ~]# resize2fs  /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg1/lv1 is mounted on /mnt/lv1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg1/lv1 is now 1310720 blocks long.
//查看挂载信息,发现lv1的内存变为了5G
[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.6M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        18G  4.2G   13G   25% /
/dev/sda1               xfs       997M  172M  826M   18% /boot
tmpfs                   tmpfs      98M   24K   98M    1% /run/user/0
/dev/sr0                iso9660   4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1               ext4      2.0G  6.0M  1.8G    1% /mnt/disk1
/dev/sdb2               ext4      190M  1.6M  175M    1% /mnt/disk2
/dev/sdb5               ext4      190M  1.6M  175M    1% /mnt/disk5
/dev/sdb6               ext4      2.4G  7.3M  2.2G    1% /mnt/disk6
/dev/sdb3               ext4      190M  1.6M  175M    1% /mnt/disk3
/dev/mapper/vg1-lv1     ext4      4.8G   16M  4.6G    1% /mnt/lv1


这个时候可以看到lv1的内存扩大了。


如果VG中还有空间能够使用,可以直接进行lv扩容步骤进行逻辑卷扩容。


//查看卷组vg信息,发现vg1还有5G可用,这个时候我们可以直接扩容lv
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <19.02g    0 
  vg1      2   1   0 wz--n-   9.99g 4.99g
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <19.02g    0 
  vg1      2   1   0 wz--n-   9.99g 4.99g
//将lv1扩容到8G
[root@localhost ~]# lvextend -L 8G /dev/vg1/lv1
  Size of logical volume vg1/lv1 changed from 5.00 GiB (1280 extents) to 8.00 GiB (2048 extents).
  Logical volume vg1/lv1 successfully resized.
//FS扩容
[root@localhost ~]# resize2fs  /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg1/lv1 is mounted on /mnt/lv1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg1/lv1 is now 2097152 blocks long.
//查看挂载信息发现lv1的内存被扩展到8G
[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.6M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        18G  4.2G   13G   25% /
/dev/sda1               xfs       997M  172M  826M   18% /boot
tmpfs                   tmpfs      98M   24K   98M    1% /run/user/0
/dev/sr0                iso9660   4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1               ext4      2.0G  6.0M  1.8G    1% /mnt/disk1
/dev/sdb2               ext4      190M  1.6M  175M    1% /mnt/disk2
/dev/sdb5               ext4      190M  1.6M  175M    1% /mnt/disk5
/dev/sdb6               ext4      2.4G  7.3M  2.2G    1% /mnt/disk6
/dev/sdb3               ext4      190M  1.6M  175M    1% /mnt/disk3
/dev/mapper/vg1-lv1     ext4      7.8G   18M  7.4G    1% /mnt/lv1


逻辑卷管理到这就结束了,文章所用的挂载全是临时挂载,重启电脑后这些挂载信息都会被清空,但是分区以及分好的逻辑卷都是存在的,永久挂载以后会讲解,为了防止出错导致打不开系统先不介绍永久挂载,临时挂载不影响当前学习。



相关文章
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
39 0
|
1月前
|
存储 Shell Linux
【Shell 命令集合 磁盘维护 】Linux 管理硬盘分区 mpartition命令使用教程
【Shell 命令集合 磁盘维护 】Linux 管理硬盘分区 mpartition命令使用教程
37 1
|
1月前
|
存储 监控 Shell
【Shell 命令集合 磁盘管理 】Linux 管理磁盘配额 quota命令使用教程
【Shell 命令集合 磁盘管理 】Linux 管理磁盘配额 quota命令使用教程
40 0
|
1月前
|
存储 算法 Linux
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
62 5
|
1月前
|
域名解析 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
56 1
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
34 0
|
1月前
|
搜索推荐 Shell Linux
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
38 2
|
1月前
|
存储 监控 Shell
【Shell 命令集合 磁盘管理 】Linux 设置和管理用户或组的磁盘配额限制 edquota命令使用教程
【Shell 命令集合 磁盘管理 】Linux 设置和管理用户或组的磁盘配额限制 edquota命令使用教程
44 0
|
18天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
12天前
|
消息中间件 监控 Linux
Linux进程和计划任务管理
通过这些命令和工具,你可以有效地管理Linux系统中的进程和计划任务,监控系统的运行状态并保持系统的稳定和可靠性。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
103 2