一、磁盘管理类型
1、常见服务器种类
2、磁盘的分类
3、磁盘接口类型
4、接口类型
- SATA 7.2k 10K---->2T 4T 6T 12T
- SAS 10k 15k---->300G 600G 900G
- 磁盘大小:3.5英寸和2.5英寸
- 台式机磁盘:3.5英寸
5、RAID磁盘陈列
|
磁盘个数 |
磁盘容量 |
安全冗余 |
性能 |
使用场景 |
| RAID 0 |
至少1块 |
所有总和 |
不安全,坏1块全坏 |
最快 |
数据库从库 |
| RAID 1 |
只能2块 |
一半 |
安全,可以坏1块 |
写入很慢,读取很快 |
监控服务器 |
| RAID 5 |
至少3块 |
最多损坏1块 |
安全,可以坏1块 |
比raid 0慢,比raid 1块 |
比较稳定的业务线 |
| RAID 10 |
至少4块 |
一半 |
可以损坏一半 |
较快 |
高并发 |
6、磁盘分区:
- 对小于2T的磁盘分区:fdisk MBR格式
- 对大于2T的磁盘分区:parted GPT格式
- 格式化:mkfs.xfs -f
- 挂载:mount
- 卸载:umount -f
二、磁盘真实事故解决案例
1、服务器内存过载杀死占用内存最高的进程,oom内存溢出
1、导致内存溢出的原因:
- 访问量大,可以采取增加内存
- 由于进程程序导致内存飙升java程序导致,查找程序的原因
- 由于业务的网络波动原因
- 内部服务器,内存不够用的时候临时使用swap解决
2、创建swap的方式
# 创建一个块文件
[root@web01 ~]# dd if=/dev/zero of=/tmp/1g bs=1M count=1000
# 格式化为swap类型
[root@web01 ~]# mkswap /tmp/1g
# 挂载swap分区
[root@web01 ~]# swapon /tmp/1g
swapon: /tmp/1g: insecure permissions 0644, 0600 suggested.
You have new mail in /var/spool/mail/root
[root@web01 ~]# free -h
total used free shared buff/cache available
Mem: 1.9G 120M 734M 9.5M 1.1G 1.7G
Swap: 3.0G 0B 3.0G
# 查看swap分区的组成
[root@web01 ~]# swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 2097148 0 -2
/tmp/1g file 1023996 0 -3
# 卸载swap文件
[root@web01 ~]# swapoff /tmp/1g
2、磁盘服务写入如何解决
1、inode号满了:通过 df -i 查看
2、block满了:通过 df -h 查看
# 如何查看小文件多大目录
find / -type d -size +1M
# 如何查找大文件
find / -type f -size +1G
# 查看整个目录及下面所有内容的大小
du -sh 文件名
3、删除文件不释放磁盘空间
1、问题剖析:
因为进程被调用的原因导致无法释放
2、解决思路:
# 查看文件被哪个进程所有调用lsof
[root@web01 ~]# yum -y install lsof # 安装命令
[root@web01 ~]# lsof |grep 1g
vim 2488 root 3r REG 8,3 1048576000 17573898 /tmp/1g (deleted)
vim 2488 root 4u REG 8,3 4096 17573899 /tmp/.1g.swp
You have new mail in /var/spool/mail/root
[root@web01 ~]# kill -9 2488
4、磁盘空间不够使用
第一块磁盘不够用:由于日志文件占用磁盘空间过大
/var/log/nginx/access.log # 默认第一块磁盘空间100G
上面路径不变,解决磁盘不够用!
第一步:增加一块磁盘2T
第二步:挂载磁盘
mkdir /data
mount /dev/sdb /data
第三步:将access.log移动到新的磁盘(禁止用户上传或者写入数据)
第四步:做软链接
ln -s /data/access.log /var/log/nginx/access.log