Test NVMe
This commit is contained in:
@@ -2,9 +2,15 @@ Each script helps you to install compiler
|
|||||||
|
|
||||||
Examples to install
|
Examples to install
|
||||||
|
|
||||||
Обновить ssh
|
Обновить ssh Proxmox
|
||||||
```bash
|
```bash
|
||||||
sudo sed -i '/^AllowUsers/c\AllowUsers root@158.69.30.149 root@167.114.172.204 root@158.69.6.146 root@213.239.194.132 root@92.255.251.110 root@158.69.30.144 root@65.109.116.119 sem' /etc/ssh/sshd_config
|
sudo sed -i '/^AllowUsers/c\AllowUsers root@91.99.38.107 root@23.88.7.159 root@94.130.16.219 root@67.220.73.190 root@51.79.228.143 root@15.235.180.149 roo@162.55.133.173 root@148.251.68.179 root@142.132.148.174 root@136.243.190.88 root@91.99.38.107 root@167.235.180.96 root@176.9.52.254 root@158.69.30.149 root@158.69.6.146 root@92.255.251.110 root@158.69.30.144 sem' /etc/ssh/sshd_config
|
||||||
|
sudo sed -i 's/#Port 22/#Port 22\n\nAllowUsers root@91.99.38.107 root@158.69.30.149 root@167.114.172.204 root@158.69.6.146 root@213.239.194.132 root@92.255.251.110 root@158.69.30.144 root@65.109.116.119 sem\n/' /etc/ssh/sshd_config
|
||||||
|
sudo service ssh restart
|
||||||
|
```
|
||||||
|
Обновить ssh LXC
|
||||||
|
```bash
|
||||||
|
sudo sed -i '/^AllowUsers/c\AllowUsers root@91.99.38.107 root@158.69.30.149 root@167.114.172.204 root@158.69.6.146 root@213.239.194.132 root@92.255.251.110 root@158.69.30.144 root@65.109.116.119 sem' /etc/ssh/sshd_config
|
||||||
sudo service ssh restart
|
sudo service ssh restart
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ echo -e "${C_LGn}Installation of necessary components ...${RES}"
|
|||||||
|
|
||||||
sudo apt install openssh-server mc htop tmux curl lsb-release wget git jq lz4 build-essential -y
|
sudo apt install openssh-server mc htop tmux curl lsb-release wget git jq lz4 build-essential -y
|
||||||
|
|
||||||
sudo sed -i 's/#Port 22/#Port 22\n\nAllowUsers root@158.69.30.149 root@167.114.172.204 root@158.69.6.146 root@213.239.194.132 root@92.255.251.110 root@158.69.30.144 root@65.109.116.119 sem\n/' /etc/ssh/sshd_config
|
sudo sed -i 's/#Port 22/#Port 22\n\nAllowUsers root@91.99.38.107 root@158.69.30.149 root@167.114.172.204 root@158.69.6.146 root@213.239.194.132 root@92.255.251.110 root@158.69.30.144 root@65.109.116.119 sem\n/' /etc/ssh/sshd_config
|
||||||
sudo sed -i -e '/^AllowUsers/ { /root@144\.217\.201\.167/! { s/$/ root@144.217.201.167/; h; } }' /etc/ssh/sshd_config
|
sudo sed -i -e '/^AllowUsers/ { /root@144\.217\.201\.167/! { s/$/ root@144.217.201.167/; h; } }' /etc/ssh/sshd_config
|
||||||
|
|
||||||
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes\n/' /etc/ssh/sshd_config
|
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes\n/' /etc/ssh/sshd_config
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ echo -e "${C_LGn}Installation of necessary components ...${RES}"
|
|||||||
|
|
||||||
sudo apt install nginx openssh-server mc htop tmux curl lsb-release wget git jq lz4 build-essential certbot python3-certbot-nginx iptables-persistent -y
|
sudo apt install nginx openssh-server mc htop tmux curl lsb-release wget git jq lz4 build-essential certbot python3-certbot-nginx iptables-persistent -y
|
||||||
|
|
||||||
sudo sed -i 's/#Port 22/#Port 22\n\nAllowUsers root@158.69.30.149 root@158.69.30.149 root@167.114.172.204 root@158.69.6.146 root@213.239.194.132 root@92.255.251.110 root@158.69.30.144 root@65.109.116.119 sem\n/' /etc/ssh/sshd_config
|
sudo sed -i 's/#Port 22/#Port 22\n\nAllowUsers root@91.99.38.107 root@158.69.30.149 root@167.114.172.204 root@158.69.6.146 root@213.239.194.132 root@92.255.251.110 root@158.69.30.144 root@65.109.116.119 sem\n/' /etc/ssh/sshd_config
|
||||||
sudo sed -i -e '/^AllowUsers/ { /root@144\.217\.201\.167/! { s/$/ root@144.217.201.167/; h; } }' /etc/ssh/sshd_config
|
sudo sed -i -e '/^AllowUsers/ { /root@144\.217\.201\.167/! { s/$/ root@144.217.201.167/; h; } }' /etc/ssh/sshd_config
|
||||||
|
|
||||||
. /etc/os-release
|
. /etc/os-release
|
||||||
|
|||||||
@@ -46,10 +46,14 @@ xfs_info /dev/md3 | egrep 'sunit|swidth|sectsz'
|
|||||||
mkdir -p /var/lib/vz
|
mkdir -p /var/lib/vz
|
||||||
UUID=$(blkid -s UUID -o value /dev/md3)
|
UUID=$(blkid -s UUID -o value /dev/md3)
|
||||||
echo "UUID=$UUID /var/lib/vz xfs defaults,noatime,inode64,logbufs=8,logbsize=256k 0 2" >> /etc/fstab
|
echo "UUID=$UUID /var/lib/vz xfs defaults,noatime,inode64,logbufs=8,logbsize=256k 0 2" >> /etc/fstab
|
||||||
|
```
|
||||||
|
```bash
|
||||||
|
nano /etc/fstab
|
||||||
|
```
|
||||||
|
```bash
|
||||||
mount -a
|
mount -a
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### 6. Перезапусти службы Proxmox
|
### 6. Перезапусти службы Proxmox
|
||||||
```bash
|
```bash
|
||||||
systemctl start pve-cluster pvedaemon pve-storage pveproxy
|
systemctl start pve-cluster pvedaemon pve-storage pveproxy
|
||||||
|
|||||||
@@ -0,0 +1,218 @@
|
|||||||
|
# Восстановление Proxmox после неудачного обновления (Hetzner, RAID, Rescue)
|
||||||
|
|
||||||
|
Ниже приведён детальный гайд по восстановлению сервера Proxmox, аналогичный процессу, который мы выполнили вручную. Полностью подходит для серверов Hetzner, использующих software RAID (mdadm) и загрузку через `grub-pc`.
|
||||||
|
|
||||||
|
## 📌 Ситуация
|
||||||
|
|
||||||
|
После обновления Proxmox сервер перестал загружаться. Доступ — только через Hetzner Rescue. Проблема была в повреждённом `grub-pc`, неинициализированном mdadm в initramfs и невозможности загрузки root‑файловой системы.
|
||||||
|
|
||||||
|
## ✔️ Цель
|
||||||
|
|
||||||
|
Полностью восстановить загрузчик, initramfs, конфигурацию RAID и вернуть сервер в рабочее состояние.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 1. Загрузка в Rescue
|
||||||
|
|
||||||
|
В панели Hetzner выбрать **Rescue → Enable & Reboot**.
|
||||||
|
После загрузки зайти по SSH:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh root@SERVER_IP
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 2. Определить RAID и убедиться, что массивы активны
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat /proc/mdstat
|
||||||
|
```
|
||||||
|
|
||||||
|
Если всё корректно, должны быть массивы `md0`, `md1`, `md2`, `md3`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 3. Смонтировать систему Proxmox
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p /mnt/root
|
||||||
|
mount /dev/md2 /mnt/root # root
|
||||||
|
mkdir -p /mnt/root/boot
|
||||||
|
mount /dev/md1 /mnt/root/boot # /boot
|
||||||
|
```
|
||||||
|
|
||||||
|
Проверить содержимое:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ls /mnt/root
|
||||||
|
ls /mnt/root/boot
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 4. Подготовить chroot-окружение
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mount --bind /dev /mnt/root/dev
|
||||||
|
mount --bind /dev/pts /mnt/root/dev/pts
|
||||||
|
mount --bind /proc /mnt/root/proc
|
||||||
|
mount --bind /sys /mnt/root/sys
|
||||||
|
mount --bind /run /mnt/root/run
|
||||||
|
```
|
||||||
|
|
||||||
|
Проверка:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mount | grep /mnt/root
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 5. Войти в chroot
|
||||||
|
|
||||||
|
```bash
|
||||||
|
chroot /mnt/root /bin/bash
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 6. Исправление mdadm конфигурации
|
||||||
|
|
||||||
|
Проверить `/etc/mdadm/mdadm.conf`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
grep ARRAY /etc/mdadm/mdadm.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
Если пусто, восстановить:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 7. Переустановка загрузчика GRUB
|
||||||
|
|
||||||
|
Удаление UEFI‑версии (если была):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt remove grub-efi-amd64 -y
|
||||||
|
```
|
||||||
|
|
||||||
|
Переустановка grub-pc:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt install --reinstall grub-pc grub-common
|
||||||
|
```
|
||||||
|
|
||||||
|
Если видите ошибки «is /dev mounted?» — значит chroot был сделан без bind‑монтирования.
|
||||||
|
|
||||||
|
После установки выполнить:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dpkg --configure -a
|
||||||
|
```
|
||||||
|
|
||||||
|
GRUB автоматически установится на все NVMe‑диски:
|
||||||
|
|
||||||
|
```
|
||||||
|
grub-install /dev/nvme0n1
|
||||||
|
...
|
||||||
|
grub-install /dev/nvme6n1
|
||||||
|
```
|
||||||
|
|
||||||
|
Сгенерировать меню загрузки:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
update-grub
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 8. Пересборка initramfs
|
||||||
|
|
||||||
|
(чтобы убедиться, что mdadm попал в initrd)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
update-initramfs -u -k all
|
||||||
|
```
|
||||||
|
|
||||||
|
Сообщения **No /etc/kernel/proxmox-boot-uuids found** — нормальны для BIOS‑загрузки.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 9. Проверить сетевой интерфейс
|
||||||
|
|
||||||
|
Hetzner использует нестандартные имена (`enp195s0`). Проверка:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ip a
|
||||||
|
```
|
||||||
|
|
||||||
|
Проверить конфигурацию:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat /etc/network/interfaces
|
||||||
|
```
|
||||||
|
|
||||||
|
Если интерфейс после загрузки исчезнет — нужно обновить netplan/udev правила.
|
||||||
|
(В нашем случае интерфейс сохранился и заработал.)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 10. Выйти из chroot и перезагрузить сервер
|
||||||
|
|
||||||
|
```bash
|
||||||
|
exit
|
||||||
|
reboot
|
||||||
|
```
|
||||||
|
|
||||||
|
Загрузка Proxmox прошла успешно — оболочка Proxmox VE запустилась.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🧹 Шаг 11. После восстановления (опциональная очистка)
|
||||||
|
|
||||||
|
Старые ядра Debian (НЕ Proxmox):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt autoremove --purge
|
||||||
|
```
|
||||||
|
|
||||||
|
Но: если система работает стабильно — **лучше ядра не трогать**.
|
||||||
|
|
||||||
|
Broken‑packages (если были):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt -f install
|
||||||
|
```
|
||||||
|
|
||||||
|
Проверка RAID:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat /proc/mdstat
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🎉 Результат
|
||||||
|
|
||||||
|
✔ Система полностью восстановлена
|
||||||
|
✔ Загрузка GRUB исправлена
|
||||||
|
✔ mdadm работает корректно
|
||||||
|
✔ Сеть поднялась
|
||||||
|
✔ Proxmox полностью функционирует
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 📝 Рекомендации на будущее
|
||||||
|
|
||||||
|
* Перед обновлением Proxmox всегда делать `pve-kernel` update вручную
|
||||||
|
* Избегать смешивания UEFI/BIOS boot режимов
|
||||||
|
* Держать отдельный текстовый гайд под рукой
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Если нужно — могу подготовить **PDF**, **дополнительный раздел с типичными ошибками** или **автоматический recovery‑скрипт**.
|
||||||
@@ -0,0 +1,261 @@
|
|||||||
|
# Полный гайд восстановления Proxmox после повреждения загрузки (Hetzner, RAID, Rescue)
|
||||||
|
|
||||||
|
Этот гайд полностью основан на **реальных шагах**, которые мы выполнили при восстановлении вашего сервера. Каждый этап отражает фактические команды, ошибки и решения, использованные в процессе.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 📌 Проблема
|
||||||
|
|
||||||
|
После обновления Proxmox **сервер перестал загружаться**. Доступ был возможен только через **Hetzner Rescue**, а vKVM/VNC не работал. Причины:
|
||||||
|
|
||||||
|
* загрузчик GRUB повреждён после обновления,
|
||||||
|
* `grub-efi` был установлен вместо `grub-pc` (сервер использует BIOS, а не UEFI),
|
||||||
|
* initramfs не содержал правильной конфигурации mdadm,
|
||||||
|
* root-файловая система не монтировалась при загрузке,
|
||||||
|
* сеть тоже не поднималась на ранних этапах.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 1. Загрузка в Hetzner Rescue и вход по SSH
|
||||||
|
|
||||||
|
В панели Hetzner выбираем:
|
||||||
|
|
||||||
|
* Rescue → Activate → Reboot
|
||||||
|
|
||||||
|
Подключаемся:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh root@SERVER_IP
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 2. Проверка RAID-массивов
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat /proc/mdstat
|
||||||
|
```
|
||||||
|
|
||||||
|
Ожидаемые массивы:
|
||||||
|
|
||||||
|
* **md0** — RAID0 (bootloader area)
|
||||||
|
* **md1** — RAID1 (/boot)
|
||||||
|
* **md2** — RAID0 (/)
|
||||||
|
* **md3** — RAID0 (/var/lib/vz)
|
||||||
|
|
||||||
|
Все массивы были в состоянии **clean**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 3. Монтирование всех разделов Proxmox
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p /mnt/root
|
||||||
|
mount /dev/md2 /mnt/root
|
||||||
|
mkdir -p /mnt/root/boot
|
||||||
|
mount /dev/md1 /mnt/root/boot
|
||||||
|
```
|
||||||
|
|
||||||
|
Проверка:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ls /mnt/root
|
||||||
|
ls /mnt/root/boot
|
||||||
|
```
|
||||||
|
|
||||||
|
Все системные файлы были на месте.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 4. Подготовка корректного chroot
|
||||||
|
|
||||||
|
(важно — иначе grub не сможет видеть /dev)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mount --bind /dev /mnt/root/dev
|
||||||
|
mkdir -p /mnt/root/dev/pts
|
||||||
|
mount --bind /dev/pts /mnt/root/dev/pts
|
||||||
|
mount --bind /proc /mnt/root/proc
|
||||||
|
mount --bind /sys /mnt/root/sys
|
||||||
|
mount --bind /run /mnt/root/run
|
||||||
|
```
|
||||||
|
|
||||||
|
Проверка:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mount | grep /mnt/root
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 5. Вход в chroot
|
||||||
|
|
||||||
|
```bash
|
||||||
|
chroot /mnt/root /bin/bash
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 6. Проверка и восстановление mdadm.conf
|
||||||
|
|
||||||
|
Убедились, что массивы записаны:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
grep ARRAY /etc/mdadm/mdadm.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
Если пусто (у нас было заполнено), можно восстановить:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 7. Исправление GRUB (ключевой этап восстановления)
|
||||||
|
|
||||||
|
Мы обнаружили:
|
||||||
|
|
||||||
|
* был установлен `grub-efi-amd64` (UEFI), но сервер грузится в BIOS,
|
||||||
|
* после обновления grub не мог найти root.
|
||||||
|
|
||||||
|
Удаление UEFI-версии:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt remove grub-efi-amd64 -y
|
||||||
|
```
|
||||||
|
|
||||||
|
Переустановка BIOS-версии:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt install --reinstall grub-pc grub-common
|
||||||
|
```
|
||||||
|
|
||||||
|
Если во время установки появились ошибки — ЗАПУСКАЛИ:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dpkg --configure -a
|
||||||
|
```
|
||||||
|
|
||||||
|
Установка GRUB на **все 7 NVMe дисков**:
|
||||||
|
(это делало postinst grub-pc автоматически)
|
||||||
|
|
||||||
|
```
|
||||||
|
grub-install /dev/nvme0n1
|
||||||
|
...
|
||||||
|
grub-install /dev/nvme6n1
|
||||||
|
```
|
||||||
|
|
||||||
|
Генерация меню:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
update-grub
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 8. Пересборка initramfs
|
||||||
|
|
||||||
|
Это нужно для включения mdadm скриптов в initrd.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
update-initramfs -u -k all
|
||||||
|
```
|
||||||
|
|
||||||
|
Сообщения:
|
||||||
|
|
||||||
|
```
|
||||||
|
No /etc/kernel/proxmox-boot-uuids found — skipping ESP sync
|
||||||
|
```
|
||||||
|
|
||||||
|
— **нормально**, потому что сервер НЕ использует UEFI.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 9. Проверка сетевой конфигурации
|
||||||
|
|
||||||
|
В rescue определялся интерфейс:
|
||||||
|
|
||||||
|
```
|
||||||
|
eth0 (altname enp195s0)
|
||||||
|
```
|
||||||
|
|
||||||
|
Конфигурация Proxmox:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat /etc/network/interfaces
|
||||||
|
```
|
||||||
|
|
||||||
|
Сетевой интерфейс `enp195s0` был корректным — изменений НЕ потребовалось.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 10. Выход из chroot и перезагрузка
|
||||||
|
|
||||||
|
```bash
|
||||||
|
exit
|
||||||
|
reboot
|
||||||
|
```
|
||||||
|
|
||||||
|
После этого система **успешно загрузилась**, оболочка Proxmox стала доступна.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠 Шаг 11. Финальная проверка после загрузки
|
||||||
|
|
||||||
|
На работающем Proxmox проверяли:
|
||||||
|
|
||||||
|
### RAID
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat /proc/mdstat
|
||||||
|
```
|
||||||
|
|
||||||
|
Все массивы — `clean`.
|
||||||
|
|
||||||
|
### dpkg состояние
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dpkg --configure -a
|
||||||
|
apt -f install
|
||||||
|
```
|
||||||
|
|
||||||
|
Система чистая.
|
||||||
|
|
||||||
|
### Список ядер
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dpkg -l | grep -E "pve-kernel|linux-image"
|
||||||
|
```
|
||||||
|
|
||||||
|
Установлены Debian-ядра, но **не pve-kernel**.
|
||||||
|
Proxmox работал стабильно, поэтому ядра **не трогали**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🧹 Что можно очистить (но не обязательно)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt autoremove --purge
|
||||||
|
```
|
||||||
|
|
||||||
|
Удалит старые Debian ядра, но так как система стабильна — **лучше ничего не трогать**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🎉 Итог
|
||||||
|
|
||||||
|
✔ GRUB полностью восстановлен
|
||||||
|
✔ mdadm исправно инициализируется
|
||||||
|
✔ initramfs пересобран
|
||||||
|
✔ сеть работает
|
||||||
|
✔ Proxmox загружается корректно
|
||||||
|
✔ RAID из 7× NVMe стабилен
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Если хочешь — могу подготовить:
|
||||||
|
|
||||||
|
* PDF-версию гайда,
|
||||||
|
* облегчённую версию для техподдержки,
|
||||||
|
* автоматизированный recovery-скрипт.
|
||||||
Reference in New Issue
Block a user