(一) 在VM中加一个15G的磁盘
创新互联公司2013年成立,是专业互联网技术服务公司,拥有项目成都做网站、网站建设、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元泸县做网站,已为上家服务,为泸县各地企业和个人服务,联系电话:18982081108
重启后#fdisk –l可以看到新的磁盘已经认出来了。
Disk /dev/sdb: 16.1 GB, 16106127360 bytes
............................
Disk /dev/sdb doesn't contain a valid partition table
(二)创建物理卷(PV)
#pvcreate /dev/sdb
查看系统PV的情况:
[root@localhost ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2 //原有硬盘上的PV
VG Name VolGroup
PV Size 7.51 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1922
Free PE 0
Allocated PE 1922
PV UUID SGH1dY-4tp2-Nr1a-w93Z-V4LA-pQBh-VGzzTH
"/dev/sdb" is a new physical volume of "15.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb
VG Name //新建的PV的VG name是空的,下一步就是把PV加入VG
PV Size 15.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 8TZUlz-YyUp-RBvf-lSzm-7MgG-DSZS-qNqX1Z
查看原VG的情况
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name VolGroup //注意记录此名字,扩容时将新的pv加入指定的名字
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 7.51 GiB
PE Size 4.00 MiB
Total PE 1922
AllocPE / Size 1922 / 7.51 GiB
Free PE / Size 0 / 0
VG UUID FnUsmX-s284-GeRK-hJNJ-BbIG-Vpe7-OuFZE1
建议看看这本书《Linux就该这么学》
(三)#扩展卷组,将/dev/sdb物理卷添加到VolGroup卷组中
[root@localhost ~]# vgextend VolGroup /dev/sdb
Volume group "VolGroup" successfully extended
再查看VG情况,可以看到VG大小变化,空余空间。
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 22.50 GiB
PE Size 4.00 MiB
Total PE 5761
AllocPE / Size 1922 / 7.51 GiB
Free PE / Size 3839 / 15.00 GiB
VG UUID FnUsmX-s284-GeRK-hJNJ-BbIG-Vpe7-OuFZE1
(四)将新的VG空间划入LV(扩容lv_root)
#直接扩展5G给/root分区,不用umount,也不需要重启
# lvextend -L +5G /dev/mapper/VolGroup-lv_root
Extending logical volume lv_root to 10.38 GiB
Logical volume lv_root successfully resized
也可以使用命令
# lvextend -l +30%FREE /dev/mapper/VolGroup-lv_root
此时,如果有df命令查看的话,会发现root空间并没有增加的.还需要执行以下两步操作才可以.
#检查/root逻辑卷
#e2fsck -f /dev/mapper/VolGroup-lv_root
#重新定义分区大小
#resize2fs /dev/mapper/VolGroup-lv_root
查看/目录大小
可以看到/目录已经从原来的5.3G扩容到了11G。
(五)LV卷空间分配(新增lv_oracle)
在VG中还有新增的10G没有用,可以将VG中的空余空间划分为LV,并将新的LV挂载在目录下。
# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 2 2 0 wz--n- 22.50g10.00g
//可以通过#vgs命令查看vg信息统计,可以看到VFree还有10G。
将VG空余的空间化分为LV
#lvcreate -L 10G -n lv_oracle VolGroup
图四
//少了一点点空间…
//可以用-l 分,它是按pv块数来分的。一个pv默认是4M,可是从vgdisplay中去查vg中还剩多少pv以及总数是多少。
//查到剩余2559个PE,于是执行
# lvcreate -l 2559 -n lv_oracle VolGroup
Logical volume "lv_oracle" created
提示创建成功后,用vgs和lvs命令分别查看。
(五)挂载LV到目录下
接下来就是要把lv_oracle挂到/oracle,目录下
#cd /
#mkdir oracle
#chmod 777 /oracle
创建/oracle目录并修改权限
# vi /etc/fstab
可以看到目前挂载分区的情况
//我们可以参照/的分区把oracle的加上去。加入这行:
/dev/mapper/VolGroup-lv_oracle /oracle ext4 defaults 0 0
然后把lv_oracle格式化成ext4
#mkfs.ext4 /dev/mapper/VolGroup-lv_oracle
将lv_oracle mount到目录/oracle上
# mount /dev/mapper/VolGroup-lv_oracle /oracle之后查看一下分区情况
可以重启系统检查一下是否正常。
#df –h
挂载正常,可以收工了。
思路:因为做了系统盘本身做了 lvm ,所以只需要将新磁盘加到现有的 lv 上去即可,具体的思路是: PV-VG-LV- 文件系统使用(挂载到某个目录)
PV (physical volume) 即物理卷,就是物理磁盘,可以通过 lsblk / fdisk -l 查看操作系统有几块硬盘
VG (volume group) 即卷组,就是一组物理磁盘的组合,里面可以有一块硬盘也可以有多块硬盘
LV (logical volume) 即逻辑卷,就是在 VG (指定的物理磁盘组)里面划分出来的
可以说成是 PV 就是硬盘,而 VG 就是管理硬盘的操作系统,而 LV 就是操作系统分出来的各个分区 。
此时 /dev/mapper/vg0-data 使用率已经超过 90%
查看新加盘 vdc
查看vgname
用 pvcreate /dev/vdb 命令将 /dev/vdb 磁盘转换为物理卷(PV)
查看系统pv卷
使用 vgextend 命令将 /dev/vdb 加入到 centos 这个 vg 卷组中,也就是把两个物理卷放到一个 vg 卷组里统一管理
再次查看 vg 卷组的信息,观察 Free PE/Size 的变化
命令直接扩容对应的 LV 分区,这里我直接用的 data 分区的路径 /dev/mapper/vg0-data,猜测用 lv 的名字也可以,lv 的名字可以使用 lvdisplay 命令查询, +100%FREE 的意思是把剩下的空间全部分配,也可以写成 “+120G -n”
从下面可以发现,我给 /dev/mapper/vg0-data 分区增加的 400G 空间并没有加上,是因为需要刷新一下
使用 xfs_growfs 命令刷新分区的空间,可以看到新加的 400G 磁盘已经添加到 /dev/mapper/vg0-data 分区了
这是 Linux 中 LVM(逻辑卷管理)的完整初学者指南。
在本教程中,您将了解 LVM 的概念、它的组件以及为什么要使用它。
我不会仅限于理论上的解释,我还将展示在 Linux 中创建和管理 LVM 的动手示例。
简而言之,我将为您提供在现实世界中开始使用 LVM 所需的所有必要信息。
LVM 代表逻辑卷管理。这是管理存储系统的另一种方法,而不是传统的基于分区的方法。在 LVM 中,您无需创建分区,而是创建逻辑卷,然后您可以像挂载磁盘分区一样轻松地将这些卷挂载到文件系统中。
LVM 包含三个主要组件:
尽管该列表由三个部分组成,但其中只有两个是分区系统的直接对应部分,下表记录了这一点。
物理卷没有任何直接对应物,但我很快就会谈到这一点。
LVM 的主要优点是调整卷或卷组的大小非常容易。它抽象出了所有丑陋的部分(分区、原始磁盘),并为我们留下了一个中央存储池可供使用。
如果您曾经经历过分区大小调整的恐惧,那么您会想要使用 LVM。
这篇文章不仅仅是理论。在此过程中,我将展示实际的命令示例,学习某些东西的最佳方法是亲身实践。为此,我建议您使用虚拟机。
为了帮助你,我已经准备了一个简单的 Vagrantfile,你可以用它来用 VirtualBox 启动一个非常轻量级的虚拟机。此虚拟机具有三个额外的磁盘,您和我可以将它们用于下面的命令示例。
在文件系统的某处创建一个目录,并将以下内容保存在该文件中,名为Vagrantfile.
或者,如果您愿意,可以使用wget或curl从我的 gist 下载文件。
确保你安装了Vagrant和VirtualBox。
一旦 Vagrantfile 就位,将环境变量设置VAGRANT_EXPERIMENTAL为disks.
最后,使用以下命令启动虚拟机(确保您与 Vagrantfile 位于同一目录中):
机器运行后,您可以使用vagrant sshSSH 连接到它并运行本文中的示例命令。
完成后请记住vagrant destroy从与 Vagrantfile 相同的目录运行。
在您可以使用任何命令之前,您需要安装该lvm2软件包。这应该预装在大多数现代发行版中,尤其是基于 Ubuntu 的发行版中。但是,在继续之前,我不得不提到这一点。要安装lvm2,请查阅您的发行版的文档。
对于这个动手演练,我构建了一个具有 40G 根存储(不重要)和三个大小为 5G 的外部磁盘的虚拟机。这些磁盘的大小是任意的。
如您所见,我将使用的设备sdc是sdd和sde。
还记得我告诉过你 LVM 包含三个主要组件吗?
是时候一一见他们了。
关于 LVM,您首先需要了解的是物理卷。物理卷是用于实现抽象即逻辑卷的原材料或构建块。简单来说,物理卷是 LVM 系统的逻辑单元。
物理卷可以是任何东西,原始磁盘或磁盘分区。创建和初始化物理卷是一回事。两者都意味着您只是在为进一步的操作准备构建块(即分区、磁盘)。这将在瞬间变得更加清晰。
实用程序:pv所有管理物理卷的实用程序都以P hysical Volume的字母开头。例如pvcreate, pvchange,pvs等pvdisplay。
您可以使用原始未分区磁盘或分区本身来创建物理卷。
正如我之前提到的,我的虚拟机连接了三个外部驱动器,让我们从/dev/sdc.
我们使用pvcreate命令来创建物理卷。只需将设备名称传递给它即可。
你应该看到这样的东西:-
接下来我将/dev/sdd分成相等的部分。使用任何工具cfdisk,,,等parted,fdisk有很多工具可以完成这项工作。
您现在可以在一个步骤中从这两个分区中快速创建另外两个物理卷,同时将这两个设备传递给pvcreate。
看一看:-
您可以使用三个命令来获取可用物理卷的列表pvscan,pvs和pvdisplay。您通常不需要向这些命令传递任何内容。
pvscan:-
pvs:-
pvdisplay:-
正如您所看到的,除了列出物理卷之外,这些命令还为您提供了大量有关这些卷的其他信息。
pvremove您可以使用该命令删除物理卷。就像pvcreate,只需将设备(初始化为物理卷)传递给pvremove命令。
为了演示,我将从/dev/sdd2列表中删除。
输出应与此相同:-
现在列出物理卷sudo pvs
/dev/sdd2不再在这里。
卷组是物理卷的集合。它是 LVM 中的下一个抽象级别。卷组是结合了多个原始存储设备的存储容量的存储池。
实用程序:所有卷组实用程序名称都以 开头vg,代表卷组,例如、等。vgcreatevgsvgrename
卷组是使用该vgcreate命令创建的。的第一个参数vgcreate是您要为该卷组指定的名称,其余的是要支持存储池的物理卷的列表。
例子:-
列出卷组类似于列出物理卷,您可以使用具有不同详细级别的不同命令vgdisplay、vgscan和vgs。
我个人更喜欢vgs命令,sudo vgs
您可以使用以下命令列出连接到特定卷组的所有物理卷:-
例子:-
您还可以获得物理卷的计数。
例子:-
扩展卷组意味着向卷组添加额外的物理卷。为此,vgextend使用该命令。语法很简单:-
让我们将lvm_tutorial音量扩大/dev/sdd2.
专注于输出:-
在物理卷部分,我们最终将其/dev/sdd2作为物理卷删除,但必须将分区或原始磁盘初始化为物理卷,否则 LVM 将无法将其作为卷组的一部分进行管理。所以在将它添加到卷组之前vgextend做好准备。/dev/sdd2
现在列出附加到此卷组的物理卷,以确保安全。
输出:-
/dev/sdd2现在按预期在列表中。
就像扩展一个卷组意味着添加另一个物理卷一样,减少它意味着删除一个或多个物理卷。
我们使用vgreduce命令来执行此操作。一般语法如下:-
让我们删除物理卷/dev/sdc和/dev/sdd1.
例子:-
再次列出物理卷。
输出:-
那两个物理卷不见了。
现在,为了本文的其余部分,将这两个物理卷添加回来。
vgremove您可以使用该命令删除逻辑卷。
现在不要运行此命令,否则您必须重新创建卷组。如果您想对其进行测试,请在本文的最后运行它。
这是您将主要使用的内容。逻辑卷就像一个分区,但它不是位于原始磁盘之上,而是位于卷组之上。你可以,
在本节中,您将学习,
实用程序 :所有卷组实用程序名称都以 开头lv,代表逻辑卷。例如, ,等等, ,等等lvcreatelvslvreducevgcreatevgsvgrename
lvcreate使用该命令创建逻辑卷。常用的语法如下所示,
在虚拟机上运行以下命令:
示例输出:
正如我之前所说,您可以将文件系统放在逻辑卷上,也可以将其挂载到文件系统的任何位置。
/dev/ / 创建后,您可以在路径中找到逻辑卷。例如,在我们的例子中,音量将在 /dev/lvm_tutorial/lv1 .
现在您可以像使用任何分区一样使用它。用ext4格式化,
将它安装在当前目录结构中的某个位置,例如/mnt,
您可以使用命令扩展逻辑卷lvextend并使用命令减小其大小lvreduce。或者,您可以使用单个命令lvresize来完成这两项任务。
首先让我们看看卷组中是否还有剩余空间。
输出:-
根据输出,我还有一些空间,所以让我们将卷大小增加 2GB。
请记住,逻辑卷仍安装在/mnt.
使用以下命令调整卷大小:
一般语法是这样的:
后面的符号 + 或 --L取决于您是尝试增加音量还是分别减小音量。
卷大小增加后,文件系统也必须调整大小。对于 ext4,要使用的命令是resize2fs.
输出:
减少逻辑卷是一项稍微复杂的任务,我不会在本文中讨论这个问题。我将把这个卷的大小减少 1GB。
lvremove您可以使用该命令删除逻辑卷。命令语法如下:-
在虚拟机上运行此命令:-
输出:-
在逻辑卷、物理卷和卷组上还有许多其他操作可行,但不可能将所有这些都写到一篇文章中。
我/dev/sde在虚拟机中为您多留了一个磁盘,使用它,练习本文中的一些命令,创建一个新的卷组,扩展一个现有的卷组,只是练习。
我希望这篇文章对你有所帮助,如果你想在以后看到更多关于这方面的内容,请在下面的评论部分告诉我。
1.关闭虚拟机,调整磁盘容量大小。
2.开启虚拟机,查看磁盘分区信息。
3.创建新分区
4.重新读取分区
5.创建物理卷
6.查看卷组名称,以及卷组使用情况
7.将物理卷扩展到卷组
8.查看当前逻辑卷的空间状态
9.将卷组中的空闲空间扩展到根分区逻辑卷
10.执行
11.查看扩展之后磁盘使用情况
列出各分区使用情况
可以看见 /dev/mapper/centos-root 已经使用了 92% ,我们准备为它扩容
创建新分区
先看一下现有磁盘情况:
已经可以看到新添加的磁盘 /dev/sdb
对新磁盘进行分区
在 fdisk 的交互模式中,依次输入:
这样就把整个磁盘分成了一个区
再看一下现有磁盘情况
已经多出了一个新分区
扩展根目录
将新分区用于扩展 /root
先看一下卷分组
可以看到当前卷分组名为 "centos"
为之前新增的分区创建物理卷:
查看结果:
已经看到新创建的 200G 大小的物理卷
扩展卷分组 "centos"是vgdisplay 命令查到的卷分组名
提示成功扩展
下面查看一下逻辑卷:
可以看到 /dev/centos/root目前的LV Size是35.62 G
下面扩展逻辑卷 /dev/centos/root
注:+199G是我们新增加的分区大小
扩展后,还要执行一步:
将文件系统扩大
因为安装CentOS用的xfs分区,所以使用命令xfs_growfs扩展文件系统大小。否则的话使用resize2fs命令
查看结果:
/root已经扩充到235G
背景:由于最近要做环境迁移,需要在新的服务器搭建环境,看了下新的云服务器顿时感觉泪流满面,文件目录太小,无法满足需求;
fdisk -l 查看了一下磁盘情况,发现磁盘没有完全分配,数据盘也没有挂载(这个就不讲了)
输入lsblk进行磁盘分配查看,发现vda还有260G没有分配,这样就不用在vdb磁盘上分出来一块了,直接把剩下的进行分区;
现在开始正式步骤
1,磁盘分区:输入fdisk /dev/vda 进入分区,执行以下步骤
2,再次输入lsblk,发现不显示vda3
3,reboot重启,再次lsblk查看,vda3已经出现
4,输入pvs 查看
5,将新分区vda3创建pv ,输入pvcreate /dev/vda3
6,查看vg ,输入vgs
7,输入vgdisplay或lvdisplay查看vgName,然后扩容名称为centos的vg,输入vgextend centos /dev/vda3
8,查看lv,输入lvs
9,扩容根目录lv,输入 lvextend -L +165G /dev/mapper/centos-root (之所这样是想着留着些空间后续可以分配到其他目录)或者
lvextend -L +100%FREE /dev/mapper/centos-root(扩容所有剩余空间)
10,查看lsblk,发现扩容完成
11,输入xfs_growfs /dev/mapper/centos-root 在线自动扩展文件系统到最大的可用大小
如果使用ext4文件系统 resize2fs /dev/mapper/centos-root
12,进行重启完成操作