一、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:调整文件系统的空间大小
OK ,到这里我们的扩容就完成了。