day19——磁盘管理

1.什么是磁盘

磁盘(disk)是指利用磁记录技术存储数据的存储器。
磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。
早期计算机使用的磁盘是软磁盘(soft disk,简称软盘),如今常用的磁盘是硬磁盘(hard disk,简称硬盘)。
每个硬盘中心都是一摞高速运转的圆盘,在圆盘上附着的一圈金属颗粒,每个金属颗粒都有自己的磁化程度,用于储存0和1。
当记录数据时,硬盘的磁头开始通电,形成强磁场,数据在磁场的作用下转变成电流,使颗粒磁化,从而将我们的需要存储的信息数据记录在圆盘上。

2.磁盘的基本结构

day19——磁盘管理_第1张图片
磁盘的平面图

传统的硬盘盘结构是像下面这个样子的,它有一个或多个盘片,用于存储数据。盘片多采用铝合金材料;中间有一个主轴,所有的盘片都绕着这个主轴转动。一个组合臂上面有多个磁头臂,每个磁头臂上面都有一个磁头,负责读写数据。


day19——磁盘管理_第2张图片
硬盘盘结构

磁盘一般有一个或多个盘片。每个盘片可以有两面,即第一个盘片的正面为0面,反面为 1 面;第二个盘片的正面为 2 面…依次类推。磁头的编号也和盘面的编号是一样的,因此有多少个盘面就有多少个磁头。盘面正视图如下图,磁头的传动臂只能在盘片的内外磁道之间移动。因此不管开机还是关机,磁头总是在盘片上面。关机时,磁头停在盘片上面,抖动容易划伤盘面造成数据损失,为了避免这样的情况,所以磁头都是停留在起停区的,起停区是没有数据的。


day19——磁盘管理_第3张图片
硬盘盘片

每个盘片的盘面被划分成多个狭窄的同心圆环,数据就存储在这样的同心圆环上面,我们将这样的圆环称为磁道 (Track)。每个盘面可以划分多个磁道,最外圈的磁道是0号磁道,向圆心增长依次为1磁道、2磁道…磁盘的数据存放就是从最外圈开始的。
day19——磁盘管理_第4张图片
硬盘的磁道

根据硬盘的规格不同,磁道数可以从几百到成千上万不等。每个磁道可以存储数 Kb 的数据,但是计算机不必要每次都读写这么多数据。因此,再把每个磁道划分为若干个弧段,每个弧段就是一个扇区 (Sector)。扇区是硬盘上存储的物理单位,现在每个扇区可存储 512 字节数据已经成了业界的约定。也就是说,即使计算机只需要某一个字节的数据,但是也得把这个 512 个字节的数据全部读入内存,再选择所需要的那个字节。
day19——磁盘管理_第5张图片
硬盘盘片的扇区

柱面是我们抽象出来的一个逻辑概念,简单来说就是处于同一个垂直区域的磁道称为柱面 ,即各盘面上面相同位置磁道的集合。需要注意的是,磁盘读写数据是按柱面进行的,磁头读写数据时首先在同一柱面内从 0 磁头开始进行操作,依次向下在同一柱面的不同盘面(即磁头上)进行操作,只有在同一柱面所有的磁头全部读写完毕后磁头才转移到下一柱面。因为选取磁头只需通过电子切换即可,而选取柱面则必须通过机械切换。数据的读写是按柱面进行的,而不是按盘面进行,所以把数据存到同一个柱面是很有价值的。

3.磁盘的相关知识

磁盘的接口

IDE,Scsi(已经被淘汰)


day19——磁盘管理_第6张图片
IDE接口
day19——磁盘管理_第7张图片
SCSI接口

SATA III 与SAS(企业使用较多)


day19——磁盘管理_第8张图片
SATA接口 与 SAS接口

2.磁盘的基本术语

尺寸: 2.5英寸 3.5英寸
容量:KB MB GB TB PB EB
转速:7500 15000
IOPS:每秒能够发生IO的次数

3.磁盘在系统上的命名方式

设备名称 分区信息 设备类型
/dev/sda /dev/sda1 第一块物理磁盘第一分区
/dev/sdb /dev/sdb2 第二块物理磁盘第二个分区
/dev/vdd /dev/vdd4 第四块虚拟磁盘的第四个分区

4.磁盘的基本分区(跟着练习题走一波)

(1)一块磁盘建立两个分区,每个分区可用空间150G,另一块磁盘建立一个分区并分配所有磁盘容量

1.关闭虚拟机,添加两个300G的硬盘,然后打开虚拟机


day19——磁盘管理_第9张图片
image.png

