首页 > 其他分享 >磁盘扩容与缩减(lvm逻辑卷)

磁盘扩容与缩减(lvm逻辑卷)

时间:2023-09-26 14:11:06浏览次数:41  
标签:jier01 jier dev 缩减 lvm 磁盘 root localhost

磁盘的动态扩容和缩减

原创 运维家 运维家 2023-09-25 08:02 发表于北京 收录于合集 #磁盘2个 #linux59个

图片

 

主旨

在日常运维过程中,经常会出现磁盘爆满,不足以维持未来业务量,或者磁盘太大,造成资源浪费的情况,这种情况下最好的方式就是采用磁盘的动态扩容和缩减。
LVM是什么
在这里我们推荐使用LVM逻辑卷的方式,为什么使用这个方式呢,这个方式有什么值得推崇的呢,我们在这里不进行一堆原理上的介绍,只需要知道如果我们使用了lvm,就可以动态的控制某个磁盘的大小,而不至于每次都要删除重建磁盘即可。话不多说,下面我们直接进入正文。
名词解释PS:包括但不限于以下三个(因为越多越乱)

PV:物理卷。可以是单独磁盘,也可以是磁盘分区;VG:卷组。是PV的组合,可以看成单独的逻辑磁盘;LV:逻辑分区。相当于物理分区的 /dev/sd*
他们的关系如下图:

图片

环境
一台linux服务器一个新磁盘

检查

输入 fdisk -l 命令,检查下是否有一块磁盘未使用,如下,“/dev/sdb”就是未被使用的磁盘。

[root@localhost ~]# fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x000aa7ff
设备 Boot Start End Blocks Id System/dev/sda1 * 2048 2099199 1048576 83 Linux/dev/sda2 2099200 41943039 19921920 8e Linux LVM
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-root:18.2 GB, 18249416704 字节,35643392 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节
[root@localhost ~]#

划分磁盘分区
PS:是否进行此步骤,根据实际情况进行操作,这里是做实验。
将 /dev/sdb 磁盘划分成sdb1、sdb2、sdb3,每个磁盘3g的空间

PS:如果要做 lvm,不需要额外使用mkfs命令进行格式化

 

[root@localhost ~]# fdisk /dev/sdb  # 开始划分磁盘 /dev/sdb欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。
Device does not contain a recognized partition table使用磁盘标识符 0x6fc1e4e0 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n  # 输入 n 新建磁盘Partition type: p primary (0 primary, 0 extended, 4 free) e extendedSelect (default p):   # 直接回车Using default response p分区号 (1-4,默认 1):# 直接回车起始 扇区 (2048-20971519,默认为 2048):# 直接回车将使用默认值 2048Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+3G  # 分给 3g 的空间 分区 1 已设置为 Linux 类型,大小设为 3 GiB
命令(输入 m 获取帮助):n  # 输入 n 新建磁盘Partition type: p primary (1 primary, 0 extended, 3 free) e extendedSelect (default p): # 直接回车Using default response p分区号 (2-4,默认 2):# 直接回车起始 扇区 (6293504-20971519,默认为 6293504):# 直接回车将使用默认值 6293504Last 扇区, +扇区 or +size{K,M,G} (6293504-20971519,默认为 20971519):+3G # 分给 3g 的空间分区 2 已设置为 Linux 类型,大小设为 3 GiB
命令(输入 m 获取帮助):n # 输入 n 新建磁盘Partition type: p primary (2 primary, 0 extended, 2 free) e extendedSelect (default p): # 直接回车Using default response p分区号 (3,4,默认 3):  # 直接回车起始 扇区 (12584960-20971519,默认为 12584960):# 直接回车将使用默认值 12584960Last 扇区, +扇区 or +size{K,M,G} (12584960-20971519,默认为 20971519):+3G  # 分给 3g 的空间分区 3 已设置为 Linux 类型,大小设为 3 GiB
命令(输入 m 获取帮助):p # 查看分区情况,是否和规划的一样
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x6fc1e4e0
设备 Boot Start End Blocks Id System/dev/sdb1 2048 6293503 3145728 83 Linux/dev/sdb2 6293504 12584959 3145728 83 Linux/dev/sdb3 12584960 18876415 3145728 83 Linux
命令(输入 m 获取帮助):w # 报错退出The partition table has been altered!
Calling ioctl() to re-read partition table.正在同步磁盘。[root@localhost ~]#

