当前位置: 首页 > news >正文

30、Linux 磁盘基本原理、管理

一、磁盘介绍

        磁盘:计算机中的外部存储设备,负责存储计算机数据,并且断电后也能保持数据不丢失。
磁盘分类:
1.1、按照物理结构: 机械磁盘、固态磁盘;
1.2、按照接口: IDE、SCSI、SATA、SAS、mSATA、 M.2、NVME、PCIe
1.3、按照尺寸:
  •  机械硬盘:1.8寸 2.5寸 3.5寸
  •  固态硬盘:SATA: 2.5寸
  •  M.2: 2242、2260、2280

二、磁盘的工作原理

        机械磁盘的读写数据依靠电机带动盘片转动来完成数据读写的。
        机械磁盘工作是依靠马达带动盘片转动,通过磁头来读取磁盘上的数据。
注意:为了使磁盘内部清洁,磁盘是在真空特殊环境中制作的,不能随意拆卸,拆开后基本报废了。

2.1、磁盘结构

 
   
 
 

2.2、磁盘术语

磁盘:硬盘中一般会有多个盘片组成,每个盘片包含两个面,每个盘面都对应地有一个读/写磁头。受到硬盘整体体积和生产成本的限制,盘片数量都受到限制,一般都在 5 片以内。盘片的编号自下向上从 0 开始,如最下边的盘片有 0 面和 1 面,再上一个盘片就编号为 2 面和 3 面。
磁头:负责读取盘面数据的设备
磁道:从盘片的最内侧向外有很多同心圆圈,我们称为磁道
扇区:从圆心向外画直线,可以将磁道划分为若干个弧段,称之为扇区,一个扇区通常为 512B
磁柱:硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘面上的磁道数是相等的。由于每个盘面都有自己的磁头,因此,盘面数等于总的磁头数。
 

三、磁盘的性能指标

影响磁盘性能的指标
3.1、寻道时间 (seek time,Tseek) : 是指将读写磁头移动至正确的磁道上所需要的时间。寻道时间越短,I/O 操作越快,目前磁盘的平均寻道时间一般在 3-15ms。
3.2、旋转延迟( Trotation ): 是指盘片旋转将请求数据所在的扇区移动到读写磁头下方所需要的时间。旋转延迟取决于磁盘转速,通常用磁盘旋转一周所需时间的 1/2 表示。比如:7200rpm 的磁盘平均旋转延迟大约为 60*1000/7200/2 = 4.17ms,而转速为 15000rpm 的磁盘其平均旋转延迟为 2ms。
3.3、数据传输时间( Ttransfer ):是指完成传输所请求的数据所需要的时间
衡量磁盘性能的指标:
3.4、IOPS:( Input/Output Per Second ) 每秒的输入输出量(或读写次数),即指每秒内系统能处理的 I/O 请求数量。 随机读写频繁的应用,如小文件存储等,关注随机读写性能,IOPS 是关键衡量指标。可以推算出磁盘的 IOPS = 1000ms / (Tseek + Trotation + Transfer),如果忽略数据传输时间,理论上可以计算出随机读写最大的IOPS。常见磁盘的随机读写最大IOPS为:
  •  7200rpm的磁盘 IOPS = 76 IOPS
  •  10000rpm的磁盘IOPS = 111 IOPS
  •  15000rpm的磁盘IOPS = 166 IOPS
3.5、throughput(  吞吐量 ): 指单位时间内可以成功传输的数据数量。 单位为(m/s G/s)
3.6、文件系统:是告知操作系统使用何种方法和数据结构在存储设备或分区上读写数据的;是分区数据管家,负责如何将数据写入磁盘或者从磁盘读出。常见文件系统:NTFS  EXT3  EXT4  XFS  ISO9660
adfs,  affs,  autofs,  cifs,  coda,  coherent, cramfs,debugfs, devpts, efs, ext, ext2, ext3, ext4, hfs, hfsplus, hpfs,iso9660,  jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4,ramfs, reiserfs, romfs, squashfs,  smbfs,  sysv,  tmpfs,  ubifs,udf,  ufs,  umsdos,  usbfs,  vfat, xenix, xfs, xiafs
 