2.[root@oldboyedu ~]# fdisk /dev/sdb #fdisk+新增的第一块硬盘 ——开始分区

      command (m for help): n         #新增分区
     Partition type:
         p   primary (0 primary, 0 extended, 4 free)
         e   extended
      Select (default p): p              #p是选择主分区,e为扩展分区
      Partition number (1-4, default 1):         #是否从第一个分区开始,默认为一,直接回车
      First sector (2048-629145599, default 2048):        #是否从2048字节分区,默认2048
      Using default value 2048
      Last sector, +sectors or +size{K,M,G} (2048-629145599, default 629145599): +150G     #截至到多少字节,或添加多少空间,默认截至到最后一个字节,也就是给予所有空间
      Partition 1 of type Linux and of size 150 GiB is set
      Command (m for help): n    #继续分区
      Partition type:
          p   primary (1 primary, 0 extended, 3 free)
          e   extended
      Select (default p): p
      Partition number (2-4, default 2): 
      First sector (314574848-629145599, default 314574848): 
      Using default value 314574848
      Last sector, +sectors or +size{K,M,G} (314574848-629145599, default 629145599): 
      Using default value 629145599
      Partition 2 of type Linux and of size 150 GiB is set
     `Command (m for help): w`         #保存退出
      The partition table has been altered! 
      Calling ioctl() to re-read partition table.
      Syncing disks.

3.[root@oldboyedu ~]# fdisk /dev/sdc #为新增的第二块硬盘分区

      Welcome to fdisk (util-linux 2.23.2).
      Changes will remain in memory only, until you decide to write them.
      Be careful before using the write command.
      Device does not contain a recognized partition table
      Building a new DOS disklabel with disk identifier 0xa4f366a7.
      Command (m for help): n
      Partition type:
         p   primary (0 primary, 0 extended, 4 free)
         e   extended
      Select (default p): p
      Partition number (1-4, default 1): 
      First sector (2048-629145599, default 2048): 
      Using default value 2048
      Last sector, +sectors or +size{K,M,G} (2048-629145599, default 629145599): 
      Using default value 629145599
      Partition 1 of type Linux and of size 300 GiB is set
      Command (m for help): w
      The partition table has been altered!
      Calling ioctl() to re-read partition table.
      Syncing disks.

4.[root@oldboyedu ~]# lsblk #查看分区也可以用 ll /dev/sd*查看

      NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
      sda      8:0    0   20G  0 disk 
      ├─sda1   8:1    0    1G  0 part /boot
      ├─sda2   8:2    0    1G  0 part [SWAP]
      └─sda3   8:3    0   18G  0 part /
      sdb      8:16   0  300G  0 disk 
      ├─sdb1   8:17   0  150G  0 part 
      └─sdb2   8:18   0  150G  0 part 
      sdc      8:32   0  300G  0 disk 
      └─sdc1   8:33   0  300G  0 part 
      sr0     11:0    1  4.3G  0 rom  

(2)查看已完成分区的磁盘设备,将已创建的磁盘分区格式化为xfs的文件系统

[root@oldboyedu ~]# mkfs.xfs /dev/sdb1       #为三个分区格式化格式化
[root@oldboyedu ~]# mkfs.xfs /dev/sdb2 
[root@oldboyedu ~]# mkfs.xfs /dev/sdc1
[root@oldboyedu ~]# lsblk                 #再次查看分区
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0    1G  0 part [SWAP]
└─sda3   8:3    0   18G  0 part /
sdb      8:16   0  300G  0 disk 
├─sdb1   8:17   0  150G  0 part 
└─sdb2   8:18   0  150G  0 part 
sdc      8:32   0  300G  0 disk 
└─sdc1   8:33   0  300G  0 part 
sr0     11:0    1  4.3G  0 rom  

(3)新建目录/data/test1,/data/test2,/data/test3,将已完成格式化的磁盘设备分别临时挂载到这三个目录下(可随意挂载)

[root@oldboyedu ~]# mkdir -p /data/test{1..3}        #新增三个目录
[root@oldboyedu ~]# mount /dev/sdb1 /data/test1/    #分别为三个分区设置临时挂载点
[root@oldboyedu ~]# mount /dev/sdb2 /data/test2
[root@oldboyedu ~]# mount /dev/sdc1 /data/test3

(4)查看当前系统磁盘使用情况,是否挂载成功

[root@oldboyedu ~]# lsblk         #再次查看分区
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0    1G  0 part [SWAP]
└─sda3   8:3    0   18G  0 part /
sdb      8:16   0  300G  0 disk 
├─sdb1   8:17   0  150G  0 part /data/test1
└─sdb2   8:18   0  150G  0 part /data/test2
sdc      8:32   0  300G  0 disk 
└─sdc1   8:33   0  300G  0 part /data/test3
sr0     11:0    1  4.3G  0 rom  

你可能感兴趣的:(day19——磁盘管理)