使用Linux Rescue系统

2020年12月31日19:43:52 发表评论 121 次浏览

对于在2018年10月28日之前购买的专用服务器, 服务器交易和价值专用服务器

在本文中, 你将学习如何使用专用服务器的救援系统。救援系统是诊断和修复服务器系统问题的重要工具。

请注意

如果你购买了通过云面板管理的专用服务器, 则以下文章提供有关服务器的救援系统的信息:

将专用服务器引导至Linux救援系统

将专用服务器引导到Windows救援系统

使用Linux救援系统(硬件RAID)

在专用服务器Windows上使用Windows救援系统

有关可用救援系统的重要信息

以下救援系统适用于根据服务器电源交易购买的专用服务器:

  • Linux 64位迷你救援系统(debian / stable)

  • Linux 64位救援系统(debian / oldstable)

  • Linux 64位救援系统(debian / stable)

救援系统

使用救援系统, 你可以:

  • 备份服务器的数据

  • 修复损坏的文件系统

  • 调用日志文件以识别错误源

  • 分配新的root密码

  • 修复服务器的网络配置

迷你救援系统

Mini Rescue System并不具有Rescue System包含的所有程序。因此, 仅当服务器的RAM很少且无法启动时, 才使用Mini-Rescue系统。

请注意

不能通过迷你救援系统访问StorCLI, PERCCLI和ARCCONF CLI实用程序。

将服务器引导到救援系统

此处说明了如何将服务器引导到救援系统中:

将Linux服务器引导到救援系统

识别硬件控制器

要检查服务器上安装了哪个硬件控制器, 可以使用程序lshw。该程序显示有关硬件组件的详细信息。

使用lshw显示硬件信息

要查看硬件信息摘要, 请键入以下命令:

lshw -short

要将硬件信息写入文本文件, 请键入以下命令:

lshw> lshw_output.txt

RAID控制器管理程序

默认情况下, 将安装管理每个RAID控制器所需的软件。如有必要, 你可以在此处下载相应控制器的软件:

Adaptec RAID控制器

https://storage.microsemi.com/en-us/downloads

Broadcom RAID控制器

https://www.broadcom.com/support/download-search

戴尔RAID控制器

https://www.dell.com/support/home/de-de?app=products

3ware RAID控制器

https://www.broadcom.com/support/knowledgebase/1211161499498/operating-systems-supported-for-the-lsi-3ware-and-megaraid-contr

槟榔RAID控制器

https://www.areca.com.tw/support/downloads.html

检查硬件RAID的状态

使用下面列出的命令访问硬件RAID和配置信息:

Adaptec RAID控制器
命令 解释
arcconf GETCONFIG 1 此命令显示有关RAID控制器, 配置, RAID阵列, 可用磁盘及其当前状态的信息。
arcconf getconfig 1 PD 使用此命令可显示有关现有硬盘的信息。
arcconf getlogscontroller-number设备¦死亡¦事件[清除¦表格] 使用此命令显示日志条目。你可以使用以下参数指定显示的日志条目的类型:
示例:arcconf getlogs 1设备列表 设备:显示所有日志条目, 其中包含控制器可以在所有连接的设备上检测到的错误。
  DEAD:显示记录设备和硬盘故障的所有日志条目。
  事件:显示所有日志条目, 其中包含有关特殊事件的信息(例如, 重建, LDM等)
  你还可以指定以下参数:
  表格格式:以表格格式显示日志。
  clear:删除指定的控制器协议。
arcconf getlogs控制器编号设备¦死亡¦事件[清除¦表格]> FILENAME.log 此命令将日志条目写入文件。
示例:arcconf getlogs 1设备列表> device.log  

你可以在这里找到更多信息:

用户指南ARCCONF命令行实用程序

Broadcom RAID控制器
命令 解释
storcli64 / c0显示全部 此命令显示有关RAID控制器和配置的信息。
storcli64 / c0 / eall / sall show 使用此命令可显示有关现有硬盘的信息。
storcli64 / c0 / eALL / sALL显示全部 此命令显示有关可用磁盘及其当前状态(序列号, 温度等)的信息。
storcli / cx显示eventloginfo 使用此命令显示日志条目。

