From 17e7cb96fa0ed67264a794e7a791c86444fd306f Mon Sep 17 00:00:00 2001 From: Seb Trudel Date: Mon, 8 Jun 2026 18:31:16 -0400 Subject: [PATCH] first commit --- FF6Main.html | 20 ++++ ServerIssueManual.html | 211 +++++++++++++++++++++++++++++++++++++++++ index.html | 22 +++++ neocities.png | Bin 0 -> 13232 bytes not_found.html | 13 +++ style.css | 9 ++ 6 files changed, 275 insertions(+) create mode 100644 FF6Main.html create mode 100644 ServerIssueManual.html create mode 100644 index.html create mode 100644 neocities.png create mode 100644 not_found.html create mode 100644 style.css diff --git a/FF6Main.html b/FF6Main.html new file mode 100644 index 0000000..49a8df0 --- /dev/null +++ b/FF6Main.html @@ -0,0 +1,20 @@ + + + + + + The web site of toastty + + + + +

Welcome to my Patate!

+ +

Patate: Neocities.

+ + +

To learn more HTML/CSS, check out these tutorials!

+ + diff --git a/ServerIssueManual.html b/ServerIssueManual.html new file mode 100644 index 0000000..e3ea3b6 --- /dev/null +++ b/ServerIssueManual.html @@ -0,0 +1,211 @@ + + + +Server Issue Avril 2026 + + + +

Table of Contents

+ + + + +

After a power outage at the hosting location (3ti), the server wouldnt boot.
+Connected remotely to a computer located at the hosting provider, connected to IPMI/iDRAC then used virtual console to see what was being displayed on the server. +

+ +

The problem:

+
+ +

Error was:


+
+
+ +Time out for waiting the udev queue being empty. +Time out for waiting the udev queue being empty. +Gave up waiting for root file system device. Common problems: +- Boot args (cat /proc/cmdline) +- Check rootdelay= (did the system wait long enough?) +- Missing modules (cat /proc/modules; ls /dev) +ALERT! /dev/mapper/pve-root does not exist. Dropping to a shell! + + +BusyBox v1.35.0 (Debian 1:1.13.0-4+b7) built-in shell (ash) +Enter help for a list of built-in commands. + +(initramfs)_ + +
+
+ +

+This built-in shell lacks required tools to perform basic diagnostics let alone any rescue operations, but ls /dev wouldnt list the hard drives.

+I went on to check the DRAC/Perc/BIOS configuration to see if the drives we working, they did. The RAID and virtual disks are all healthy so there is probably no hardware failure. +When rebooting GRUB does load (until it fails with the aforementionned message), so the drives HAVE to be working... right...?

+A search for /dev/mapper/pve-root does not exist proxmox shows this is a common issue and there are a few ways people have fixed them: +

    +
  1. Use a different kernel. When updating the kernel Proxmox keeps older kernel versions and they can be accessed by selecting the Advanced options for Proxmox Virtual Environment GNU/Linux boot option in GRUB +
      +
    1. https://old.reddit.com/r/homelab/comments/1cetljo/i_need_help_devmapperpveroot_does_not_exist/
    2. +
    +
  2. +
  3. Use Chroot to perform a rescue operation on the Linux installation. Including installing a new kernel if the Proxmox doesnt have other installed kernels. +
      +
    1. https://forum.proxmox.com/threads/alert-dev-mapper-pve-root-does-not-exist.148029/
    2. +
    +
  4. +
  5. Add rootdelay=10 to GRUB +
      +
    1. https://forum.proxmox.com/threads/solved-i-need-help-dev-mapper-pve-root-does-not-exist.116967/
    2. +
    +
  6. +
  7. Adding GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt" or quiet intel_iommu=off intremap=off to GRUB
  8. +

+ + + +I tried option 3 by adding it directly in the GRUB selection menu to no avail, it didnt change anything. I assumed option 4 didnt have anything to do with my issue and wasnt even worth a try. +Option 1 did not help either. I couldnt see an older kernel in the advanced option. Either the system didnt update or it didnt keep the previous kernel version for me to boot on.
+ +I then went on to try and boot from an Ubuntu desktop live USB drive. But even from there I couldnt see the hard drive listed in /dev, or in lsblk or lshw, etc. At least I now had access to better tools that initramfs was giving me that I could use to perform a better diagnosis. +
    +
  1. dmesg -T | tail -n 200 (look for PCIe, SAS, SATA, NVMe, link resets)
  2. +
  3. lsblk -e7 -o NAME,TYPE,SIZE,MODEL,SERIAL,TRAN,HCTL (see what the kernel created)
  4. +
  5. lspci -nn | egrep -i 'sas|raid|sata|nvme|scsi' (confirm the controller exists)
  6. +
