• Linux磁盘管理


    现在Linux已经成为系统服务发展趋势,那么,我们对底层硬件存储了解多少呢?接下来我们来聊聊关于磁盘的那些事

    1:从下图我们可以看到,硬盘结构是由柱面,扇区,磁头组成,面积最广的是扇区,每个扇区容量是512字节,第一个扇区最为重要,保存着主引导记录(MBR)和分区表信息;主引导记录占用446字节,分区表占用64字节,结束符2字节 共计512字节;而分区表中每记录一个信息占用16字节,,因此只能分配4个分区,当然呢,为了解决分区不够的问题,我们衍生出去扩展分区,基于扩展分区上面创建逻辑分区,逻辑分区最多可以创建128,这个分区数量确实大,但是还用不到这么多,

    IDE硬盘接口在linux中设备名为/dev/hda,现在基本上被淘汰了,主要用的还是SAS,SCSI,SATA等硬盘接口在Linux中设备名为sda,高效云硬盘会被识别为/dev/vda等

    我们硬盘存储最小单位是sector(扇区),每个扇区存储512字节,硬盘读取的时候不会逐一读取,这样的话效率太低,操作系统会一次性连续性读取多个扇区,这个一次性读取多个扇区被称为block块

    由多个stctor组成的Block是文件存储的最小单位,Block的大小常见的有1kb~4kb,Block在linux中长设置为4kb,

    硬盘分区被分为(superblock),inode,block

    superblock:文件系统的整体信息,包含inode值和block块的使用大小,剩余大小,相关的格式及信息(只记录inode和block的对应关系)

    Inode:记录文件的属性和信息,比如文件的创建者,创建时间,文件大小等等,这些存储文件元数据区域成为Inode,名为:索引节点;同时将文件的存储位置生成一个Inode值(这个inode值记录文件存储的位置信息)

    Block块是存储文件的内容,因为每个Inode与block都有编号,而每个文件都会占用一个inode,inode内侧有文件存储数据的block号码,如果能够找到文件的Inode值,就能找到存储文件数据的block号码,从而读取文件内容

     [parted分区]

    我们知道,一般我们分区都会通过fdisk进行分区,要知道fdisk命令是针对MBR分区进行操作的,MBR分区因为自身设计原因,不能处理大于2TB的硬盘,并且只能有四个分区,针对大于2TB的硬盘,需要采用GPT分区,也就是使用parted命令操作

    简介:parted是一个硬盘分区或调整分区大小的工具,可以基于parted工具进行创建,删除,调整,移动以及复制,通常在数据拷贝到新硬盘的时候也常常用到

    (parted) mklabel  gpt    #新建磁盘类型,如gpt,msdos等

    (parted) mkpart primary 0% 20%    #通过mkpart 指定百分比创建分区,分区起始大小0%~20%

    parted) mkpart       #通过交互模式创建分区,
    分区名称? []? 2
    文件系统类型? [ext2]? xfs
    起始点? 30%
    结束点? 50%


    (parted) print           #查看分区详情·
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdc: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:

    Number Start End Size File system Name 标志
    1 1049kB 4295MB 4294MB primary
    2 6442MB 10.7GB 4295MB 2

    (parted) rm 2    #删除分区,rm指定Number分区号即可删除对应的分区

     mkfs.xfs /dev/sdb2             #格式化xfs格式

    echo "/dev/sdb2 /www/ xfs defaults 0 0 " >> /etc/fstab    #设置自动挂载

  • 相关阅读:
    [Visual Studio] [Config] [Transformation] [SlowCheetah] 在非Web工程中使用Transformation
    [SQLSERVER] 把TransactionLog截断
    [Windows] [Firewall] 增加进入规则
    [POWERSHELL] [.net 3.5] [Windows Server] 在Windows Server上安装.NET3.5
    杂碎
    VSCode 使用Settings Sync同步配置(最新版教程,非常简单)
    JavaScript:ES2019 的新特性
    重新认识构造函数、原型和原型链
    如何实现 React 中的状态自动保存?
    深拷贝
  • 原文地址:https://www.cnblogs.com/bixiaoyu/p/9358494.html
Copyright © 2020-2023  润新知