day18-磁盘案例与故障案例

1.每日复盘与今日内容

1.1复盘

  • 面试题:raid(物理服务器)
  • 磁盘使用流程:分区,格式化,挂载(永久挂载)
  • mbr vs gpt区别
  • fdisk,mkfs,mount/umount -lf(强制卸载)
  • df -hT
  • blkid

1.2今日内容

  • 磁盘分区方案
  • swap关闭,开启增加
  • 故障案例空间不足系列
  • 救援模式

2.磁盘案例

2.1 磁盘分区

linux磁盘分区类似于windows c: d: e: f:

一切从根开始

常见方案

说明

大小

/boot/

引导分区,引导系统启动,存放linux内核文件

1g/2g

/根分区

存放软件包,安装服务 相当于是c盘

20g起步,一般推荐20g—xxxxG

swap

分区,特殊文件系统,没有挂载点.特殊环境中数据库,存储,k8s环境,推荐关闭swap,特殊需求(比如java)配置swap

建议最多8G

/data

独立数据分区,名字与路径未来自己定义,看需求,有重要数据

剩余所有空间

2.2 物理服务器使用全流程

物理服务器使用全流程

说明

补充

1️⃣拆开包装,上电,进行配置

机架式服务器

2️⃣配置远程控制卡

物理设备(卡),无法远程连接,备用方案,不用跑机房现场操作.

3️⃣配置raid

8块硬盘 2个raid 1 6个raid 5

4️⃣安装系统

自定义分区 raid 1 /boot/swap raid 5 /data/

5️⃣连接,基础优化配置

命令行,软件包,ssh......

6️⃣可选(配置,部署服务)

根据需求部署服务,配置

7️⃣服务器上架

机柜服务器,机柜在机房中心(公司内部测试),IDC数据中心机房

 

2.3 swap

1️⃣创建/增加swap

2️⃣关闭swap

1.增加swap 1g

当前是否有swap都不影响你添加swap

#1.准备swap文件
mkdir -p /data
dd if=/dev/zero of=/data/1g bs=1M count=1024

#2.格式化创建swap
mkswap /data/1g
chomod 600 data/1g #可改可不改

#3.激活swap
free -h #查看开启swap前的情况
swapon /data/1g
free -h #查看开启swap后的情况

2.关闭swap

#1.临时关闭
swapoff -a

#2.永久关闭
vim /etc/fstab 

#注释掉这行即可
/dev/mapper/klas-swap   none                    swap    defaults        0 0

  • ⚠️ubt/debian系统 上面2个步骤之外还要执行下面的 命令才行.
systemctl mask swap.target

2.4 故障案例:root密码忘记重新设置

  • 这个故障不仅仅为root密码
  • 也适用于linux无法启动.误修改/etc/配置导致无法启动....
  • 需要重启linux.
  • Linux系统自带救援系统,系统不严重使用这个即可,比较严重需要使用光盘
1.红帽类--救援模式

1️⃣重启linux系统,迅速按上下键,进入grub菜单,输入e,进入编辑模式

(麒麟:输入root,密码Kylin123123)

2️⃣找到linux这行,将ro改为rw,这行结尾加上init=/bin/bash

3️⃣按ctrl+x启动系统

4️⃣进入到救援模式进行对应操作

#对于本故障需要重置密码
vim /etc/passwd

#将root的权限x删除

#VM 界面重启

2.突发状况

1️⃣故障解决

  • 此时重启发现很慢且直接进入救援模式,故开始进入日志查看情况

  • 发现/dev/sdb1磁盘问题

故进入/etc/fstab将昨天新创建的sdb1挂载先注释掉

重启发现可以

2️⃣故障分析

应该是昨天创建磁盘是未能正确创建磁盘以及格式化导致。

3️⃣故障后期

后面将/dev/sdb1重新创建并格式化后,挂载到/app/data并重启,发现没有问题。

2.红帽类--光盘/U盘救援模式
  • 针对linux无法启动了,grub菜单都无法进入
  • 抢救数据

1️⃣重启linux,以光盘启动 U盘(在VM设置更改启动),提示品牌logo页面 esc(F12/F10具体看提示)

2️⃣选择U盘/光盘启动.进入到安装页面

3️⃣选择 troubleshooting 然后选择resuce

