一、linux_lvm磁盘化分 1、新添加的硬盘,fdisk -l 可以看到 sdb 新的未分配的分区。
2、我们可以看到有2块硬盘,第一块硬盘已经分区并使用,我们要在第二块硬盘sdb上新建LVM(有两种方式后面在做第二种方式讲述,我这里是第一种方式:先做好lvm在格式化磁盘,未先做分区的) 2.1、将物理的sdb磁盘加入到物理
#pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
2.2、创建新VG组
#vgcreate vggroup1 /dev/sdb
Volume group "vggroup1" successfully created
2.3、创建逻辑卷, 2.3.1、可先通过vgdisplay察看该卷组的Total PE数及PE Size,然后在创建逻辑卷时指定
# lvcreate -L 25599 -n lvdata1 vggroup1 \\不用一次使用全部空间推荐使用些方法`
Rounding up size to full physical extent 26.00 GiB
Logical volume "lvdata1" created.
该命令就在卷组vggroup1上创建名字为lvdata1,大小为25599M的逻辑卷,并且设备入口为/dev/vggroup1/lvdata1(vggroup1为卷组名,lvdata1为逻辑卷名)
2.3.2、用下面方式自己大概计算
# lvcreate -L 99.9G -n lvdata1 vggroup1
2.3.3、也可以使用lvcreate参数以卷组的大小百分比来创建逻辑卷。用下列的命令创建了vgdata卷组的50%大小的给逻辑卷lvdata2:
# lvcreate -l 50%VG -n lvdata2 vgdata
2.3.4、使用vgdata卷组剩下的所有空间创建分给逻辑卷lvdata3(注意是小写l):
lvcreate -l +100%FREE -n lvdata3 vgdate
2.4、将新的分区,格式化: mkfs.xfs /dev/vggroup1/lvdata1
2.5、手动挂载
mount /dev/vggroup1/lvdata1 /web/
开机自动加载:
[root@bogon ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Nov 21 09:29:39 2017
#
# 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/rhel-root / xfs defaults 0 0
UUID=46083f96-3757-41b5-aa7b-fae231f23604 /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/vggroup1/lvdata1 /web xfs defaults 0 0
保存,重启服务
3、第二种方式做LVM分区 3.1、硬盘sdb上新建LVM分区 使用fdisk /dev/sdb进行分区,按n创建一个新的分区,按P创建主分区,按1,创建第一块分区,选择开始磁道,按照默认模式开始,使用整个硬盘空间。创建好后按w生效退出。(注意:即使是另一种情况,扩展sda,也需要对sda重新分区,Partition number (1-4)时输入对应的数值。)
例子:rhel7.4分区使用整个硬盘空间50G
将新的分区,格式化; #mkfs.xfs /dev/sdb1
#mkfs -t ext3 /dev/sdb1 (如果找不到刚才的分区sdb1,需要重新启动系统;默认的“done”不用手动敲,等待一会儿会自动出现。) (2) 把分区改为LVM格式 修改分区格式,使新建的分区支持LVM格式。进入fdisk后,按t修改分区格式,类型改为8e(之前默认的是83)。按w保存生效。 执行partprobe ,不用重启机器,使分区表生效。
fdisk -l 查看刚加的分区,格式已经变成LVM 的8e。
3.2、将物理的sdb1磁盘加入到物理 #pvcreate /dev/sdb1 创建VG卷组 #vgcreate vggroup1 /dev/sdb1 创建逻辑卷 lvcreate -L 12799 -n lvdata1 vggroup1 或用下面方法: 使用vggroup1卷组剩下的所有空间创建分给逻辑卷lvdata1(注意是小写l): lvcreate -l +100%FREE -n lvdata1 vggroup1
新的分区,格式化: mkfs.xfs /dev/vggroup1/lvdata1
二、LVM 扩容 服务器运行一段时间后,该目录下的存储空间使用紧张,现利用LVM对其进行磁盘空间扩容。 1、扩容VG 将sdc1物理卷扩容到vggroup1卷组中 #vgextend vggroup1 /dev/sdc1
2、扩展 LV 表示给vggroup1卷组的lvdata1逻辑卷中扩容10G。 #lvextend -L +10G /dev/vggroup1/lvdata1
3、执行重设大小; 在rhel7.4中要用xfs_growfs命令,不然用resize2fs会有报错
#xfs_growfs /dev/vggroup1/lvdata1
meta-data=/dev/vggroup1/lvdata1 isize=512 agcount=4, agsize=720640 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=2882560, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 2882560 to 5504000
若不是xfs我们可以用resize2fs,这里报错了
#resize2fs /dev/vggroup1/lvdata1
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block 当尝试打开 /dev/vggroup1/lvdata1 时找不到有效的文件系统超级块.
4、在red7.4中扩展lv使用vg剩余的所有空间都分配给lv,最好再加上-r 参数 lvextend -r -l +100%FREE /dev/mapper/VolGroup-lv_home 如果不加 -r 参数,需要手动使用xfs_growfs或resize2fs /dev/mapper/VolGroup-lv_home才能生效。
5、在rhel5.5中扩展lv使用vg剩余的所有空间都分配给lv,使用下面命令会有个报错 lvextend -r -l +100%FREE /dev/vgdata/lvdata1 去掉-r参数:lvextend -l +100%FREE /dev/vgdata/lvdata1,扩展成功 重新识别大小resize2fs:调整文件系统的空间大小
三、CentOS7中LVM通过扩展逻辑卷扩展swap空间 在我们日常运维工作中,偶尔也会遇到需要扩展swap空间的操作。扩展swap空间的方法很多,现在让我们一起来探讨一下,在LVM下扩展swap空间的方法。 3.1、查看逻辑卷
# lvdisplay
逻辑卷swap的路径为/dev/centos/swap。扩展逻辑卷swap。
# lvextend -L 2GB /dev/centos/swap
Size of logical volume centos/swap changed from 2.00 GiB (512 extents) to 4.00 GiB (1024 extents).
Logical volume centos/swap successfully resized.
扩展成功!然而,用free命令看一下,当前swap空间并未增加。
还需要执行以下几步:
# lvextend -L 2GB /dev/centos/swap
# swapoff /dev/centos/swap
# mkswap /dev/centos/swap
# swapon /dev/centos/swap
增加成功!都不用去修改fstab文件。
OK ,到这里我们的扩容就完成了。