[命令] e2fsck 命令的使用 (紧急修复 EXT 格式的文件系统)

正文:

步骤一:进入救援模式

(注意:当进入 RHEL 的救援模式时,如果遇到了有 ”Skip to shell“ 的选项,则选择此选项)

步骤二:开启软件级 RAID 或者 LVM

2.1 开启软件级 RAID

sh-4.2# mdadm --assemble --scan

2.2 开启 LVM

sh-4.2# lvm vgchange -ay

步骤三:修复 XFS 格式的文件系统

3.1 如果是修复逻辑卷

sh-4.2# e2fsck -fvy /dev/mapper/<volume group>-<logical volume>

(注意:在进行此操作前建议先备份数据)

3.2 如果是修复硬盘

sh-4.2# e2fsck -fvy /dev/<disk device>

(注意:在进行此操作前建议先备份数据)

3.3 如果是修复硬盘分区

sh-4.2# e2fsck -fvy /dev/<disk device partition>

(注意:在进行此操作前建议先备份数据)

3.4 如果是修复挂在的设备

sh-4.2# e2fsck -fvy /dev/<md device>

(注意:在进行此操作前建议先备份数据)

步骤四:退出救援模式

sh-4.2# exit

补充:

如果是修复 EXT 格式的文件系统的话,将步骤三种的以下命令:

sh-4.2# e2fsck -fvy /dev/mapper/<volume group>-<logical volume>
sh-4.2# e2fsck -fvy /dev/<disk device>
sh-4.2# e2fsck -fvy /dev/<disk device partition>
sh-4.2# e2fsck -fvy /dev/<md device>

修改成:

sh-4.2# xfs_repair /dev/mapper/<volume group>-<logical volume>
sh-4.2# xfs_repair /dev/<disk device>
sh-4.2# xfs_repair /dev/<disk device partition>
sh-4.2# xfs_repair /dev/<md device>

(
注意:
1) 在进行此操作前建议先备份数据
2) 如果直接使用 xfs_reqaire 命令无效,可以加上 -L 参数,但是使用 -L 参数前一定要提前备份数据:

sh-4.2# xfs_repair -L /dev/mapper/<volume group>-<logical volume>
sh-4.2# xfs_repair -L /dev/<disk device>
sh-4.2# xfs_repair -L /dev/<disk device partition>
sh-4.2# xfs_repair -L /dev/<md device>

)

参考文献:

https://access.redhat.com/solutions/9541
https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/managing_file_systems/checking-and-repairing-a-file-system_
https://docs.redhat.com/zh-cn/documentation/red_hat_enterprise_linux/8/html/managing_file_systems/checking-an-xfs-file-system-with-xfs-repair_checking-and-repairing-a-file-system

[命令] xfs_repair 命令的使用 (紧急修复 XFS 格式的文件系统)

正文:

步骤一:进入救援模式

(注意:当进入 RHEL 的救援模式时,如果遇到了有 ”Skip to shell“ 的选项,则选择此选项)

步骤二:开启软件级 RAID 或者 LVM

2.1 开启软件级 RAID

sh-4.2# mdadm --assemble --scan

2.2 开启 LVM

sh-4.2# lvm vgchange -ay

步骤三:修复 XFS 格式的文件系统

3.1 如果是修复逻辑卷

sh-4.2# xfs_repair /dev/mapper/<volume group>-<logical volume>

(
注意:
1) 在进行此操作前建议先备份数据
2) 如果直接使用 xfs_reqaire 命令无效,可以加上 -L 参数,但是使用 -L 参数前一定要提前备份数据:

sh-4.2# xfs_repair -L /dev/mapper/<volume group>-<logical volume>

)

3.2 如果是修复硬盘

sh-4.2# xfs_repair /dev/<disk device>

(
注意:
1) 在进行此操作前建议先备份数据
2) 如果直接使用 xfs_reqaire 命令无效,可以加上 -L 参数,但是使用 -L 参数前一定要提前备份数据:

sh-4.2# xfs_repair -L /dev/<disk device>

)

3.3 如果是修复硬盘分区

sh-4.2# xfs_repair /dev/<disk device partition>

(
注意:
1) 在进行此操作前建议先备份数据
2) 如果直接使用 xfs_reqaire 命令无效,可以加上 -L 参数,但是使用 -L 参数前一定要提前备份数据:

sh-4.2# xfs_repair -L /dev/<disk device partition>

)

3.4 如果是修复挂在的设备

