创新路
我们一直在努力

一场RAID磁盘受损后raid5数据恢复经历

jwenshan阅读(8)评论(0)

磁盘告警后一场重启导致raid5数据恢复经历

 

某某IDC业务服务器突然告警,远程了不一会出现卡住,随后便失去联接,无耐通知IDC机房手动硬重启服务器,经机房几次重启后仍无法正常联接,再次联系机房联接显示器观察,发现重启服务器后一直出现以下界面:

图片.png

机房初步判断系统有问题接下来需要自行处理,机房不提供技术支持,于是发工单亲临现在自行处理,大约一个小时后打车来到成都某电信机房,再次重启发现仍然停留上面的画面。接着尝试开机进入RAID查看下RAID及磁盘状态,前些天机房工作人员提过此服务器有磁盘(0号)报警的现象。果不其然,进入RAID配置界面后发现0号磁盘已经FAILD

图片.png

图片.png

尝试断电重新拔插后再次进入发现状态变为REBUILD状态,但是进度一直为零,不一会raid配置出现卡死状态。

图片.png

因为当时没有带有相同型号配置的硬盘无法做替换处理,但是根据raid5两块硬盘正常情况下也能启(经常几轮自动修复系统也无果),说明还存在其它问题,分析是否是硬件上存在(特别是raid卡)问题。于是找了一台业务量较少的服务器关机后把原硬盘取出(注意磁盘顺序一定要按顺序标记好),把故障机上两块确认没问题的硬盘的RAID信息导入(导入成功无异常报错),然后尝试开机启动,但是仍然无法正常引导系统,这样排除了故障机上RAID卡故障(将好的服务器硬盘RAID信息导入故障机也启动正常)

图片.png

Raid损坏应该不算很严重,手里刚好有张安装优盘尝试进去查看磁盘状态,因为当时想的是想办法先把WEB站点数据先导出,以免造成更大损失,用2019安装盘进去加载出的画面如下:

图片.png

diskpart查看磁盘状态如下:状态显示为错误的为RAID5磁盘

图片.png

图片.png

RAID磁盘0CD状态不正常(后来验证这一点)其它盘的数据及状态正常,但是也不敢的操作(理论上重新格式化,再安装系统,调整配置上线服务即可),但是为了安全需要先把数据导出后再进行下一步工作(后来也验证了此RAID自身配置也存在是存在一定的问题)。壮士也为五斗米折腰之时,难为无米之炊,受限于IDC机房,装备不全,只待天亮处理。

 

天亮新硬盘到位后,用新硬盘尝试修复重建RAID5,但是不成功,还是会出现卡死状态,说明RAID组建已经出现问题了(磁盘RAID信息已经无法同步),现在希望的就是能找回需要的部分数据即可,然后重新用新硬盘组建新RAID,转移数据,再上线服务。

回到公司刻录一张带RAID驱动PE引导盘,然后引导进入(见证奇迹的时候到了)

thanks goodness!!! 数据盘都还在,网站数据在在在…

图片.png

赶紧用FASTCOPY拷备数据:

图片.png

数据量有点大,在约复制了10来个小时(网站数据+平时备份数据)当然是先拷网站数据,然后恢复站点服务了。

网站数据大约用时一个多小时。

把新硬盘重新组建RAID5后,分区,安装操作系统,导入站点数据,配置站点,恢复服务。

图片.png

小结:1、不要轻易闪电重启服务器。

           2、磁盘报警信息有时不容小视,软件信息有时会欺骗你。

           3、理清头续再往下一步一步走,这样不易出错,规范化的操作,提升效率。

Linux–磁盘格式化与挂载

王宇恒阅读(10)评论(0)

格式化其实就是建置文件系统,命令是mkfs.[文件系统] [目标]

当使用mkfs.[tab][tab]时,可以看到当前可用文件系统如图

image.png

向虚拟系统添加了一块20g硬盘用于测试

image.png

image.png

添加新分区

image.png

image.png

开始格式化

image.pngimage.png

可以看到分区已有文件系统,但是还未挂载,使用mount /dev/sdb1 /ssd将其挂载在根目录的ssd文件夹下。

image.png

成功挂载。

找回原本属于你的服务器桌面信息

jwenshan阅读(25)评论(0)

    由于某某业务服务突发无法远程联接,尝试种种方法后决定联系机房重新启动服务器,重启后发现服务器桌面无法正常显示(进入系统后一直提示桌面文件夹丢失),经常排查分析找到以下解法,如有雷同可以尝试以下方法:

IDC机房重启服务器后服务器一直提示下图:图片.png

