Linux下对lvm逻辑卷分区大小的调整(针对xfs和ext4不同文件系统)

当我们在安装系统的时候,由于没有合理分配分区空间,在后续维护过程中,发现有些分区空间不够使用,而有的分区空间却有很多剩余空间。如果这些分区在装系统的时候使用了lvm(前提是这些分区要是lvm逻辑卷分区),那么就可以轻松进行扩容或缩容!不同文件系统类型所对应的创建、检查、调整命令不同,下面就针对xfs和ext2/3/4文件系统的lvm分区空间的扩容和缩容的操作做一记录:
------------------------------------------------------------------------------------------
特别注意的是:
resize2fs命令            针对的是ext2、ext3、ext4文件系统
xfs_growfs命令         针对的是xfs文件系统
------------------------------------------------------------------------------------------

1)ext2/ext3/ext4文件系统的调整命令是resize2fs(增大和减小都支持)


1

2

3

4

5

lvextend -L 120G /dev/mapper/centos-home     //增大至120G

lvextend -L +20G /dev/mapper/centos-home     //增加20G

lvreduce -L 50G /dev/mapper/centos-home      //减小至50G

lvreduce -L -8G /dev/mapper/centos-home      //减小8G

resize2fs /dev/mapper/centos-home            //执行调整

2)xfs文件系统的调整命令是xfs_growfs(只支持增大)


1

2

3

4

5

6

lvextend -L 120G /dev/mapper/centos-home    //增大至120G

lvextend -L +20G /dev/mapper/centos-home    //增加20G

xfs_growfs /dev/mapper/centos-home          //执行调整

就是说:xfs文件系统只支持增大分区空间的情况,不支持减小的情况(切记!!!!!)。

硬要减小的话,只能在减小后将逻辑分区重新通过mkfs.xfs命令重新格式化才能挂载上,这样的话这个逻辑分区上原来的数据就丢失了。如果有重要文件,那就歇菜喽~~~

实例1(当系统上还有空闲空间的时候)


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

1)查看分区空间。如下可知是xfs文件系统(df的-T参数就能看出文件格式)。

[[email protected] ~]# df -hT

文件系统                类型      容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root xfs       200G  2.2G  198G    2% /

devtmpfs                devtmpfs   32G     0   32G    0% /dev

tmpfs                   tmpfs      32G     0   32G    0% /dev/shm

tmpfs                   tmpfs      32G   49M   32G    1% /run

tmpfs                   tmpfs      32G     0   32G    0% /sys/fs/cgroup

/dev/sda1               xfs       197M  139M   59M   71% /boot

tmpfs                   tmpfs     6.3G     0  6.3G    0% /run/user/0

/dev/mapper/centos-home xfs       628G   33M  718G    1% /home

2)使用vgdisplay命令查看系统上的空闲空间

[email protected] ~]# vgdisplay

  --- Volume group ---

  VG Name               centos

  System ID            

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  6

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                3

  Open LV               3

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               930.80 GiB

  PE Size               4.00 MiB

  Total PE              238285

  Alloc PE / Size       212736 / 831.00 GiB

  Free  PE / Size       25549 / 99.80 GiB       //这一项表示目前该系统上还存在99.80G的空闲空间(25549)

  VG UUID               a5hiAh-LB8M-9lRv-Ps1a-z35L-J4fk-sP3KrF

3) 将上面查到的空闲空间中的90G增减到/home分区上

[[email protected] ~]# lvextend -L +90G /dev/mapper/centos-home       //或者使用-l参数(跟PE数量),即lvextend -l +25500 /dev/mapper/centos-home

  Size of logical volume centos/home changed from 628.00 GiB (160768 extents) to 718.00 GiB (183808 extents).

  Logical volume centos/home successfully resized.

[[email protected] ~]# xfs_growfs /dev/mapper/centos-home

meta-data=/dev/mapper/centos-home isize=512    agcount=4, agsize=41156608 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=0 spinodes=0

data     =                       bsize=4096   blocks=164626432, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=1

log      =internal               bsize=4096   blocks=80384, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

data blocks changed from 164626432 to 188219392

