linux中lvm如何移动home分区至/分区?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中lvm如何移动home分区至/分区?相关的知识,希望对你有一定的参考价值。

如题,现在逻辑卷中/分区容量不足了,home里还有几百G,想移动到/里。

1、首先使用mount命令查看/目录和home目录的lv设备是什么。比如/home使用/dev/xxxvg/xxxlv,/使用/dev/yyyvg/yyylv。
2、然后使用resize2fs /dev/xxxvg/xxxlv xxxM命令将home分区容量缩减。由于home目录已经mount上了,所以需要先umount掉umount /home,然后执行e2fsck -f /dev/xxxvg/xxxlv,最后执行resize2fs /dev/xxxvg/xxxlv xxxM缩减分区文件系统的容量,容量缩减到xxxM。
3、home目录容量缩减后就可以重新mount上了,mount /dev/xxxvg/xxxlv /home。
4、这时我们就可以减少/dev/xxxvg/xxxlv 的PE数量以减少分区容量,执行
lvresize -L -xxM /dev/xxxvg/xxxlv减少PE数量。-xxM就是前面home分区减少的M数。
5、现在可以给/增加容量了,首先
lvresize -L +xxM /dev/yyyvg/yyylv来增加/分区的PE数量。
6、将LV增加的容量扩充到/分区的文件系统中
resize2fs /dev/yyyvg/yyylv
由于是全部增加就不用指定容量了。
注意由于没有具体数值,容量和设备名称都用 xx、yy之类代替了不要直接复制粘贴去执行哦。

试试看吧,看说明理论上是这样的。有条件还是先用虚拟机装个系统试试。
参考技术A 可以减少home的大小,扩大/分区的大小 参考技术B 1、unmount目录
2、缩小home文件系统
3、缩小homelv
4、mount目录,扩大/的lv

在linux下实现LVM

LVM概述

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理

的一种机制;

LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性;

通过LVM,管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可,也就是我们常说的动态调整分区的大小。


LVM创建

a.添加硬盘或创建分区

linux系统中所有的设备都会以文件的形式存储。设备一般保存在/dev目录下面,以sda、sda1、sda2 ...,sdb,sdb1...,hda,hdb。现在的设备一般都是sd命名,以前的很老的硬盘是以ha命名。分区的目的就是便于管理。  

b.创建物理卷physical volume

理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

c.创建卷组Volume Group)

LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

d.创建逻辑卷(logical volume 

LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr)

注意:

PVVGLV三者关系:把PV比做地球的一个板块,VG则是一个地球,因为地球是由多个板块组成的,而在地球上划分一个区域并标记为亚洲,那么亚洲就相当于一个LVM

e.创建文件系统技术分享

f.格式化及挂载使用


创建演示

此演示在kali linux创建。

首先查看分区情况及挂载情况

技术分享

创建分区,分区类型为主类型,创建之后用p查看。

技术分享

改变分区格式为8e。LVM的分区格式

技术分享

保存,退出。

使用partprobe在不重启的情况下重读分区

创建物理卷

技术分享

创建卷组

技术分享

创建逻辑卷

-L:指定LV的大小

 -n:指定LV的名rainbow:表示从这个VG中划分LV

技术分享

LV进行格式化(使用mkfs进行格式化操作),然后LV才能存储资料

LV分区挂载到指定的目录下,就可以像普通目录一样存储数据

技术分享

永久挂载:如果要在系统启动的时候启动LV,最好是将test1写入/etc/fstable 文件中

技术分享


LVM扩容

当卷组中没有足够的空间用于扩展逻辑卷的大小时,就需要增加卷组的容量,而增加卷组容量的惟一办法就是向卷组中添加新的物理卷。 

利用vgextend命令将新的物理卷加入到卷组中。lvextend命令加入逻辑卷中。

技术分享

e2fsck 预设只会对错误的档案系统检查,加上 -f 是强制检查。检查LVM设备对应inode和block之间的关系

 resize2fs命令文件系统管理 resize2fs命令被用来增大或者收缩未加载“ext2/ext3”文件系统的大小,使增加的容量生效。

技术分享



问题解决

1、fdisk 命令

a :设置可引导标记

b :修改bsd的磁盘标签

c :设置DOS操作系统兼容标记

d :删除一个分区

l :显示已知的分区类型

82Linux swap分区,83Linux分区,8eLinux LVM分区,

fd为系统级raid分区

m :显示帮助信息

n :增加一个新的分区

o :创建一个新的空白的DOS分区表

p :显示磁盘当前的分区表

q :退出fdisk程序,不保存任何修改

s :创建一个新的空白的Sun磁盘标签

t :改变一个分区的系统号码(比如把Linux Swap分区改为Linux分区)

u :改变显示记录单位

v :对磁盘分区表进行验证

w :保存修改结果并退出fdisk程序

x :特殊功能

2、创建物理卷时,Cant open /dev/sda1 exclusively.Mounted filesystem?

利用umount命令卸载文件系统

umount命令用于卸载已经加载的文件系统。利用设备名或挂载点都能umount文件系统,不过最好还是通过挂载点卸载,以免使用绑定挂载(一个设备,多个挂载点)时产生混乱。

3、pvcreate /dev/sdb1出现报错Can‘t initialize physical volume "/dev/sdb1"               of volume group "myvg" without -ff

这是由于没有卸载原有逻辑卷,逻辑卷组,物理卷的原因导致。利用pvremove、vgremove、lvremove进行卸载。

4、No free sectors available 整个磁盘已经划分并分配过。

一般来说,Linux系统根分区(一般是Ext2、Ext3、ReiserFS格式)是无法改变容量的,擅自删除改动,启动时无法进入系统,或者在GDM处出错。使用虚拟机下linux最好重新添加一块硬盘进行lvm分区。

5、相关概念

PE(physical extent)

每一个物理卷被划分为称为PE(Physical Extents)的基本单元,(我理解为物理块,下面的LE则是对应逻辑块)具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB 

LElogical extent

逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。 





本文出自 “彩虹十八郎” 博客,转载请与作者联系!

以上是关于linux中lvm如何移动home分区至/分区?的主要内容,如果未能解决你的问题,请参考以下文章

linux 怎么对非lvm根分区dev/sda2 进行扩容

Linux /home满了,如何挂载新硬盘到/home分区下?扩大/home分区的容量?

linux ext4 /opt分区调整磁盘至/home分区

使用fdisk命令在/dev/sdb上建立lvm类型的分区

linux 挂载硬盘到/home

LVM分区扩容(以根分区为例)