在很多情况下,看完内容后感觉还是很迷糊,但是当我们做了相关的练习后就感觉思路清晰了很多很多,接下来通过练习来学习磁盘的知识。

习题1、磁盘的作用以及外部结构

1)磁盘的主要作用是存储数据。

2)正面结构:固定面板,产地,容量,日期,转数,品牌,条形码,跳线,电压,透气孔,内六角螺丝。

反面板:绿色控制电路板,上面有芯片,电容,电阻等

侧面:电源接口,跳线,数据接口(ide sata sas scsi

习题2、磁盘的内部结构

磁盘片:2-14片,每个面都可以存数据

主轴组件:里面有轴承,马达电机

磁头组件:磁头,机械手臂,传动轴

前置控制电路,数据转换器,永久磁铁,步进电机(控制磁头径向移动)

习题3、机械磁盘读写数据的原理

1)磁盘是按照柱面为单位读写数据的,即先读取同一个盘面的某一个磁道,读完之后,如果数据没有读完,磁头也不会切换到其他的磁道,而是选择切换磁头,读取下一个盘面的相同半径的磁道,直到所有盘面的相同半径的磁道读取完成之后,如果数据还没有读写完成,才会切换其他不同半径的磁道,这个切换磁道的过程称为寻道。

2)不同磁头间的切换时电子切换,而不同磁道的切换需要磁头做径向运动,这个径向运动需要步进电机调节,这个动作是机械的切换。

习题4、磁盘相关名词解释

Disk,head,sector,track,cylinder,units,block,inode

disk:磁盘

head:磁头

sector:扇区

track:磁道

cylinder:柱面

units:单元块,一个柱面的大小

block:数据块

iNode:索引节点

习题5、磁盘的分区知识

分区的实质,什么是主分区,扩展分区,逻辑分区

1、分区的实质是设置修改分区表,主要是划分起始以及结束磁头号,及扇区号和柱面号。

2、主分区:磁盘上必须存在的分区,一般为磁盘的第一个分区,我们可以在这个分区上安装操作系统,在一个磁盘上最多有四个主分区。

3、扩展分区不能算一个正常的分区,而是一个连接,起到指向的作用,扩展分区就像一个虚拟出来的一个小磁盘一样,没有MBR,而只有扩展分区表,而且这个分区表没有64bytes的限制,从而可以在扩展分区划分出多个逻辑分区。一个磁盘只能存在一个扩展分区,并且扩展分区不能直接存放数据,扩展分区受限于操作系统。

4、不能在磁盘中单独直接划分逻辑分区,逻辑分区必须在扩展分区内,在扩展分区内可以划分多个逻辑分区,逻辑分区的编号从数字5开始,在这个扩展分区内可以划分多个逻辑分区。

实际应用:主分区和逻辑分区,都可以用,一般系统安装用主分区,存放数据都可以。

习题6fdisk格式化的实质以及和parted分区命令的工作中使用区别

分区:fdisk(小于2T) parted

      实质:设置修改分区表

格式化:实质是:创建文件系统

        例如:mkfs  -t  ext4  /dev/sdb1

              tune2fs  -c  -1  /dev/sdb1

挂载:实质是:为文件系统指定访问入口

      例如:mount  -t  ext4  /dev/sdb1  /mnt

开机自动挂载:/etc/fstab

mount  -a  加载fstab进行挂载测试

检查挂载:

        df -h,df  -i

        cat  /proc/mountsmount

parted说明:

Parted是一个磁盘分区管理工具,比fdisk灵活,功能丰富,还支持GUID分区表,在IA64平台上管理磁盘非常有用。同时支持交互模式和非交互模式,除了能够进行分区的添加、删除等操作外,还能移动分区,制作文件系统,调整文件操作大小,复制文件系统。

简单非交互式分区手动输入提示实例:

parted  /dev/sdb   mklabel  gpt

parted  /dev/sdb   mkpart  primary 0 500

parted  /dev/sdb   mkpart  primary 501 1000

parted  /dev/sdb   p

mkfs  -t  ext4  /dev/sdb1   /dev/sdb2

mount  /dev/sdb2  /tmp

习题7、企业不同业务场景的服务器磁盘分区是如何选择的?

常规分区方案:

方案1:集群架构中的某个节点,数据有多份或者不重要的。

/boot  100MB  linux引导程序

swap   物理内存的1.5倍,当内存大于等于8GB时,给8GB即可。

/      剩余硬盘大小

方案2:数据库以及存储有大量重要的数据。

/boot  100MB

swap   物理内存的1.5倍,当内存大于等于8GB时,给8GB即可。

/      50-200GB

/data  剩余硬盘大小,存放数据库以及存储数据。

方案3:门户级别或大网站

/boot   100MB

swap   物理内存的1.5倍,当内存大于等于8GB时,给8GB即可

/       50-200GB

剩余空间保留,不再进行分区,将来分给那个部门就直接给,自己根据需求再继续分,这种方法比较灵活。

注意:linux系统对分区的要求

1)最少要有/以及swap两个分区。

2)Swap(交换分区)的作用:虚拟内存,swap分区的大小等于1.5*物理内存容量,如果内存大于8-16G,那么就用8-16G作为swap即可。

3)建议设置独立的/boot分区

Linux引导分区,存放系统引导文件,例如linux内核,多用文件一般只有几十M,所有一般设置为100-200M

一般服务器分区:/boot  swap  /  三个分区

习题8、什么是文件系统,常见有哪些,工作中如何根据业务选择文件系统?

文件系统是对一个存储设备上的数据和元素进行组织的一种机制。所以说文件系统是基于存储设备的。

Linux下常见文件系统ext2ext3ext4zfsxfsreiserfs.

SAS/SATA磁盘文件系统选择:

1)reiserfs.  大量小文件业务首选(100K以内)

2)Xfs      有的门户的数据库mysql业务

3)ext4     视频下载,流媒体,数据库,小文件业务

4)ext2     没有日志,蓝汛的cache业务,CDN网站加速服务的。

常规应用选默认就可以。

假如服务器数量少,怎么选择都可以。

Centos5.x 常规选ext3Centos6.x 常规选ext4Centos7.x 常规选xfs

小结:

Centos 默认的文件系统都是比较好的。

Xfsreiserfs需要单独安装,默认不支持,海量服务器使用多种文件系统维护可能不太方便。

大并发并不是过多的做磁盘系统的优化,而是在架构前端增加缓存,存储数据库的前端增加缓存。

习题9、说出5个以上磁盘管理(分区、格式化、挂载)命令解析

1、fdisk:磁盘分区管理

  d : 删除一个分区

  l : 列出分区类型

  m : 列出帮助信息

  n :添加一个分区

  P :列出分区表

  q : 不保存退出

  t : 改变分区类型

  w: 把分区表写入磁盘并退出

  X : 扩展应用

例如:fdisk  /dev/sda

2、mkfs: 用来在一个设备上构建linux支持的相关文件系统,也可称之为格式化工具。

- t :指定要建立的文件系统类型,如果没有指定,使用默认文件系统类型。

-c : 在构建文件系统之前检查设备块

例如:mkfs  -t ext4  -I  inodesize  -b  blocksize

3、tune2fs :调整文件系统参数。

-l 查看文件系统信息

-c 设置强制自检的挂载次数,如果开启,每挂载一次就会加1,超过次数就会强制自检

-i 设置强制自检的时间间隔

-j ext2文件系统转换成ext3文件系统 

4、mount:挂载

  -t :指定文件系统的类型

  -o:用来描述设备或档案的挂接方式

例如:mount  -t  ext4  -o  

5、df :列出文件系统的整体磁盘使用量

   df -h 将容量结果以易读的容量格式显示,例如:df -h /etc

   df -ih 将目前各个分区当中可用的iNode数量列出来。

6、du : 评估文件系统的磁盘使用量

   du  -sm /* 检查根目录下面每个目录所占的容量

7umount: 卸载文件系统

习题10、如何根据业务需求选购合适类型的磁盘?

线上的业务:用SAS磁盘

线下的业务:用SATA磁盘

线上高并发,小容量的业务:SSD磁盘

运维思想:根据数据的访问热度,智能分析分层存储。