Proxmox & SSD: Как да се справим с Read-only режима след внезапен рестарт

Proxmox & SSD: Как да се справим с Read-only режима след внезапен рестарт

Ако търсите работещ Proxmox SSD Read-only fix, вероятно вече сте се сблъсквали с внезапно спиране на тока, което оставя вашата система в режим "само за четене". Днес ми се случи точно това – след рестарт на сървъра, SSD дискът с бекъпите се оказа заключен.

Когато Linux открие логически грешки във файловата система (често явление при токови удари и SSD дискове), той автоматично заключва дяла, за да предпази данните от по-нататъшно повреждане. Това обаче спира всички автоматични бекъп процеси и създава главоболия.

Вместо всеки път да изпълнявам ръчно серия от команди за размонтиране, поправка и проверка, реших да създам един надежден Bash скрипт.

Какво прави този скрипт?

Скриптът е проектиран да бъде „умна“ застраховка за вашия SSD. Ето основните му функции:

  • Безопасност на първо място: Пита за потвърждение преди всяко критично действие.
  • Интелигентен Unmount: Спира процесите, които блокират диска, и използва „lazy“ unmount, за да гарантира, че ремонтът може да започне.
  • Автоматична поправка: Изпълнява fsck с нужните флагове за автоматично коригиране на грешките.
  • Верификация: След поправката прави тест за запис, за да е сигурен, че дискът отново е в режим „Read-Write“.
  • Здравен статус: Извлича SMART информацията на физическото устройство, за да провери дали дискът не заминава хардуерно.
  • Логване: Всички действия и резултати се записват в хронологичен лог файл за бъдещи справки.
📖
Може да ви е интересно още
Инсталиране на Docker и Docker Compose на Debian 12 (Ubuntu)

Вече не се притеснявам от следващия токов удар – знам, че поправката е само на един скрипт разстояние. Надявам се това решение да бъде полезно и на други, които искат да поддържат своите бекъп дискове в топ форма!

Можете да намерите и свалите целия скрипт от 👉 ТУК.

Защо се стига до Read-Only режим при Proxmox?

Много потребители на Proxmox използват стандартни потребителски SSD дискове за своите бекъпи. Макар и бързи, те често нямат вградена защита срещу загуба на захранване (Power Loss Protection – PLP). Когато настъпи внезапен рестарт:

  1. Journaling Failure: Файловата система EXT4 използва "журнал", за да следи промените. При прекъсване на тока, журналът се поврежда.
  2. Защита на ядрото: Linux ядрото открива несъответствие в метаданните и автоматично превключва диска в режим "само за четене", за да предотврати по-големи щети (data corruption).

Разбор на командите в скрипта: Какво се случва "под капака"?

За да разберете как работи нашият Proxmox SSD Read-only fix, нека разгледаме основните команди:

  • umount -l (Lazy Unmount): Това е критична стъпка. Тъй като Proxmox често "държи" диска чрез различни услуги, стандартният umount може да се провали. Флагът -l позволява на диска да бъде разкачен веднага щом ресурсите се освободят.
  • fsck.ext4 -fvy: * -f форсира проверката, дори ако системата изглежда чиста.
    • -v (verbose) ни дава подробна информация.
    • -y (yes) автоматично отговаря с "да" на всички предложения за поправка – жизненоважно за автоматизацията.
  • smartctl -H: Тази команда комуникира директно с фърмуера на SSD-то. Тя ни казва дали дискът има хардуерен дефект или просто логическа грешка.
proxmox-ssd-read-only-fix

Как да предотвратим този проблем в бъдеще?

Въпреки че скриптът ще ви спаси в 99% от случаите, превенцията е най-добрият инструмент:

  1. Инвестиция в UPS: Дори малко устройство ще даде на Proxmox време да изпрати сигнал за poweroff.
  2. Настройка на /etc/fstab: Можете да добавите параметри за монтиране като errors=remount-ro, но това е стандартното поведение. По-важно е да следите здравето на диска (Wearout Level) в интерфейса на Proxmox.
  3. Enterprise SSD: Ако бюджетът позволява, използвайте дискове с кондензатори за защита на кеша (PLP), които са създадени точно за такива ситуации.

Често задавани въпроси (FAQ)

  • Ще загубя ли данни при ползване на скрипта? fsck се опитва да спаси максимално много данни. В редки случаи повредени малки файлове могат да бъдат преместени в папка lost+found.
  • Мога ли да ползвам скрипта за други файлови системи (напр. ZFS)? Не, този конкретен скрипт е за EXT4. ZFS има свои механизми за поправка (zpool scrub/import).

open source spirit
🛠️
$

Намерихте материала за полезен?

Съдържанието на itpraktika.com е безплатно и ще остане такова.
Ако статията ти е помогнала — можеш да подкрепиш сайта с малка доброволна сума. Всяко дарение помага за поддръжката и развитието на портала.

PayPal Revolut

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *


Колко е 3 + 6 ? (въведете числото)