最近刚刚装好了一个系统,但是因为没有分好区,导致home分区过大,所以想把home分区的一大半移动到根分区里面。

1、先说一下我的环境。

安装的是centos6版本的系统,使用的默认文件系统是ext4格式的。

2、查看当前分区的大小

[root@centos6-chaofeng2 src]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
ext4 50G .4G 42G % /
tmpfs tmpfs .9G .9G % /dev/shm
/dev/sda2 ext4 477M 39M 413M % /boot
/dev/sda1 vfat 200M 264K 200M % /boot/efi
/dev/mapper/VolGroup-lv_home
ext4 G 24M G % /home

可以看出home分区的是相当大的。但是现在我不想使用这么大的home分区,因此我需要把一大部分size移动到根分区下。接下来我们看一下操作步骤:

3、首先是卸载home分区

[root@centos6-chaofeng2 src]# mount
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=,mode=)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda2 on /boot type ext4 (rw)
/dev/sda1 on /boot/efi type vfat (rw,umask=,shortname=winnt)
/dev/mapper/VolGroup-lv_home on /home type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
[root@centos6-chaofeng2 src]# umount /home

mount命令可以查看当前系统设备的挂载信息。

4、强制进行磁盘检测。可以检测坏块等。

[root@centos6-chaofeng2 src]# e2fsck -f /dev/mapper/VolGroup-lv_home
e2fsck 1.41. (-May-)
Pass : Checking inodes, blocks, and sizes
Pass : Checking directory structure
Pass : Checking directory connectivity
Pass : Checking reference counts
Pass : Checking group summary information
/dev/mapper/VolGroup-lv_home: / files (0.0% non-contiguous), / blocks

5、先使用针对ext文件系统的工具调整大小。resize2fs命令专门用来管理ext4文件系统的size大小的工具