3.7、page cache: 其实就是内存上空闲的部分用来缓存数据,比如 buffer cache
作用:对 IO 读写做优化
测试缓存对读写的影响
[root@long90 ~]# free -mtotal        used        free      shared  buff/cache   available
Mem:           3704         632        2444          10         628        2830
Swap:          2047           0        2047

# 设置缓存大小

[root@long90 ~]# echo 3 > /proc/sys/vm/drop_caches
[root@long90 ~]# free -mtotal        used        free      shared  buff/cache   available
Mem:           3704         577        2865          10         261        2902
Swap:          2047           0        2047
[root@long90 ~]# dd if=/dev/zero of=/tmp/big bs=1M count=1000
记录了1000+0 的读入
记录了1000+0 的写出
1048576000 bytes (1.0 GB, 1000 MiB) copied, 16.4505 s, 63.7 MB/s
[root@long90 ~]# free -mtotal        used        free      shared  buff/cache   available
Mem:           3704         578        1856          10        1269        2900
Swap:          2047           0        2047
[root@long90 ~]# dd if=/dev/zero of=/tmp/big1 bs=1M count=1000
记录了1000+0 的读入
记录了1000+0 的写出
1048576000 bytes (1.0 GB, 1000 MiB) copied, 26.9195 s, 39.0 MB/s
[root@long90 ~]# echo 3 > /proc/sys/vm/drop_caches
[root@long90 ~]# free -mtotal        used        free      shared  buff/cache   available
Mem:           3704         578        2864          10         261        2901
Swap:          2047           0        2047
[root@long90 ~]# dd if=/tmp/big of=/dev/null
记录了2048000+0 的读入
记录了2048000+0 的写出
1048576000 bytes (1.0 GB, 1000 MiB) copied, 4.61776 s, 227 MB/s
[root@long90 ~]# free -mtotal        used        free      shared  buff/cache   available
Mem:           3704         578        1857          10        1269        2901
Swap:          2047           0        2047
[root@long90 ~]# dd if=/tmp/big of=/dev/null
记录了2048000+0 的读入
记录了2048000+0 的写出
1048576000 bytes (1.0 GB, 1000 MiB) copied, 4.39871 s, 238 MB/s

四、linux 磁盘的使用方法

4.1、磁盘初始化

        一块新的磁盘使用必须初始化为 MBR 或者 GPT 分区。
