lvm讲解、磁盘故障小案例
第4周第3次课(4月11日)
课程内容:
4.10/4.11/4.12 lvm讲解
4.13 磁盘故障小案例
4.10/4.11/4.12 lvm讲解
lvm可以给磁盘扩容和缩容,结构图如下。 首先创建物理分区,物理分区形成物理卷,物理卷形成一个卷组,然后再划分成逻辑卷,最终在逻辑卷基础上格式化再挂载到系统使用。

按照如下步骤操作

首先创建3个新分区,分别为1G。
[root@jimmylinux-002 ~]# fdisk /dev/sdb
输入n新建-->p创建主分区

输入t改变分区类型为8e,只有这样才可以做物理卷,否则无法继续下面的操作。普通分区类型为83

w保存退出,fdisk -l 查看刚才新建的3个分区 /dev/sdb1 /dev/sdb2 /dev/sdb3


准备好3个分区后开始创建物理卷

[root@jimmylinux-002 ~]# pvcreate /dev/sdb1 使用命令pvcreate创建物理卷
如果出现未找到命令,说明还没有安装lvm。
[root@jimmylinux-002 ~]# yum install -y lvm 用yum安装lvm

如果安装失败,例如想要安装一个软件包,但是这个软件名字忘记了,好比lvm安装失败,可以根据命令方式去搜索到正确的名字后再安装。
[root@jimmylinux-002 ~]# yum provides "/*pvcreate" /表示根,*表示通配符

查找到正常的名字是lvm2,再yum install -y lvm2 安装
[root@jimmylinux-002 ~]# yum install -y lvm2
[root@jimmylinux-002 ~]# pvcreate /dev/sdb1 创建物理卷1
[root@jimmylinux-002 ~]# pvcreate /dev/sdb2 创建物理卷2
[root@jimmylinux-002 ~]# pvcreate /dev/sdb3 创建物理卷3

物理卷创建完成后使用命令pvdisplay查看刚才新建的3个分区大小,都是1G。
[root@jimmylinux-002 ~]# pvdisplay



除了pvdisplay可以查看物理卷,还可以使用pvs查看,这样看的效果更加直观些。