4️⃣进入系统,然后挂载本地硬盘的根到当前环境中,进行后续操作

  • 找到本地根在这里

  • 将本地根挂载到其他目录下(方便操作)

mount /dev/mapper/klas-root /mnt/

  • 操作完后,重启即可。

  • 补充:制作启动linux的U盘

Download . Ventoy

从网上下载到U盘(注意系统),复制对应系统的iso文件,未来插在服务器按F2(具体看提示)

2.5 故障案例:no space left on device 磁盘空间不足

常见原因

排查

如何解决

经典:日常/正常(linux,windows)磁盘空间不足 block大文件

df,du

定位到文件或目录,确定然后操作

inode耗尽

找出系统大目录

清理这个目录

文件未彻底删除,日积月累导致磁盘空间不足

lsof命令检查delete标记

定位到具体进程,重启服务即可

 

1️⃣inode

存放属性信息,inode数量格式化后固定了.

正常使用一般block使用多一些.

但是也有一些原因导致有大量的小文件出现,占用inode.

故障复现

#1.创建一个小分区50MB(dd)
dd if=/dev/zero of=/data/50m bs=1M count=50

#2.格式化
mkfs.xfs /data/50m

#3.挂载
mkdir -p /inode/
mount /data/50m /inode/

#4.创建文件与观察错误
#观察目录的inode数量
df -i

#创建大量文件占用inode
touch {01..200000}

发现inode已经满了,但磁盘还是有容量的。

排查(在系统中 找出大的目录)

模拟
mkdir /test
touch test/{01..100000}
#查找目录/下为目录的且大小比1M大的目录
find / -type d  -szie +1M

#查找目录/下为文件的且大小比10M大的文件
find / -type f -szie +10M

  • 解决

通过find找出目录

然后检查目录下是否有大量文件,慎用tree,ls,ll命令. ls | wc -l

确认后(可以删除后)

进行删除

#1.|的搭档xargs
#xargs 参数转换 字符--》参数(字符--》文件名,目录名字可以被命令识别)
#|管道传递的是字符(grep,awk,sort,uniq)
echo lidao.txt | xargs touch 

#2.Argument list too long 使用echo +touch方式解决
echo {01.500000} |xargs touch

#3.删除大量小文件
ls |xargs rm -f
#ls a* |xargs rm -f 文件数量过大的时候建议使用以名字开头进行删除
#ls 0* |xargs rm -f
  • 小结:

inode耗尽导致磁盘空间不足

现象:提示磁盘空间不足了,df -h没有满,df -i查看满了

排查:找出系统大目录 find / type d -size +1M

解决:确认后删除,目录下的小文件

🅰️ls/find + | xrags rm 删除

🅱️删除文件所在目录(目录名字,目录所有者,权限)慎重

补充:

| 与|xrags 区别

|正常过滤取行取列. 字符.

|xargs 传递参数(文件名,目录名字...)

2️⃣文件未彻底删除导致

  • 原因:删除正在运行的文件,只会删除硬链接,但文件数据还在。

场景:发现磁盘空间不足,排查日志文件导致的,删除这个文件

删除1个文件(1个文件被彻底删除条件)文件删除原理
1.rm命令删除 入口为0 (硬链接数量为0)
2.文件被使用中(不能被使用中,某个进程)
  • 复现故障
#1窗口1 创建大文件并使用tail占用
dd if=/dev/zero of=/var/log/big bs=1M count=30000

tail -f /var/log/big

du -sh /* | sort -rhk1 | head
#一步一步找到占用空间大的文件

#2.窗口2
删除这个文件观察 空间是否释放
df -h du -sh 对比空间差异
lsof |grep delete 标记

  • 排查现象
#1. df -h 查看满了
df -h

#2. 通过du -sh 查看 没有满
du -sh /* | sort -rhk1 | head

#3. 怀疑是文件未彻底删除导致的.
#lsof 查看系统打开的文件
lsof | grep deleted | sort -rnk8 | head

#4.定位到具体的进程 服务
pkill tail(举例)

  • 解决

重启服务即可

3.今日工作总结

  • 磁盘分区方案(自己创建自定义虚拟机 跑下流程.)
  • swap增加,关闭.
  • 故障案例:进入救援模式.
  • 故障案例:优盘救援模式.
  • 故障案例:磁盘空间不足系列(复现,排查,解决)

经典

inode不足

未彻底删除不足

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值