创建pv

命令集合:
pvcreate 将物理分区新建为PVpvs/pvscan 查看系统里有pv的磁盘pvdisplay 显示系统上面的pv状态pvremove 删除pv

实操:
[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdb2   # 将 sdb2 和 sdb3 变成pv  Physical volume "/dev/sdb1" successfully created.  Physical volume "/dev/sdb2" successfully created.[root@localhost ~]# pvs  # 查看系统中pv  PV         VG     Fmt  Attr PSize   PFree  /dev/sda2  centos lvm2 a--  <19.00g    0   /dev/sdb1         lvm2 ---    3.00g 3.00g  /dev/sdb2         lvm2 ---    3.00g 3.00g[root@localhost ~]#

 

创建vg

命令集合:

vgcreate 新建vg, -s  后面接 pe 的大小vgextend 扩展vg,就是增加vpvgs/vgscan 查看系统里有 vg 的磁盘vgdisplay 显示系统上面的 vg 状态vgremove 删除vgvgreduce 在vg里面删除pv

 

实操:

[root@localhost ~]# vgcreate jier /dev/sdb1 /dev/sdb2  # 创建一个名为 jier 的vg  Volume group "jier" successfully created[root@localhost ~]# vgs  # 查看是否成功,两个 3g 的,就是6g  VG     #PV #LV #SN Attr   VSize   VFree  centos   1   2   0 wz--n- <19.00g    0   jier     2   0   0 wz--n-   5.99g 5.99g[root@localhost ~]# 

 

创建lv

命令集合:

lvcreate 新建lv,-L指定容量,M,Glvextent 增加容量lvs/lvscan 查看系统里有lv的磁盘lsdisplay 显示系统上面的lv的状态lsremove 删除lvlvreduce 在lv里减少容量

 

实操:

[root@localhost ~]# lvcreate -L 500M -n jier01 jier  # 在 jier 卷组上,新建一个名为 jier01 的lv,且容量为 500M  Logical volume "jier01" created.[root@localhost ~]# lvs  # 查看是否创建成功  LV     VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  root   centos -wi-ao---- <17.00g                                                      swap   centos -wi-ao----   2.00g                                                      jier01 jier   -wi-a----- 500.00m                                                    [root@localhost ~]# mkfs.ext4 /dev/jier/jier01   # 格式化 jier01 ,推荐使用ext4的格式mke2fs 1.42.9 (28-Dec-2013)文件系统标签=OS type: Linux块大小=1024 (log=0)分块大小=1024 (log=0)Stride=0 blocks, Stripe width=0 blocks128016 inodes, 512000 blocks25600 blocks (5.00%) reserved for the super user第一个数据块=1Maximum filesystem blocks=3407872063 block groups8192 blocks per group, 8192 fragments per group2032 inodes per groupSuperblock backups stored on blocks:         8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (8192 blocks): 完成Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]# mkdir /jier01 # 新建目录,此目录为挂载点,名字随意[root@localhost ~]# mount /dev/jier/jier01 /jier01/  # 将jier01挂载到/jier01目录下[root@localhost ~]# df -h # 查看容量文件系统 容量 已用 可用 已用% 挂载点/dev/mapper/centos-root 17G 1.8G 16G 11% /devtmpfs 808M 0 808M 0% /devtmpfs 820M 0 820M 0% /dev/shmtmpfs 820M 9.6M 810M 2% /runtmpfs 820M 0 820M 0% /sys/fs/cgroup/dev/sda1 1014M 130M 885M 13% /boottmpfs 164M 0 164M 0% /run/user/0/dev/mapper/jier-jier01 477M 2.3M 445M 1% /jier01[root@localhost ~]#

 

扩容lv/目录

 

命令集合:

resize2fs 文件系统扩容

实操:
[root@localhost ~]# lvextend -L +200M /dev/jier/jier01   # 磁盘添加200M的空间  Size of logical volume jier/jier01 changed from 500.00 MiB (125 extents) to 700.00 MiB (175 extents).  Logical volume jier/jier01 successfully resized.[root@localhost ~]# resize2fs /dev/jier/jier01   # 文件系统重新加载,此部署必须,如果发现报错了,可以使用xfs_growfs试一下,有可能是你格式化的时候,格式化成为额xfs格式resize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/jier/jier01 is mounted on /jier01; on-line resizing requiredold_desc_blocks = 4, new_desc_blocks = 6The filesystem on /dev/jier/jier01 is now 716800 blocks long.
[root@localhost ~]# df -h  # 查看容量,已经新增了200M的内容文件系统 容量 已用 可用 已用% 挂载点/dev/mapper/centos-root 17G 1.8G 16G 11% /devtmpfs 808M 0 808M 0% /devtmpfs 820M 0 820M 0% /dev/shmtmpfs 820M 9.6M 810M 2% /runtmpfs 820M 0 820M 0% /sys/fs/cgroup/dev/sda1 1014M 130M 885M 13% /boottmpfs 164M 0 164M 0% /run/user/0/dev/mapper/jier-jier01 670M 2.5M 631M 1% /jier01[root@localhost ~]#

扩容vg/卷组

[root@localhost ~]# pvcreate /dev/sdb3  # 将 sdb3 变成pv  Physical volume "/dev/sdb3" successfully created.[root@localhost ~]# vgextend jier /dev/sdb3  # 给 jier 这个卷组,新增一个pv  Volume group "jier" successfully extended[root@localhost ~]# vgs  # 查看容量,由6g变成了9g  VG     #PV #LV #SN Attr   VSize   VFree  centos   1   2   0 wz--n- <19.00g    0   jier     3   1   0 wz--n-  <8.99g 8.30g[root@localhost ~]#

缩减lv/目录
PS:缩减必须卸载磁盘挂载,方可进行操作
命令:umount
[root@localhost ~]# umount /jier01/  # 卸载
[root@localhost ~]# e2fsck -f /dev/jier/jier01   # 检查e2fsck 1.42.9 (28-Dec-2013)第一步: 检查inode,块,和大小第二步: 检查目录结构第3步: 检查目录连接性Pass 4: Checking reference counts第5步: 检查簇概要信息/dev/jier/jier01: 11/178816 files (0.0% non-contiguous), 33345/716800 blocks[root@localhost ~]# resize2fs /dev/jier/jier01 400M  # 文件系统缩减resize2fs 1.42.9 (28-Dec-2013)Resizing the filesystem on /dev/jier/jier01 to 409600 (1k) blocks.The filesystem on /dev/jier/jier01 is now 409600 blocks long.
[root@localhost ~]# lvreduce -L 400M /dev/jier/jier01 # 磁盘缩减 WARNING: Reducing active logical volume to 400.00 MiB. THIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce jier/jier01? [y/n]: y # 输入 y 回车 Size of logical volume jier/jier01 changed from 700.00 MiB (175 extents) to 400.00 MiB (100 extents). Logical volume jier/jier01 successfully resized.[root@localhost ~]# mount /dev/jier/jier01 /jier01/ # 重新进行挂载[root@localhost ~]# df -h # 查看容量文件系统 容量 已用 可用 已用% 挂载点/dev/mapper/centos-root 17G 1.8G 16G 11% /devtmpfs 808M 0 808M 0% /devtmpfs 820M 0 820M 0% /dev/shmtmpfs 820M 9.6M 810M 2% /runtmpfs 820M 0 820M 0% /sys/fs/cgroup/dev/sda1 1014M 130M 885M 13% /boottmpfs 164M 0 164M 0% /run/user/0/dev/mapper/jier-jier01 380M 2.3M 355M 1% /jier01[root@localhost ~]#
至此,磁盘的动态增大和缩减已经全部实现完毕。
如果觉得以上内容对你大有裨益,请关注并分享我的公众号“运维家”。

图片

运维家

赞赏二维码喜欢作者

收录于合集 #磁盘  2个 上一篇磁盘的动态扩容和缩减   阅读 346 运维家   ​ 收藏此内容的人还喜欢   【实用指南】教你如何用命令管理MySQL数据库     我看过的号 运维家 不看的原因   精通Linux系列十三:如何挂载磁盘到linux(磁盘和文件系统)     更AI 不看的原因   定位磁盘性能问题的武器     bisal的个人杂货铺 不看的原因     关注后可发消息         复制搜一搜分享收藏划线    

人划线

 

标签:jier01,jier,dev,缩减,lvm,磁盘,root,localhost
From: https://www.cnblogs.com/cherishthepresent/p/17729962.html

相关文章

  • 欧拉系统、CentOS系统、Linux 系统。。。初始化磁盘,设置动态扩容
    欧拉系统、CentOS系统、Linux系统。。。初始化磁盘,设置动态扩容初始化磁盘,设置动态扩容登录root用户查看磁盘fdisk-l查看磁盘格式化磁盘,将磁盘设置成动态扩容格式fdisk/dev/vdc创建分区fdisk-l查看到/dev/vdc磁盘依次输入np回车回车回车t......
  • Vmware Workstation 16 Pro 创建共享磁盘
    图形界面创建共享磁盘第一台创建共享磁盘首先打开已经安装好系统的虚拟机,点击编辑虚拟机设置,弹出如下窗口:点击添加,选择硬盘,点击下一步:默认选择scsi,点击下一步。选择创建新虚拟磁盘。点击下一步:分配磁盘空间大小,选择立即分配磁盘所有空间,将虚拟磁盘存储为单个文件。命名磁盘名称及......
  • 磁盘占用率100% 的优化方案
    1.禁用不必要的系统服务右键点击此电脑,打开管理打开服务寻找SysMain右键属性=》禁用=》停止=》应用SysMain的作用:当开机后,windows会加载大量的应用程序预加载到内存中,会在后台预加载数据(如果是旧版本windows,服务名称为:SuperFetch或DiagTrack)Windows的search......
  • 应用程序读取磁盘的数据流程
    应用程序请求文件读取:用户态的应用程序发起文件读取请求,通常是通过标准的文件操作函数(例如,在Linux中是read(),在Windows中是ReadFile())系统调用:操作系统内核接收到应用程序的读取请求,这将触发一个系统调用(systemcall)。系统调用是用户态和内核态之间的通信机制,用于执行操......
  • 336_Windows磁盘空间莫名消失?用它,立刻解决!
    这是一篇原发布于2020-02-0215:41:00得益小站的文章,备份在此处。前言随着我们日常的使用,下载各类文件,不知不觉间,电脑空间已经爆满。打开我的电脑,却已发现C盘已变成红色,这时,我们不禁要发出疑问——我的磁盘空间到底去了哪里?利用win10“存储”解决应用和功能1.点击开始——打......
  • 418_RaiDrive—将网盘映射为磁盘
    这是一篇原发布于2020-02-0815:24:00得益小站的文章,备份在此处。前言前日写了篇教程免费申请officeE5开发者订阅,不仅能够激活office365,其中更包含了5T的onedrive空间。但onedrive的Windows客户端默认是同步盘,文件会自动同步到云端,但是此文件也同时占用你电脑的存储,虽可以通过......
  • Windows磁盘空间莫名消失?用它,立刻解决!
    这是一篇原发布于2020年02月02日得益小站的文章,备份在此处。前言随着我们日常的使用,下载各类文件,不知不觉间,电脑空间已经爆满。打开我的电脑,却已发现C盘已变成红色,这时,我们不禁要发出疑问——我的磁盘空间到底去了哪里?利用win10“存储”解决应用和功能1.点击开始——打开设......
  • 磁盘分区
    一:概述磁盘分区对于操作系统而言,每一个分区都相当于一个独立的磁盘,各个分区可以创建不同的文件系统。合理的分区能够保证我们的数据安全。合理的进行数据分区可以有效地保护系统磁盘空间,提高系统的运行速度。二:磁盘分区的两种格式在传统的MBR(MasterBootRecord,主引导记录)中,分区......
  • crash —— 获取系统的磁盘IO统计数据
    crash的dev命令可以获取系统磁盘IO的统计数据。获取所有磁盘的IO统计数据crash>dev-dMAJORGENDISKNAMEREQUEST_QUEUETOTALASYNCSYNC8ffff88de95d51000sdmffff88de94a90000653791776636038ffff88deb2396800sd......
  • 认识磁盘
    一:概述磁盘是计算机的重要组成部分,LInux中的数据几乎都存储在磁盘当中。在系统中添加磁盘,可以更方便管理员备份重要文件、管理用户信息等,避免数据丢失。二:磁盘基础知识磁盘是系统中重要的载体,是计算机的核心部分之一。磁盘的构成包括磁头、磁柱、柱面、扇区,解释如下:磁头:一版情况下......