4)再次看着系统分区,发现home分区已经增加了90G(这种方式增加后,home分区之前的数据还不会丢失)

[[email protected] ~]# df -h

文件系统                 容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root  200G  2.2G  198G    2% /

devtmpfs                  32G     0   32G    0% /dev

tmpfs                     32G     0   32G    0% /dev/shm

tmpfs                     32G   49M   32G    1% /run

tmpfs                     32G     0   32G    0% /sys/fs/cgroup

/dev/sda1                197M  139M   59M   71% /boot

tmpfs                    6.3G     0  6.3G    0% /run/user/0

/dev/mapper/centos-home  718G   33M  718G    1% /home

虽然xfs文件系统只支持增加,不支持减少。但并不是说在xfs系统文件下不能减小,只是减小后,需要重新格式化才能挂载上。这样原来的数据就丢失了!
实例2: 这种情况只适用于系统刚安装好,逻辑分区内没有什么数据或数据不多且不重要可以删除或拷贝的情况下


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

系统安装好后,发现home分区过大,想从home分区中拿出100G给/分区

[[email protected] ~]# df -hT

文件系统                类型      容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root xfs       205G  2.2G  203G    2% /

devtmpfs                devtmpfs   32G     0   32G    0% /dev

tmpfs                   tmpfs      32G     0   32G    0% /dev/shm

tmpfs                   tmpfs      32G   49M   32G    1% /run

tmpfs                   tmpfs      32G     0   32G    0% /sys/fs/cgroup

/dev/sda1               xfs       197M  139M   59M   71% /boot

tmpfs                   tmpfs     6.3G     0  6.3G    0% /run/user/0

/dev/mapper/centos-home xfs       718G   33M  718G    1% /home

 

[[email protected] ~]# umount /home/

 

[[email protected] ~]# lvreduce -L -100G /dev/mapper/centos-home

  WARNING: Reducing active logical volume to 618.00 GiB.

  THIS MAY DESTROY YOUR DATA (filesystem etc.)

Do you really want to reduce centos/home? [y/n]: y

  Size of logical volume centos/home changed from 718.00 GiB (183808 extents) to 618.00 GiB (158208 extents).

  Logical volume centos/home successfully resized.

 

如下,很显然xfs文件系统不能执行分区减小的调整!

[[email protected] ~]# xfs_growfs /dev/mapper/centos-home

xfs_growfs: /dev/mapper/centos-home is not a mounted XFS filesystem

[[email protected] ~]# mount /dev/mapper/centos-home /home/

mount: /dev/mapper/centos-home:不能读超级块

 

这样,只能通过重新格式化这个分区,格式化后才能再次挂载到home下

[[email protected] ~]# mkfs.xfs /dev/mapper/centos-home -f

meta-data=/dev/mapper/centos-home isize=512    agcount=4, agsize=41156608 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=0, sparse=0

data     =                       bsize=4096   blocks=164626432, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=1

log      =internal log           bsize=4096   blocks=80384, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

 

[[email protected] ~]# mount /dev/mapper/centos-home /home/

 

再次查看分区,发现home分区已经减小了100G,只不过这个分区里之前的数据都没有了。

[[email protected] ~]# df -hT        

文件系统                 类型      容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root xfs       205G  2.2G  203G    2% /

devtmpfs                devtmpfs   32G     0   32G    0% /dev

tmpfs                   tmpfs      32G     0   32G    0% /dev/shm

tmpfs                   tmpfs      32G   49M   32G    1% /run

tmpfs                   tmpfs      32G     0   32G    0% /sys/fs/cgroup

/dev/sda1               xfs       197M  139M   59M   71% /boot

tmpfs                   tmpfs     6.3G     0  6.3G    0% /run/user/0

/dev/mapper/centos-home xfs       618G   73M  578G    1% /home

 

---------------------------------------------------------------------------

上面在重新格式的时候,也可以将这个格式化为ext4格式。

[[email protected] ~]# mkfs.ext4 /dev/mapper/centos-home

[[email protected] ~]# cat /etc/fstab  //将home分区的开机挂载设置里的xfs改为ext4

