Linux磁盘与文件系统管理命令 / 257
fdisk:磁盘分区工具 / 257
prtprobe:更新内核的硬盘分区表信息 / 265
tune2fs:调整ext2/ext3/ext4文件系统参数 / 266
parted:磁盘分区工具 / 268
mkfs:创建Linux文件系统 / 272
dumpe2fs:导出ext2/ext3/ext4文件系统信息 / 274
re ze2fs:调整ext2/ext3/ext4文件系统大小 / 275
fsck:检查并修复Linux文件系统 / 278
dd:转换或复制文件 / 281
mount:挂载文件系统 / 284
umount:卸载文件系统 / 288
df:报告文件系统磁盘空间的使用情况 / 289
mkswap:创建交换分区 / 293
swapon:激活交换分区 / 294
swapoff:关闭交换分区 / 295
sync:刷新文件系统缓冲区 / 296
Xfs_xxx一堆命令
1. 了解磁盘
本章重点小结:
1、名词:磁道,柱面,扇区。
2、数据在磁盘的位置,三维地址,xx磁头xx磁道xx扇区。
3、磁盘的容量计算。
4、磁盘读写数据的原理。
1.1磁盘的基本概念
磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。
1.2磁盘的基本结构 了解机械盘 , SSD
磁道:(盘片两面都可用于记录数据) 用于记录数据的不同半径的圆形此话轨迹成为磁道
扇区:不同磁道被直线分成许多的弧形区域(扇区),每个扇区大小为512字节
柱面:磁盘中,不同的盘片相同半径的磁道轨迹从上到下所组成的圆柱形区域成为柱面
1.3磁盘选购:
1,线上业务,SAS 2,线下业务,用sata,备份 3,线上高并发,小容量业务,ssd磁盘 4,成本控制: SATA / SSD
1.4 磁盘的容量计算
fdisk -l 可以查看以上信息—>推算出磁盘大小
计算下磁盘容量:
方法1:
512字节*扇区数=磁道大小
512字节*扇区数*磁道数=一个盘面大小
磁盘大小=512字节*扇区数*磁道数*磁头数
方法2:
磁盘大小=柱面大小*柱面数
柱面大小==磁头数*磁道大小
磁盘大小=柱面大小*磁道数
磁道大小=512字节*扇区数
磁盘大小=磁头数*磁道大小*磁道数
磁盘大小=磁头数*512字节*扇区数*磁道数
磁盘大小=512字节*扇区数*磁道数*磁头数
Disk /dev/sda: 12.9 GB, 12884901888 bytes, 25165824 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
Disk label type: dos
Disk identifier: 0x000eb98b
[root@mysql-1-2 ~]# fdisk -l
Disk /dev/sda: 598.8 GB, 598879502336 bytes
255 heads, 63 sectors/track, 72809 cylinders
Units = cylinders of 16065(255*63) * 512 = 8225280 bytes
===============================================
#单元Units(柱面单位)=255heads*63sectors/track= 16065*512bytes =8225280bytes
(盘面数)*(每磁道扇区数)
#达到容量的磁盘这个数都是固定的(目前测试1G以上是这个结果)。
#总容量==Units * 72809(cylinders)= 8225280 bytes * 72809 =598874411520bytes/(1000*1000)=598874.41152M=598.87441152G
#总容量=柱面大小(255heads磁头数*63sectors/track)*柱面数
总容量=柱面大小*柱面数=8225280*72809
[root@oldboy ~]# echo 8225280*72809|bc
598874411520
磁盘大小=磁头数*512字节*扇区数*磁道数
=255*512*63*72809
[root@oldboy ~]# echo 255*512*63*72809|bc
598874411520
3.磁盘的预备知识
3.1磁盘接口类型
IDE out
Scsi out
SATA III 6Gbps/s 750MB/s /2 /2 实际100MB/s ( 阿里云 -->云主机(高效云盘SATA) )
SAS 8Gbps/s 1000MB/s /2 500MB/s <--硬件服务器的标配
物理数据库 400MB/s -->阿里云云主机上面 100MB/s -->升级 SSD --> 300~400MB/s
SSD 纯电子 抗摔
msata (Msata接口为超极本设计)
m.2接口
接口类型
SATA 几乎所有主板都兼容, 便宜 性能差 选购2T sata一下合适
PCI-E 需要看主板是否兼容, 贵, 性能高
传输通道
PCI-E AHCI
NVMe
3.2 磁盘基本术语
设备类型
尺寸 2.5英寸 3.5英寸
容量 KB MB GB TB PB EB 。。。。。。。。
转速 7.2k 10k 15k
7200 10000 15000
SATA SATA SAS
IOPS:每秒能够处理的 读取写写入次数 ( 出厂时就定死了 )
分区格式化:相当于买了房子,需要装修。才能住人
磁盘分区过后只有格式化才能存放数据
格式化:建立一个组织和存储数据的一种结构、
分区被格式化以后---有inode,block组成
inode:存放文件属性信息的---包含:文件属性---大小,权限,类型,用户组等。 指针功能---指向文件的真实路径
block:存放真实数据的(文件实体)
机械磁盘读写磁盘数据的原理小结:
1)磁盘是按照柱面为单位读写数据的,即先读取同一个盘面的某一个磁道,读完之后,如果数据没有读完,磁头也不会切换其他的磁道,而是选择切换磁头,读取下一个盘面的相同半径的磁道,直到所有盘面的相同半径的磁道读取完成之后,如果数据还没有读写完成,才会切换其他不同半径的磁道,这个切换磁道的过程称为寻道。
2)不同磁头间的切换是电子切换,而不同磁道间的切换需要磁头做径向运动,这个径向运动需要步进电机调节,这个动作是机械的切换。
3. 磁盘整列: 廉价冗余阵列
3.1 磁盘整列介绍:
Raid是一种把一块及多块独立的物理磁盘按不同的技术方式组合起来形成一个磁盘组 可以提供比单个物理磁盘更大的存储容量或更高的存储性能, 同时又能提供不同级别数据冗余备份的一种技术。
3.2 Raid卡(阵列卡)的优点
可以把所有硬盘整合到一起(扩充容量)。 可以让数据更安全(数据冗余)。 可以获得更高的效率(读写性能)。
3.3 实现方法
物理设备:raid卡—->企业应用 板载raid 只支持raid0 raid1 独立raid 支持更多功能 软件实现的raid—> 效率低5-10%鸡肋
*3.4 不同 RAID 特性及应用场景
RAID级别 | 容量 | 性能 | 冗余 | 应用场景 |
---|---|---|---|---|
RAID0 | 多块磁盘之和,最少一块盘 | 读写性能高 | 0冗余 | MySQL Slave,相同集群节点服务器,性能要求高,冗余要求低的业务,成本低。 |
RAID1(镜像盘) | 损失50%的容量,最少2块 | 读写性能低 | 100%冗余 | 用于存放重要数据,监控,系统盘等,成本高 |
RAID5 | 损失一块盘的容量,至少3块盘 | 读比RAID0稍慢,写性能一般 | 具备一定冗余 (可坏一块盘) |
RAID5是适用最多RAID的等级,成本尚可 |
RAID10 RAID01 |
损失50%的容量,至少4块 | 读写速度快 | 100%冗余 (可坏2块) |
性能和冗余都要求很高的业务,MySQL和MySQL Master |
4.整列卡图解
4.1 RAID0
4.1 RAID1
4.3 RAID5
4.4 RAID10 / RAID01
5.不同整列的比较
冗余从好到坏: Raid1 > Raid10 > Raid5 > Raid0
性能从好到坏: Raid0 > Raid10 > Raid5 >Raid1
成本从低到高 Raid0 < Raid5 < Raid1 < Raid10
6. LVM和raid的区别
LVM全程逻辑卷管理,可以动态的管理磁盘容量,让磁盘随意放大或缩小。
应用:
几乎不用(偶尔虚拟化使用)
1. 性能损失 5-10%
2. 服务器都提前规划好,不需要空间的修改(空间满了,换服务器)
LVM:灵活灵活噶UN李磁盘
raid: 侧重性能和数据安全