【VMware环境下Linux磁盘空间(LVM)扩容方法】
VMware环境下Linux磁盘空间(LVM)扩容方法
- 引言
- 环境
- 目标
- 步骤
- 检查磁盘
- VMware扩展磁盘空间
- 创建分区
- 配置LVM
引言
最近在安装Oracle ASM的过程中,解压文件被迫终止,提示可用空间不足。下面简单描述磁盘扩容的步骤。
环境
- 环境:VMware Workstation 16 PRO下的虚拟机
- 系统:Oracle Linux Server 7.9 (Redhat 7系列可参考)
- 内核:Linux 5.4.17-2102.201.3.el7uek.x86_64
- 文件系统类型:LVM
[root@oracle19c-asm ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 40G 0 disk
sdc 8:32 0 40G 0 disk
sda 8:0 0 20G 0 disk
├─sda2 8:2 0 19G 0 part
│ ├─ol-swap 252:1 0 2G 0 lvm [SWAP]
│ └─ol-root 252:0 0 17G 0 lvm / # 根目录挂载点为LVM
└─sda1 8:1 0 1G 0 part /boot
目标
安装系统时分配磁盘空间共20G,采用默认分区配置,根目录分到19G空间。
现将磁盘扩容至30G,可用空间全部分配给根目录。
[root@oracle19c-asm ~]# df -H
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 11M 2.0G 1% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/mapper/ol-root 19G 18G 416M 98% / # 根目录空间不足
/dev/sda1 1.1G 245M 819M 23% /boot
tmpfs 383M 37k 383M 1% /run/user/0
Server.x86_64
LVM是 Logical Volume Manager(逻辑卷管理)的简写,LVM将若干个磁盘或者磁盘分区连接为一个整块的卷组,形成一个存储池。管理员可以在卷组上任意创建逻辑卷,并进一步在逻辑卷上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。
步骤
检查磁盘
用 root 用户登录,使用 df -H 检查磁盘使用情况,如上图所示,根目录使用了98%了,急需扩容。
使用lsblk检查所有磁盘情况,以及挂载类型。
sdb和sdc为新磁盘,大小为40G,理论上可用此空间去扩容根目录,因后期需要另作它用,所以本次实验不使用sdb和sdc,而是直接扩容sda。
检查根目录挂载类型为lvm。
VMware扩展磁盘空间
- 关闭虚拟机
- VMware扩展磁盘空间
因为是先操作后截图,导致图中硬盘原始大小为30G,请忽略该细节问题。 - 开启虚拟机
- 检查扩容情况
[root@oracle19c-asm ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 40G 0 disk
sdc 8:32 0 40G 0 disk
sda 8:0 0 30G 0 disk # 由原来的20G变为扩容后的30G
├─sda2 8:2 0 19G 0 part
│ ├─ol-swap 252:1 0 2G 0 lvm [SWAP]
│ └─ol-root 252:0 0 17G 0 lvm /
└─sda1 8:1 0 1G 0 part /boot
此时sda磁盘总容量为30G,说明扩容成功。
创建分区
- 如上图所示,sda共30G,其中sda1和sda2共20G,还有10G未显示。
- 查看磁盘分区类型,使用命令 prarted /dev/xxx print
[root@oracle19c-asm ~]# parted /dev/sda print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 32.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: Number Start End Size Type File system Flags1 1049kB 1075MB 1074MB primary xfs boot2 1075MB 21.5GB 20.4GB primary lvm
其中Partition Table: msdos显示我们用的MBR分区,后续我们使用fdisk去操作。如果是gpt,则为GPT分区,则应该使用gdisk分区。这个细节问题很多人都没提,主义不要搞错,否则会导致分区失败。
- 使用命令 fdisk -l 查看磁盘情况
[root@oracle19c-asm ~]# fdisk -lDisk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000d3163Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVMDisk /dev/sdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/sdc: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/mapper/ol-root: 18.2 GB, 18249416704 bytes, 35643392 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/mapper/ol-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
为便于全面理解,我尽可能多贴代码,对排版上造成的影响,还请大家理解。
关注sda:sda1和sda2共约21G(1048576 + 19921920),而sda总大小32.2G,因此可以判断该磁盘有剩余空间,接下来的流程会使用到该剩余空间。
也会有人问我们分配的不是总大小30G,而为啥到这个界面就是32.2G了,这主要是因为两种计算方式不一致,程序按照1024M=1G计算,而计算机按照1000M=1G,因此会产生一定误差,比如生活中常见的U盘,实际容量会小于标注容量。
关于sdb和sdc,没有分区,所以不显示Device等信息。
- 将未分配的磁盘空间划分为新区,由前面内容可判断应该使用 fdisk 命令。
[root@oracle19c-asm ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.Command (m for help): n # n代表新建分区,m可以列出帮助文档
Partition type:p primary (2 primary, 0 extended, 2 free)e extended
Select (default p): p # 选择P,新建主分区
Partition number (3,4, default 3): # 编号为3,默认即可
First sector (41943040-62914559, default 41943040): # 开始扇区 默认即可
Using default value 41943040
Last sector, +sectors or +size{K,M,G} (41943040-62914559, default 62914559): # 结束扇区,可根据提示调整,我默认分配整个剩余扇区,直接回车
Using default value 62914559
Partition 3 of type Linux and of size 10 GiB is setCommand (m for help): #然后输入w代表保存,q代表退出
- 检查分区情况
[root@oracle19c-asm ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 40G 0 disk
sdc 8:32 0 40G 0 disk
sda 8:0 0 30G 0 disk
├─sda2 8:2 0 19G 0 part
│ ├─ol-swap 252:1 0 2G 0 lvm [SWAP]
│ └─ol-root 252:0 0 17G 0 lvm /
├─sda3 8:3 0 10G 0 part # 新增sda3分区
└─sda1 8:1 0 1G 0 part /boot
出现sda3,共10G空间,代表分区成功。
配置LVM
- 创建物理卷
[root@oracle19c-asm ~]# pvcreate /dev/sda3Physical volume "/dev/sda3" successfully created.
- 查看PV和VG的信息
[root@oracle19c-asm ~]# pvdisplay --- Physical volume ---PV Name /dev/sda2 VG Name olPV Size <19.00 GiB / not usable 3.00 MiBAllocatable yes (but full)PE Size 4.00 MiBTotal PE 4863Free PE 0Allocated PE 4863PV UUID P4dWEe-BCvh-WrZg-a0Bc-NYda-p9Pd-bJb13R"/dev/sda3" is a new physical volume of "10.00 GiB"--- NEW Physical volume ---PV Name /dev/sda3VG Name PV Size 10.00 GiBAllocatable NOPE Size 0 Total PE 0Free PE 0Allocated PE 0PV UUID AjbAO2-KDQj-VIIB-s8rJ-Zdwe-dLr1-CDU2D3
[root@oracle19c-asm ~]# vgdisplay --- Volume group ---VG Name ol # 记住VG的名称System ID Format lvm2Metadata Areas 1Metadata Sequence No 3VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 2Max PV 0Cur PV 1Act PV 1VG Size <19.00 GiBPE Size 4.00 MiBTotal PE 4863Alloc PE / Size 4863 / <19.00 GiBFree PE / Size 0 / 0 # VG剩余空间为0VG UUID G9n7aL-bdnz-qeVO-Y3GA-edf4-lUNe-4tI80Z
由图中可以看出卷组的名称为ol,卷组剩余空间为0
- 将创建的物理卷加入到卷组中
[root@oracle19c-asm ~]# vgextend ol /dev/sda3Volume group "ol" successfully extended
- 再次查看卷组信息
[root@oracle19c-asm ~]# vgdisplay --- Volume group ---VG Name olSystem ID Format lvm2Metadata Areas 2Metadata Sequence No 4VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 2Max PV 0Cur PV 2Act PV 2VG Size 28.99 GiBPE Size 4.00 MiBTotal PE 7422Alloc PE / Size 4863 / <19.00 GiBFree PE / Size 2559 / <10.00 GiB # VG剩余10G空间VG UUID G9n7aL-bdnz-qeVO-Y3GA-edf4-lUNe-4tI80Z
卷组剩余空间为10G
- 再次使用 df -H 命令查看磁盘情况
[root@oracle19c-asm ~]# df -H
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 11M 2.0G 1% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/mapper/ol-root 19G 19G 159M 100% / # 此时还未成功扩容
/dev/sda1 1.1G 245M 819M 23% /boot
tmpfs 383M 21k 383M 1% /run/user/0
Server.x86_64
记住根目录所对应的文件系统 /dev/mapper/ol-root
- 扩展逻辑卷大小
[root@oracle19c-asm ol]# lvextend /dev/ol/root /dev/sda3Size of logical volume ol/root changed from <17.00 GiB (4351 extents) to 26.99 GiB (6910 extents).Logical volume ol/root successfully resized.
也可以使用 lvextend /dev/mapper/ol-root /dev/sda3
参考: /dev/mapper/ol-root的意思是说你有一个VG (volume group卷组)叫作ol, 这个ol里面有一个LV叫作root。其实这个/dev/mapper/ol-root文件是一个连接文件,是连接到/dev/dm-0的,你可以用命令ll /dev/mapper/ol-root进行查看。
其实在系统里/dev/ol/root 和 /dev/mapper/ol-root以及/dev/dm-0都是一个东西,都可当作一个分区来对待。
- 检查数据块大小和数量
[root@oracle19c-asm ol]# xfs_growfs /dev/mapper/ol-root
meta-data=/dev/mapper/ol-root isize=256 agcount=4, agsize=1113856 blks= sectsz=512 attr=2, projid32bit=1= crc=0 finobt=0 spinodes=0
data = bsize=4096 blocks=4455424, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 4455424 to 7075840 # 扩容成功
- 最后再使用 df -H 命令
[root@oracle19c-asm ol]# df -H
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 11M 2.0G 1% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/mapper/ol-root 29G 19G 11G 63% / # 扩容成功
/dev/sda1 1.1G 245M 819M 23% /boot
tmpfs 383M 21k 383M 1% /run/user/0
Server.x86_64
自此,根目录成功扩容。
【VMware环境下Linux磁盘空间(LVM)扩容方法】相关推荐
- Linux磁盘空间进行扩容--增大卷组空间
Linux磁盘空间进行扩容 参考博客 http://blog.csdn.net/dingchenxixi/article/details/50986472 http://blog.sina.com.c ...
- linux磁盘空间不足解决方法
原文链接:linux磁盘空间不足解决方法 一个之前运行好好的服务突然挂掉了,可能的原因有两个,一是磁盘满了,二是内存满了. 这里只介绍磁盘空间不足的解决办法 1.首先确定是否是磁盘空间不足 输入命令: ...
- linux磁盘管理--LVM扩容
Logical Volume Manager 简介 制作LVM逻辑卷 LVM逻辑卷扩容 简介 概念: LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上.文件系统之下的一个逻 ...
- 解决linux磁盘空间不足的方法
1.首先确定是否是磁盘空间不足 输入命令:df –h 查看磁盘信息 很明显:Filesystem下的挂载点 /dev/vda1 下的50G容量已经耗尽. 这时最简单的办法就是找到大且无用的文件并删除, ...
- Linux磁盘空间爆满怎么办?定时文件清理脚本配置实现
在Linux系统上跑任务会遇到系统磁盘空间爆满的情况,表现出来的现象是程序运行报错,或执行缓慢.记录下Linux磁盘空间占用的查看方法和文件清理脚本定时触发配置的实现. 一.Linux磁盘空间占用分析 ...
- linux磁盘扩空间,Linux磁盘空间扩容(LVM)
Linux磁盘空间扩容(lvm) 随着系统的运行时间增长,业务数据的增长,原有磁盘的空间会存在空间不足情况,导致系统不能正常运行,或者系统管理员磁盘没有完全划完,根据使用者的需求自行划分.那么怎么才能 ...
- VMware虚拟机Linux增加磁盘空间的扩容操作
转载自点击打开链接 用VMwareware虚拟机安装的Red Hat Enterprise Linux系统剩余空间不足,造成软件无法正常安装.如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置 ...
- linux lvm添加磁盘,Linux下添加磁盘创建lvm分区
shell> fdisk /dev/xvdb #### 选择磁盘 Command (m for help): m #### 帮助 Command action a toggle a bootab ...
- linux 移动磁盘空间,如何将Linux下移动磁盘空间?
如何将/home下的磁盘空间移动到/下面? 操作: 1.查看磁盘空间情况 [root@compute home]# df -h Filesystem Size Used AvA ...
最新文章
- 使用Vue动态生成form表单的实例代码
- ivew 封装删除 对话框
- 2007年度最具投资价值100强网站揭晓——博客园榜上有名
- ScrollView 分割屏幕效果
- Rust 社区求变,PHP 大旗不倒?
- Spring MVC+Ant+Tomcat+Eclipse最简单的demo
- 计蒜客 蒜头君的数轴
- PHP利用分组查询groupby,Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy...
- matlab免疫算法求解配送中心选址问题
- 产品经理学习——Axure常用快捷键
- 使用Android Studio 开发APP入门经验
- 推荐5个4K视频下载网站 (百万优质资源)
- 35款提升工作效率的工具软件
- 苹果视频剪辑计算机配置,视频剪辑后期神器-创作PC黑苹果系统安装与台式电脑配置推荐...
- 电脑如何进入【安全模式】——杀毒访问清理文件很方便
- stata学习笔记|基本知识
- 定积分及其应用知识点总结_高中定积分知识点总结
- fnd_profile.value的用法
- CCS问题:Texas Instruments XDS100v2 USB Emulator_0/C28xx : Target must be connected before loading prog
- 系统架构设计总结—软件架构风格