命令

  1. 缩小PV空间到120G,即PV上的vg00已将缩小到120G
  2. pvresize --setphysicalvolumesize 120g /dev/sda2

背景

  1. 机器上有一块900G本地的本地磁盘,安装系统时将900G的空间全部扩到了一个VG卷组中,即vg00,并创建了多个LV逻辑卷,LV逻辑卷占用了vg00卷组120G的空间,即卷组vg00还剩770G左右的空闲空间;此种文件系统格式不符合应用的规范标准,标准的文件系统规范为创建一个120G的卷组Vg00,使用Vg00卷组创建系统必要的LV逻辑卷,而剩下的770G空间新建卷组Vg01。为了满足应用需求,现将900G盘上的vg00空间缩小为120G,然后新建vg01使用剩下的770G空间。在不影响系统正常的情况下实现PV/VG的缩小。由于LV占用了120GVG,即将VG空间缩小到120G方可最大化利用vg00卷组,为了达到缩小Vg00的需求,通过缩小PV来强制缩小Vg空间。

操作流程

现有文件系统

  1. [root@sishb00302 ~]# vgs
  2. VG #PV #LV #SN Attr VSize VFree
  3. vg00 1 6 0 wz--n- 837.84g 721.84g
  4. [root@sishb00302 ~]# lvs
  5. LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
  6. crashvol vg00 -wi-ao---- 32.00g
  7. homevol vg00 -wi-ao---- 2.00g
  8. rootvol vg00 -wi-ao---- 20.00g
  9. swapvol vg00 -wi-ao---- 32.00g
  10. tmpvol vg00 -wi-ao---- 10.00g
  11. varvol vg00 -wi-ao---- 20.00g
  12. [root@sishb00302 ~]# fdisk /dev/sda
  13. Welcome to fdisk (util-linux 2.23.2).
  14. Changes will remain in memory only, until you decide to write them.
  15. Be careful before using the write command.
  16. Command (m for help): p
  17. Disk /dev/sda: 900.2 GB, 900151926784 bytes, 1758109232 sectors
  18. Units = sectors of 1 * 512 = 512 bytes
  19. Sector size (logical/physical): 512 bytes / 512 bytes
  20. I/O size (minimum/optimal): 262144 bytes / 262144 bytes
  21. Disk label type: dos
  22. Disk identifier: 0x000cd03d
  23. Device Boot Start End Blocks Id System
  24. /dev/sda1 * 2048 1026047 512000 83 Linux
  25. /dev/sda2 1026048 1758107647 878540800 8e Linux LVM

减小PV

  1. [root@sishb00302 ~]# pvresize --setphysicalvolumesize 120g /dev/sda2
  2. Physical volume "/dev/sda2" changed
  3. 1 physical volume(s) resized / 0 physical volume(s) not resized
  4. [root@sishb00302 ~]# vgs
  5. VG #PV #LV #SN Attr VSize VFree
  6. vg00 1 6 0 wz--n- 120.00g 4.00g
  7. [root@sishb00302 ~]# pvs
  8. PV VG Fmt Attr PSize PFree
  9. /dev/sda2 vg00 lvm2 a-- 120.00g 4.00g

