关于Linux系统LVM问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Linux系统LVM问题相关的知识,希望对你有一定的参考价值。
Linux分区如下sda1=/boot sda2=/var sda3=/usr sda4=/home
安装系统完成后进入系统可以对以上分区进行LVM操作么,包括创建PV、VG、LV、调整大小等?该操作是否会破坏原有数据?
如果不可以,是否意味着只能对新建的分区进行LVM操作,或者利用光盘引导然后对其进行LVM操作 ?
正在使用、已经使用的分区就不能进行LVM操作?、
你不是已经提问过了吗
不能直接操作,除非这几个分区上的文件系统不要了
并且/boot是肯定要建在分区上,不能建在LV上
除了/boot外的要做lvm,例如/home:
cd /#备份:
tar cvf /tmp/home.tar home
#卸载文件系统,否则无法进行后面操作:
umount /home
#用fdisk命令将分区标志由83改为8e,具体操作略:
fdisk /dev/sda
#将分区sda4初始化为物理卷,这时候数据丢了,你可以mount /home试一下:
pvcreate /dev/sda4 vgcreate
#创建vg:
vgcreate vghome /dev/sda4
#创建lv:
lvcreate -l 100 -n lvhome vghome
#创建文件系统:
mkfs.ext3 /dev/vghome/lvhome
#重新挂载文件系统:
mount /dev/vgome/lvhome /home
#恢复home备份
tar xvf /tmp/home.tar
#将/etc/fstab里关于/home的项修改正确,将/dev/sda4替换成 /dev/vghome/lvhome:
vi /etc/fstab 参考技术A 已经建的分区是linux83类型的分区,不能LVM操作,8e类型的才是LVM的,可通过fdisk /dev/sda命令查看。这种情况只能对新建分区进行LVM操作。 参考技术B lvm 操作会破坏原有分区的数据。 参考技术C 可以,不会破坏原有的数据。
关于Linux中LVM的使用总结
首先借鉴一段图文,如下:
LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。
以上两个图片显示了,LVM的管理逻辑图
实际应用中情况如下:
1.为服务器新分配一个硬盘,在安装Linux系统时,系统默认会采用LVM的方式管理硬盘,方便以后的扩容,尤其是动态扩容(不改变原有分区结构)
2.系统已创建,后来使用中,新增加的硬盘后,手动创建分区按照如下逻辑进行
2.1 使用fdisk软件进行分区,分区中大致会用到如下命令:
fdisk /dev/sd -----进入分区操作界面,代表你的物理硬盘编号,一般为a,b,c...
m -----查看帮助
p -----打印出来当前分区情况表
n -----新建分区,一般按照默认即可
t -----改变分区类型
l -----列出可用的分区类型
w -----报错配置
注意:(1)dos和gpt分区表的选择问题,如果硬盘容量大于2TB会自动采用GPT分区表格式,如果是虚拟磁盘,以后可能会扩容到2TB以上,建议采用GPT分区表格式;
(2)保存配置后,需要重启系统,才能通过pvcreate调用到;
3.分区创建好后,使用pvcreate创建物理卷,查看命令使用pvdisplay
pvcreate /dev/sd -----第一个为物理硬盘的编号,第二个为分区序号,一般为1,2,3...
4.到了此阶段分两种情况,一种是创建新的VG(VolumeGroup),一种是扩容原有的VG,我们先从创建新的VG开始说起,紧接着就会介绍到扩容VG;
5.创建新的VG,使用命令vgcreate命令,查看命令使用vgdisplay
vgcreate <name> <partition> -----name就是VG的名称,partition是分区,一般格式为/dev/sd
6.创建完成VG后,开始穿件LV(LogicVolume),使用命令:lvcreate,查看命令使用lvdisplay
lvcreate -n name -L size <VG name> ----name是逻辑卷的名称,size为逻辑卷的大小,单位为GB,VG name是上一步中的VG名称
7.逻辑卷创建完成后,就是格式逻辑卷,使用命令有很多,和您准备格式为哪种类型有关,这里以ext4和xfs为例
mkfs.ext4 /dev/<vg name>/<lv name> ----vg name就是vg名称,lv name就是逻辑卷的名称
mkfs -t xfs /dev/<vg name>/<lv name>
8.下面先说下扩容VG,然后再说最后一步挂载
9.扩容VG,pv创建完成后,就可以扩容VG了,使用命令:vgextend
vgextend <vg name> /dev/sd**
10.上一步执行后可以通过vgdisplay查看vg的free space已经增加了
11.将free space增加到lv中,使用命令:lvextend
lvextend -l +100%free /dev/<vg name>/<lv name> ----+100%free是扩容可用空间的100%,也可以设置为其他百分比
12.还需要一步才能真正的将空间增加,使用命令:resize2fs
resize2fs /dev/<vg name>/<lv name>
13.回到挂载步骤,扩容是不需要重新挂载的,新建的才需要挂载,手动挂载使用mount,自动挂载需要修改/etc/fstab文件。
14.至此,基本介绍完毕;
以上是关于关于Linux系统LVM问题的主要内容,如果未能解决你的问题,请参考以下文章