热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux学习0927

2019独角兽企业重金招聘Python工程师标准4.104.114.12lvm讲解4.13磁盘故障小案例一、lvm讲解LVM是LogicalVolumeManager

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

4.10/4.11/4.12 lvm讲解

4.13 磁盘故障小案例

 

一、lvm讲解

    LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

    LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

    LVM工作原理:LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。

  

e2769c5459525a2e6925b866ffc97313c1c.jpg

  •     进行实验:

           fdisk /dev/sdc

        (n)分成三个分区,每个分区1G

        (t)把分区类型改为8e,8e类型表示就是lvm。只有这样才能做物理卷

            1fba376042d90edb23ca264bfeb16f831c3.jpg

            重复创建3个分区,并修改类型为8e,创建完成后"w"保存退出

            20a9a393fcea1a6fae65d4fcbb5bdda166a.jpg

  •     查看创建分区的文件

            ls /dev/sdc1 /dev/sdc2/ /dev/sdc3

            如果这些文件不存在,可以执行:partprobe  命令来进行生成

            10154fe559e8d4241cd651f47447477b1e6.jpg 

 

  •         创建物理卷 

                命令:pvcreate 

                如果此命令无法使用,需要安装lvm:yum install -y lvm2

                ps:如果yum安装的时候只知道命令不知道包名可以用:yum provides "/*/使用的命令"  来进行查找安装。

                如:以上我们只知道pvcreate这个命令,但是不知道包名就可以  yum provides "/*/pvcreate"  这样来进行查找安装。

                  

                进行创建: 

                 pvcreate /dev/sdc1

                 pvcreate /dev/sdc2

                 pvcreate /dev/sdc3

                bffa7c4ac33e1194c33f5cc1cd3d1dc12fe.jpg

                查看创建的物理卷:

                命令: pvdisplay

            52db1d692adfe873fc73328b1179f585ff6.jpg

            或者使用pvs命令查看,这样更加直观:

            1c0f29798d20c83dc9ecea883a1454a4f8f.jpg

  •    创建物理卷卷组:

           命令:vgcrate  卷组名   物理卷

           使用两个物理卷创建一个卷组:

            vgcreate vg1  /dev/sdb1  /dev/sdb2

            创建完成后使用vgdisplay查看卷组信息:
            0918c101ba3f6bfac0dfcdcc4c25985913f.jpg

             或者使用vgs命令查看

            732029ed12dffc633cc16d3267dae2946a6.jpg

  • 创建逻辑卷

        命令:lvcreate -L 大小M -n 逻辑卷名  物理卷卷组(表示从哪个卷组中划分)

                  lvcreate -L 100M -n lv1 vg1 

                 003c3dba1f642710ed5cd985d0ede7ef34d.jpg  

  • 格式化逻辑卷

       命令:mkfs.ext4 /dev/卷组/逻辑卷

                 mkfs.ext4 /dev/vg1/lv1

       6fe066c74da7c6475287c3e6198454ba85a.jpg

  •  挂载

        命令:mount  /dev/vg1/lv1 /mnt

        70ce9ae046830daf1d2cd6b96f58a263312.jpg

  • 扩容逻辑卷

        命令:lvsize   -L 大小 /dev/卷组/逻辑卷

                  lvresize -L 200M /dev/vg1/lv1

                  /dev/vg1/lv1已经挂载最好是先取消挂载,再进行扩容才符合规范

                1f81a8f94c37f98cd8d0a6c52022879f828.jpg

         检查磁盘是否有错误:

                e2fsck -f /dev/vg1/lv1

                ed90eab80b85da4d2b2cf16400ea8a87b87.jpg

                更新逻辑卷信息:

                命令:resize2fs /dev/vg1/lv1 

                更新完后再查看大小发现已经变成190M了

                0f9ea280456b8bada4b62dbf213d7b849a3.jpg

  • 缩减逻辑卷

        先取消挂载,然后进行检测逻辑卷是否有错误

        c90d6c641719f7689ecf0dbbbb75072ac1d.jpg

        把逻辑卷大小改为100M,和之前扩容类似:

        更新逻辑卷信息:resize2fs /dev/vg1/lv1  100M

         指定缩减逻辑卷大小:lvresize -L 100M  /dev/vg1/lv1

         144a62b3cbd01e3f6320c401679bfe2a3a4.jpg

        查看逻辑卷信息: lvdisplay

        大小已经变为100m

        382f3aef0fa9853f556acf85988a18ab1fe.jpg

        再进行挂载:

        挂载后查看大小已经变为了100M

        a28164bd544e8dd93b040eb3e2dec2caa09.jpg

        扩容和缩减并不会导致目录文件损坏,除非是在缩减时目录文件大于缩减大小,如目录本身150M你把它缩减到100M肯定会出问题的。

        以上操作的命令只针对ext4及以下文件系统。

    

  •   扩容xfs类型文件系统

           取消逻辑卷挂载目录:umount /mnt/

            格式化逻辑卷为xfs:mkfs.xfs -f /dev/vg1/lv1  /mnt/

            b51743cc48d45e94cf7cc61382498b83472.jpg

            挂载逻辑卷: mount /dev/vg1/lv1  /mnt/

            查看逻辑卷信息:lvs

            指定逻辑卷大小:lvreszie -L 300M  /dev/vg1/lv1 

            a754c081800bbcd6af1fdd26018633bc80c.jpg

           xfs_growfs同步:

            xfs_growfs /dev/vg1/lv1

            483a3b3cf93cae15c015eeb52523f94d42a.jpg

            查看一下扩容情况:

            6cc34162480c81a7abcdf361f9021d39cef.jpg

  •    扩展卷组:

            把之前物理卷sdc3添加到卷组vg1里

            命令:vgextend 卷组名  /dev/物理卷

                      vgextend vg1 /dev/sdc3

            添加完后查看,已经增加到3g

            f40cd95177d31e605cbea66d0011c2c4fa9.jpg            

 

二、磁盘故障小案例

    2127f61bfecb87cec717ed8efee6ee2a9e7.jpg

    如果出现以上或者类似的信息,往往是因为挂载点出现问题。

    解决方法:

    在光标处输入root密码,登录系统

    编辑/etc/fstab配置文件

    删除:/dev/sdb 这一行

    重启:reboot 即可。


转载于:https://my.oschina.net/u/3755326/blog/2209643


推荐阅读
  • centos 6.5 mysql 集群_CentOS 6下安装部署Galera Cluster for MySQL集群
    GaleraClusterforMySQL是一套基于同步复制的多主MySQL集群解决方案,使用简单,没有单点故障,可用性高, ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文介绍了包的基础知识,包是一种模块,本质上是一个文件夹,与普通文件夹的区别在于包含一个init文件。包的作用是从文件夹级别组织代码,提高代码的维护性。当代码抽取到模块中后,如果模块较多,结构仍然混乱,可以使用包来组织代码。创建包的方法是右键新建Python包,使用方式与模块一样,使用import来导入包。init文件的使用是将文件夹变成一个模块的方法,通过执行init文件来导入包。一个包中通常包含多个模块。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本章主要列举服务器程序的各种网络模型,示例程序以及性能对比后面再写。一、分类依据。服务器的网络模型分类主要依据以下几点(1)是否阻塞方式处 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
author-avatar
mobiledu2502924027
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有