您好,欢迎光临中国U网,租用美国服务器香港服务器瑞典服务器等全球各地的服务器。
您现在的位置:首页 > 帮助中心 > 服务器问题 > CentOS Linux如何无损调整分区大小(EXT4文件系统)

CentOS Linux如何无损调整分区大小(EXT4文件系统)

来源:中国U网 日期:2018-01-17 类别:服务器问题 点击:10762
Windows 2008以前,一般都没有什么办法在不重装系统的情况下调整分区,一般都是用像Patition Tool这样的工具来操作,稍不留神还容易出错;Windows 2008系统自己加入了调整分区的功能,相对来说就容易多了。但是一直都没有接触过CentOS Linux系统不重装的情况下调整分区的,今天研究了一下,实现了Linux EXT文件系统上的分区调整。
解决linux系统CentOS下调整home和根分区大小:
 
分区类型:EXT4  (分区类别可以用命令blkid 来查看,输出结果第一行最后就可以看到)
目标:将/dev/mapper/VolGroup-lv_home 缩小到50G,并将剩余的空间添加给/dev/mapper/VolGroup-lv_root
 
1.首先查看磁盘使用情况
[root@localhost /]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       50G  4.2G   43G   9% /
tmpfs                  12G     0   12G   0% /dev/shm
/dev/sda1             477M   40M  413M   9% /boot/dev/mapper/VolGroup-lv_home
                       873G  30M   873G   1% /
 
2、卸载/home
[root@localhost ~]# umount /home
umount /home 如果提示无法卸载,则是有进程占用/home,使用如下命令来终止占用进程:
[root@localhost ~]# fuser -m /home  
 
3、调整分区大小
用lvdisplay显示LVM卷组的元数据信息,可以看到/home分区设备是/dev/VolGroup/lv_home,然后执行下面的命令
[root@localhost ~]# resize2fs /dev/VolGroup/lv_home 50G
resize2fs 1.41.12 (17-May-2010)
Please run 'e2fsck -f /dev/VolGroup/lv_home' first.
 
如果提示运行“e2fsck -f /dev/mapper/VolGroup-lv_home”,则执行相关命令: 
 
[root@localhost ~]# e2fsck -f /dev/VolGroup/lv_home
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/VolGroup/lv_home: 11/118013952 files (0.0% non-contiguous), 7456933/472049664 blocks
 
[root@localhost ~]# 然后重新执行命令: resize2fs /dev/mapper/VolGroup-lv_home 50G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/VolGroup-lv_home to 13107200 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_home is now 13107200 blocks long.
注:resize2fs 为重新设定磁盘大小,只是重新指定一下大小,并不对结果有影响,需要下面lvreduce的配合
 
4、挂载上/home,查看磁盘使用情况
[root@localhost ~]# mount /home
[root@localhost ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       50G  4.2G   43G   9% /
tmpfs                  12G     0   12G   0% /dev/shm
/dev/sda1             477M   40M  413M   9% /boot
/dev/mapper/VolGroup-lv_home
                       50G   52M   47G   1% /home
 
5、设置空闲空间
使用lvreduce指令用于减少LVM逻辑卷占用的空间大小。可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。记得输入 “y”
[root@localhost ~]# lvreduce -L 50G /dev/VolGroup/lv_home
  WARNING: Reducing active and open logical volume to 50.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce VolGroup/lv_home? [y/n]: y
  Size of logical volume VolGroup/lv_home changed from 1.76 TiB (460986 extents) to 50.00 GiB (12800 extents).
  Logical volume lv_home successfully resized.
注:lvreduce -L 50G的意思为设置当前文件系统为50G,如果lvreduce -l 50G是指从当前文件系统上减少50G
使用lvreduce减小逻辑卷的大小。注意:减小后的大小不能小于文件的大小,否则会丢失数据。 
 
可以使用lvdisplay命令等查看一下可以操作的大小。也可以是用fdisk -l命令查看详细信息。
[root@localhost ~]# 用lvdisplay再次查看LVM卷组的信息
 
6.把闲置空间挂在到根目录下
[root@localhost /]# lvextend -l +100%FREE /dev/VolGroup/lv_root
  Size of logical volume VolGroup/lv_root changed from 50.00 GiB (12800 extents) to 1.76 TiB (460986 extents).
  Logical volume lv_root successfully resized.
注:lvextend -L +100%FREE 为在文件系统上增加所有的空闲空间
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_root硬盘比较大的话,这个地方执行的时间会有点长,请耐心等待。
 
7、检查调整结果
[root@localhost ~]# df -h
 
到此LVM分区调整完毕

关键词:CentOS调整分区,Linux调整分区,EXT3调整分区,EXT4调整分区
CentOS Linux如何无损调整分区大小(EXT4文件系统)为中国U网原创文章,在不经过允许的情况下,禁止用于商业用途或随意转载,转载请注明出处,并加上本页链接地址:
http://www.cuwww.com/help/detail-77.html