Centos/Linux下调整分区大小(以home和根分区为例)
在安装新系统的时候,有时候没法预估或者说错误的划分了分区大小,常常会导致我们后面的操作出现极大地不方便,比如某个分区分的太小了,导致
软件安装的时候会报安装空间不够,这就很麻烦。在这里我就记录一下错误分区后对home和根分区存储空间大小调整的整个过程!
1.查看我们机器现有的分区状况
注意红色框中的信息,这是我们后面要更改的分区路径。
通过上面我们可以发现根分区和home分区产生极大的不合理性,home分区太大了,所以这里我们将对home分区缩小存储空间并把压缩的存储空间添加到root下面。
2.卸载我们的home分区,并压缩我们的home分区大小
3.这个时候我们重新装载我们的home目录,通过运行结果可以看到我们将home分区压缩到20G
这样对home的压缩并重新装载就完成了,如下图:
4.我们上面的三步将home的块处理好了,但是我们空闲的硬盘并没有添加到root下,所以下面的步骤就是将压缩出来的磁盘空间添加到root下:
这个重新加载和挂载的过程中需要花费一点时间,不过我们也可以在这段时间中不断的查看盘符的大小,这个时候我们会发现root盘符的大小会一点点的增加上来,如下图:
从上图最后的结果我们可以看出我们将home中的空闲盘符压缩出来812G添加到了root下面,这样我们的root空间就瞬间增加了。这样我们的目的就达到了。
空间无损调整实例
情况:
- home:500G
- root:50G
- root分区不够用
思路:把home分区的空间划一部分到root分区
1
2
3
4
5
6
7
8
|
# 设置home分区大小为200G,释放300G空间 $ lvreduce -L 200G /dev/centos/home # 将空闲空间扩展到root分区 $ lvextend -l +100%FREE /dev/centos/root # 使用XFS文件系统自带的命令集增加分区空间 $ xfs_growfs /dev/mapper/centos-root |
实例
situation
挂载在根目录的分区 /dev/mapper/centos-root 爆满,占用100%
1
2
3
4
5
6
7
8
9
10
|
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 50G 19M 100% / devtmpfs 32G 0 32G 0% /dev tmpfs 32G 0 32G 0% /dev/shm tmpfs 32G 2.5G 29G 8% /run tmpfs 32G 0 32G 0% /sys/fs/cgroup /dev/mapper/centos-home 476G 33M 476G 1% /home /dev/sda1 497M 238M 259M 48% /boot tmpfs 6.3G 0 6.3G 0% /run/user/0 |
analyze
挂载在根目录的分区空间太小,只有50G,而服务器 home 目录为非常用目录,挂在了近500G的空间。
思路:从 centos-home 分区划出300G空间到 centos-root 分区。
operation
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
|
$ lvdisplay --- Logical volume --- LV Path /dev/centos/home LV Name home VG Name centos LV UUID 1fAt1E-bQsa-1HXR-MCE2-5VZ1-xzBz-iI1SLv LV Write Access read /write LV Creation host, time localhost, 2016-10-26 17:23:47 +0800 LV Status available # open 0 LV Size 475.70 GiB Current LE 121778 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2 --- Logical volume --- LV Path /dev/centos/root LV Name root VG Name centos LV UUID lD64zY-yc3Z-SZaB-dAjK-03YM-2gM8-pfj4oo LV Write Access read /write LV Creation host, time localhost, 2016-10-26 17:23:48 +0800 LV Status available # open 1 LV Size 50.00 GiB Current LE 12800 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 |
2.减少/home分区空间
1
2
3
4
5
6
7
8
|
# 释放 /dev/centos/home 分区 300G 的空间 # 命令设置 /dev/centos/home 分区 200G空间 $ lvreduce -L 200G /dev/centos/home WARNING: Reducing active logical volume to 200.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 475.70 GiB (121778 extents) to 200.00 GiB (51200 extents). Logical volume centos /home successfully resized. |
3.增加/root分区空间
1
2
3
|
$ lvextend -l +100%FREE /dev/centos/root Size of logical volume centos /root changed from 50.06 GiB (12816 extents) to 325.76 GiB (83394 extents). Logical volume centos /root successfully resized. |
4.扩展XFS文件空间大小
1
2
3
4
5
6
7
8
9
10
11
|
$ xfs_growfs /dev/mapper/centos-root meta-data= /dev/mapper/centos-root isize=256 agcount=4, agsize=3276800 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 spinodes=0 data = bsize=4096 blocks=13107200, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal bsize=4096 blocks=6400, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 13107200 to 85395456 |