你可以在这里找到更多信息:

12Gb / s MegaRAID Tri-ModeStorCLI用户指南

DELL-PERC-RAID控制器
命令 解释
perccli64 / c0 / e32 / s0显示全部 使用此命令可显示有关磁盘0的信息。
perccli64 / c0 / e32 / s1显示全部 使用此命令显示有关磁盘1的信息。
perccli64 / c0显示 使用此命令可显示有关现有硬盘的信息。
perccli / c0显示 此命令显示控制器0的日志条目。

你可以在这里找到更多信息:

Dell EMC PowerEdge RAID控制器CLI参考指南

3ware RAID控制器

有关如何使用tw_cli访问硬件RAID和配置信息的说明, 请参阅以下文章:

监视/重建硬件RAID(Linux)

有关安装, 配置和使用的更多信息, 请参考3ware文档。你可以在这里找到它:

https://www.broadcom.com/support/knowledgebase/1211161499541/lsi-3ware-user-documentation-downloads

槟榔RAID控制器

有关如何使用命令行界面访问硬件RAID和配置信息的说明, 请参阅以下文章。

监视/重建硬件RAID(Linux)

可在此处找到有关命令行界面的更多信息:

https://areca.starline.de/RaidCards/Documents/Manual_Spec/Software

检查软件RAID的状态

要检查软件RAID的状态, 请在外壳程序中输入以下命令:

营救:〜#cat / proc / mdstat

列出硬盘分区

在Rescue System中, 你可以对内部硬盘进行分区, 检查文件系统以及错误的不正确设置。

要列出文件系统并标识有问题的文件系统, 请输入命令df -h。缩写df表示没有磁盘。使用参数-h可以以千兆字节, 兆字节或千字节的形式显示机器可读形式的已占用块数。

在87.106.16.168上进行救援:〜$ df -h

文件系统大小已使用可用性使用%已安装

/ dev / root 372M 356M 17M 96%/

devtmpfs 32G 0 32G 0%/ dev

tmpfs 32G 0 32G 0%/ dev / shm

tmpfs 32G 102M 32G 1%/运行

tmpfs 5.0M 0 5.0M 0%/运行/锁定

tmpfs 32G 0 32G 0%/ sys / fs / cgroup

要列出现有的硬盘, 分区和逻辑卷, 请输入命令fdisk -l。 Fdisk是用于分区硬盘的命令行程序。使用此程序, 你可以列出, 创建和删除分区。

救援:〜#fdisk –l

以下示例列出了来自具有软件袭击的服务器的信息。该信息是由救援系统收集的。

请注意

fdisk -l的输出可能会根据服务器型号和/或配置而有所不同。

救援:〜#fdisk -l

磁盘/ dev / sda:250.0 GB, 250059350016字节

255个磁头, 63个扇区/磁道, 30401个圆柱体

单位=柱面16065 * 512 = 8225280字节

设备启动开始端块ID系统

/ dev / sda1 1 123 987966 fd Linux raid自动检测

/ dev / sda2 124 367 1959930 82 Linux交换/ Solaris

/ dev / sda4 368 30401 241248105 5扩展

/ dev / sda5 368 976 4891761 fd Linux raid自动检测

/ dev / sda6 977 3409 19543041 fd Linux raid自动检测

/ dev / sda7 3410 4018 4891761 fd Linux raid自动检测

/ dev / sda8 4019 30401 211921416 fd Linux raid自动检测

磁盘/ dev / sdb:250.0 GB, 250059350016字节

255个磁头, 63个扇区/磁道, 30401个圆柱体

单位=柱面16065 * 512 = 8225280字节

设备启动开始端块ID系统

/ dev / sdb1 1 123 987966 fd Linux raid自动检测

/ dev / sdb2 124 367 1959930 82 Linux交换/ Solaris

/ dev / sdb4 368 30401 241248105 5扩展

/ dev / sdb5 368 976 4891761 fd Linux raid自动检测

/ dev / sdb6 977 3409 19543041 fd Linux raid自动检测

/ dev / sdb7 3410 4018 4891761 fd Linux raid自动检测

/ dev / sdb8 4019 30401 211921416 fd Linux raid自动检测