---------------------------------------------------------------------------

 

然后将上面从home分区拿出的100G放到/分区下

[[email protected] ~]# vgdisplay

  --- Volume group ---

  VG Name               centos

  System ID           

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  9

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                3

  Open LV               3

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               930.80 GiB

  PE Size               4.00 MiB

  Total PE              238285

  Alloc PE / Size       211456 / 826.00 GiB

  Free  PE / Size       26829 / 104.80 GiB

  VG UUID               a5hiAh-LB8M-9lRv-Ps1a-z35L-J4fk-sP3KrF

    

[[email protected] ~]# lvextend -L +100G /dev/mapper/centos-root

  Size of logical volume centos/root changed from 205.00 GiB (52480 extents) to 305.00 GiB (78080 extents).

  Logical volume centos/root successfully resized.

 

[[email protected] ~]# xfs_growfs /dev/mapper/centos-root

meta-data=/dev/mapper/centos-root isize=256    agcount=5, agsize=13107200 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=0        finobt=0 spinodes=0

data     =                       bsize=4096   blocks=53739520, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=0

log      =internal               bsize=4096   blocks=25600, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

data blocks changed from 53739520 to 79953920

 

[[email protected] ~]# df -hT        

文件系统                 类型        容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root xfs       305G  2.2G  203G    2% /

devtmpfs                devtmpfs   32G     0   32G    0% /dev

tmpfs                   tmpfs      32G     0   32G    0% /dev/shm

tmpfs                   tmpfs      32G   49M   32G    1% /run

tmpfs                   tmpfs      32G     0   32G    0% /sys/fs/cgroup

/dev/sda1               xfs       197M  139M   59M   71% /boot

tmpfs                   tmpfs     6.3G     0  6.3G    0% /run/user/0

/dev/mapper/centos-home xfs       618G   73M  578G    1% /hom

----------------------------------------温馨提示--------------------------------------------
若是减小分区空间,减小前必须要先卸载这个分区。如果卸载有问题,解决如下:

[[email protected] ~]# umount /home/
umount: /home: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))

提示无法卸载,则是有进程占用/home,使用如下命令来终止占用进程:
[[email protected] ~]# fuser -m -k /home
/home:
1409 1519ce 1531e 1532e 1533e 1534e 1535e 1536e
1537e 1538e 1539e 1541e 1543e 1544e 1545e 1546e 1547e 1548e
1549e 1550e 1601m

再次卸载home分区就成功了。
[[email protected] ~]# umount /home/

-k 表示自动把霸占home分区的进程kill掉!
如果你不是很明确是否要杀死所有霸占设备的程序,还可以加一个-i 参数,这样每杀死一个程序前,都会询问!(即fuser -m -v -i -k /home)

转载:https://www.cnblogs.com/kevingrace/p/5825963.html

原文地址:https://www.cnblogs.com/useradd/p/10005195.html

时间: 2024-10-10 16:08:04

Linux下对lvm逻辑卷分区大小的调整(针对xfs和ext4不同文件系统)的相关文章

1.4 Linux下对lvm逻辑卷分区大小的调整(针对xfs和ext4不同文件系统)

当我们在安装系统的时候,由于没有合理分配分区空间,在后续维护过程中,发现有些分区空间不够使用,而有的分区空间却有很多剩余空间.如果这些分区在装系统的时候使用了lvm(前提是这些分区要是lvm逻辑卷分区),那么就可以轻松进行扩容或缩容!不同文件系统类型所对应的创建.检查.调整命令不同,下面就针对xfs和ext2/3/4文件系统的lvm分区空间的扩容和缩容的操作做一记录: ----------------------------------------------------------------

Linux中创建LVM逻辑卷并限制磁盘配额

本文重点:关于在Linux中如何建立物理卷.卷组最后生成逻辑卷?如何生成磁盘配额文件,启动磁盘配额,限制和使用磁盘配额. 这里再次说明一下,本人自己手写的Linux原理文档已经上传到我的下载里面地址:Linux原理解释技术文档 所以关于原理在实验里面就不在多说了,不然两天都写不了一篇(压力山大啊). 下面开始首先在虚拟机上添加三块硬盘(建议同样大小,不然就会造成不必要的浪费),添加完成之后需要重启才能生效. 1.添加三块硬盘.大小为5G,点击下面的添加根据引导添加就OK. 2.为各个硬盘创建分区

