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

Ако търсите работещ Proxmox SSD Read-only fix, вероятно вече сте се сблъсквали с внезапно спиране на тока, което оставя вашата система в режим "само за четене". Днес ми се случи точно това – след рестарт на сървъра, SSD дискът с бекъпите се оказа заключен.
Когато Linux открие логически грешки във файловата система (често явление при токови удари и SSD дискове), той автоматично заключва дяла, за да предпази данните от по-нататъшно повреждане. Това обаче спира всички автоматични бекъп процеси и създава главоболия.
Вместо всеки път да изпълнявам ръчно серия от команди за размонтиране, поправка и проверка, реших да създам един надежден Bash скрипт.
Какво прави този скрипт?
Скриптът е проектиран да бъде „умна“ застраховка за вашия SSD. Ето основните му функции:
- Безопасност на първо място: Пита за потвърждение преди всяко критично действие.
- Интелигентен Unmount: Спира процесите, които блокират диска, и използва „lazy“ unmount, за да гарантира, че ремонтът може да започне.
- Автоматична поправка: Изпълнява
fsckс нужните флагове за автоматично коригиране на грешките. - Верификация: След поправката прави тест за запис, за да е сигурен, че дискът отново е в режим „Read-Write“.
- Здравен статус: Извлича SMART информацията на физическото устройство, за да провери дали дискът не заминава хардуерно.
- Логване: Всички действия и резултати се записват в хронологичен лог файл за бъдещи справки.
Вече не се притеснявам от следващия токов удар – знам, че поправката е само на един скрипт разстояние. Надявам се това решение да бъде полезно и на други, които искат да поддържат своите бекъп дискове в топ форма!
Можете да намерите и свалите целия скрипт от 👉 ТУК.
Защо се стига до Read-Only режим при Proxmox?
Много потребители на Proxmox използват стандартни потребителски SSD дискове за своите бекъпи. Макар и бързи, те често нямат вградена защита срещу загуба на захранване (Power Loss Protection – PLP). Когато настъпи внезапен рестарт:
- Journaling Failure: Файловата система EXT4 използва "журнал", за да следи промените. При прекъсване на тока, журналът се поврежда.
- Защита на ядрото: 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-то. Тя ни казва дали дискът има хардуерен дефект или просто логическа грешка.

Как да предотвратим този проблем в бъдеще?
Въпреки че скриптът ще ви спаси в 99% от случаите, превенцията е най-добрият инструмент:
- Инвестиция в UPS: Дори малко устройство ще даде на Proxmox време да изпрати сигнал за
poweroff. - Настройка на
/etc/fstab: Можете да добавите параметри за монтиране катоerrors=remount-ro, но това е стандартното поведение. По-важно е да следите здравето на диска (Wearout Level) в интерфейса на Proxmox. - Enterprise SSD: Ако бюджетът позволява, използвайте дискове с кондензатори за защита на кеша (PLP), които са създадени точно за такива ситуации.
Често задавани въпроси (FAQ)
- Ще загубя ли данни при ползване на скрипта?
fsckсе опитва да спаси максимално много данни. В редки случаи повредени малки файлове могат да бъдат преместени в папкаlost+found. - Мога ли да ползвам скрипта за други файлови системи (напр. ZFS)? Не, този конкретен скрипт е за EXT4. ZFS има свои механизми за поправка (zpool scrub/import).
Намерихте материала за полезен?
Съдържанието на itpraktika.com е безплатно и ще остане такова.
Ако статията ти е помогнала — можеш да подкрепиш сайта с малка доброволна сума.
Всяко дарение помага за поддръжката и развитието на портала.