解决方法:进入资源管理器,点击:系统C:\用户\ Administraor\桌面(文件夹);复制【桌面】文件夹.

图片.png

进入目录: C:\WINDOWS\system32\config\systemprofile文件夹里粘贴。

图片.png

可以看到桌面回来了:

图片.png

再次重启服务器观察确认:

图片.png

分析原因:机房重启时,导致系统桌面链接配置信息丢失,导致配置信息不一致,因此服务器应尽量避免通过机房闪电重启的情况。

Linux—磁盘的分区

王宇恒阅读(27)评论(0)

lsblk   列出所有磁盘列表

image.png

命令后可加参数如图

image.png

blkid   列出装置的UUID

image.png

UUID是全局唯一标识符,可用于挂载和使用文件系统。

parted   列出磁盘的分区表类型与分区信息

image.png

敲入命令后就会出现这些信息,仔细一看就会发现命令敲错了。。。修正后如图

image.png

仔细一看会发现有趣的是我的磁盘厂商名字是VMware,但是我们也看到了文件系统和分区格式。

由于是MBR分区,所以使用fdisk分区命令

image.png

这是命令参数,输入fdisk /dev/sda后如下image.png

这里是使用fdisk /dev/sda  对应sda这块硬盘进行分区,然后进入分区交互对话状态,键入m命令可以查看此交换状态的命令帮助,其中n:创建分区  d:删除分区  p:打印分区信息  w:保存

image.png

a   toggle a bootable flag

b   edit bsd disklabel 

c   toggle the dos compatibility flag

d   delete a partition  //删除一个分区

l   list known partition types

m   print this menu  //打印命令的帮助

n   add a new partition  //增加一个分区

o   create a new empty DOS partition table

p   print the partition table  //打印分区信息

q   quit without saving changes  //退出交互状态

s   create a new empty Sun disklabel

t   change a partition's system id

u   change display/entry units

v   verify the partition table

w   write table to disk and exit  //将所有的操作写入磁盘即保存

x   extra functionality (experts only)

需要注意的是,只要不用w指令保存操作就用q退出,所作的一切更改都不会生效。

Linux 进程管理

舒旭东阅读(31)评论(0)

查看进程 

ps 命令:报告程序状况

ps -A  显示所有程序

ps -ef 显示所有程序,并以ascii字符显示树状结构,表达程序间的相互关系

ps -ef | grep xxx   在上面基础上添加查找关键字并显示出来

pstree命令:以树状图显示程序

-a 显示内个程序的完整指令,包括路径,参数或是驻服务的表示

-h 列出树状图是,特别标明现在正在执行的程序

pgrep命令:以名称为依据在运行队列中查找进程

pidof命令:查找正在运行的进程的pid

进程回显说明

UID是用户ID,PID是进程ID,PPID是父进程ID  PR 进程优先级

进程操作

 kill命令 :删除执行中的程序或工作

 kill -s  name (关闭 name程序)

 kill -s  pid  (关闭指定的 pid pgid的程序)

pkill     或者用   kill all  或 pgrep         (关闭所有进程)

进程监控工具

top——进程监控工具

htop——top增强版进程监控工具

iotop——磁盘读写监控工具

vmstat——虚拟内存统计工具

glances——可跨平台系统监控工具

dstat——多功能整合系统监控工具

【BAT】 windows下自制监控登陆报警程序

jwenshan阅读(41)评论(0)

近期服务器发现有异常联接攻击,导致远程联接时常联接不上,进行封堵后,为了方便效果观察,于是手动DIY了一个了登陆了监测程序,方便自己观察服务器最近登陆近况。现将程序分享如下:

图片.png

图片.png

Linux远程联机服务器:SSH服务器

王宇恒阅读(26)评论(0)

SSH 是 Secure SHell protocol 的简写 (安全的壳程序协议),它可以透过数据封包加密技术,将等待传输的封包加密后再传输到网络上, 因此,数据讯息当然就比较安全。

SSH的加密原理:

通常是所谓的『非对称密钥系统』来处理的,主要是透过两把不一样的公钥与私钥 (Public and Private Key) 来进行加密与解密的过程。由于这两把钥匙是提供加解密的功用, 所以在同一个方向的联机中,这两把钥匙当然是需要成对的!它的功用分别如下:

  • 公钥 (public key):提供给远程主机进行数据加密的行为,也就是说,大家都能取得你的公钥来将数据加密的意思;

  • 私钥 (private key):远程主机使用你的公钥加密的数据,在本地端就能够使用私钥来进行解密。由于私钥是这么的重要, 因此私钥是不能够外流的!只能保护在自己的主机上。