[root@centos6-chaofeng2 src]# resize2fs /dev/mapper/VolGroup-lv_home 2000M
resize2fs 1.41. (-May-)
Resizing the filesystem on /dev/mapper/VolGroup-lv_home to (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_home is now blocks long.

原来是50G的大小,现在调整为2G大小就够了。

注意:调整后的size大小必须大于原来占用整个home分区的所有文件的总大小,否则,整个home分区的数据全部丢失。

6、接着使用针对lvm管理的磁盘调整大小

[root@centos6-chaofeng2 src]# lvreduce -L 2000M /dev/mapper/VolGroup-lv_home
WARNING: Reducing active logical volume to 1.95 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 53.30 GiB ( extents) to 1.95 GiB ( extents).
Logical volume lv_home successfully resized.

7、重新挂载home分区。

[root@centos6-chaofeng2 src]# mount /dev/mapper/VolGroup-lv_home /home

8、我们将home分区从50G缩减到2G的大小。那么此时缩减出来的48G的空间怎么查看呢?

[root@centos6-chaofeng2 dev]# vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas
Metadata Sequence No
VG Access read/write
VG Status resizable
MAX LV
Cur LV
Open LV
Max PV
Cur PV
Act PV
VG Size 111.10 GiB
PE Size 4.00 MiB
Total PE
Alloc PE / Size / 59.75 GiB
Free PE / Size / 51.35 GiB
VG UUID R2SyTs-XBry-ULRF-Qnfz-MCS8-p8CW-Cp675N

这一行的”Free  PE/Size“就表示缩减掉的那部分空间。

9、现在我们把这部分空间加到根分区上。

[root@centos6-chaofeng2 dev]# lvextend -L +51.3G /dev/mapper/VolGroup-lv_root
Rounding size to boundary between physical extents: 51.30 GiB.
Size of logical volume VolGroup/lv_root changed from 50.00 GiB ( extents) to 101.30 GiB ( extents).
Logical volume lv_root successfully resized.

10、接着使用resize2fs命令调整ext4的文件系统的size大小

[root@centos6-chaofeng2 dev]# resize2fs /dev/mapper/VolGroup-lv_root
resize2fs 1.41. (-May-)
Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
old desc_blocks = , new_desc_blocks =
Performing an on-line resize of /dev/mapper/VolGroup-lv_root to (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_root is now blocks long.

11、到此基本就已经完成磁盘扩容了,此时再来看看各个分区大小

[root@centos6-chaofeng2 dev]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
ext4 100G .4G 90G % /
tmpfs tmpfs .9G .9G % /dev/shm
/dev/sda2 ext4 477M 39M 413M % /boot
/dev/sda1 vfat 200M 264K 200M % /boot/efi
/dev/mapper/VolGroup-lv_home
ext4 .8G 24M .7G % /home

磁盘大小基本就调整完毕了。

lvm管理卷之缩减卷大小的更多相关文章

  1. LVM管理之减少LV的大小

    LVM管理之减少LV的大小 规定动作 1.umount filesystem 2.e2fsck filesystem 3.resize2fs filesystem 4.lvredure 实例演示——— ...

  2. GNU/Linux下LVM配置管理以及快照卷、物理卷、卷组、逻辑卷的创建和删除

    LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上.文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性.最大的优点是在不损伤数据的前提下调整存储空间的大小. 本篇主要讲述L ...

  3. LVM管理及扩容(转)

    LVM磁盘管理 一、LVM简介... 1 二、 LVM基本术语... 2 三、 安装LVM... 3 四、 创建和管理LVM... 4 2、 创建PV.. 6 3、 创建VG.. 7 4、 创建LV. ...

  4. Redhat 平台下 LVM 管理说明

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

  5. Linux权限及归属管理 磁盘管理 文件系统 LVM管理

    第五六七章   alias 查看系统别名   67 chmod 设置文件或目录的权限 -R表示以递归的方式设置目录及目录下的所有子目录及文件的权限 u:属主 g:属组 o:其他人 a:所有人 +:添加 ...

  6. lvm - Logical Volume Manager - 逻辑卷管理

    下午突然感觉 lvm 相关的知识忘记了,恰好机房里的fedora服务器上 挂了4个500GB的HDD 硬盘没有使用,就拿来操作了一番: 下面有几篇关于lvm不错的文章,进行了链接,网上也有很多不错的博 ...

  7. Linux LVM Logical Volume Management 逻辑卷的管理

    博主是一个数据库DBA,但是一般来说,是不做linux服务器LVM 逻辑卷的创建.扩容和减容操作的,基本上有系统管理员操作,一是各司其职,专业的事专业的人做,二是做多了你的责任也多了,哈哈! 但是li ...

  8. LVM(2)逻辑卷的扩展、缩减、快照卷

    一.扩展逻辑卷:lvextend   扩展逻辑卷物理边界    -L [+]# /PATH/TO/LV2G, +3G5G

  9. 自学Linux Shell8.2-linux逻辑卷LVM管理

    点击返回 自学Linux命令行与Shell脚本之路 8.2-linux逻辑卷LVM管理 Linux逻辑卷管理器软件包用来通过将另外一个硬盘上的分区加入已有文件系统,动态地添加存储空间. 1. 逻辑卷L ...

随机推荐

  1. VM虚拟机扩展硬盘容量

    VM虚拟机扩展硬盘容量 第一步,关闭系统,给虚拟机硬盘增加空间. 第二步,启动系统.查看硬盘大小和分区情况. 第三步,分区. 第四步,格式化分区. 第五步,挂载. 第六步,开机自动挂载. 第一步: 当 ...

  2. 函数调用的区别:_cdecl以及_stdcall

    一.概念1)_stdcall调用   _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,由调用者完成压栈操作,被调函数自身在返回前清空堆栈.   WIN32 Api都采用_ ...

  3. 深入学习Tesseract-ocr识别中文并训练字库的方法

    上篇文章简单的学习了tesseract-ocr识别图片中的英文(链接地址如下:https://www.cnblogs.com/wj-1314/p/9428909.html),看起来效果还不错,所以这篇 ...

  4. xmldocument内嵌入另一个xmldocument,xmlnode的方法

    string xmlstr1 = @"<root><head>myHead</head><body></body></roo ...

  5. h5活动页开发总结记录

    前几天在做h5活动页面的时候,有这样一个需求 上面的活动排行点击查看历史排行数据,弹出日期选择框,如下图 点击要查看的日期排行数据,这里需要对还没到的日期做处理,让用户不能选择,只可选择今天或者之前的 ...

  6. 【学习笔记】JS设计模式总结

    前言:这段时间都在学习Vue的知识,虽然手边放着一本js高程,但确实好久没有好好复习了.温故而知新,因此特意把JS常见的设计模式总结,希望对大家有所帮助... 1. 工厂模式 释义:像工厂一样流水线般 ...

  7. Mybatis之基于XML的调用存储过程与手动回滚事务

    一.调用存储过程 一.返回单个值 1.存储过程准备 这里先创建一个存储过程,传入参数为age,传出参数为count.然后先测试一下是否正确. CREATE DEFINER=`root`@`localh ...

  8. HDU6215

    Brute Force Sorting Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Othe ...

  9. canvas-star4.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. Python 获取时间

    记录下 Python 下获取时间的方法 time 模块 import time time_format = '%Y-%m-%d %X' time_current = time.strftime(tim ...