删除原有的900G的/dev/sda2分区,新建/dev/sda2分区为120G,剩余空间为/dev/sda3分区

  1. [root@sishb00302 ~]# fdisk /dev/sda
  2. Welcome to fdisk (util-linux 2.23.2).
  3. Changes will remain in memory only, until you decide to write them.
  4. Be careful before using the write command.
  5. Command (m for help): p
  6. Disk /dev/sda: 900.2 GB, 900151926784 bytes, 1758109232 sectors
  7. Units = sectors of 1 * 512 = 512 bytes
  8. Sector size (logical/physical): 512 bytes / 512 bytes
  9. I/O size (minimum/optimal): 262144 bytes / 262144 bytes
  10. Disk label type: dos
  11. Disk identifier: 0x000cd03d
  12. Device Boot Start End Blocks Id System
  13. /dev/sda1 * 2048 1026047 512000 83 Linux
  14. /dev/sda2 1026048 1758107647 878540800 8e Linux LVM
  15. Command (m for help): d
  16. Partition number (1,2, default 2):
  17. Partition 2 is deleted
  18. Command (m for help): n
  19. Partition type:
  20. p primary (1 primary, 0 extended, 3 free)
  21. e extended
  22. Select (default p):
  23. Using default response p
  24. Partition number (2-4, default 2):
  25. First sector (1026048-1758109231, default 1026048):
  26. Using default value 1026048
  27. Last sector, +sectors or +size{K,M,G} (1026048-1758109231, default 1758109231): +120G
  28. Partition 2 of type Linux and of size 120 GiB is set
  29. Command (m for help): t
  30. Partition number (1,2, default 2):
  31. Hex code (type L to list all codes): 8e
  32. Changed type of partition 'Linux' to 'Linux LVM'
  33. Command (m for help): n
  34. Partition type:
  35. p primary (2 primary, 0 extended, 2 free)
  36. e extended
  37. Select (default p):
  38. Using default response p
  39. Partition number (3,4, default 3):
  40. First sector (252684288-1758109231, default 252684288):
  41. Using default value 252684288
  42. Last sector, +sectors or +size{K,M,G} (252684288-1758109231, default 1758109231):
  43. Using default value 1758109231
  44. Partition 3 of type Linux and of size 717.9 GiB is set
  45. Command (m for help): t
  46. Partition number (1-3, default 3):
  47. Hex code (type L to list all codes): 8e
  48. Changed type of partition 'Linux' to 'Linux LVM'
  49. Command (m for help): w
  50. The partition table has been altered!
  51. Calling ioctl() to re-read partition table.
  52. WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
  53. The kernel still uses the old table. The new table will be used at
  54. the next reboot or after you run partprobe(8) or kpartx(8)
  55. Syncing disks.

移除/dev/vg00/crashvol文件系统

  1. [root@sishb00302 ~]# umount /var/crash/
  2. [root@sishb00302 ~]# lvremove /dev/vg00/crashvol
  3. Do you really want to remove active logical volume vg00/crashvol? [y/n]: y
  4. Logical volume "crashvol" successfully removed
  5. [root@sishb00302 ~]# lvs
  6. LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
  7. homevol vg00 -wi-ao---- 2.00g
  8. rootvol vg00 -wi-ao---- 20.00g
  9. swapvol vg00 -wi-ao---- 32.00g
  10. tmpvol vg00 -wi-ao---- 10.00g
  11. varvol vg00 -wi-ao---- 20.00g
  12. [root@sishb00302 ~]# vgs
  13. VG #PV #LV #SN Attr VSize VFree
  14. vg00 1 5 0 wz--n- 120.00g 36.00g

/dev/vg00/varvol逻辑卷在线扩容

  1. [root@sishb00302 ~]# lvextend -L +30g /dev/vg00/varvol -r
  2. Size of logical volume vg00/varvol changed from 20.00 GiB (5120 extents) to 50.00 GiB (12800 extents).
  3. Logical volume vg00/varvol successfully resized.
  4. resize2fs 1.42.9 (28-Dec-2013)
  5. Filesystem at /dev/mapper/vg00-varvol is mounted on /var; on-line resizing required
  6. old_desc_blocks = 3, new_desc_blocks = 7
  7. The filesystem on /dev/mapper/vg00-varvol is now 13107200 blocks long.
  8. [root@sishb00302 ~]# lvs
  9. LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
  10. homevol vg00 -wi-ao---- 2.00g
  11. rootvol vg00 -wi-ao---- 20.00g
  12. swapvol vg00 -wi-ao---- 32.00g
  13. tmpvol vg00 -wi-ao---- 10.00g
  14. varvol vg00 -wi-ao---- 50.00g