CentOS6.5下划分lvm逻辑卷

实验环境:公司准备在Internet中搭建邮件服务器,面向全国各地的员工部分VIP客户提供电子邮箱空间 由于数量众多,邮件存储需要大量的空间,空间,考虑到动态扩容的需要,计划增加两块SCSI硬盘并构建LVM逻辑卷(挂载到"/mailbox"目录下)专门用于存放邮件数据 步骤简介:PV→VG→LV→格式化,挂载使用文件系统 ⑴创建物理卷pvcreate使用fdisk命令规划两个分区/dev/sdb2./dev/sdc1,将类型设置为"8e" 添加第二块硬盘/dev/s

linux 磁盘管理+lvm逻辑卷管理

注:linux系统中主分区和扩展分区总共可以有4个,逻辑分区是从5开始. Linux系统中:83(ext3) 82(交换分区) 5(扩展分区) 8E(逻辑卷) b(fat32) 1.查看系统的磁盘以及分区状况 2.查看系统中磁盘的挂载情况以及容量使用情况 3.进入磁盘管理工具 4.P查看磁盘分区 5.N新建,P主分区 6.E新建扩展分区 7.L新建逻辑分区 8.删除一个分区 9.保存分区配置 10.逻辑更改分区格式 11.永久挂载一个磁盘分区 12.格式化分区 Mkfs命令可以格式化ext的,f

Centos中动态扩容lvm逻辑卷的大小

LVM概念:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性.通过LVM系统管

Linux中的Lvm逻辑卷管理

linux用户安装linux操作系统时遇到一个常见的难以解决的问题就是如何正确的评估各分区大小,以分配合适的磁盘空间,普通的磁盘分区方式在逻辑分区划分好之后就无法改变其大小,分区内存不能满足需要的解决方法. 逻辑卷管理Logical Volume Manager 它是linux环境下对磁盘分区进行管理的一种机制.linux用户安装linux操作系统时遇到一个常见的难以解决的问题就是如何正确的评估各分区大小,以分配合适的磁盘空间,普通的磁盘分区方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分

CentOS6、7 LVM逻辑卷分区自动扩容Shell脚本编程思路与实例

应用场景和已知存在的问题: 适用于CentOS6或CentOS7(可能适用于CentOS4或5等早些版本) 根文件系统(被扩展的文件系统)采用LVM进行管理,例如mount命令输出"/dev/mapper/vg_$hostname-lv_root on / type ext4 (rw)"中含有"mapper"关键词 自动扩容根文件系统,如果想扩展其他文件系统,例如有的业务应用数据目录不在根分区中,则需要修改Shell脚本代码中的VG_PATH_TO_EXTEND变量

Linux下挂载LVM遇到卷组同名的解决方法

参考此文解决:http://www.hackbase.com/tech/2011-04-29/63525.html 下面是引用此文的内容: 周末朋友的服务器硬盘出问题了,让IDC的人挂了个IDE硬盘把系统安装好,然后再挂上以前的SATA硬盘,想把数据倒腾出来,结果哥们发现他搞不定,给我打电话求助.我远程上去看了下,发现2块盘系统做的都是LVM分区格式8e,不是ext3的83,难怪他不会挂载,而且还有个问题就是卷组都是默认安装的同一个名字VolGroup00. [[email protected]

新手学习Linux——lvm逻辑卷创建管理

首先把防火墙关掉.iptables -Fiptables -Xiptables -Ziptables -L setenforce 0vi /etc/sysconfig/selinux #修改SELINUX首先添加块3块硬盘,为方便区分把每一块硬盘大小设置不同,分别为5G.6G和7G,硬盘的类型是默认的SCSI. fdisk /dev/sdb #对sdb硬盘进行分区Command (m for help): m #输出帮助依次输入n,p,默认,+2G即可完成.再依照上面的步骤加一个大小为1G的新分