Centos逻辑卷扩容、合并
从CentOS7默认安装的/home中转移空间到根目录/ - LVM操作简明教程
一、基础概念
Cent0S 7默认启用LVM2(Logical Volume Manager),把机器的一块硬盘分为两个区sda1和sda2,其中分区sda1作为系统盘/boot挂载,少量空间;sda2作为一个物理卷并且完全作为逻辑卷组VG(Volume Group)centos,在这个逻辑卷组centos中建立三个逻辑卷LV(Logical Volume)root和home还有swap,分别挂载到根目录/和/home以及swap。而两个分区sda1和sda2上都建立了文件系统XFS,文件系统XFS作为RedHat的默认文件系统也有它的考虑,成为继ext3,ext4之后的主流文件系统。
几个概念的关系:M个物理硬盘HD或者物理硬盘中的分区一起组建为一个逻辑卷组VG及存储池,在卷组VG中创建N个逻辑卷LV,在一个逻辑卷LV中创建文件系统比如xfs。物理硬盘/分区、逻辑卷有最小基本寻址单元,CentOS7默认的大小为4MB,二者一一对应,类似于链接或者变量引用,但是一个二者关系并非一直不变,因为物理硬盘可能发生变化而逻辑卷自动调整。创建卷组和逻辑卷,会类似于创建分区一样在磁盘开始位置写入卷的信息VGDA(卷组描述符区域,Volume Group Descriptor Area)用于识别。逻辑卷的好处在于屏蔽物理底层支撑,可自由扩展变更,而不用担心硬盘或者分区的物理空间局限,也就不会存在为了扩展分区大小而去备份/扩展分区重新格式化硬盘等问题。
HD/分区--通过pvcreate->PV--通过vgcreate(vgchange)/vgextend-->VG--通过lvcreate/lvextend-->LV--通过mkfs-->FS--通过xfs_growfs等-->df磁盘生效
但是关键点在于,CentOS 7默认安装时/home占用太多空间,根目录相较而言就小得多(只有50G),而OpenStack安装以及存储的东西都在根目录下。上传几个镜像说不定就把你的根目录空间耗尽。不像其他文件系统ext3,ext4或者reiserfs等,有命令(resize2fs,resize_reiserfs)直接支持缩小文件系统的大小,默认安装的xfs支持扩展增大但是不支持缩小空间!
二、步骤概览
所以下面要做的步骤大概为:(直接root用户登录系统,本机或者ssh root过去,如果使用当前普通用户会遇到点不必要的麻烦)
1. 备份/home/用户文件,要是没啥内容则忽略这步(为什么非要这个/home,删掉直接用root?还是保留它,它存在也有道理的,再说生产环境还是不要只用root)
2. umount /home 卸载并lvremove删除这个home逻辑卷,释放它的空间,vgdisplay查看卷组可用空间大小
3. lvcreate新建一个新的home卷,并在其上mkfs建立xfs文件系统,(分配挂载到/home - 不用更改/etc/fstab,重启即可,) 拷贝回来之前的内容
(这个时候空余的空间随便你分配,可以再建立别的逻辑卷,或者直接空闲下来以后使用,也可以直奔主题的走下面的第四步)
4. 把之前的home逻辑卷释放并分配新卷home之后剩下的空间,lvextend分配给root卷,并用命令xfs_growfs扩展它的文件系统空间
三、相关命令
看看大概的命令有哪些
# pv
pvchange pvck pvcreate pvdisplay pvmove pvremove pvresize pvs pvscan
# vb
vgcfgbackup vgchange vgconvert vgdisplay vgextend vgimportclone vgmknodes vgremove vgs
vgsplit vgcfgrestore vgck vgcreate vgexport vgimport vgmerge vgreduce vgrename
vgscan
# lv
lvchange lvcreate lvextend lvmchange lvmdiskscan lvmetad lvmsar lvremove lvresize lvscan
lvconvert lvdisplay lvm
四、默认安装情况
# df -h //查看磁盘使用情况,逻辑卷的挂载格式为/dev/mapper/VolumeGroupName-LogicalVolumeName
Filesystem Size Used Avail Use% Mounted on
devtmpfs 24G 0 24G 0% /dev
tmpfs 24G 0 24G 0% /dev/shm
tmpfs 24G 8.5M 24G 1% /run
tmpfs 24G 0 24G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 2.4G 48G 5% /
/dev/sdb1 493G 73M 467G 1% /opt
/dev/sdb2 1020G 77M 968G 1% /data
/dev/sda1 1014M 151M 864M 15% /boot
/dev/mapper/centos-home 147G 33M 147G 1% /home
tmpfs 4.8G 0 4.8G 0% /run/user/0
# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue May 25 05:55:21 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=36939fe0-9b73-47b9-81ca-00b259892d3e /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
# vgdisplay //查看逻辑卷组情况
--- Volume group ---VG Name centosSystem ID Format lvm2Metadata Areas 1Metadata Sequence No 4VG Access read/writeVG Status resizableMAX LV 0Cur LV 3Open LV 3Max PV 0Cur PV 1Act PV 1VG Size <199.00 GiBPE Size 4.00 MiBTotal PE 50943Alloc PE / Size 50942 / 198.99 GiBFree PE / Size 1 / 4.00 MiBVG UUID dM1lde-zQnI-twRr-fO4t-RKb7-9HcD-1qieFs
# lvdisplay //查看逻辑卷情况,默认三个,root、home和交换空间swap
--- Logical volume ---LV Path /dev/centos/swapLV Name swapVG Name centosLV UUID S0i56M-defX-KDOR-Xxkx-Vh9s-YTHF-mq6eLMLV Write Access read/writeLV Creation host, time localhost.localdomain, 2021-05-25 05:55:20 -0400LV Status available# open 2LV Size 2.00 GiBCurrent LE 512Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:1--- Logical volume ---LV Path /dev/centos/homeLV Name homeVG Name centosLV UUID nFBbOK-430b-6zOG-77tx-W5rD-J0UG-9WcCWQLV Write Access read/writeLV Creation host, time localhost.localdomain, 2021-05-25 05:55:20 -0400LV Status available# open 1LV Size 146.99 GiBCurrent LE 37630Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:2--- Logical volume ---LV Path /dev/centos/rootLV Name rootVG Name centosLV UUID Srxj27-n1U8-I1TV-6poJ-9qfz-WfHw-zBlQOqLV Write Access read/writeLV Creation host, time localhost.localdomain, 2021-05-25 05:55:21 -0400LV Status available# open 1LV Size 50.00 GiBCurrent LE 12800Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:0
五、操作步骤
1. 备份/home中的用户数据
[root@localhost /]# mkdir /backup && mv /home/* /backup
[root@localhost /]# ls /home/
2. 卸载这个/home并删除逻辑卷home
# umount /home
# df -h //查看磁盘情况
Filesystem Size Used Avail Use% Mounted on
devtmpfs 24G 0 24G 0% /dev
tmpfs 24G 0 24G 0% /dev/shm
tmpfs 24G 8.5M 24G 1% /run
tmpfs 24G 0 24G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 2.4G 48G 5% /
/dev/sdb1 493G 73M 467G 1% /opt
/dev/sdb2 1020G 77M 968G 1% /data
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 4.8G 0 4.8G 0% /run/user/0
# lvremove /dev/centos/home //删除逻辑卷home
Do you really want to remove active logical volume centos/home? [y/n]: yLogical volume "home" successfully removed
# vgdisplay //查看卷组可用空间
--- Volume group ---VG Name centosSystem ID Format lvm2Metadata Areas 1Metadata Sequence No 5VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 2Max PV 0Cur PV 1Act PV 1VG Size <199.00 GiBPE Size 4.00 MiBTotal PE 50943Alloc PE / Size 13312 / 52.00 GiBFree PE / Size 37631 / <147.00 GiBVG UUID dM1lde-zQnI-twRr-fO4t-RKb7-9HcD-1qieFs
这里注意,Free PE / Size 中显示的空间为卷组的空闲空间147G,之前为4M,也就是刚才删除的逻辑卷home所占用的空间,我们就从这个当中拿出一部分比如50G作为home
3. 新建一个卷home,fdisk格式化为8e格式,文件系统还是搞为xfs(同样挂载到/home)
# lvcreate -L 50G -n home centos //L表示大小,默认单位为M;n表示卷名;这里的centos是CentOS7安装系统的时候就默认建立好的卷组名
WARNING: xfs signature detected on /dev/centos/home at offset 0. Wipe it? [y/n]: yWiping xfs signature on /dev/centos/home.Logical volume "home" created.
# lvdisplay //查看逻辑卷home
--- Logical volume ---LV Path /dev/centos/homeLV Name homeVG Name centosLV UUID zd8dDY-TyD4-R4oj-zvUr-1jmO-Kgdl-gN5vmXLV Write Access read/writeLV Creation host, time localhost.localdomain, 2021-06-09 07:18:03 -0400LV Status available# open 0LV Size 50.00 GiBCurrent LE 12800Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:2
# vgdisplay //再次查看卷组空间大小
--- Volume group ---VG Name centosSystem ID Format lvm2Metadata Areas 1Metadata Sequence No 6VG Access read/writeVG Status resizableMAX LV 0Cur LV 3Open LV 2Max PV 0Cur PV 1Act PV 1VG Size <199.00 GiBPE Size 4.00 MiBTotal PE 50943Alloc PE / Size 26112 / 102.00 GiBFree PE / Size 24831 / <97.00 GiBVG UUID dM1lde-zQnI-twRr-fO4t-RKb7-9HcD-1qieFs
[# vgchange -ay centos //可选步骤:激活卷组centos,使得这个新建的home逻辑卷生效(用vgchange而不用lvchange)]
3 logical volume(s) in volume group "centos" now active
# mkfs -t xfs /dev/centos/home //在新建的逻辑卷home上建立xfs文件系统
meta-data=/dev/centos/home isize=512 agcount=4, agsize=3276800 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=13107200, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=6400, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# mount /dev/centos/home /home/ //把这个新逻辑卷home挂到之前的文件夹/home中去,直接重启机器让fstab自动挂载也行
# df -h //现在来查看磁盘使用情况
Filesystem Size Used Avail Use% Mounted on
devtmpfs 24G 0 24G 0% /dev
tmpfs 24G 0 24G 0% /dev/shm
tmpfs 24G 8.5M 24G 1% /run
tmpfs 24G 0 24G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 2.4G 48G 5% /
/dev/sdb1 493G 73M 467G 1% /opt
/dev/sdb2 1020G 77M 968G 1% /data
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 4.8G 0 4.8G 0% /run/user/0
/dev/mapper/centos-home 50G 33M 50G 1% /home
# mv /backup/* /home/ //再把之前拷出来的东西拷回新建的/home中,拷贝完成就可以直接用这个普通用户来桌面登录系统了,不用重启
4. 最后再把释放出来多余的空间分配给root卷并xfs_growfs扩展文件系统
# lvextend -L +100G /dev/centos/root //或 lvextend -l +100%FREE /dev/centos/root把剩下的100G现在分配给root卷;+号表示在原来的基础上额外增加,不要加号则设定为具体额度
Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to <147.00 GiB (37631 extents).Logical volume centos/root successfully resized.
# lvdisplay //查看逻辑卷和卷组情况,这下root的空间就多达到147G,之前是才50G
--- Logical volume ---LV Path /dev/centos/rootLV Name rootVG Name centosLV UUID Srxj27-n1U8-I1TV-6poJ-9qfz-WfHw-zBlQOqLV Write Access read/writeLV Creation host, time localhost.localdomain, 2021-05-25 05:55:21 -0400LV Status available# open 1LV Size <147.00 GiBCurrent LE 37631Segments 2Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:0
[# vgchange -ay centos //可选步骤:再次激活下卷组centos]
3 logical volume(s) in volume group "centos" now active
# df -h //不使用xfs_growfs扩展文件系统,磁盘是不认得多的空间的
Filesystem Size Used Avail Use% Mounted on
devtmpfs 24G 0 24G 0% /dev
tmpfs 24G 0 24G 0% /dev/shm
tmpfs 24G 8.5M 24G 1% /run
tmpfs 24G 0 24G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 2.4G 48G 5% /
/dev/sdb1 493G 73M 467G 1% /opt
/dev/sdb2 1020G 77M 968G 1% /data
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 4.8G 0 4.8G 0% /run/user/0
/dev/mapper/centos-home 50G 33M 50G 1% /home
# xfs_growfs /dev/centos/root //扩展root卷
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=3276800 blks= sectsz=512 attr=2, projid32bit=1= crc=1 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=1
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 38534144
# df -h //再看root大小已经生效,147G了
Filesystem Size Used Avail Use% Mounted on
devtmpfs 24G 0 24G 0% /dev
tmpfs 24G 0 24G 0% /dev/shm
tmpfs 24G 8.5M 24G 1% /run
tmpfs 24G 0 24G 0% /sys/fs/cgroup
/dev/mapper/centos-root 147G 2.4G 145G 2% /
/dev/sdb1 493G 73M 467G 1% /opt
/dev/sdb2 1020G 77M 968G 1% /data
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 4.8G 0 4.8G 0% /run/user/0
/dev/mapper/centos-home 50G 33M 50G 1% /home
六、命令汇总
简单总结下,就是下面几条命令:
# mkdir /backup
# mv /home/* /backup/
# umount /home
# lvremove /dev/centos/home
# lvcreate -L 50G -n home cents
# mkfs -t xfs /dev/centos/home
# mv /backup/* /home/
# lvextend -L +xxxG /dev/centos/root 或 lvextend -l +100%FREE /dev/centos/root
# xfs_growfs root
# rm -rf /backup
Centos逻辑卷扩容、合并相关推荐
- centos 对已有卷扩容_centos7 逻辑卷扩容
Logical volume 的创建 磁盘初始化 [root@xxxx-centos7-template ~]# fdisk -l Disk /dev/sda: 53.7 GB, 5368709120 ...
- LVM逻辑卷管理器,部署逻辑卷,扩容逻辑卷,缩小逻辑卷,删除逻辑卷
1.LVM逻辑卷管理器 硬盘设备管理技术虽然能够有效地提高硬盘设备的读写速度以及数据的安全性,但是在硬盘分好区或者部署为RAID 磁盘阵列之后,再想修改硬盘分区大小就不容易了.换句话说,当用户想要随着 ...
- linux(3):Linux MBR分区、挂载操作步骤,逻辑卷扩容操作
Linux MBR分区.挂载操作步骤,逻辑卷扩容操作 服务器开机之后,能自动识别出硬盘,但是硬盘不能够存储数据,必须对硬盘进行分区.格式化.挂载后才能使用:linux主分区和拓展分区总数不能超过4个 ...
- lvextend 逻辑卷扩容(xfs_growfs、resize2fs配合扩展文件系统)
lvextend 命令用于逻辑卷在线扩容,也就是说lvextend扩容是不需要停机的,应用服务也不需要关闭,其语法格式如下: lvextend [参数] LogicalVolume[Path] [ P ...
- Linux 新加一块硬盘,添加到已有逻辑卷扩容
划分逻辑卷以后,我们就是为了动态扩容,今天刚好遇到这样的问题,就写一下操作过程 添加好硬盘后用以下命令直接能显示不用关机读取 echo "- - -" > /sys/clas ...
- Linux运维实战:Centos逻辑卷磁盘挂载流程
我们做运维的经常会遇到挂载磁盘的情况. 领导:大牛你会挂载磁盘吗? 大牛:???(内心独白:你瞧不起谁呢) 大牛:实际回复--会的,领导,我这就去操作. 一.前提条件 1.一般多指linux操作系统 ...
- Linux入门真经-037LVM逻辑卷扩容与快照
本节介绍如何对LVM进行扩容. 1.扩展LV 上一节我们创建了两个PV:20G的sdb和5G的sdc1,并将他们组合成一个25G的VG:vgpool1,最后在vgpool1之上创建了一个20G的LV: ...
- Linux下非逻辑卷扩容之创建逻辑卷pvcreate是否会损坏原数据测试
导语 我们都知道使用lv逻辑卷可以方便的扩容. 但是当原盘不是逻辑卷且其上有数据的时候,如何扩容呢? 因为扩容只能是磁盘type为逻辑卷lvm才可以. 那么将有数据的盘直接pvcreate为虚拟卷lv ...
- windows逻辑卷扩容_Windows 动态磁盘卷:简单卷、跨区卷 、带区卷 、镜像卷 、RAID5卷 相关配置操作介绍...
Windows Server 2003 提供了新的磁盘管理方式,能够提高磁盘性能和容错能力.将基本磁盘升级为动态磁盘,能够更灵活分配和管理磁盘空间,能够配置各种磁盘阵列提高磁盘能力. 动态磁盘与基本磁 ...
最新文章
- 【数据结构】双链表的应用
- 综述 | 现在是蛋白质组学数据共享和再分析的黄金时间?
- Android游戏开发之OpenGL之视图-投影矩阵 杂谈
- 如何让网站建设实际效果比之前更好?
- 蓝桥杯2017初赛-外星日历-数论
- 【神经网络计算】——神经网络实现鸢尾花分类
- 修改 decimal 默认值为0.00 sql_被经理邀请去“爬山”,只是因为我写错了一条SQL语句?...
- 中国移动云能力中心 高薪诚聘各路运维技术专家
- 三菱PlC程序大型项目QCPU+QD77MS16 包含一套完整的电气开发系统资料
- HTML开发者工具抓取所有图片,利用开发者工具,截取网页高清长图
- 如何卸载新版Edge并禁用自动更新
- Linux 内核调试指南[转载]
- 【opencv 450 Image Processing】Out-of-focus Deblur Filter失焦去模糊滤镜
- dbm与mysql_DBM数据库 | 学步园
- 第二章 Dubbo框架
- jQuery实现可移动(draggable)和可缩放(sizable)网页元素
- django xadmin修改“管理”“认证和授权”的菜单名
- 电热玻璃水壶CE认证检测标准介绍
- 高德地图的标志放大_高德地图点标注的分布与缩放
- C#基础(10)——飞行棋游戏