修改fatab文件

  1. 修改前
  2. [root@sishb00302 ~]# cat /etc/fstab
  3. #
  4. # /etc/fstab
  5. # Created by anaconda on Tue Mar 6 11:44:46 2018
  6. #
  7. # Accessible filesystems, by reference, are maintained under '/dev/disk'
  8. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
  9. #
  10. /dev/mapper/vg00-rootvol / ext4 defaults 1 1
  11. UUID=c04bb69b-1380-4c31-b4f4-9bfacb5d9063 /boot ext4 defaults 1 2
  12. /dev/mapper/vg00-homevol /home ext4 defaults 1 2
  13. /dev/mapper/vg00-tmpvol /tmp ext4 defaults 1 2
  14. /dev/mapper/vg00-varvol /var ext4 defaults 1 2
  15. /dev/mapper/vg00-crashvol /var/crash ext4 defaults 1 2
  16. /dev/mapper/vg00-swapvol swap swap defaults 0 0
  17. 修改后
  18. [root@sishb00302 ~]# cat /etc/fstab
  19. #
  20. # /etc/fstab
  21. # Created by anaconda on Tue Mar 6 11:44:46 2018
  22. #
  23. # Accessible filesystems, by reference, are maintained under '/dev/disk'
  24. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
  25. #
  26. /dev/mapper/vg00-rootvol / ext4 defaults 1 1
  27. UUID=c04bb69b-1380-4c31-b4f4-9bfacb5d9063 /boot ext4 defaults 1 2
  28. /dev/mapper/vg00-homevol /home ext4 defaults 1 2
  29. /dev/mapper/vg00-tmpvol /tmp ext4 defaults 1 2
  30. /dev/mapper/vg00-varvol /var ext4 defaults 1 2
  31. /dev/mapper/vg00-swapvol swap swap defaults 0 0

关机重启系统,从而释放/Idev/sda3分区的空间

空间释放后,再次创建vg01卷组

  1. [root@sishb00302 ~]# lvs
  2. LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
  3. homevol vg00 -wi-ao---- 2.00g
  4. rootvol vg00 -wi-ao---- 20.00g
  5. swapvol vg00 -wi-ao---- 32.00g
  6. tmpvol vg00 -wi-ao---- 10.00g
  7. varvol vg00 -wi-ao---- 50.00g
  8. [root@sishb00302 ~]# vgcreate /dev/vg01 /dev/sda3
  9. Physical volume "/dev/sda3" successfully created.
  10. Volume group "vg01" successfully created
  11. [root@sishb00302 ~]# vgs
  12. VG #PV #LV #SN Attr VSize VFree
  13. vg00 1 5 0 wz--n- 120.00g 6.00g
  14. vg01 1 0 0 wz--n- 717.84g 717.84g
  15. [root@sishb00302 ~]# lvs
  16. LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
  17. homevol vg00 -wi-ao---- 2.00g
  18. rootvol vg00 -wi-ao---- 20.00g
  19. swapvol vg00 -wi-ao---- 32.00g
  20. tmpvol vg00 -wi-ao---- 10.00g
  21. varvol vg00 -wi-ao---- 50.00g

最终实现了vg00文件系统从900G减小到了120G,并新建了vg01卷组