磁盘/ dev / md8:217.0 GB, 217007456256字节

2缸盖, 4个扇形/轨道, 52980336缸

单位= 8 * 512的柱面= 4096字节

磁盘/ dev / md8不包含有效的分区表

磁盘/ dev / md7:5009 MB, 5009047552字节

2个喷头, 4个扇区/磁道, 1222912个气缸

单位= 8 * 512的柱面= 4096字节

磁盘/ dev / md7不包含有效的分区表

磁盘/ dev / md6:20.0 GB, 20012007424字节

2头, 4扇区/轨道, 4885744缸

单位= 8 * 512的柱面= 4096字节

磁盘/ dev / md6没有有效的分区表

磁盘/ dev / md5:5009 MB, 5009047552字节

2个喷头, 4个扇区/磁道, 1222912个气缸

单位= 8 * 512的柱面= 4096字节

磁盘/ dev / md5不包含有效的分区表

磁盘/ dev / md1:1011 MB, 1011548160字节

2个喷头, 4个扇区/磁道, 246960个气缸

单位= 8 * 512的柱面= 4096字节

磁盘/ dev / md1没有有效的分区表

如果运行fdisk不会显示列表, 则可能是控制器, 硬盘或电缆存在问题。在这种情况下, 请与支持人员联系。

文件系统检查

在挂载有问题的分区或逻辑卷之前, 应使用文件系统检查(FSCK)检查文件系统的一致性。

警告

不得对已挂载和/或加密的分区执行文件系统检查, 因为这可能会导致数据丢失。如果检查逻辑卷的文件系统, 则也不能安装它。因此, 在使用"文件系统检查"检查文件系统之前, 请确保未安装或加密分区或逻辑卷。

要使用"文件系统检查"检查分区或逻辑卷, 请输入以下命令:

救援:〜#fsck -f / dev / md1

在分区md1上执行以下检查。结果表明文件系统是有序的。

fsck -f /dev/md1
fsck 1.40-WIP (07-Apr-2007)
e2fsck 1.40-WIP (07-Apr-2007)
/: recovering journal
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/: ***** FILE SYSTEM WAS MODIFIED *****
/: 7628/123648 files (0.5% non-contiguous), 83136/246960 blocks

md5, md6和md7是XFS, 不需要检查。如果仍然要检查它们, 可以使用以下命令。

营救:〜#xfs_check / dev / mdX

例子:

营救:〜#xfs_check / dev / md5

如果收到错误消息, 请挂载并卸载分区, 然后再次运行检查。以下示例显示了带有错误消息的文件系统检查。

xfs_check /dev/md5
ERROR: The filesystem has valuable metadata changes in a log which needs to
be replayed. Mount the filesystem to replay the log, and unmount it before
re-running xfs_check. If you are unable to mount the filesystem, then use
the xfs_repair -L option to destroy the log and attempt a repair.
Note that destroying the log may cause corruption -- please attempt a mount
of the filesystem before doing this.
mount /dev/md5 /mnt
umount /dev/md5
xfs_check /dev/md5

如果检查再次失败, 则可以使用以下方法修复分区xfs_repair.

xfs_repair -L /dev/mdx
警告

使用命令修复分区xfs_repair -L / dev / mdx在某些情况下可能会导致数据丢失。因此, 你应该始终事先创建一个备份。

安装内部硬盘

现在你可以将内部硬盘安装到/ mnt目录:

抢救:/#挂载/ PATH /分区/ mnt例子:

救援:/#mount / dev / md1 / mnt

注意

根据服务器类型或服务器型号, 显示的分区或逻辑卷可能会有所不同。

显示文件系统列表

要显示/ etc / fstab文件中的文件夹和文件系统, 请键入以下命令:

cat /mnt/etc/fstab
/dev/md1 / ext3 defaults 1 1
/dev/sda2 none swap sw
/dev/sdb2 none swap sw
/dev/vg00/usr /usr xfs defaults 0 2
/dev/vg00/var /var xfs defaults, usrquota 0 2
/dev/vg00/home /home xfs defaults, usrquota 0 2
devpts /dev/pts devpts gid=5, mode=620 0 0
none /proc proc defaults 0 0
none /tmp tmpfs defaults 0 0

