1、磁盘接口类型
#外部结构分类
1、机械硬盘{转速}
2、固态硬盘
了解
1、IED 淘汰
2、SCSI 淘汰
3、SATA 笔记本 台式机 家用
4、SAS 企业标配
5、PCI-E 企业标配
2、磁盘转速
磁盘转速决定了磁盘读写速度 磁盘越大,存储速度越小。磁盘转速如今最快15k。 笔记本常用:5400/7200 服务器存储:常用300G、600G、900G组合多块(6、8、12)
3、RAID阵列
1、增加使用空间:RAID可以将多个磁盘在存储逻辑上合并为一个盘 2、安全备份(安全冗余):将两个盘绑定连接(一个存储,一个备份) 3、提高读写速度:磁盘可以并行写入数据
4、案例问题
RAID0 RAID1 RAID5 RAID10的区别
| RADI级别 | 最少硬盘数 | 安全性 | 容量 | 性能 | 使用场景 |
|---|---|---|---|---|---|
| RAID0 | 1 | 坏一个全坏 | 所有盘和 | 读写快 | 只要速度不安全 缓存业务 |
| RAID1 | 只能两块 | 可以坏一个 | 50% | 写慢 读快 | 只要安全不要速度 系统盘 监控 |
| RAID5 | 至少 3块 | 可以坏一块 | n-1 | 读写都行 | 稳定的业务 |
| RAID10 | 至少4块 | 最多坏一半 | 50% | 读写快 | 高并发业务场景 主库 |
5、磁盘分区
5.1、分区命令
1、大于2T的磁盘:parted分区(设置为GPT格式) 2、小于2T的磁盘使用fdsk分区(默认MBR格式------4个主分区)
5.2填加新磁盘
1、虚拟机添加设置
a.插入一块虚拟硬盘
点击虚拟机,右键设置,添加磁盘,下一步,选择20G
b.重启系统生效
#注意
虚拟机需要重启
物理机不需要重启,支持热插拔
云服务扩容,支持在线扩容
c.开始分区
命令:fdisk /dev/sdb
常用选项
d 删除分区
f 列出未分区的空闲区
m 打印帮助信息 显示菜单
w 保存并退出
n 创建新的分区
p 输出分区表
q 退出不保存
了解选项、
a 开关 可启动
b 编辑嵌套的BSD磁盘标志
c 开关dos兼容性标志
l 列出已知分区类型
t 更改分区类型
v 检查分区表
i 打印莫格分区去的相关信息
u 更改 显示/记录 单位
x 更多功能
主分区:fdsk /dev/sdb :n->回车(标准分区P;扩展分区e)->1(默认分区编号) 0 -> 第一个分区大小
扩展分区:n -> e ->
2、格式化分区
命令:mkfs.(查看系统类型) 默认格式为XFS mkfs.xfs /dev/sdb1
3、挂载使用
mount dev/sdb1(逻辑分区) /空目录 #去掉挂载 umount /挂载目录
4、开机自动挂载
查看UUID命令:blkid 自动挂载配置文件:vim /etc/fstab
5、完整挂载方式
1、格式化分区:
mdfs.xfs /dev/sdb
# 需要将挂载的硬盘分区全部卸载,然后格式化
2、挂载磁盘
mount /dev/sdb /mnt
3、开启自动挂载
vim /etc/fstab
/dev/sdb /mnt xfs defaults 0 0

5.3、parted分区
GTP格式: 大于2T的磁盘进行分区
第一步: 插入一个大于2T的磁盘
fdisk -l
第二步: 分区
命令:parted /dev/sdb
help 显示菜单
mklabel 制作新的标签
mkpart 创建分区
print 输出打印分区表
quit 退出
rm NUMBER 选择删除分区{NUMBER表示选择分区(1-4)}
#mklabel GPT 修改磁盘为GPT格式
非交互式创建分区
parted /dev/sdb mkpart primary xfs 0 20G
非交互式删除
parted /dev/sdb rm 1
第三步: 格式化
第四步: 挂载使用
mount /dev/sdb1 /data
df -h
第五步: 写入开机自动挂载
vim /etc/fstab
6、相关案例
1、由于进程占用大量的内存导致系统出现oom报错信息
oom内存溢出: 导致系统杀死占用内存最高的进程
解决办法: 增加内存
导致内存快速增加的因素:
1)由于大量用户访问量增加
2)开发逻辑原因导致内存增加(后端)
3)由于网络波动导致内存升高 (增加swap解决)
4)其他原因:内测、拷贝、压测
swap:内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行 可以临时划分(是用磁盘的空间暂时划分给内存)
查看swap:free -h
a.创建:
dd if=/dev/zero of=/tmp/ss bs=1M count=2000
b.初始化/格式化
mkswap /tmp/ss
c.激活:
swapon /tmp/ss
d.查看是否成功
free -h
查看swap分区组成
swapon -s
卸载:
swapoff /emp/ss
2、磁盘满,查找文件
1、查找大文件
1、find / -type f -size +100M (-f找文件) 2、du -h /|awk '$1 ~ /G$/'
2、查找小文件(文件小,文件较多。说明目录大)
find / -type d -size +1M (-d找目录)
4、磁盘满了,增加磁盘解决问题(软链接)
第一步:创建挂载第二块磁盘的文件
mkdir /data
第二步: 挂载第二块磁盘
mount /dev/sdb /data
第三步:移动日志文件到sbd
mv /var/log/1.log /data/1.log
第四步:软连接(日志写入第二块磁盘{/data/1.log})
In -s /data/1.log /var/log/1.log
#结果:当服务写入日志到链接文件/var/log/1.log文件时,实际写入到了/data/1.log文件中,也就是第二块磁盘空间当中
题外
创建一个10G文件
dd if=/dev/zero of=/var/log/1.log bs=1M count=10000
(/dev/zero是oom的扩容内存信息存放处,速度为1M,生成10000M)
查看文件信息
ll /var/log/1.log
5、文件被占用,磁盘控件不释放(lsof查找文件被进程占用)
a.生成大文件
b.模拟文件被调用
tail /data/1.log
(查看文件信息,跟随文件变化进行跟新)
c.进入到/data目录删除1.log(新窗口)
d.在旧窗口查看磁盘控件,未被释放
df-h
e.通过lsof命令查找文件被哪个进程所调用
(默认没有此命令,安装:yum )
yum -y install lsof
f.停掉进程
kill (进程的pid号)
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
#-l <信息编号> 若不加<信息编号>选项,则 -l 参数会列出全部的信息名称。
#-s <信息名称或编号> 指定要送出的信息。
#[程序] [程序]可以是程序的PID或是PGID,也可以是工作编号。
g.重载:systemctl reload 服务 (重新生成)
systemctl restart 服务(重启服务)




