创建完物理卷后再创建物理卷组
[root@jimmylinux-002 ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2 先用2个物理卷创建一个物理卷组

使用vgs查看卷组,vgremove是移除卷组。

有了卷组后就可以创建逻辑卷
[root@jimmylinux-002 ~]# lvcreate -L 100M -n lv1 vg1

逻辑卷创建好以后格式化成ext4格式,也可以格式化成xfs,但是格式化为xfs以后,对后续做扩容和缩容会有影响。
[root@jimmylinux-002 ~]# mkfs.ext4 /dev/vg1/lv1

[root@jimmylinux-002 ~]# mount /dev/vg1/lv1 /mnt/ 挂载到mnt,文件大小是93M。

在mnt下面创建一个目录并创建一个文件,再写入一串数字。

扩容逻辑卷,存在的价值可以很方便的去扩容和缩容。

正常情况下我们先umount /mnt/ 然后在重新设置卷大小。
-L 表示指定新的大小
[root@jimmylinux-002 ~]# umount /mnt/
[root@jimmylinux-002 ~]# lvresize -L 200M /dev/vg1/lv1

[root@jimmylinux-002 ~]# e2fsck -f /dev/vg1/lv1 然后做一个检查磁盘错误的命令,看看磁盘是否有问题。

检测完以后再更新逻辑卷信息,如果不更新没有办法在挂载的时候识别新的大小。
[root@jimmylinux-002 ~]# resize2fs /dev/vg1/lv1
重新挂载
[root@jimmylinux-002 ~]# !mount
mount /dev/vg1/lv1 /mnt/
[root@jimmylinux-002 ~]# df -h 再查看容量已经是扩容后的190M

扩容后再查看刚才创建的目录和文件也同样存在,如果扩容后导致数据丢失就没有任何意义了。

以上操作过程只针对ext4,如果是xfs格式操作方法不同。
缩容和扩容方式基本相同,只是前后顺序不一样。

[root@jimmylinux-002 ~]# umount /mnt
[root@jimmylinux-002 ~]# e2fsck -f /dev/vg1/lv1
[root@jimmylinux-002 ~]# lvresize -L 100M /dev/vg1/lv1
[root@jimmylinux-002 ~]# lvdisplay 查看容量已经缩减到100M

重新挂载并查看文件依然存在,同样也不会因为缩容导致数据丢失,但是如果文件已经超过100M,再缩减到100M肯定会出问题。

xfs格式支持扩容,不支持缩容,扩容时候不需要卸载。
重新格式化成xfs格式-->挂载-->创建文件
[root@jimmylinux-002 ~]# mkfs.xfs -f /dev/vg1/lv1

[root@jimmylinux-002 ~]# lvresize -L 300M /dev/vg1/lv1 扩容到300M

直接使用df -h查看还是原来100M

并没有达到扩容后的300M,此时需要执行命令xfs_growfs /dev/vg1/lv1 然后再df -h 才能够正常显示300M。

扩展卷组

逻辑卷最大也就扩容到卷组大,当逻辑卷空间消耗完卷组时候,就需要给卷组扩容了。
sdb1和sdb2加入到卷组,还剩一个sdb3分区没有用。

现在把sdb3加入到卷组,先创建物理卷,再把物理卷加入到卷组,最后去扩容卷组设置大小。


4.13 磁盘故障小案例
做实验的时候因为写了一行配置到配置文件etc/fstab,做完lvm实验后重启发现进不了系统了。

直接先输入root密码,进入系统后重新修改配置文件etc/fstab,把/dev/sdb这行删除,保存退出,重启系统即可恢复正常。

lvm讲解、磁盘故障小案例的更多相关文章
- lvm讲解/磁盘故障小案例
4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例 lvm讲解 磁盘故障小案例
- Linux centosVMware 命令 lvm、磁盘故障小案例
一.lvm命令 LVM:逻辑分区管理,可基于动态的扩展缩小硬件设备的使用空间,注意:lvm磁盘复杂,由于使用lvm,数据丢失恢复起来有一定风险.概念:pv.VG.lvpv(物理卷,有pp基本单位构成) ...
- RAID&LVM有关磁盘的故障
目录 RAID&LVM有关磁盘的故障 RAID 注意:RAID硬盘失效处理--热备和热拔插 RAID实战 LVM介绍 磁盘故障 RAID&LVM有关磁盘的故障 RAID 好处:1.更多 ...
- shell讲解-小案例
shell讲解-小案例 一.文件拷贝输出检查 下面测试文件拷贝是否正常,如果cp命令并没有拷贝文件myfile到myfile.bak,则打印错误信息.注意错误信息中basename $0打印脚本名.如 ...
- grpc基础讲解和golang实现grpc通信小案例
grpc简介 gRPC由google开发,是一款语言中立.平台中立.开源的远程过程调用系统 gRPC客户端和服务端可以在多种环境中运行和交互,例如用java写一个服务端,可以用go语言写客户端调用 g ...
- MVC 小案例 -- 信息管理
前几次更新博客都是每次周日晚上到周一,这次是周一晚上开始写,肯定也是有原因的!那就是我的 Tomact 忽然报错,无法启动,错误信息如下!同时我的 win10 也崩了,重启之后连 WIFI 的标志也不 ...
- Linux - 通过LVM对磁盘进行动态扩容
目录 1 LVM是什么 1.1 概念解释 1.2 为什么用LVM 1.2.1 不使用LVM时的扩容思路 1.2.2 使用LVM时的扩容思路 1.3 名词解释 2 普通的挂载磁盘方法 2.1 创建分区的 ...
- WEB 小案例 -- 网上书城(四)
针对于这个小案例我们今天讲解结账操作,也是有关这个案例的最后一次博文,说实话这个案例的博文写的很糟糕,不知道该如何去表述自己的思路,所以内容有点水,其实说到底还是功力不够. 处理思路 点击结账,发送结 ...
- react框架实现点击事件计数小案例
下面将以一个小案例来讲解react的框架的一般应用,重点内容在代码段都有详细的解释,希望对大家有帮助 代码块: 代码块: import React from 'react'; import React ...
随机推荐
- 随(rand):原根,循环矩阵,dp
20分特判,一个puts("1")一个快速幂,不讲. 50%算法: 上次就讲了,可是应该还是有像 xuefen某 或 Dybal某 一样没听的. 用a×inv(b)%mod来表示分 ...
- 如何在Vue中,当鼠标hover上元素时,给元素加遮罩层
介绍 当鼠标hover 上元素时,给元素加一层遮罩层. 效果图 使用 import VueHoverMask from 'vue-hover-mask' export default { compon ...
- es ik 分词 5.x后,设置默认分词
1.使用模板方式,设置默认分词 注: 设置模板,需要重新导入数据,才生效 通过模板设置全局默认分词器 curl -XDELETE http://localhost:9200/_template/rtf ...
- 表格可拖拉列改变列大小(使用的时候将youElement全部替换称你要添加这个效果的元素,需是jqery的选择器格式,如:$("table th/td"))
$(function () { var isMouseDown = false; var currentTh = null; youElement.bind({ mousedown: function ...
- 《计算机网络 自顶向下方法》 第3章 运输层 Part2
待补充完善 TCP 相关基本点 1.面向连接 两个不同主机上的进程在通过 TCP 进行通信之前,必须先通过三次握手来建立 TCP 连接 2.全双工服务 即,如果一台主机上的进程 A 与另一台主机上的进 ...
- element 动态合并表格
前言 element 官方的例子太简单了,不满足实际的需求 数据肯定是动态的,合并的行数,列数都是动态的,该如何知道每一行的合并数呢 需求 动态合并表格,数据来源于数据库 正文 一开始,我的数据源是单 ...
- js控制文本显示的字数,超出显示省略号
在css中我们说了用css控制文本显示几行,超出用省略号,但这个办法是要完全占满一整行的,偏偏就是有UI设计师就不这么干,是不是很想打他,哈哈哈,我不会的时候都这样子在心里骂设计师的,这么久那么爱搞特 ...
- 为什么Python类语法应该不同?
做过python的人你会发现想要的东西跟它原有的是不同的.Python对我来说是真的是这样.如果可以的话,对于Python中很多的我想要改的东西,我有很多的想法.现在我向您讲述其中一个:类定义的语法. ...
- 自动安装 linux 系统
实现自动安装 centos 6 和 centos 7 实现自动安装 Linux 系统需要在虚拟机上安装三个服务:apache .tftp.dhcp 三个服务放在一台虚拟机上即可 一.DHCP 服务器的 ...
- 使用Android Studio进行ndk开发的准备
1. gradle-ex2. ndk开发包3. 项目目录结构4. lldb调试器 1. 一般来说gradle不是必需的,gradle也是可以进行ndk编译的,然而你需要在编译时使用更多(多于一个)c+ ...