挂载剩余分区

现在, 将分区安装到/ mnt目录中的fstab文件中指定的文件夹中。

救援:〜#mount / dev / vg00 / usr / mnt / usr

救援:〜#mount / dev / vg00 / var / mnt / var

救援:〜#mount / dev / vg00 / home / mnt / home

然后切换到其上的系统。

在2010年12月之前没有LVM的图像

对于2010年12月之前安装的操作系统, 未使用逻辑卷管理器(LVM), 因此分区的路径将不同:

救援:〜#mount / dev / md1 / mnt

挂载/ dev / md5 / mnt / usr

挂载/ dev / md6 / mnt / var

挂载/ dev / md7 / mnt / home

更改根目录(chroot)

挂载分区后, 你可以使用chroot将根目录从救援系统的目录切换到服务器硬盘驱动器的根目录。然后, / mnt文件夹将用作根目录, 并且从命令行运行的任何命令或程序都将从服务器的硬盘驱动器而非救援系统运行。

要使用chroot切换到硬盘驱动器上安装的系统, 请键入以下命令:

chroot /mnt

现在, 你可以访问完整的系统, 并且可以修复和/或配置根服务器系统。

pwd
/
ls -l
total 112
drwxr-xr-x 2 root root 4096 Jun 15 17:05 bin
drwxr-xr-x 4 root root 4096 Jun 15 17:07 boot
drwxr-xr-x 10 root root 12288 Jun 15 17:05 dev
drwxr-xr-x 75 root root 4096 Jun 30 06:32 etc
drwxr-xr-x 6 root root 66 Jun 30 12:25 home
drwxr-xr-x 9 root root 4096 Jul 2 2008 lib
drwx------ 2 root root 49152 Jun 15 17:07 lost+found
drwxr-xr-x 2 root root 4096 Sep 22 2007 mnt
drwxr-xr-x 4 root root 4096 Jul 2 2008 opt
drwxr-xr-x 2 root root 4096 Jul 9 2008 proc
drwx------ 10 root root 4096 Jun 16 13:35 root
drwxr-xr-x 3 root root 4096 Jun 19 10:13 sbin
drwxr-xr-x 2 root root 4096 Jun 15 16:52 srv
drwxr-xr-x 2 root root 4096 Aug 14 2008 sys
drwxrwxrwt 2 root root 4096 Jun 15 17:07 tmp
drwxr-xr-x 12 root root 141 Jun 15 17:05 usr
drwxr-xr-x 17 root root 4096 Jun 15 17:07 var
lrwxrwxrwx 1 root root 12 Jun 15 17:05 vmlinuz -> boot/vmlinuz
lrwxrwxrwx 1 root root 16 Jun 15 17:05 vmlinuz.old -> boot/vmlinuz.old

在chroot环境中启动和停止服务

你也可以使用以下命令使用"开始/停止"脚本来启动服务:/etc/init.d/在chroot环境中。例如, 使用以下命令启动MySQL数据库系统/etc/init.d/mysql启动。工作结束后, 使用参数再次停止服务停代替开始.

要再次停止服务, 请使用参数停。在以下示例中, MySQL数据库系统再次停止:

/etc/init.d/mysql停止

请注意

并非所有服务都可以在chroot环境中运行。你仅应出于修复目的而在chroot环境中启动服务。

备份文件

在某些情况下, 必须重新安装操作系统。在这种情况下, 你可以使用以下选项来备份服务器上的数据:

  • 你使用WinSCP将数据备份到本地计算机。

  • 你可以使用"安全复制"将数据保存在另一台服务器上。

  • 你可以使用"安全复制"将数据保存在本地计算机上。

备份数据后, 你可以在服务器上安装新映像或还原系统的备份。然后可以将备份的数据复制到服务器。


使用WinSCP将数据保存到具有Microsoft Windows操作系统的本地计算机

使用WinSCP, 你可以通过拖放到本地计算机上的目录中轻松复制服务器的数据。

你可以从以下页面下载WinSCP:

https://winscp.net/eng/download.php

有关如何使用WinSCP在运行Microsoft Windows的本地计算机上存储服务器数据的说明, 请单击此处:

将备份保存在本地计算机(Linux服务器)上

使用安全复制将数据复制到具有Linux操作系统的另一台服务器

Secure Copy是基于Secure Shell的加密数据传输协议。要将服务器的数据使用"安全复制"复制到另一台服务器, 请在外壳程序中键入以下命令:

scp -r / PATH /目录用户名@IP地址:/ PATH /目标目录

例子:

[root @ localhost〜]#scp -r / mnt root@82.165.69.130:/ home / backup

使用Linux操作系统从本地计算机保存数据

以下命令允许你将服务器上的目录保存到本地计算机:

scp remote_username @ SERVERIP:/ DIRECTORY_REMOVAL_FROM_SERVER / LOKAL_DIRECTORY

例子:

[root @ localhost〜]#scp root@217.160.44.208:/ home / opt / backup

在上面的示例中, / home目录被复制到本地计算机上的/ opt / backup目录。

要将单个文件保存在本地计算机上, 请键入以下命令:

scp remote_username @ SERVERIP:/远程/DIRECTORY_ON_THE_SERVER/FILENAME.txt / local_directory

例子:

[root @ localhost〜]#scp root@217.160.44.208:/remote/home/test.txt / TEMP

使用以下命令将本地计算机上的目录复制到服务器:

scp -r / LOKALS /目录remote_username @ SERVERIP:/ DIRECTORY_ON_THE_SERVER

例子:

[root @ localhost〜]#scp -r / home / backup root@217.160.44.208:/ home

要复制单个文件, 请输入以下命令:

scp -r / DIRECTORY / FILENAME remote_username @ SERVERIP:/ DIRECTORY_ON_THE_SERVER

例子:

[root @ localhost〜]#scp -r /home/test.txt root@217.160.44:/ home

注意

如果找不到scp, 则可以使用以下命令安装程序:

CentOS的

[root @ localhost〜]#yum install openssh-clients

Debian / Ubuntu

[root @ localhost〜]#apt -y安装openssh-server

卸载分区

修复服务器后, 请退出chroot环境并以相反的顺序卸载文件系统。

在不先卸载文件系统的情况下重新启动服务器可能会导致数据丢失!

exit
umount /mnt/home
umount /mnt/var
umount /mnt/usr
umount /mnt

运行内存测试

内存测试memtest86救援系统中还提供了Tivoli Storage Manager, 该系统使你可以检查服务器内存的完整性。

注意

请注意, 由于救援系统已经使用了一定数量的服务器内存, 因此无法使用memtest86检查该占用的内存。

memtest all
[...]
_

将启动模式切换为普通

确保服务器的启动模式已切换回正常状态。为此, 请按照下列步骤操作:

  • 登录到你的notlogy客户帐户.
  • 单击产品概述上的菜单>服务器与云.
    可选:如果你有多个合同, 请选择所需的服务器和云合同。

    然后将打开"云面板"。

  • 在里面服务器管理部分, 单击恢复工具.

  • 在"恢复操作"下, 选择马上重启然后选择普通系统.

  • 请点击下一个.

  • lickOK.

  • 请点击前往总览.

重新启动服务器

通过命令行重新启动服务器通常比通过恢复工具强制重新启动更为安全。首先按照上述说明在恢复工具中更改启动模式, 然后发出重新启动命令:

shutdown -r now
shutdown: sending all processes the TERM signal...
Connection to example.com closed by remote host.

内容

  • 有关可用救援系统的重要信息
  • 将服务器引导到救援系统
  • 识别硬件控制器
  • RAID控制器管理程序
  • 检查硬件RAID的状态
  • 检查软件RAID的状态
  • 列出硬盘分区
  • 文件系统检查
  • 安装内部硬盘
  • 显示文件系统列表
  • 挂载剩余分区
  • 在2010年12月之前没有LVM的图像
  • 更改根目录(chroot)
  • 在chroot环境中启动和停止服务
  • 备份文件
  • 卸载分区
  • 运行内存测试
  • 将启动模式切换为普通
  • 重新启动服务器
  • 到达顶点
一盏木

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: