AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-145642

Nikita Kipriyanov's questions

Martin Hope
Nikita Kipriyanov
Asked: 2024-04-16 20:34:58 +0800 CST

UEFI 客户端上的 PXE 引导和客户端相关的配置文件

  • 5

每个人似乎都在使用 GRUB 通过 PXE 从网络启动 UEFI 机器。虽然它有效,但它缺乏一个能够立即指导某些已知客户的重要功能。GRUB 立即发出请求grub/grub.cfg。

PXELINUX 具有以下功能:在加载“默认”配置之前,它会尝试一些源自客户端 MAC 地址和 IP 地址的特殊名称。例如,对于具有 IP 172.31.1.38(十六进制AC1F0126)和 MAC 的客户端BC:24:11:21:4D:14,它将尝试按以下顺序从 TFTP 服务器加载配置:

pxelinux.cfg/01-bc-24-11-21-4d-14
pxelinux.cfg/AC1F0126
pxelinux.cfg/AC1F012
pxelinux.cfg/AC1F01
pxelinux.cfg/AC1F0
pxelinux.cfg/AC1F
pxelinux.cfg/AC1
pxelinux.cfg/AC
pxelinux.cfg/A
pxelinux.cfg/default

因此,使用 PXELINUX,我可以为某些已知客户端创建专用配置文件,其中可以包含对专门为该客户端制作的 preseed 或 kickstart 脚本的引用。它将执行完全无人值守的系统安装,所有这些都用于自动化(既生成虚拟机又准备裸机服务器)。当安装开始时,它只是删除这个专用的引导加载程序配置,因此下次机器将从网络启动,但现在它将命中default指示从本地硬盘启动的配置文件。事实上,我运行这样的基础设施已经有 10 多年了,非常棒。

但现在我们需要为 UEFI 客户端提供相同的功能,而 PXELINUX 似乎不适用于 UEFI。

有没有办法与 GRUB PXE 具有类似的功能,能够对 UEFI 客户端执行相同的操作,以便请求专用配置文件,或者使用通用客户端中特定于客户端的“默认”引导菜单选项配置文件?

或者,也许还有另一个 UEFI PXE 引导加载程序可以这样做?

grub
  • 1 个回答
  • 24 Views
Martin Hope
Nikita Kipriyanov
Asked: 2023-10-12 01:09:11 +0800 CST

如何使“警告:侦听端口 XXXXX 的远程端口转发失败”错误?

  • 6

在大多数情况下,这是无害的消息。在这种情况下,此 SSH 连接仅存在于转发 TCP 端口(并且它使用专用密钥,该密钥仅限于能够执行此操作),如果不能,则它应该失败(然后服务管理器将重试连接,直到转发成功)。

如何强制 SSH 将所有指定的转发视为强制性的,并且如果其中任何一个不成功,就会严重失败?

系统是 Debian 11,SSH 是 OpenSSH 8.4p1,如果这很重要的话。

ssh
  • 1 个回答
  • 28 Views
Martin Hope
Nikita Kipriyanov
Asked: 2023-03-28 17:32:09 +0800 CST

Yum 是否支持其配置的放置目录?

  • 5

例如,某些工具配置支持放置目录以更改或附加配置而不更改分布式配置文件/etc/sudoers.d等。

我想知道,百胜支持这个吗?有/etc/yum.conf,并且有存储库删除目录,/etc/yum.repos.d是否有类似的等价物yum.conf.d用于将内容添加到其[main]部分?

如果这很重要,这应该适用于 Oracle Linux 7.9

yum
  • 1 个回答
  • 13 Views
Martin Hope
Nikita Kipriyanov
Asked: 2021-12-03 00:52:08 +0800 CST

grub2-install 抛出各种错误而不是安装,如何继续?

  • 1

系统是CentOS 7。它安装在两块MD RAID的硬盘上,一个驱动器死了。我们决定改用两个尺寸稍大的 SSD。当它们连接并启动系统时,sda看起来像是一个有两个分区的旧硬盘,sda1参与md126其中的 500M 是/boot,sda2参与md127其中的是 LVM PV,其中包含其他所有内容。sdb并且sdc是新的 SSD。

我开始将阵列从硬盘移动到 SSD。我像旧设备一样对新设备进行分区,并将它们添加到数组中,然后将数组扩展为包含 3 个设备:

mdadm --add /dev/md126 /dev/sd[bc]1
mdadm --add /dev/md127 /dev/sd[bc]2
mdadm --grow -n 3 /dev/md126
mdadm --grow -n 3 /dev/md127

一段时间后,我确认所有 RAID 已完全同步,然后我从阵列中移除硬盘并将它们重新设置为每个包含 2 个设备:

mdadm -f /dev/md126 /dev/sda1
mdadm -r /dev/md126 /dev/sda1
mdadm -f /dev/md127 /dev/sda2
mdadm -r /dev/md127 /dev/sda2
mdadm --grow -n 2 /dev/md126
mdadm --grow -n 2 /dev/md127

两个阵列都是干净的。我将引导加载程序安装到新安装的设备中:

[root@master ~]# grub2-install /dev/sdc
Installing for i386-pc platform.
grub2-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
grub2-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
grub2-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
grub2-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
Installation finished. No error reported.

看到这些警告我不是很高兴,我仍然不确定它是否安装到正确的设备上。我检查了/boot/grub2/device.map,它指的是旧驱动器,所以我修复了它,现在它是:

# this device map was generated by anaconda
(hd0)      /dev/sdb
(hd1)      /dev/sdc
(hd2)      /dev/sda

剩余的驱动器最终将被移除并希望重新使用,所以我要从任何数据中清除它(不要泄漏它):

dd if=/dev/zero of=/dev/sda bs=8k

它完成了,然后我再次尝试将 grub 重新安装到 SSD 上,以确保:

[root@master ~]# grub2-install /dev/sdb
Installing for i386-pc platform.
grub2-install: error: disk `mduuid/85faee0a366da795c6ac33a7c4a48ae8' not found.

第一行立即出现,错误信息延迟了 10 秒。第二个 SSD 也是如此。

如果我/dev/sda1再次将其添加到阵列中,将其正确增长到 3 个设备,则会显示:

[root@master /]# grub2-install /dev/sdb
Installing for i386-pc platform.
grub2-install: error: unknown filesystem.

我确信它包含一个有效的引导文件系统。我将它与 RAID 分开并检查,它在那里:

[root@master /]# blkid -p /dev/sda1
/dev/sda1: UUID="85faee0a-366d-a795-c6ac-33a7c4a48ae8" UUID_SUB="bc7af7ca-09f2-f533-3a79-53d98f5dd09a" LABEL="master.service.intrid.ru:boot" VERSION="1.0" TYPE="linux_raid_member" USAGE="raid" PART_ENTRY_SCHEME="dos" PART_ENTRY_TYPE="0xfd" PART_ENTRY_FLAGS="0x80" PART_ENTRY_NUMBER="1" PART_ENTRY_OFFSET="2048" PART_ENTRY_SIZE="1046528" PART_ENTRY_DISK="8:0" 
[root@master /]# tune2fs -l /dev/md126 | grep feat
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
[root@master /]# mdadm -f /dev/md126 /dev/sda1
mdadm: set /dev/sda1 faulty in /dev/md126
[root@master /]# mdadm -r /dev/md126 /dev/sda1
mdadm: hot removed /dev/sda1 from /dev/md126
[root@master /]# tune2fs -l /dev/sda1 | grep feat
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize

很奇怪。

现在我被困住了。该系统工作正常,所有文件系统都很好,它为客户服务。例如,/boot已安装并且可用,我卸载并检查了它,然后重新安装回来。

互联网上充满了从救援现场媒体重新启动系统的建议,甚至在 grub 在重新启动时被放入救援 shell 后如何解决这个问题。我检查的一些资源:

  • https://ahelpme.com/linux/grub2-grub-install-error-disk-mduuid-not-found-even-after-the-partition-has-bios_grub-on/
  • grub2-install 错误 - 找不到磁盘(顺便说一句,没有回答)
  • https://linoxide.com/fix-grub-filesystem-type-unknown-error-on-centosredhat/
  • https://www.linuxquestions.org/questions/linux-newbie-8/centos-7-error-unknown-filesystem-grub-rescue-4175687414/

但是,我还没有重新启动它,我也不想重新启动,直到我确定它会启动,因为它是远程的,周围的人将无法修复引导加载程序。我以前多次更换过这样的设备,我不记得有这样的问题,但是这总是用 Gentoo 或 Debian 完成的,它们通常拥有比 CentOS 更新的软件。

那么,是否可以在不启动应急媒体的情况下从系统远程修复引导加载程序?可能是通过告诉 grub 不要检查任何东西而只是将所需的东西写到媒体上的适当位置?

如果我转储/boot文件系统,从头开始重新创建包含它的数组并将图像写回,它会有所帮助吗?之后如何重新创建 initramfs?

centos grub2
  • 1 个回答
  • 386 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve