磁盘 - 使用LVM进行磁盘扩容(fdisk, LVM, pvcreate, lvcreate, parted)
本文的所有操作届在Ubuntu 12.04 LTS上验证成功,其他发行版请自行查阅相关命令。
给某台服务器或者虚拟机VM进行LVM扩容的前提是,这台机器在安装创建的时候开启了LVM功能。
对于服务器来说,需要扩容时,你可能已经准备好了一个新的磁盘,系统检测到为/sdb,而对于云服务器或者虚拟机来说,可能是vm控制器已经将你的虚拟物理磁盘扩容了,只不过你的系统还没有利用到这些空间而已。比如用vmware fusion,点击扩容功能之后进入系统输入fdisk,发现磁盘分区没有变化,但是多出了一块未使用的物理空间。
首先介绍LVM的几个概念:
1. 物理卷Physical volume (PV):可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件(loopback file)。物理卷包括一个特殊的header,其余部分被切割为一块块物理区域(physical extents)。 Think of physical volumes as big building blocks which can be used to build your hard drive.
2. 卷组Volume group (VG):将一组物理卷收集为一个管理单元。Group of physical volumes that are used as storage volume (as one disk). They contain logical volumes. Think of volume groups as hard drives.
3. 逻辑卷Logical volume (LV):虚拟分区,由物理区域(physical extents)组成。A "virtual/logical partition" that resides in a volume group and is composed of physical extents. Think of logical volumes as normal partitions.
4. 物理区域Physical extent (PE):硬盘可供指派给逻辑卷的最小单位(通常为4MB)。A small part of a disk (usually 4MB) that can be assigned to a logical Volume. Think of physical extents as parts of disks that can be allocated to any partition.
02@02-vm:~$ sudo df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/02--vm--vg-root 38057472 3501084 32802424 10% /
udev 1011124 4 1011120 1% /dev
tmpfs 204196 500 203696 1% /run
none 5120 0 5120 0% /run/lock
none 1020968 0 1020968 0% /run/shm
cgroup 1020968 0 1020968 0% /sys/fs/cgroup
/dev/sda1 240972 34482 194049 16% /boot
/dev/loop0 4872572 32928 4839644 1% /srv/node/vdb
输入df可发现,/挂载点使用的设备是/dev/mapper/xxx,并不是传统的/dev/sdax。
输入lvdisplay,显示当前正在使用的logical volume(注意这里目前有两个,一个是文件系统所在的volume,另一个是swap分区使用的volume,当然,我们需要扩容的是第一个):
02@02-vm:~$ sudo lvdisplay
--- Logical volume ---
LV Name /dev/02-vm-vg/root
VG Name 02-vm-vg
LV UUID vC3dCP-ynJq-qwbf-ZwwX-T1ca-tOo6-5FYVNg
LV Write Access read/write
LV Status available
# open 1
LV Size 19.00 GiB
Current LE 9472
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Name /dev/02-vm-vg/swap_1
VG Name 02-vm-vg
LV UUID PT5spg-Ll4p-WAij-g2QB-PSmu-qaIr-gxc6Nf
LV Write Access read/write
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 511
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
输入vgdisplay,显示当前的volume group,注意VG SIZE,这里应该是你当前的可用空间大小,待扩容完毕,这里显示的应该是最终的大小。
02@02-vm:~$ sudo vgdisplay
--- Volume group ---
VG Name 02-vm-vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
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 19.75 GiB
PE Size 4.00 MiB
Total PE 10177
Alloc PE / Size 9983 / 39.00 GiB
Free PE / Size 194 / 776.00 MiB
VG UUID GFrHkW-EZFQ-vuCo-b4Pp-F1Lm-FV8B-NcbMmD
输入pvdisplay,显示当前的physical volume,
02@02-vm:~$ sudo pvdisplay
--- Physical volume ---
PV Name /dev/sda5
VG Name 02-vm-vg
PV Size 19.76 GiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 5058
Free PE 0
Allocated PE 5058
PV UUID RsGi6C-g0lm-SzJ1-9rw4-dMEi-Q633-9wo1Gd
现在开始进行LVM扩容:
1. 首先查看fdisk
$ sudo fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501760 41940991 20719616 5 Extended
/dev/sda5 501760 41940991 20719616 8e Linux LVM
因为这台机器默认开启了LVM,所以目前有一个extended分区和一个LVM分区,并且他们是完全重叠的。
这是因为,LVM分区作为一个虚拟的分区,完全占用了这个extended分区,原理图见下:
因此,现在需要做的就是将extended partition (sda2)扩展到最大,然后创建一个新的LVM logical partition (sda6),用它来填满sda2。
使用parted命令来扩展sd2:进入parted交互模式后,可以使用help xxx来提示帮助。
help resize
resize NUMBER START END resize partition NUMBER and its file system
这里number输入2, start和end参见fdisk的数据(不过parted已经足够智能地将start默认值设置成了sda5的结束,end默认值设置成物理磁盘的末尾)
接着,回到fdisk,使用它创建一个新的logical分区
n(new) -> l(logical);再选择t,更改这个分区的类型id,设置成8e,即LVM,默认创建的类型不是LVM;w,保存退出;重启。
这时候,再查看fdisk,发现已经多了一个sda6了,现在要做的就是将sda6作为一个pv,加入到vg里来,从而能够给lv扩容。(忘了关键词的话请查上文)
sudo pvcreate /dev/sda6
pvdisplay
# vgextend - add physical volumes to a volume group
# 将新的pv加入到原有的vg
sudo vgextend your_vg_name /dev/sda6
vgdisplay,发现free size多了一块。
# lvresize - resize a logical volume
# 扩大当前正在使用的lv,从vg中取剩余空间
最后一步,磁盘扩容完毕了,需要扩容文件系统。目前较新的内核都支持在线扩容了,不需要像以前那样mount umount来回折腾了。
resize2fs [ -fFpPM ] [ -d debug-flags ] [ -S RAID-stride ] device [ size ]
只需要输入device就行了,size参数不填的话,默认使用整个分区的size。
注意这里的device是虚拟设备lv的名称,并不是sdax这样的物理设备了,我的环境下是/dev/02-vm-vg/root
扩容完文件系统后重启,再查看df命令,发现占用量百分比降低了,新的空间生效了。
转载于:https://blog.51cto.com/martin001/1923453
磁盘 - 使用LVM进行磁盘扩容(fdisk, LVM, pvcreate, lvcreate, parted)相关推荐
- linux磁盘扩空间,Linux磁盘空间扩容(LVM)
Linux磁盘空间扩容(lvm) 随着系统的运行时间增长,业务数据的增长,原有磁盘的空间会存在空间不足情况,导致系统不能正常运行,或者系统管理员磁盘没有完全划完,根据使用者的需求自行划分.那么怎么才能 ...
- LVM动态磁盘扩容管理
前: 最近经常有人反映之前由于对Linux的分区不太了解,基本上都是默认,现在公司项目服务器数据库,存储 某一个分区被写满了,不得不重新安装操作系统,在此分享一篇自己的动态扩容心得 简介: LVM是逻 ...
- centos 对已有卷扩容_centos LVM扩容 添加磁盘
#创建物理卷,将新增磁盘加入到物理卷. [root@Template~]# pvcreate /dev/sdb Physical volume"/dev/sdb"successfu ...
- lvm讲解 磁盘故障小案例
2019独角兽企业重金招聘Python工程师标准>>> LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux ...
- Linux之LVM与磁盘配额(quota)详解
什么是LVM? LVM(Logical Volume Manager)逻辑卷管理,是一种将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的 ...
- 【AWSL】之LVM与磁盘配额(PV、VG、LV、mkfs)
序言 这里我主要介绍一些Linux关于磁盘配额的一些问题 LVM与磁盘配额 序言 一.LVM概述 1.LVM的管理命令 2.LVM的操作实例 二.磁盘配额概述 三.磁盘配额管理 总结 一.LVM概述 ...
- LVM逻辑卷 (概述lvm,管理卷组 物理卷 逻辑卷,磁盘配额)
文章目录 管理LVM逻辑卷 前言 lvm简述 pv物理卷 VG卷组 lv逻辑卷 管理LVM pv物理卷管理 pvscan命令--用于扫描系统中的物理卷 pvcreate命令--把整个硬盘转换成物理卷 ...
- Linux LVM与磁盘配额详解
Linux LVM与磁盘配额 一.LVM概述 1.1Logical Volume Manager,逻辑卷管理 1.2LVM机制的基本概念 二.LVM的管理命令 三.LVM操作主要命令步骤 1.关闭主机 ...
- Linux磁盘管理——df、du、磁盘分区、格式化、挂载、LVM
2019独角兽企业重金招聘Python工程师标准>>> Linux磁盘管理 一. df命令 df命令参数功能:检查文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间 ...
最新文章
- xml签名和普通数字签名
- mysql数据库备份报错145_mysql数据库导出时报错mysqldump: Got error: 145的解决方法
- float.equals_Java Float类equals()方法与示例
- (操作系统题目题型总结)第六章:文件管理
- 【java web】java执行预编译Groovy脚本
- java流错误的是什么_Java 流异常的标准处理 | 学步园
- CFileStatus 使用详解
- Snort里如何将一个tcpdump格式的二进制文件读取打印到屏幕上(图文详解)
- 浅谈局部敏感哈希LSH
- 使用PHP自带的ZipArchive的一些问题
- java 身份证地址提取籍贯_二代身份证信息提取方案的选择?
- 为什么今年高考数学又出编程题?
- 2020年国内外值得关注的15家PaaS平台与SaaS厂商!
- centos mysql 1146_MySQL 主从复制 出现1146error,求如何解决?
- 学习MySQL之数据库简介
- 计算机界面没磁盘驱动器,请将磁盘插入驱动器,电脑提示驱动器中没有磁盘怎么办...
- AutoCAD中凸度的概念以及求圆弧的凸度
- 读书笔记系列--VB2005-菜根谭
- 简练软考知识点整理-项目配置审核
- Kubernetes可视化界面及监控安装