Linux磁盘管理详解及各种分区类型demo

磁盘的结构体系
  • 磁盘的物理结构(外部结构、内部结构)工作原理(先切换磁头,让磁头机械运动)
  • 磁盘阵列说明(raid0、raid1、raid5、raid10、raid01)
    • 磁盘阵列如何配置,硬件控制
    • 配置LVM:逻辑卷管理——>实现可以随意调整磁盘分区大小。不推荐使用,影响存储性能,cpu消耗,软件控制
      • L:逻辑
      • V:卷组
      • M:管理
  • 磁盘分区概念
    • 给容量较小的磁盘进行分区:小于2T:fdisk
    • 给容量较大的磁盘进行分区:大于2T:parted
  • 磁盘格式化(创建文件系统)
  • 磁盘维护管理知识(如何使用磁盘 挂载使用)
磁盘的外部结构:看得见摸得到的结构
  • 磁盘主轴:决定磁盘转速
  • 磁盘盘片:用于存储数据
  • 磁盘磁头:用于读取数据
  • 磁盘接口:用于连接主板、用于连接阵列卡
磁盘的内部结构:看不见的结构信息
  • 磁盘
  • 磁头
    • 作用:用来写入和读取数据
    • 特点:盘面数量等于磁头数量
    • 原理:采用径向运动读写数据
  • 磁道
    • 作用:用于存储用户数据
    • 特点:由多个同心圆组成
      • 存储计数:最外面同心圆为0磁道
    • 原理:磁盘默认按照磁道寻找数据
      • 重点原理:磁头径向运动为机械运动(寻道) 性能小雨固态硬盘(芯片)
      • 原理特点:磁头机械运动较慢
  • 扇区
    • 作用:用来存储用户数据
    • 特点:磁盘存储最小单位
      • 存储计数:默认磁盘扇区从1扇区开始,扇区大小为512字节
      • 系统存储最小单位是block
  • 柱面
    • 作用:用来存储用户数据
    • 特点:不同盘面上相同的磁道组成(圆柱体)
    • 原理:磁盘默认按照柱面进行读写
      • 重点原理:磁头之间的切换为电子切换
      • 原理特点:磁头电子切换较快
  • 单元块
    • 作用:用来存储用户数据
    • 特点:表示单个柱面的大小
磁盘大小计算
  • 每条磁道上的扇区和大小一般都是一样的

    • 扇区是存储的最小单位:最小为512字节
  • 磁盘的大小:柱面大小*磁道数

    • 柱面大小=扇区大小*扇区数*盘面数
    fdisk -l
    
磁盘层次结构详细说明—磁盘阵列raid
  • 提高磁盘的存储效率
  • 提高磁盘存储安全
  • 提高磁盘存储容量
阵列的配置选项
  • raid 0:存储数据效率高,存储安全性低
    • 把数据分开存储到不同的磁盘
  • raid 1:存储数据效率低,存储安全性高
    • 把数据在不同的磁盘都保存一份
  • raid 5:存储数据效率较高、存储安全性较高(最少有三块磁盘)
    • 把数据分开存储到不同的磁盘,但有逻辑关系(校验信息)
    • 最多坏一块磁盘(不管有几块),坏的多了就推不出来丢的数据
    • 会损耗一块磁盘的容量用来存放校验信息
      • 3块300G用来存放数据,使用raid 5。实际可以存放600G数据
  • raid 01
    • 先多块磁盘分组组合成raid0,构成多块虚拟磁盘
    • 然后将多块虚拟磁盘用raid1
  • raid10
    • 先多块磁盘分组组合成raid1,构成多块虚拟磁盘
    • 然后将多块虚拟磁盘用raid0
配置raid要在开机前进入配置界面进行配置
磁盘层次结构详细说明—磁盘分区方法
  • 系统启动引导记录

    • MBR引导记录:用于引导磁盘空间小于2T
    • GPT引导记录:用于引导磁盘空间大于2T
      • 企业中磁盘空间4T,也会先拿出两个500G配置raid1。然后作为MBR引导
  • 分区方式

    • 可以有划分4个主分区,就不能再有主分区

    • 可以划分3个主分区,可以划分1个扩展分区,扩展分区无法直接使用

      /dev/sda1 /dev/sda2 /dev/sda3
      
      • 需要在扩展分区基础上划分逻辑分区(sda4不显示)
        • /dev/sda5
        • /dev/sda6
      • 只能有一个扩展分区
磁盘分区方法
MBR引导:占用一个扇区大小512字节
  • 446字节占用主引导记录,MBR所在地
  • 64字节创建磁盘分区表
  • 最后2字节作为分区结束标识
情况一:磁盘小于2T(fdisk),只能有四个主分区
  • 准备磁盘环境,准备一块新的10G硬盘

  • 在系统中检测是否识别到了新的硬盘

    • 检查是否有新的磁盘存储文件

      #之前只有一个a
      ll /dev/sda
      #新增后看有没有b
      ll /dev/sdb
      
  • 对磁盘进行分区处理

    #查看分区信息
    fdisk -l
    
    #对新磁盘进行分区,一个分区最大只能分配52G
    fdisk /dev/sdb
    
    会出现提示,表示可以对磁盘进行分区了
    输入m开始进行分区
    
    参数解释
    d删除分区
    g创建一个新的空的GPT分区表(可以对大于2T磁盘进行分区)
    l列出可以分区的类型
    m输出帮助菜单
    n新建增加一个分区
    p输出分区的结果信息
    q不保存退出
    t改变分区的系统id===改变分区类型(LVM必须使用这个,增加swap分区大小不使用这个也可以)
    u改变分区的方式,是否按照扇区进行划分
    w将分区的信息写入分区表并退出,保存分区信息并退出
    e新增扩展分区
  • 开始分区:规划分4个主分区,每个分区1G

    PS:输入错误的时候,按住ctrl+退格键进行一个一个删除,ctrl+u全部删除

    m:开始分区
    n:新增加一个分区
    p:主分区
    1:序号
    回车:从哪开始,按照默认
    +1G:从哪结束,分配1G
    
  • 分区操作检查

    p
    查看序号啥意思
    l
    如果要修改分区类型
    t
    选择要修改的分区号
    然后输入要修改的分区类型号
    

​ PS:四个主分区都分了后,就算还有空间没有分配也不能新增分区

  • 规划3个主分区都是1G,剩下的都分给扩展分区

    d:删除一个分区
    1:删除1分区
    e:新增扩展分区
    直接都回车就是把剩下的都分给他
    
    扩展分区不能直接使用
    还可以继续新建分区
    n
    这里新建的都是从扩展分区中创建的
    
  • 保存退出

    w
    
  • 显示新磁盘分区的列表

    ll /dev/sdb*
    
  • 加载文件,让系统可以识别分区文件,在不重启的情况下

    partprobe /dev/sdb
    
  • 创建文件系统:磁盘分区存储数据的方式

    mkfs.xfs /dev/sdb1
    或
    mkfs -t xfs /dev/sdb2
    
    • ext3/4:centos6
    • xfs:centos7 格式化效率较高、数据存储效率提升(数据库服务器性能有所提升)
  • 挂载并检查

    mkdir /mount{1..3}
    for i in {1..3};do mount /dev/sdb$i /mnt$i;done
    df -h
    
  • 开机自动挂载

    • 将挂载命令放在**/etc/rc.local**中

      • 系统开机加载rc.local流程(解决开机没有执行)

        • 加载/etc/rc.local --> /etc/rc.d/rc.local -->以绝对路径方式执行 /etc/rc.d/rc.local
        发现这个文件没有执行权限,进行添加权限
        chmod +x /etc/rc.d/rc.local
        
    • 在**/etc/fstab**文件中进行设置

      #查看磁盘的分区文件id
      blkid 
      
      第一列:挂载的磁盘文件,可以写磁盘文件,也可以写磁盘文件uid
      第二列:挂载点
      第三列:指定文件系统类型
      第四列:挂载的参数
      第一个0:是否备份磁盘
      第二个0:是否检查磁盘
      
      如果是1:就是要备份数据和检查磁盘
      
      mount -o ro /dev/sdb1 /mnt01
      ro:read only挂载后只读,不能新写文件
      默认为rw
      
      /dev/sdb1 /mount01 xfs defaults 0 0
      UUID=... /mount02 xfs defaults 0 0
      
情况二:磁盘大于2T(parted),可以有多个主分区
  • 进入分区

    parted /dev/sdb1
    
  • 参数解释

    参数解释
    mklabel创建一个分区表默认是mbr
    print显示分区信息
    mkpart创建一个分区
  • 修改磁盘分区类型

    mklabel gpt
    
  • 开始真正分区

    #创建一个2100G的主分区
    mkpart primary 0 2100G
    Ignore
    
    #在创建一个
    mkpart primary 2100 2200G
    Ignore
    
    #退出分区状态,退出直接就保存了
    quit
    
    #删除分区
    rm 分区编号(1/2/3)
    
  • 查看是否分区好了

    fdisk -l
    
  • 加载磁盘分区

    partprobe /dev/sdc
    
  • 创建文件系统

    mkfs.xfs /dev/sdc1
    
  • 挂载磁盘

    mount /dev/sdc1 /mnt
    
企业磁盘常见问题
磁盘满的情况
df -h:查看block占用空间剩余
df -i:查看inode占用空间剩余
block存储不足
  • 磁盘存储数据过多:No space left on device

    • 手动生成数据占用磁盘空间

      dd if=/dev/zero of=/mount01/t.txt bs=10M count=30
      
      /dev/zero:黑洞出口文件
      /mount01/t.txt:生成的文件。大小为bs*count
      bs 10M:一个块的大小
      count 30: 生成多少个块
      
    • block存储空间不足

  • 解决方式:

    • 找出大的没用的数据

      find / -type f -size +400M
      或
      du真实查看目录大小
      #只查看根目录占用空间多少
      du -sh /
      
      #查看根目录下的第一级目录占用空间为多少并排序
      du -sh /* | sort -h 
      

inode不足:小文件过多
如何调整swap空间大小
  • 查看swap大小

    free -h
    
  • 调整大小

    • 将磁盘分出一部分空间给swap分区使用

      dd if=/dev/zero of=/tmp/1G bs=100M count=10
      
    • 将指定磁盘空间作为swap空间使用

      mkswap /tmp/1G
      
    • 加载使用

      swapon /tmp/1G
      
    • 取消使用

      swapoff /tmp/1G
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值