sh-4.2# xfs_repair /dev/<md device>

(
注意:
1) 在进行此操作前建议先备份数据
2) 如果直接使用 xfs_reqaire 命令无效,可以加上 -L 参数,但是使用 -L 参数前一定要提前备份数据:

sh-4.2# xfs_repair -L /dev/<md device>

)

步骤四:退出救援模式

sh-4.2# exit

补充:

如果是修复 EXT 格式的文件系统的话,将步骤三种的以下命令:

sh-4.2# xfs_repair /dev/mapper/<volume group>-<logical volume>
sh-4.2# xfs_repair /dev/<disk device>
sh-4.2# xfs_repair /dev/<disk device partition>
sh-4.2# xfs_repair /dev/<md device>

修改成:

sh-4.2# e2fsck -fvy /dev/mapper/<volume group>-<logical volume>
sh-4.2# e2fsck -fvy /dev/<disk device>
sh-4.2# e2fsck -fvy /dev/<disk device partition>
sh-4.2# e2fsck -fvy /dev/<md device>

参考文献:

https://access.redhat.com/solutions/9541
https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/managing_file_systems/checking-and-repairing-a-file-system_
https://docs.redhat.com/zh-cn/documentation/red_hat_enterprise_linux/8/html/managing_file_systems/checking-an-xfs-file-system-with-xfs-repair_checking-and-repairing-a-file-system

[排错] 解决戴尔服务器 iDRAC 阵列卡的任务卡住且无法删除

现象

戴尔 iDRAC 阵列卡的任务 (例如删除 RAID 虚拟磁盘的任务) 卡住且无法删除,且就算进入戴尔的 Lifecycle Controller 后也没有发现要删除的 RAID 虚拟磁盘有什么变化

解决方法

步骤一:进入戴尔的 Lifecycle Controller 手动删除此 RAID 虚拟磁盘

(步骤略)

(注意:删除 RAID 虚拟磁盘后里面的所有数据都会无法访问)

步骤二:让任务彻底失败

登陆戴尔 iDRAC 网页 à Dashboard à More Actions à Reboot iDRAC

步骤三:删除彻底失败了的任务

登陆戴尔 iDRAC 网页 à Storage à Tasks à Job Queue à 勾选彻底失败了的任务 à Delete

步骤四:再次重启 iDRAC

登陆戴尔 iDRAC 网页 à Dashboard à More Actions à Reboot iDRAC

步骤五:之后就可以进行其他操作了

(步骤略)

[工具] Shell 批量将本地的网站公私钥拷贝到远程服务器

介绍

基本信息

作者:朱明宇
名称:批量将本地的网站公私钥拷贝到远程服务器
作用:批量将本地的网站公私钥拷贝到远程服务器

使用方法

1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 执行此脚本

脚本分割线里的变量

1. sslpath=”/etc/letsencrypt/live/eternalcenter.com” #本地服务器存放网站公私钥的目录
2. sslfile1=”fullchain.pem” #本地服务器上的网站公钥的名称
3. sslfile2=”privkey.pem” #本地服务器上的网站私钥的名称
4. bip=”192.168.0.1″ #存放网站公私钥的远程服务器的 IP 地址,多个 IP 地址可以用空格分隔
5. buser=”mingyuzhu” #用于登录远程服务器的用户名
6. bcache=”/bcache” #远程服务器存放网站公私钥的目录

注意

1. 此脚本执行前必须要先保证执行本脚本的用户能无密码 ssh 远程这些远程服务器
2. 必须以 root 用户执行本脚本

脚本

#!/bin/bash

####################### Separator ########################

sslpath="/etc/letsencrypt/live/eternalcenter.com" #website cache
sslfile1="fullchain.pem"
sslfile2="privkey.pem"

bip="192.168.0.1"
buser="mingyuzhu"
bcache="/bcache"

####################### Separator ########################

######################## copy webiste date to remote server #########################

for i in `echo $bip`

do
ping -c4 -i0.8 -w4 $i &> /dev/null

if [ $? -eq 0 ];then
    ssh $buser@$i "who -b"
        if [ $? -eq 0 ];then
#            ssh $buser@$i "sudo mkdir $bcache ; sudo chown $buser:$buser $bcache"
            scp $sslpath/$sslfile1 $buser@$i:$bcache/ 
            scp $sslpath/$sslfile2 $buser@$i:$bcache/ 
        fi
fi
done

######################## copy webiste date to remote server #########################