重做LVM文件系统之减小PV的更多相关文章

  1. Linux下动态调整LVM文件系统大小

    LINUX下可以通过LVM动态调整一个已挂载的文件系统大小 LV可以根据需求增大或减小,但是LV改变大小以后,在LV中的文件系统也需要相应的改变大小.这个概念非常重要,如果没有相应的调整LV中文件系统 ...

  2. LVM增大和减小ext4、xfs分区

    可以对ext4调整分区大小,能自动识别要增大还是减小 lvresize -L 300M -r /dev/vg/lvol0 原文地址http://www.361way.com/lvm-xfs-ext4/ ...

  3. linux磁盘限额和进阶文件系统的管理 quota RAID LVM

    概念: Quota 的一般用途: 针对 WWW server ,例如:每个人的网页空间的容量限制! 针对 mail server,例如:每个人的邮件空间限制. 针对 file server,例如:每个 ...

  4. 第8天【文件系统挂载、ext文件系统及read命令、Linux RAID、lvm应用】

    文件系统挂载与管理工具(01)_recv 文件系统管理: 将额外文件系统与根文件系统某现存的目录建立关联关系,进而使得此目录作为其他文件访问入口的行成为挂载: 解除此关联关系的过程 吧设备关联挂载点: ...

  5. LVM : 扩展文件系统的容量

    如果发现文件系统的容量不足了,可以通过 LVM 轻松的进行扩展(当然也可以进行缩减操作).本文将紧接前文中的 demo 详细的介绍扩展文件系统的操作过程.说明:本文的演示环境为 ubuntu 16.0 ...

  6. 一张图让你学会LVM

    导读 随着科技的进步,人们不知不觉的就进入了大数据的时代,数据的不断增加我们发现我们的磁盘越来越不够用了,接下来就是令人头疼的事情--加硬盘,数据的备份与还原.LVM就是Linux下专门针对我们数据的 ...

  7. Redhat 平台下 LVM 管理说明

    Redhat 平台下  LVM 管理说明 LVM 是 Logical Volume Manager(逻辑卷管理器)的简写,它为主机提供了更高层次的磁盘存储管理能力.LVM 可以帮助系统管理员为应用与用 ...

  8. LVM基础详细说明及动态扩容lvm逻辑卷的操作记录

    LVM概念:---------------------------------------------------------------------------------------------- ...

  9. LVM常规操作记录梳理(扩容/缩容/快照等)

    基本介绍Linux用户安装Linux 操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间.随着 Linux的逻辑盘卷管理功能的出现,这些问题都迎刃而解, l ...

随机推荐

  1. Java操作Redis工具类

    依赖 jar 包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis< ...

  2. CentOS6.5下载地址

    http://linux.xitongxz.net:808/201603/CentOS-6.5-x86_64-bin-DVD1.iso

  3. 漫谈 Clustering (3): Gaussian Mixture Model

    上一次我们谈到了用 k-means 进行聚类的方法,这次我们来说一下另一个很流行的算法:Gaussian Mixture Model (GMM).事实上,GMM 和 k-means 很像,不过 GMM ...

  4. 多线程:InterlockedIncrement

    1.InterlockedIncrement保护多线程中操作的整数. #include <stdio.h> #include <windows.h> volatile long ...

  5. 闭包 -------JavaScript

    本文摘要:http://www.liaoxuefeng.com/ 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个对Array的求和.通常情况下,求和的 ...

  6. C# StreamWriter对像

    用FileWriter来随机读取文件是个好主意,而用StreamWriter可以直接把字符串写入文件中,它处理重要的转换和向FileStream对像写入工作.创建StreamWriter有很多方法: ...

  7. jquery的ajax请求

    加载页面内容,如果不加选择器,会加载整个页面内容 加选择器会获取选择器内容 例如: <script> //可以获取json格式的文件 $.ajax({ type:"get&quo ...

  8. k8s的pv和pvc简述

    pvc:资源需要指定:1.accessMode:访问模型:对象列表:    ReadWriteOnce – the volume can be mounted as read-write by a s ...

  9. 火狐IE event和target的兼容

    一.event对象 IE 中可以直接使用 window.event 对象,而 FF 中则不可以,解决方法之一如下: var theEvent = window.event || arguments.c ...

  10. INNODB insert query end state

    innodb_flush_log_at_trx_commit=2 innodb_flush_method=O_DIRECT (for non-windows machine) innodb_buffe ...