Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

32.2. Anaconda Rescue 模式

Anaconda 安装程序的救援模式是一个最小的 Linux 环境,可以从 Red Hat Enterprise Linuxnbsp;Hat Enterprise Red Hat Enterprise Linuxnbsp;Linux 7 DVD 或者其它引导介质引导。它包含可用来解决各种问题的命令行工具。此救援模式可从引导菜单的 Troubleshooting 子菜单访问。在这个模式下,您可以以只读方式挂载文件系统,甚至不挂载文件系统、将文件系统列入黑名单或添加在驱动程序磁盘中提供的驱动程序、安装或升级系统软件包或管理分区。
注意
Anaconda 救援模式与 救援模式 (等同于 单用户模式和紧急模式 不同,后者是 systemd 系统和服务管理器的一部分。有关这些模式的更多信息,请参阅 Red Hat Enterprise Linux 7 系统管理员指南
要引导到 Anaconda 救援模式,您必须可以使用一个 Red Hat Enterprise Linuxnbsp 引导系统;Hat Enterprise Linuxnbsp;Linux 引导介质,比如最小引导磁盘或者 USB 驱动器或者完整的安装 DVD。
有关使用红帽提供的介质引导系统的详情,请查看相应的章节:
重要
高级存储(如 iSCSI 或 zFCP 设备)必须使用 dracut 引导选项(如 rd.zfcp=root=iscsi:选项)或 IBM Z 上的 CMS 配置文件配置这些存储设备。引导进入救援模式后,无法以交互方式配置这些存储设备。
有关 dracut 引导选项的详情请参考 dracut.cmdline(7) man page。有关 CMS 配置文件的详情请参考 第 21 章 IBM Z 上的参数和配置文件

过程 32.1. 引导进入 Anaconda 救援模式

  1. 使用最小引导介质或完整安装 DVD 或者 USB 驱动器引导系统,并等待引导菜单显示。
  2. 在引导菜单中,选择 Rescue a Red Hat Enterprise Linuxnbsp;Hat Enterprise Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux system 选项,或者在引导命令行中附加 inst.rescue 选项。要进入引导命令行,在基于 BIOS 的系统中 按 Tab 键,或者在基于 UEFI 的系统中按 e 键。
  3. 如果您的系统需要驱动程序 磁盘 中提供的第三方驱动程序才能引导,请将 inst.dd=driver_name 附加到引导命令行中:
    inst.rescue inst.dd=driver_name
    有关在引导时使用驱动程序磁盘的详情请参考 第 6.3.3 节 “手动驱动程序更新”,对于 AMD64 和 Intel 64 系统,或 IBM Power Systems 服务器的 第 11.2.3 节 “手动驱动程序更新”
  4. 如果作为 Red Hat Enterprise Linuxnbsp 一部分的驱动程序;Hat Enterprise Linuxnbsp;Linux 7 发行版本可防止系统引导,将 modprobe.blacklist= 选项附加到引导命令行:
    inst.rescue modprobe.blacklist=driver_name
    有关将驱动程序列入黑名单的详情请参考 第 6.3.4 节 “将驱动程序列入黑名单”
  5. 准备就绪后,按 Enter (基于 BIOS 的系统)或 Ctrl+X (基于 UEFI 的系统)引导修改的选项。然后等待以下信息出现:
    The rescue environment will now attempt to find your Linux installation and mount it under the /mnt/sysimage/ directory. You can then make any changes required to your system. If you want to proceed with this step choose 'Continue'. You can also choose to mount your file systems read-only instead of read-write by choosing 'Read-only'. If for some reason this process fails you can choose 'Skip' and this step will be skipped and you will go directly to a command line.
    
    如果选择 Continue,它会尝试将文件系统挂载到 /mnt/sysimage/ 目录下。如果挂载分区失败,将通知您。如果您选择 Read-Only,它会尝试将文件系统挂载到目录 /mnt/sysimage/ 下,但以只读模式挂载。如果您选择 Skip,则不会挂载您的文件系统。如果您认为文件系统已损坏,请选择 Skip
  6. 系统进入救援模式后,会在 VC(虚拟控制台)1 和 VC 2 中出现提示(使用 Ctrl+Alt+F1 组合键访问 VC 1 和 Ctrl+Alt+F2 访问 VC 2):
    sh-4.2#
即使挂载文件系统,Anaconda 救援模式中的默认根分区是临时的 root 分区,而不是普通用户模式(multi-user.target 或 graphical.target)中使用的文件系统的 root 分区。如果您选择挂载文件系统并成功挂载,您可以执行以下命令将 Anaconda 救援模式环境的 root 分区改为文件系统的 root 分区:
sh-4.2# chroot /mnt/sysimage
如果您需要运行要求将 root 分区挂载为 / 的命令(如 rpm ),这很有用。要退出 chroot 环境请键入 exit 返回到提示符。
如果您选择了 Skip,仍可以通过创建目录(如 /directory/ 并输入以下命令)在 Anaconda 救援模式中手动挂载分区或 LVM2 逻辑卷:
sh-4.2# mount -t xfs /dev/mapper/VolGroup00-LogVol02 /directory
在以上命令中,/directory/ 是您已创建的目录,/dev/mapper/VolGroup00-LogVol02 是您要挂载的 LVM2 逻辑卷。如果分区类型不同于 XFS,请将 xfs 字符串替换为正确的类型(如 ext4)。
如果不知道所有物理分区的名称,使用以下命令列出它们:
sh-4.2# fdisk -l
如果您不知道所有 LVM2 物理卷、卷组或逻辑卷的名称,请分别使用 pvdisplayvgdisplaylvdisplay 命令。
在提示符处,您可以运行许多有用的命令,例如:

32.2.1. 捕获 sosreport

sosreport 命令行工具会从系统收集配置和诊断信息,如运行的内核版本、载入的模块以及系统和服务配置文件。实用程序输出保存在 /var/tmp/ 目录中的 tar 归档中。
sosreport 工具可用于分析系统错误,并可简化故障排除。以下流程描述了如何在 Anaconda 救援模式中捕获 sosreport 输出:

过程 32.2. 在 Anaconda Rescue 模式中使用 sosreport

  1. 按照 过程 32.1, “引导进入 Anaconda 救援模式” 中的步骤引导进入 Anaconda 救援模式。确保以读写模式挂载安装的系统 / (root)分区。
  2. 将根目录改为 /mnt/sysimage/ 目录:
    sh-4.2# chroot /mnt/sysimage/
  3. 执行 sosreport 生成带有系统配置和诊断信息的归档:
    sh-4.2# sosreport
    重要
    在运行时,sosreport 提示您输入您在联系红帽支持服务时获得的名称和问题单号并打开新的支持问题单。只使用字母和数字,添加以下字符或空格可能会导致报告不可用:
    # % & { } \ < > > * ? / $ ~ ' " : @ + ` | =
  4. 可选。如果要使用网络将生成的存档传输到新位置,则需要配置一个网络接口。如果使用动态 IP 地址,则不需要其他步骤。但是,在使用静态寻址时,输入以下命令将 IP 地址(如 10.13.153.64/23)分配给网络接口(如 dev eth0):
    bash-4.2# ip addr add 10.13.153.64/23 dev eth0
    有关静态寻址的更多信息,请参阅 Red Hat Enterprise Linux 7 网络指南
  5. 退出 chroot 环境:
    sh-4.2# exit
  6. 将所生成的存档保存在一个新位置以便进行访问:
    sh-4.2# cp /mnt/sysimage/var/tmp/sosreport new_location
    要通过网络传输归档,请使用 scp 实用程序:
    sh-4.2# scp /mnt/sysimage/var/tmp/sosreport username@hostname:sosreport
详情请查看下面的参考信息: