zoukankan      html  css  js  c++  java
  • 操作系统磁盘管理

    一.磁盘知识体系说明

      

       磁盘的结构体系:如上图所示

      01.磁盘物理知识(外部结构  内部结构)

        磁盘外部结构  接口  内部结构  工作原理  读写原理

      02.磁盘阵列说明

        raid知识  配置LVM(L-逻辑  V-卷组  M-管理)-逻辑卷管理-->实现可以弹性的调整磁盘分区大小

      03.磁盘分区概念

        分区的知识  主,扩展,逻辑分区  分区表知识  

        给容量较小的磁盘进行分区:小于2T  fdisk

        给容量较大的磁盘进行分区:大于2T  parted

      04.磁盘格式化操作

        格式化知识  文件系统知识  挂载知识  创建文件系统

      05.磁盘管理此方法

        df  fdisk  mkfs  mkfs.xfs  parted  swapon  swapoff  /etc/fstab  /etc/rc.local

    二.磁盘体系结构详述

      1.磁盘的外部结构

        01.组成部分

          001 磁盘主轴

            决定磁盘转速(rpm-round per minute)

              家用磁盘转速  7200rpm  5400rpm

              企业磁盘转速  15000rpm  10000rpm

          002 磁盘盘片

            用于存储数据

          003 磁盘磁头

            用于读取数据

          004 磁盘接口

            用于连接主板

        02.接口类型

          SATA  SCSI  SAS  PCI-E

          磁盘结构分类:  机械硬盘  固态硬盘

          磁盘接口分类  SATA(串行)  SCSI  SAS 

          磁盘的选择:

            机械硬盘:

              SATA: 备份  性能要求不高  大量存储  线下服务  

                10000 rpm    2T 3T 4T

              SAS: 服务器标配 线上/生产环境使用

                15000 rpm  10000rpm  7200rpm  300G 600G

            固态硬盘: 大量的读写  要求很高的性能  数据量小

          机械银盘与固态硬盘的对比

            机械:  容量大价格低 抗击打能力弱 读写速度稍慢(io) 数据恢复容易

            固态:  容量小价格高 抗击打能力强 读写速度很快(io) 数据恢复难

      2.磁盘的内部结构(机械磁盘)

        01.磁盘(disk)

        02.磁头(head)

          作用说明:用来写入和读取数据的

          特点说明:盘面数量等于磁头数量

          工作原理:词用径向运动读写数据

        03.磁道(track)

          作用说明:用来存储用户数据

          特点说明:由多个同心圆组成    存储计数:最外面同心圆为0磁道

          工作原理:磁盘默认按照磁道寻找数据

            重点原理:磁头径向运动为机械运动(寻道)

            原理特点:磁头机械运动较慢

        04.扇区(sector)

          作用说明:用来存储用户数据

          特点说明:磁盘存储最小单位(系统存储最小单位是block)  存储计数:默认磁盘扇区从1扇区开始,扇区大小为512字节

        05.柱面(cylinder)

          作用说明:用来存储用户数据

          特点说明:不同盘面上相同的磁道组成(圆柱体)

          工作原理:磁盘默认按照柱面进行读写

            重点原理:磁头之间的切换为电子切换(相对于寻道操作来说,磁头之间的电子切换能更快的定位到需要的磁道)

            原理特点:磁头电子切换较快

        06.单元块(units)

          作用说明:用来存储用户数据

          特点说明:表示单个柱面大小

        07.根据磁盘内部结构计算磁盘大小

          

           

           001 磁盘大小=柱面大小(unit)*柱面数量

              命令运算:echo unit*柱面数量|bc

              命令运算:awk 'BEGIN{print unit*柱面数量}'

    三.磁盘阵列概念说明

      1.磁盘阵列概念说明

        01.概念介绍:Redundant Arrays of Independent Disks RAID(独立磁盘构成的具有冗余能力的阵列)

        02.作用说明:

          001 获得更大的容量

          002 获得更高的性能

          003 或得更好的安全

      2.磁盘阵列级别说明

        01 阵列级别 raid0

          性能:提供更高的存储效率(存储效率高)

          容量:不会损耗磁盘容量

          需求:至少需要一块硬盘

          缺陷:数据安全性保障不高(数据安全性低)

        01 阵列级别 raid1

          性能:数据安全保障提高(数据安全性高)

          容量:磁盘容量会损耗(损耗一块硬盘)

          需求:只能使用两块硬盘

          缺陷:数据存储效率低(存储效率低)

        01 阵列级别 raid5

          性能:数据安全保障提高(数据安全性较高)

            数据存储效率较高

          容量:磁盘容量将会损耗(损耗一块硬盘容量)

          需求:至少使用三块硬盘    最多只能坏一块硬盘

        

        01 阵列级别 raid10

          性能:数据安全保障提高

            数据存储效率提高

          容量:磁盘容量将会损耗

          需求:需要成对添加磁盘

          

        01 阵列级别 raid01

          性能:数据安全性提高

            数据存储效率提高

          容量:磁盘容量将会损耗

          需求需要成对添加磁盘

          

    四.磁盘分区方法实践

      1.磁盘分区概述

        01.系统启动引导记录 

          MBR主引导记录(用于引导磁盘空间大于2T)

           

     

             磁盘的 0磁头 0磁道 1扇区 为一个扇区大小占用512字节   其中MBR主引导记录占用446个字节  磁盘分区表(DPT)占用66个字节 其中两个字节是分区结束标识

             每个分区占用16个字节,所以总共能分4个主分区       扩展分区占用16个字节,最多只能存在一个扩展分区

          GPT主引导记录(用于引导磁盘空间大于2T)

        02.系统分区类型说明

          主分区(primary)  最多4个主分区,每个分区占16个字节(64字节)

          扩展分区(extend)  最多只能存在一个扩展分区,用来添加逻辑分区.无法存储数据信息

          逻辑分区(logical)  可以有多个逻辑分区,用来存储数据信息(逻辑分区都是从5开始计数.1-4是主分区和扩展分区的计数,逻辑分区不能占用)

        03.系统分区命名说明

          步骤一:按硬盘类型命名(SATA SAS SCSI)

            第一块: /dev/sda

            第二块: /dev/sdb

            第三块: /dev/sdc

          步骤二:按分区数量命名

            主分区和扩展分区

              第一个分区: /dev/sda1

              第二个分区: /dev/sda2

              第三个分区: /dev/sda3

            逻辑分区(逻辑分区的编号都是从5开始的1-4的编号是属于主分区和扩展分区的,无论主分区和扩展分区有没有分都不能占用)

              第一个分区: /dev/sda5

              第二个分区: /dev/sda6

          分区命名测验

            第1块SATA硬盘的第一个主分区: /dev/sda1

            第2块SATA硬盘的第二个扩展分区: /dev/sdb2

            第3块SATA硬盘的第一个逻辑分区: /dev/sdc5        

      2.磁盘分区实践

        01 搭建磁盘分区的环境

          添加两个虚拟磁盘大小分别是小于2T和大于2T

          

           重启系统,加载硬盘信息,利用fdisk  -l 查看系统中硬盘信息

          

        02 磁盘信息查看方法

          fdisk  -l|grep 'sd[c,d]'

          

        03 磁盘分区工具说明

          分区工具 fdisk

            应用场景:磁盘空间小于2T,创建的分区表为MBR的

            分区操作:

              fdisk -cu /dev/sdc---->centos6

              

              fdisk /dev/sdc---->centos7

              

             分区参数:

              

             开始分区:

              1.规划4个主分区,每个分区1G

                操作过程

                

                

                 检查分区

                

                保存退出

                

                让系统可以加载识别分区信息(此条命令适用于真实机环境.虚拟机不需要此条命令会自动加载分区信息文件)

                

               2.规划3个主分区 一个扩展分区 每个主分区1G 剩余都给扩展分区

                 操作过程

                

                 

                 检查分区

                

                保存退出

                

                让系统可以加载识别分区信息(此条命令适用于真实机环境.虚拟机不需要此条命令会自动加载分区信息文件)

                

               3.规划2个主分区,每个分区1G 划分2个逻辑分区 每个分区2G

                操作过程

                

                 

                 检查分区

                

                保存退出

                

                让系统可以加载识别分区信息(此条命令适用于真实机环境.虚拟机不需要此条命令会自动加载分区信息文件)

                

               4.其他参数作用说明

               l   list known partition types     列出可以分区的类型

               t   change a partition's system id  改变分区的系统id==改变分区类型(LVM 增加swap分区大小)  

              

                   

          分区工具 parted

            应用场景:磁盘大小大于2T分区工具(创建分区表GPT)

            分区操作:parted(分区操作实时生效)

              分区参数:

              

               开始分区

              

               

               

               步骤详解:

              步骤一:mklabel gpt 创建分区表gpt

              步骤二:mkpart primary 0 1000G  创建分区信息

                  mkpart primary 1000G 2000G

              步骤三:print(p)          打印分区信息

                  rm n          删除分区信息

              步骤四:quit(q)          退出保存分区信息

              让系统可以加载识别分区信息

               

        04磁盘创建文件系统

            格式化操作(创建文件系统-磁盘分区存储数据的方式)

              作用:磁盘中诞生了iinode和block

              常见文件系统:

                ext3/4   centos6

                xfs      centos7 格式化效率较高,数据存储效率提升

              操作命令:

                mkfs.xfs /dev/sd[a-d]n

                mkfs.ext4 /dev/sd[a-d]n

               

            进行磁盘挂载(磁盘需挂载到目录才能被用户使用)

              挂载命令:mount /dev/sd[a-d]n /mount

              

            系统开机自动挂载(磁盘空间若要使用,则必须挂载,而上述挂载信息在系统重启后将不复存在,所以我们需要开机自动挂载,保证磁盘开机可用)

             方法一:将挂载命令放入/etc/rc.local

              

               

               注意:在上述文件中编写执行命令时,注意查看/etc/rc.local文件的权限,由于文件为脚本文件.系统在开机时会运行此文件,而脚本文件一般会像命令文件一样直接执行,执行时文件需具备执行权限才可能被系统正确执行.

                  若无执行权限,则上述文件执行不会被执行,那么文件中的命令自然不会执行.所以得保证文件具有执行权限

                

               方法二:在/etc/fstab中设置    ******

                

        05 系统分区实践步骤

          步骤一:创建磁盘分区并保存查看

            fdisk 磁盘小于2T(分区表MBR)    w保存退出

            parted 磁盘空间大于2T(分区表GPT)  q退出保存

          步骤二:系统加载识别分区信息(告知系统分区以创建)

            partprobe  ll(查看设备文件)

          步骤三:磁盘分区后创建文件系统

            mkfs.xfs  注意识别扩展分区(不占用实际磁盘空间,无法创建文件系统)

            blkid     查看磁盘分区文件系统

          步骤四:磁盘分区挂载(磁盘需要挂载方可被系统使用)

            mount /dev/sd** /挂载点

          步骤五:分区开机自动挂载

            方法一:挂载命令写入/etc/rc.local    注意查看文件的执行权限x

            方法二:编辑文件/etc/fstab       注意格式 blkid命令可查看设备文件唯一识别号UUID

    五.磁盘文件系统介绍

      1.文件系统概述说明

        文件系统就是一种存储和组织计算机数文件的机制或方法

      2.文件系统分类说明

        centos5 ext3

        centos6 ext4

        centos7 xfs  数据库服务上存储数据 在格式化大的磁盘时效率更高

    六.磁盘分区企业案例

      1.磁盘满的情况 No space left on device

        01 情况一:存储的数据太多了(block空间不足)

          模拟磁盘空间不足(创建大文件)

          dd if=/dev/zero of=/mount07/oldboy.txt bs=10M count=10
          

          解决办法:删除没有的大文件-------->如何找到大文件?

          找出系统中大的文件

            方法一:find / -type f -size +100M

            方法二:du -sh / |sort -h

            

        01 情况二:存储的数据太多了(inode空间不足)

          inode存储空间不足:出现大量小文件

      2.java环境内存不够用了,大量使用swap分区

        步骤一:创建系统交换分区使用文件(利用文件占用磁盘部分空间)

          dd if=/dev/zero of=/tmp/1G bs=10M count=100

          利用一个大文件(dd可创建一个全是0的任意大小文件)占据磁盘空间

        步骤二:设置文件被交换分区所使用(指定被占用的空间被交换分区使用)

          mkswap /tmp/1G

        步骤三:文件划到交换分区使之生效(加载使用swap空间)

          swapon /tmp/1G

          swapoff /tmp/1G(卸载使用swap空间)

          free -h(查看内存空间)

        

    七.磁盘课程知识总结

  • 相关阅读:
    BUG记录之 Database Connection Can’t Be Open!
    C#基础拾遗03注册表保存用户设置
    JQuery Ajax小磨合1
    SQL Server几个常用Date函数(二)
    浅谈设计模式01策略模式
    C#基础拾遗02XML串行化
    SQL Server 2008 R2学习心得
    WebService重载问题
    SQL Server几个常用date函数(一)
    C#获取打印机列表
  • 原文地址:https://www.cnblogs.com/zp751060301/p/12996075.html
Copyright © 2011-2022 走看看