由于每部主机都应该有自己的密钥 (公钥与私钥),且公钥用来加密而私钥用来解密, 其中私钥不可外流。但因为网络联机是双向的,所以,每个人应该都要有对方的『公钥』才能加密出只有对方能看懂的信息。

image.png

通过密匙配对连接主机:

通过账号密码连接远程连接linux主机非常常见了,本次将尝试使用密匙连接主机。

首先用xshell生成密匙,并且得到公匙。

image.png

image.png

在远程主机上更改sshd连接配置vi /etc/ssh/sshd_config

image.png

下图表示密码连接已开启

image.png

下图表示密匙连接已开启,公匙文件默认位置为.ssh/authorized_keys

image.png

在主机上生成一对密匙

image.png

可以看到刚刚生成的两个密匙

image.png

创建一个authorized_keys用来输入xshell生成的公匙

image.png

尝试使用密匙连接主机

image.png

提示未在远程主机注册

image.png

尝试重载sshd服务

image.png

尝试更改登陆用户名为root也不行,再尝试把.ssh/authorized_keys文件的权限更改

image.png

纠错之后发现这样才是表示密匙连接已开启,并且更改了默认公匙位置为wyh用户目录下

image.png

测试成功

image.png

tampermonkey -实用脚本

舒旭东阅读(24)评论(0)

   在我们it人中  Git Hub 可谓是无人不知 无人不晓 而github 他的全英文界面  还是劝退了不少才了解到这伟大的平台 而我们可以使用 tampermonkey (油猴)添加一款脚本 进行对GitHub 全方位汉化的方法   

汉化前:

image.png

汉化后image.png

当然这是如何实现汉化的呢  我们首先要 有我们的工具tamper monkey

image.png

我们打开选项选择新建用户脚本  再在里边添加脚本内容 image.png

再添加完脚本    后用ctrl + s 保存这样就可以在GitHub里 体验到汉化带来的便利了

这个脚本文件及其他实用脚本 我打包到百度云网盘中 欢迎大家来自取 使用

链接:https://pan.baidu.com/s/1vi5hEhX7ZbutWvdBRSzhqA 

提取码:t7bb 

Linux—工作管理 (job control)

王宇恒阅读(43)评论(0)

job control是在单一终端机介面下同时进行多个工作的行为管理 。

由於假设我们只有一个终端介面,因此在可以出现提示字节让你操作的环境就称为前景 (foreground),至於其他工作就可以让你放入背景 (background) 去暂停或运行。而且放入背景的工作是不可以使用 [ctrl]+c 来终止的。

要进行 bash 的 job control 必须要注意到的限制是:

  • 这些工作所触发的程序必须来自於你 shell 的子程序(只管理自己的 bash);

  • 前景:你可以控制与下达命令的这个环境称为前景的工作 (foreground);

  • 背景:可以自行运行的工作,你无法使用 [ctrl]+c 终止他,可使用 bg/fg 呼叫该工作;

  • 背景中『运行』的程序不能等待 terminal/shell 的输入(input)

image.png

在任务后加上&就可以让任务进入背景运行,同时会获得一个工作号1,2217为PID。

[1]+  Done                    tar -zpcf /tmp/etc.tar.gz /etc

这行字代表任务已经结束,在结束前背景中的任务也是无法用[ctrl]+c中断。

将『目前』的工作丢到背景中『暂停』:[ctrl]-z

如果我正在使用 vi ,却发现我有个文件不知道放在哪里,需要到 bash 环境下进行搜寻,此时可以不用关闭vi,而将当前任务vi放入背景任务暂停,以便于我们进行其他任务。

image.png

在 vi 的一般模式下,按下 [ctrl] 及 z 这两个按键,萤幕上会出现 [1] ,表示这是第一个工作, 而那个 + 代表最近一个被丢进背景的工作,且目前在背景下默认会被取用的那个工作 (与 fg 这个命令有关 )!而那个 Stopped 则代表目前这个工作的状态。在默认的情况下,使用 [ctrl]-z 丢到背景当中的工作都是『暂停』的状态。

如果想要知道目前有多少的工作在背景当中,就用 jobs 这个命令。

image.png

jobs的参数有

-l  :除了列出 job number 与命令串之外,同时列出 PID 的号码;
-r  :仅列出正在背景 run 的工作;
-s  :仅列出正在背景当中暂停 (stop) 的工作。

假如想将后台任务转移到当前任务则需要用fg命令,使用方法为fg  %job number

image.png

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机