注意:从 MBR 转到 GPT,或从 GPT 转换到 MBR 会导致数据全部丢失
1)MBR ( Master Boot Record  512B=446+64 + 2 主引导记录) 的缩写,由三部分组成
  • 特点: MBR < 2TB fdisk 4个主分区或者 3个主分区+1个扩展分区(N个逻辑分区)
  • Bootloader(主引导程序 446 字节):引导操作系统的主程序
  • DPT分区表( Disk Partition Table 64字节
    a、分区表保存了硬盘的分区信息,操作系统通过读取分区表内的信息,就能够获得该硬盘的分区信息
    b、每个分区需要占用 16 个字节大小,保存有文件系统标识、起止柱面号、磁头号、扇区号、起始扇区位置( 4个字节)、分区总扇区数目(4个字节)等内容
    c、分区表中保存的分区信息都是主分区与扩展分区的分区信息,扩展分区不能直接使用,需要在扩展分区内划分一个或多个逻辑分区后才能使用
    d、逻辑分区的分区信息保存在扩展分区内而不是保存在 MBR 分区表内,这样,就可以突破 MBR 分区表只能保存 4 个分区的限制
  • 硬盘有效标志(校验位 2个字节
2)GPT > 2TB gdisk(parted) 128个主分区

4.2、分区:

        将磁盘合理分区,能使计算机或者使用者更快的存取数据
  • MBR 主分区 + 扩展分区 <= 4
  • GPT 主分区 <= 128

4.3、格式化:

装载文件系统 ( 相当于库管,负责数据的写入和读出 )。
常见的文件系统: NTFS EXT EXT2 EXT3 EXT4 XFS vfat
Command (m for help): l0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden or  c6  DRDOS/sec (FAT-
4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi ea  Rufus alignment
e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         eb  BeOS fs        
f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ee  GPT            
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        ef  EFI (FAT-12/16/
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f0  Linux/PA-RISC b
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f1  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f4  SpeedStor      
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      f2  DOS secondary  
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fb  VMware VMFS    
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fc  VMware VMKCORE
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fd  Linux raid auto
1c  Hidden W95 FAT3 75  PC/IX           bc  Acronis FAT32 L fe  LANstep        
1e  Hidden W95 FAT1 80  Old Minix       be  Solaris boot    ff  BBT    

4.4、挂载:

        linux 中设备不能直接使用,需要挂载到文件夹才可以。

挂载方式:
  • 手动挂载
  • 开机挂载
  • 自动挂载

五、linux 磁盘表示方法

5.1、硬盘命名方式

 
OS
IDE并口
SATA串口
SCSI
CentOS6
/dev/hda
/dev/sda
/dev/sda
CentOS7
/dev/sda
/dev/sda
/dev/sda
CentOS8
/dev/sda
/dev/sda
/dev/sda
 
 
 
 

5.2、磁盘设备的命令  /dev/sda2

说明:
  • s:硬件接口类型(sata/scsi)
  • d:disk(硬盘)
  • a:第 1 块硬盘(b,第二块)
  • 2:第几个分区
/dev/hd h=IDE硬盘  /dev/hdd3
/dev/vd v=虚拟硬盘  /dev/vdf7

5.3、HP 服务器硬盘

  • /dev/cciss/c0d0
  • /dev/cciss/c0d0p1 c0第一个控制器, d0第一块磁盘, p1分区1
  • /dev/cciss/c0d0p2 c0第一个控制器, d0第一块磁盘, p2分区2

六、磁盘分区

6.1、磁盘划分思路

  •  进入分区表         新建分区
  •  更新分区表        <刷新分区表>
  •  格式化分区——>文件系统

6.2、磁盘分区 fdisk

fdisk 命令:
fidsk  [命令选项] [参数]
命令选项
-l   list 列出磁盘分区
-u   与-l一起使用,显示分区的相关信息
fdisk /dev/sda    为/dev/sda分区
m :显示菜单和帮助信息
a :活动分区标记/引导分区
d :删除分区
l :显示分区类型
n :新建分区
p :显示分区信息
q :退出不保存
t :设置分区号
v :进行分区检查
w :保存修改
x :扩展应用,高级功能
c :开关 dos 兼容性标志

分区前了解设备信息

案例:计算磁盘的容量 (硬盘容量 = 柱面数 × 盘面数(磁头数) × 扇区数 × 扇区大小(一般为512字节))
几何属性:255 个磁头, 63 个扇区/磁道, 2610 个柱面
这几个数值可以帮助我们计算磁盘空间的大小以及一个磁柱的大小,比如说
##一个磁柱的容量=255x63x512=8225280(约8M空间)
# lsblk              查看块设备
# df -h              查看正在挂载的设备情况
# blkid              打印某个已经格式化分区的 UUID
# fdisk -l           查看当前系统的所有设备分区情况
# fdisk  /dev/sdb
 
[root@rhel8 ~]# fdisk -l /dev/sda
Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors   磁盘空间统计,大小和扇区数量
Units: sectors of 1 * 512 = 512 bytes                    # 单元:扇区
Sector size (logical/physical): 512 bytes / 512 bytes    # 扇区大小(逻辑/物理)
I/O size (minimum/optimal): 512 bytes / 512 bytes        # I/O 大小(最小/最佳)
Disklabel type: dos            # 磁盘标签类型
Disk identifier: 0x6248978f    # 磁盘标识符设备       启动    起点     末尾     扇区   大小 Id 类型
Device     Boot   Start      End  Sectors Size Id Type
/dev/sda1  *       2048  2099199  2097152   1G 83 Linux
/dev/sda2       2099200 62914559 60815360  29G 8e Linux LVM

命令缺点:单个分区不能超过 2T  超过的话需要用 parted 命令

        在 linux 下大磁盘的分区不能再采用 fdisk了,MBR 分区表只支持 2T磁盘,所以大于 2T的磁盘必须使用 GPT分区表。
 

6.3、磁盘格式化

        格式化( format )是指对磁盘或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除。格式化通常分为低级格式化和高级格式化。如果没有特别指明,对硬盘的格式化通常是指高级格式化,而对软盘的格式化则通常同时包括这两者。
-L :标签名
-V : 详细显示模式
-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该 partition 是否有坏轨
-l bad_blocks_file : 将有坏轨的 block 资料加到 bad_blocks_file 里面
-b : 给定 block 的大小

磁盘分区格式化

mkfs.ext4 /dev/sda3
关于 block and inode  dentry ( 实验发现这句话不对 )
block 越大,inode 越少,适合存储大文件的文件系统;block越小,inode越多,适合存储文件多而小的文件系统。
 
注意:
  • MBR 分区表最多允许 4个主分区,或者 3个主分区+1个扩展分区
  • 扩展分区不能直接存储数据
  • 扩展分区的大小决定了所有逻辑分区的大小,逻辑分区的编号从5开始
  • 删除扩展分区后下面的逻辑分区都被删除
  • 分完区后需要手动刷新分区表,如果刷新不成功需要重启操作系统
  • 创建分区的时候尽可能注意分区序号的连续性
 
 
 
 

 

http://www.dtcms.com/a/497049.html

相关文章:

  • ps如何做网站首页阿里 wordpress 安装
  • 淘宝客聚惠购的网站怎么做网站浏览历史怎么查看
  • Python 常用模块
  • 卫星授时原理
  • 2025时空低空经济发展现状与智能化趋势
  • 哪个网站推广做的好做网站素材在哪找
  • 荆州公司做网站多仓库版仓库管理网站建设源码
  • 哈尔滨餐饮网站建设外包公司的人好跳槽吗
  • 高中课程免费教学网站网络规划设计师知识点
  • 企业官方网站制作wordpress 3.8.1 exp 下载
  • 为什么做腾讯网站网站建设方案与报价
  • 网站建设教程特别棒湖南岚鸿权 威工业设计专业最好的大学世界排名
  • 2 网站内部链接优化网址大全
  • 3D Gaussian Splatting论文简要解读与可视化复现(基于gsplat)
  • 养老网站备案必须做前置审批吗天津电商网站建设
  • Spring Data Redis
  • 站长之家工具高清网站的百度推广怎么做
  • 深圳微信网站运营免费网站建站系统
  • 沈阳网站建设的公司西安网站推广排名
  • 购物网站有哪些平台百度网盘搜索引擎
  • 火币网(Huobi Pro)是否正规?是否存在安全漏洞?——深度解析
  • 第3章,[标签 Win32] :窗口类03,窗口过程函数字段
  • 软件开发网站开发公司工作组赴平凉事故现场
  • 友情链接如何选择网站工程招标信息网
  • 现在建设的网站有什么劣势网站建设公司盈利分析
  • 广西网站设计服务代码优化网站排名
  • django 网站开发视频杭州品牌网站建设
  • 白银市建设局网站首页包头微网站开发
  • 做网站维护是什么岗位浅谈你对大学校园网站建设的建议
  • seo整站优化建网站能干嘛