+ +As I was getting desperate, I was basically trying anything I could find only, I eventually saw "megaraid_sas 0000:01:00.0" in journalctl -k -b|egrep -i mpt3sas|megaraid|ahci|nvme|reset|timout|aer. +The RAID card I use is a Dell PERC h310 so where is that megaraid device coming from? It also has log entries saying reset/timeout, bingo, I thought, this has to be the issue it times out??? +Now lspci does find something if I filter for megaraid (or lspci -k -s 01:00.0) instead of trying to find Dell or PERC. +There were also some messages in dmesg -T | egrep -I ahci|ata|SATA: SATA (1 to 5) link down (SStatus 0 SControl 300). I assumed this was related to the timeout with the megaraid card as it is a SAS/SATA compatible RAID device and my drives are all SATA. +I tried changing the drives to RAID from AHCI in the server BIOS configuration even though it didnt make sense, no changes were made prior to the server stopping working anyway. Again, the fact that I could get to GRUB meant the system sees the disks to GRUB/OS being loaded. Not seeing the disks even in the Ubuntu live I took it that it meant that it was probably a type of driver issue, not a hardware problem. I began looking for a different PERC card that might be using a different driver like an H710 hoping that the new card would be seen properly by the OS and that the RAID configuration would transfer over to the new card.
+ +Both Ubuntu and Promox couldn't see the drives/card I figured maybe the issue is related to Debian based OS so instead of booting from a Ubuntu live usb thumb drive I made a new one with Arch instead and could then see the drives now! I felt such a relief, I really didn't want to have to rebuild the server/VMs. I would have also lost my Matrix/Synapse chat history, my girlfriend and I replaced SMS/RCS/instant messaging with this over the last few months.
+But what do I do now? I had a few choices, I could extract the VMs, reinstall Proxmox and restore them, at least I could have my stuff back but how do I make sure I don't run in the same issue again (EDIT: the issue what with a commit in the linux kernel and should be fixed now)? I could get a new server or get a different RAID card and hope it works. + +Option 2 from the forum posts is intriguing but wtf is a "chroot"? +

+ + +

The Fix

+ +

chroot

+

+ According to Wikipedia chroot is "a shell command and a system call on Unix and Unix-like operating systems that changes the apparent root directory for the current running process and its children."
The whole article is very small and worth a read IMO. The history is fascinating, I remember reading an article in a French magazine at the time (I wonder if it's the same article mentionned in the Wikipedia apge) and couldn't understand how to make that work on a Windows server (silly me, I was young and naive 😂) +"Changes the apparent root directory" this is some powerful system repair stuff, how did I not know about this before?!

+ + +Someone in the Proxmox forum posted this chroot tutorial from the SUSE linux KB: https://support.scc.suse.com/s/kb/How-to-Chroot-in-Rescue-Mode?language=en_US
+ + +You basically need to mount the drive to a mount point and then "chroot" to it, simple enough.
+I couldn't make the for-loop work but it's only 4-5 commands so I mounted the four folders manually by running: + + + +

+
+ mount --rbind /proc /mnt/proc + mount --rbind /sys mnt/sys + mount --rbind /dev /mnt/dev + mount --rbind /run /mnt/run + +
+
+ + + + +I can't remember what was the disc name in Arch live, I believe it was sda1 through sda4 or sda5 so the above commands were actually something like: mount --rbind /dev/sda2/proc /mnt/proc. + +Then chroot to the mounted broken install: chroot /mnt then mount -a to mount other partitions that might be needed. +Once in chroot, I checked which kernel I could try, the official documentation says 6.14 is available as an option.
+Using this procedure I installed the 6.14 kernel by adding an entry to the repository list. + + + +
+
+ sudo nano /etc/apt/sources.list.d/pve-install-repo.list + deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription + sudo apt update + sudo apt install proxmox-kernel-6.14 + +
+
+
+
+ + +The server boots fine after installing the 6.14 kernel and selecting it manually at boot. The comments said you could force a default kernel for Proxmox to boot to with the Proxmox-boot-tool kernel pin command.

+ +Running proxmox-boot-tool kernel list command gives the following results: + + + +
+
+ Manually selected kernels: + None. + + Automatically selected kernels: + 6.14.11-8-bpo12-pve + 6.8.12-23-pve + +
+
+
+
+ + +Running proxmox-boot-tool kernel pin 6.14.11-8-bpo12-pve outputs: + +
+E: no kernel image found in /boot for '6.14.11-8-bpo12-pve', not setting default. + +Possible Proxmox kernel versions are: +6.14.11-8-bpo12-pve +6.8.12-23-pve +
+ + + +Assuming the Automatically selected kernels from kernel list means the new kernels are already pinned. + +uname -r gives 6.8.12-23-pve which is good enough for me for now. I would like to make sure the kernel updates arent done without approval though, so I still need to figure out how to do that. + + + + + + + + + + + + + + + + +

+ + + +

Conclusion

+ +

Other potential fixes

+ +

References

+ + + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..ed0353c --- /dev/null +++ b/index.html @@ -0,0 +1,22 @@ + + + + + + The web site of Toastty + + + + +

Welcome to my WebsiteTest!

+ +

I recently had an issue with one of my home servers and made a write up of what happened: Link.

+ + + +

Here's how you can make bold and italic text.

+ + + diff --git a/neocities.png b/neocities.png new file mode 100644 index 0000000000000000000000000000000000000000..73e6030a2d0e98de14c6f09b4f215c4d3dabdc5b GIT binary patch literal 13232 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 literal 0 HcmV?d00001 diff --git a/not_found.html b/not_found.html new file mode 100644 index 0000000..5c94fe2 --- /dev/null +++ b/not_found.html @@ -0,0 +1,13 @@ + + + + + + Not Found + + + +

Page Not Found

+

The requested page was not found.

+ + diff --git a/style.css b/style.css new file mode 100644 index 0000000..4360f68 --- /dev/null +++ b/style.css @@ -0,0 +1,9 @@ +/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your + HTML content. To learn how to do something, just try searching Google for questions like + "how to change link color." */ + +body { + background-color: white; + color: black; + font-family: Verdana; +} \ No newline at end of file