在很多情况下,看完内容后感觉还是很迷糊,但是当我们做了相关的练习后就感觉思路清晰了很多很多,接下来通过练习来学习磁盘的知识。
习题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开始,在这个扩展分区内可以划分多个逻辑分区。
实际应用:主分区和逻辑分区,都可以用,一般系统安装用主分区,存放数据都可以。
习题6、fdisk格式化的实质以及和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/mounts或mount
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下常见文件系统ext2、ext3、ext4、zfs、xfs和reiserfs.
SAS/SATA磁盘文件系统选择:
1)reiserfs. 大量小文件业务首选(100K以内)
2)Xfs 有的门户的数据库mysql业务
3)ext4 视频下载,流媒体,数据库,小文件业务
4)ext2 没有日志,蓝汛的cache业务,CDN网站加速服务的。
常规应用选默认就可以。
假如服务器数量少,怎么选择都可以。
Centos5.x 常规选ext3,Centos6.x 常规选ext4,Centos7.x 常规选xfs
小结:
Centos 默认的文件系统都是比较好的。
Xfs、reiserfs需要单独安装,默认不支持,海量服务器使用多种文件系统维护可能不太方便。
大并发并不是过多的做磁盘系统的优化,而是在架构前端增加缓存,存储数据库的前端增加缓存。
习题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 /* 检查根目录下面每个目录所占的容量
7、umount: 卸载文件系统
习题10、如何根据业务需求选购合适类型的磁盘?
线上的业务:用SAS磁盘
线下的业务:用SATA磁盘
线上高并发,小容量的业务:SSD磁盘
运维思想:根据数据的访问热度,智能分析分层存储。