第一个层次:磁盘相关物理知识 内部结构 外部结构 读写数据原理
第二个层次:磁盘阵列知识 磁盘弹性扩展知识
阵列:将多块硬盘整合为一块
1)可以存储更大容量数据
2)提升数据存储效率
3)提升数据存储安全性
第三个层次:磁盘分区表概念 分区命令使用 fdisk parted
第四个层次:系统格式化操作 文件系统相关概念
第五个层次:磁盘管理相关知识 挂载操作
2.磁盘内部外部结构
外部结构:看的见的部分
内部结构:
磁盘磁道:每个磁道用于存储数据信息,并且每个磁道存储数据容量是相同的
磁盘扇区:将磁盘切分为多个部分,存储数据最小空间单位称为扇区
扇区个数进行分区 1024个扇区
磁盘柱面:磁盘有多个磁头时,是按照柱面进行读取数据
数据读取原理:先柱面读/写数据,然后柱面存储满数据或读取完数据 ,利用机械臂带动磁头做径向运动读取其他磁道数据,根据主轴转速及机械臂摆动效率决定读/写数据效率。
碎片整理就是依据机械硬盘工作原理对硬盘读写数据及进行性能优化的手段
3.磁盘的阵列配置方法 raid
进行磁盘阵列配置:
配置阵列级别:RAID0 RAID1 RAID5 RAID10
RAID0:可以提高数据存储效率 游戏赛事 WCG 无法保证数据安全性
RAID1:可以提高数据安全性 存储阵列 浪费磁盘容量 无法提升性能
RAID5:可以提高数据存储效率的同时 保证数据安全性 损失一块
RAID10:可以提高数据存储效率 保证数据的安全性 磁盘空间浪费会多
4.磁盘分区操作过程
磁盘分区方案介绍:
/boot 分区 200M
swap 分区 1~8G 内存*1.5
/ 分区 剩余空间 50~200G 系统数据/服务程序数据
/data 分区 剩余空间 存储服务产生业务数据信息
磁盘分区方法原则:
磁盘分区表: 64字节 每16字节表示一个分区信息 - - 主分区 4分区
取出其中16个字节可以进行扩展分区设置 只能有一个 扩展分区下面可以划分更多逻辑分区
ps:主分区可以直接使用 扩展分区不可以直接使用
4个主分区 1个扩展分区(多个逻辑分区)
磁盘分区方法步骤:
fdisk:centos6 --- 不能划分2T容量以上分区
centos7 --- 也可以划分2T容量以上分区
2T以下划分:
第一个历程:指定进行分区设备文件
fdisk /dev/sdb
第二个历程:根据需求进行分区
分区命令信息:
命令操作
c 设置分区模式dos(小于2T)
d 删除已经分好的区
g 设置分区模式 gpt(大于或等于2T)
l 列表显示可用于分区类型
m 打印目录
n 添加一个新的分区
o 创建一个信息的dos分区表
p 输出已经分区的信息
q 退出分区操作并且不做保护
t 修改分区类型信息
w 保存对分区改动
2T以上分区划分:
第一个历程:修改分区表模式
g --- 将分区表改为gpt模式
第二个历程:可以进行分区创建过程
n --- +size
parted: 可以划分2T容量以上分区
fdisk /dev/sdc
parted /dev/sdc
mklable 创建分区表 mklable gpt
mkpart 创建新的分区 mkpart primary 0 2500G
print
rm
quit 退出分区界面
exit
5.磁盘的弹性扩容配置 LVM(没太搞懂)
应用场景:数据库数据存储操作
数据库:存储数据仓库 以表形式存储数据 — data.sql 文件总的数据文件
/dev/sdc1分区 – /data 10G < — data.sql 10G
/dev/sec1分区 --/data02 100G <-- data.sql 99G
LVM概念原理介绍:LVM相关介绍
LVM配置实现:
6.磁盘的格式化操作 (创建文件系统 – 数据存储机制原理不同)
文件系统EXT3,EXT4和XFS的区别:
(1) EXT3
1)最多只能支持32TB的文件系统和2TB的文件,实际只能容纳2TB的文件系统和16GB的文件
2)Ext3目前只支持32000个子目录
3)Ext3文件系统使用32位空间记录块数量和i-节点数量
4)当数据写入到Ext3文件系统中时,Ext3的数据块分配器每次只能分配一个4KB的块
(2) EXT4
EXT4是Linux系统下的日志文件系统,是EXT3文件系统的后继版本。
1)Ext4的文件系统容量达到1EB,而文件容量则达到16TB
2)理论上支持无限数量的子目录
3)Ext4文件系统使用64位空间记录块数量和i-节点数量
4)Ext4的多块分配器支持一次调用分配多个数据块
(3) XFS
1)根据所记录的日志在很短的时间内迅速恢复磁盘文件内容
2)采用优化算法,日志记录对整体文件操作影响非常小
3) 是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间
4)能以接近裸设备I/O的性能存储数据 - - - 可以高性能存储数据 数据库服务
同时有很多用户访问数据库
PS:磁盘数据存储后,释放磁盘数据 -- 格式化 xfs 格式化效率高于其他文件系统
如何进行格式化操作
mkfs -t xfs /dev/sdc1
mkfs.xfs -f /dev/sdc1 --- 强制在已有文件系统文件中进行重新格式化
7.磁盘的挂载操作 mount 参数配置
mount /dev/sdc1 /mnt
参数
-o 指定挂载时的参数信息
默认挂载参数信息:
rw(默认) --- 挂载之后的挂载点目录,具有读写能力
ro --- 挂载之后的挂载点目录,只具有读写能力
suid(默认) --- 挂载之后的挂载点目录中,可以让具有setuid权限文件生效
nosuid --- 挂载之后的挂载点目录中,可以让具有setuid权限文件失效
dev(默认)
nodev
exec(默认) --- 挂载之后的挂载点目录中,可以让具有执行权限的文件生效
noexec --- 挂载之后的挂载点目录中,可以让具有执行权限的文件失效
auto(默认) --- 允许挂载配置信息进行自动挂载
noauto --- 禁止挂载配置信息进行自动挂载
user --- 允许普通用户进行挂载操作
nouser(默认) ---禁止普通用户进行挂载操作
async(默认) --- 异步方式存储数据 用户(数据信息) -- /mnt --- 内存缓冲区 --- 磁盘中
sync --- 同步方式存储数据 用户(数据信息) --/mnt --- 磁盘中
当挂载点目录无法卸载时,可以进行强制卸载
umount -lf /mnt
-l --- 不用从目录中切换出来,也可以进行卸载
-f --- 强制卸载目录信息
一个挂载点无法卸载原因:
1)此时正在挂载目录中,无法直接下载
2)有其他用户或者程序进程,正在使用加载挂载目录信息
8.磁盘的交换分区如何扩容
内存 硬盘使用情况需要实时关注
内存 存储一些数据信息和服务进程有关 内存溢出导致 java程序 -- tomcat
临时将磁盘空间交换给内存使用
交换分区临时扩容步骤:
1)创建系统交换分区使用文件
dd if=/dev/zero of=/tmp/1G bs=100M count=10
2)设置文件被交换分区所使用
mkswap /tmp/1G
3)文件划分到交换分区使之生效
swapon /tmp/1G --- 加载交换空间
swapoff /tmp/1G --- 卸载交换空间
fsck 磁道检查命令 -a参数可以自动恢复(了解)