还原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
还原lvm逻辑卷创建整个过程的更多相关文章
- Linux系统LVM逻辑卷创建过程以及自动化脚本
转至:https://cloud.tencent.com/developer/article/1068328 Linux系统LVM逻辑卷创建过程以及自动化脚本 2018-03-21阅读 6300 ...
- lvm逻辑卷创建及使用
创建逻辑卷 pvcreate /dev/md0 pvs 查看创建的pv组 pvdisplay /dev/md0 查看磁盘详细信息 添加vg组: 创建vg组: vgcreate vg1 /dev/md0 ...
- LVM逻辑卷创建管理
首先添加三块硬盘 结构关系图 相关命令 查看磁盘 #fdisk -l 分区 #fdisk /dev/sda/ #n新建 ProMary主分区 extended扩展分区 #p查看 #q不保存退出 #w保 ...
- LVM逻辑卷的创建及使用
在上一篇随笔里面 LVM逻辑卷基本概念及LVM的工作原理,详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理,包括LVM中最重要的四个基本点(PE.PV.VG以及LV),这 ...
- Linux磁盘管理:LVM逻辑卷的创建及使用
一.创建LVM逻辑卷 事先添加了三块虚拟物理磁盘/dev/sdb 1G, /dev/sdc 2G, /dev/sdd 3G 使用fdisk –l命令查看: [root@localhost ~]# fd ...
- LVM备份(2)-创建LVM逻辑卷
懵逼了几天,对LVM快照备份总算有了个比较清晰的认识 总的来说,就是这样: 1.普通分区备份比较困难,需要转化成LVM逻辑卷进行管理 2.在新创建的LVM逻辑卷上进行业务操作,比如建数据库 3.某个时 ...
- LVM备份(1)-创建LVM逻辑卷
LV(Logical Volume) - 逻辑卷 VG(Volume Group) - 卷组 PV(Physical Volume) - 物理卷 1.查看分区信息:fdisk -l 可看到磁盘大小为1 ...
- Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)
Linux LVM逻辑卷配置过程详解 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据, ...
- LVM逻辑卷管理测试——创建逻辑卷
虚拟机里再添加两块硬盘,如下所示: 启动系统后,我们可以看到新添加的两块硬盘为/dev/sdb和/dev/sdc.每个2GB. [root@lxjtest ~]# fdisk -l Disk /dev ...
随机推荐
- Kernel pwn 基础教程之 ret2usr 与 bypass_smep
一.前言 在我们的pwn学习过程中,能够很明显的感觉到开发人员们为了阻止某些利用手段而增加的保护机制,往往这些保护机制又会引发出新的bypass技巧,像是我们非常熟悉的Shellcode与NX,NX与 ...
- Spring AOP调用本类方法为什么没有生效
首先请思考一下以下代码执行的结果: LogAop.java //声明一个AOP拦截service包下的所有方法@Aspectpublic class LogAop { @Around("ex ...
- java案例—遍历字符串
/*案例:遍历并打印字符串 需求:键盘录入一个字符串,使用程序在控制台遍历该字符串 分析:1.使用Scanner类获取输入的字符串 2.使用public char charAt(int index)方 ...
- 各种环境下反弹shell
0x00 NC命令详解 在介绍如何反弹shell之前,先了解相关知识要点. nc全称为netcat,所做的就是在两台电脑之间建立链接,并返回两个数据流 可运行在TCP或者UDP模式,添加参数 -u 则 ...
- Python datetime获取当前年月日时分秒
from datetime import datetime now_time = datetime.now() str_time = now_time.strftime("%Y-%m-%d ...
- [vmware to openstack] 安装virtio驱动
描述 从vmware的虚拟机迁移到opensatck,由于vmware虚拟机磁盘类型采用的是scsi,要迁移到opensatck平台运行,发现虚拟机无法起来,原因是vmware虚拟机没有安装vir ...
- 说说 RPC 的实现原理?
首先需要有处理网络连接通讯的模块,负责连接建立.管理和消息的传输.其次需要有编解码的模块,因为网络通讯都是传输的字节码,需要将我们使用的对象序列化和反序列化.剩下的就是客户端和服务器端的部分,服务器端 ...
- Oracle入门基础(三)一一单行函数
SQL> --字符函数 SQL> select lower('Hello World') 转小写,upper('Hello World') 转大写,initcap('hello world ...
- django关闭DEBUG,无法加载静态文件
环境是:Python3.7 Django2.2 出现的问题根本原因是:当我们在开发django应用时如果设置了 DEBUG = True,那么django便会自动帮我们对静态文件进行路由:但是当我们设 ...
- Java连接ArtemisMQ,出现Timed out waiting to receive cluster topology. Group:null异常
完整异常内容:org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JM ...