还原lvm逻辑卷创建整个过程
很多情况入职的时候,系统可能已规划过的,但是有的信息也不是很完整,比如下面的lvm逻辑卷
我们先不管对与错,利用一些工具来了解当前lvm逻辑卷的情况
系统采样:
[root@fp-web-112 var]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
首先利用lsblk命令查看,关注点在sdb2分区,这个分区设置成了lvm逻辑卷
另外查看这个我们应该看出点东西,mountponit 下centos-swap 没有挂载,实际swap分区这里是没有启动的意思
以上显示swap的总数为0,证明没有开启swap分区
我们通过命令来查看一下之前的一些操作
一、pv(PhysicalVolume,物理卷)
pv(物理卷)是LVM机制的基本存储设备,通常对应一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(Physical Extent,PE),从而构成物理卷,物理卷一般直接使用设备文件名称,如/dev/sdb1(分区)、/dev/sdb2(分区)、/dev/sdd(磁盘)等,对用于转换成物理卷的普通分区,建议先使用fdisk工具将分区类型的ID标记号改为“8e”。若是整块硬盘,可以将所有磁盘空间划分为一个主分区后再做相应调整。
[root@fp-web-112 ~]# pvscan //检查有无 PV 在系统上
//pvdisplay命令
[root@fp-web-112 ~]# pvdisplay
还原命令为: pvcreate /dev/sda1 //将物理硬盘分区初始化为物理卷,以便LVM使用
我们可以删除物理卷,用pvremove,刚开始创建的时候
[root@fp-web-112 ~]# pvremove /dev/sdb2
注:pvcreate /dev/sda1 pvcreate /dev/sda2 ......可以是多个
二、VG(VolumeGroup,卷组)
//vgscan命令用于扫描系统中已建立的LVM卷组及相关信息
//vgdisplay命令,查看centos卷组信息
[root@fp-web-112 ~]# vgdisplay
还原命令为: vgcreate centos /dev/sdb2 //使用物理卷“/dev/sdb2创建名为centos名字的卷组
删除卷组命令:
[root@fp-web-112 ~]# vgremove centos
Volumegroup "centos" successfully removed
这时我们可能有需求,我要把扩卷卷组的磁盘空间,好我们可以这样
vgextend命令用于扩展卷组的磁盘空间。当创建了新的物理卷,并需要将其添加到已有卷组中时,就可以使用vgextend命令。
该命令的第一个参数为需要扩展容量的卷组名称,其后为需要添加到该卷组中的各物理卷。例如,将重新创建卷组centos,包含物理卷“/dev/sdb2”,然后通过vgextend命令将新 物理卷“/dev/sdc1”添加到卷组centos中
注意: /dev/sdc1 是我们的新硬盘分区1,被格式化为了物理卷。
centos这个是我们自己起的名字,不是centos系统,这个是我们之前注意到的。导致如果不清楚lvm会造成误会。
三、LV逻辑卷管理
lvscan命令用于扫描系统中已建立的逻辑卷及相关信息
//lvdisplay命令lvdisplay命令用于显示逻辑卷的详细信息,需要指定逻辑卷的设备文件作为参数,也可以使用卷组名作为参数,以显示该卷组中所有逻辑卷的信息。例如,执行以下操作可以查看前面创建的hlj逻辑卷的详细信息
[root@fp-web-112 ~]# lvdisplay
还原当时的创建命令为:命令格式如下 [root@fp-web-112 ~]# lvcreate -L 容量大小 -n 逻辑卷名 卷组名
我们看根据这个命令格式还原为:
[root@fp-web-112 ~]# lvcreate -L 4G -n centos root
[root@fp-web-112 ~]# lvcreate -L 4G -n centos swap
lvextend命令
lvextend用于动态扩展逻辑卷的空间,当目前使用的逻辑卷空间不足时,可以从所在卷组中分割额外的空间进行扩展。只要指定需增加的容量大小及逻辑卷文件位置即可。前提条件是该卷组中还有尚未分配的磁盘空间,否则需要先扩展卷组容量(一层一层的向上扩容)。
另外,调整逻辑卷的容量后,需要执行“resize2fs /dev/卷组名/逻辑卷名”命令以便Linux系统重新识别文件系统的大小 ,需要格式化之后才可以使用resize2fs命令
使用lvextend命令时,格式如下 lvextend -L +大小 /dev/卷组名/逻辑卷名
例子
[root@fp-web-112 ~]# lvextend -L +大小 /dev/卷组名/逻辑卷名
[root@fp-web-112 ~]# lvextend -L +100G /dev/centos/root //这样给跟目录进行了扩容了
查看/etc/fstab内的内容:
修改/etc/fstab,添加如下内容,这样在开始时可以自动加载,永久生效:
启动swap分区,首先查看下
[root@fp-web-112 ~]# free -m
[root@fp-web-112 ~]# swapon -va //执行完这个命令,来看一下
//发现有变化即,已经开启了swap分区, 同时可以用lsblk再查一下,就会发现跟之前不一样了
禁用swap(下面图里面很明显又回到文章刚开始部分的样子)
[root@fp-web-112 ~]#swapoff -v /dev/centos/swap
那么我们想想下面这种结果是怎么出来的呢?
我们模拟一下(实际我们就是在sda磁盘上先创建主分区1,然后创建分区2,再把分区类型id 83的分区2,转换成逻辑卷得过程)
用 fdisk /sda 进行分区 1---》2 ---》选择分区2---》更改8e----》w 写入
利用这种方式就完成了lvm的操作,然后我们就可以进行相关的物理卷、vg卷组、lv逻辑卷等的操作管理了。
[root@fp-web-112 ~]#pvcreate /dev/sb2/ ##创建新的pv卷
[root@fp-web-112 ~]#vgcreate centos /dev/sdb2/ ##创建新的vg卷
[root@fp-web-112 ~]#lvcreate -L 99G -n root centos ## 创建逻辑卷 -L 指定分区大小 -n 指定lvm名称
[root@fp-web-112 ~]#mkfs.xfs /dev/centos/root ##使用mkfs.xfs命令在逻辑卷root上创建xfs文件系统
[root@fp-web-112 ~]# mount /dev/centos/root / #### 挂在分区到本地目录/
[root@fp-web-112 ~]#mkswap /dev/centos/swap ###格式化成Swap分区
//由于不能直接使用mount命令挂载swap分区,因为swap分区是没有挂载点的
[root@fp-web-112 ~]#echo "/dev/mapper/centos-wap swap swap defaults 0 0" >> /etc/fstab ###加入开启启动
[root@fp-web-112 ~]#echo "/dev/mapper/centos-root xfs xfs defaults 0 0" >> /etc/fstab ###加入开启启动
[root@fp-web-112 ~]#swapon /dev/centos/swap ####启动该swap分区 或者使用 swapon -va
查看/etc/fstab
这样就可以重启了,注意fstab文件中一定要正确填写相关路径,一旦出错,可能系统则无法正常启动起来.
注意: swap分区,不能挂载,格式是swap分区自己的格式swap
扩大lvm swap分区
1、关闭交换分区
[root@fp-web-112 ~]# swapoff /dev/centos/swap
2、扩展/dev/centos/swap,增加8336M
[root@fp-web-112 ~]# lvextend -L +8336M /dev/centos/swap
[root@fp-web-112 ~]# resize2fs /dev/centos/swap //让添加的空间生效
3、将 /dev/centos/swap设置为swap分区
[root@fp-web-112 ~]# mkswap /dev/centos/swap
4、启动swap分区
[root@fp-web-112 ~]# swapon /dev/centos/swap
5、查看结果:
[root@fp-web-112 ~]# free -m
减小lvm swap分区
1、关闭交换分区
[root@fp-web-112 ~]# swapoff /dev/centos/swap
2、减小 /dev/centos/lv_swap 8000M
[root@fp-web-112 ~]# lvreduce -L -8000M /dev/centos/swap
3、将 /dev/centos/swap 设置为swap分区,格式化swap
[root@fp-web-112 ~]#mkswap /dev/centos/swap
4、开启swap分区
[root@fp-web-112 ~]# swapon /dev/centos/swap
5、[root@fp-web-112 ~]#free -m