Как исправить Read Only File System в ОС Linux

     Файловая система может быть повреждена из-за различных неполадок или внезапного отключения компьютера. При обычном выключении все файловые системы монтируются только для чтения, а все несохраненные данные записываются на диск. Но если питание выключается неожиданно, часть данных теряется. Соответственно, могут быть потеряны важные данные, что приведёт к повреждению самой файловой системы.
     Одной из проблем может стать временная недоступность системы хранения данных (СХД). Виртуальные машины (ВМ) на ОС Linux очень чутко реагируют на подобные явления, переходя в Read Only.

В этой статье мы рассмотрим варианты решения данного вопроса:

Первый и самый простой способ — это перезагрузка «Виртуальной машины»

Чтобы перезагрузить виртуальную машину:

  1. Нажмите левой кнопкой мыши на раздел «Virtual Machines» в левой области интерфейса vCloud Director. (рис. 1. действие 1)
  2. Найдите нужную вам виртуальную машину в основной области интерфейса. (рис. 1. действие 2)
  3. Нажмите левой кнопкой мыши на раскрывающееся меню «Actions» под описанием виртуальной машины. (рис. 1. действие 3)
  4. В выпадающем списке выберите опцию «Reset» и нажмите её левой кнопкой мыши. (рис. 1. действие 4)

 


Рисунок 1. VMware Cloud Director - Vritual Machines, перезагрузка виртуальной машины.

Во втором случае Linux не загружается, пользователю доступна только командная строка initramfs

Рисунок 2. Командная строка с initramfs

*Initramfs – это начальная файловая система в ОЗУ, основанная на tmpfs, которая не использует отдельное блочное устройство. Как и initrd, она содержит утилиты и скрипты, требуемые для монтирования файловых систем перед вызовом init, который располагается на корневой файловой системе.

Если вы не видите такой ошибки, попробуйте ввести exit в окне терминала. Ошибка может появиться после этого:

 (initramfs) exit

В ошибке указан том (в нашем случае sda1), который требует запуска ручной проверки диска. В командной строке initramfs выполните:

 fsck /dev/sda1 –y

Также с помощью флага -A вы можете проверить все файловые системы, подключённые к компьютеру:

 fsck -Ay /dev/sda1 

После полной проверки необходимо перезапустить систему.

Если система не переходит в initramfs, необходимо загрузиться с LiveCD

В этом случае необходимо примонтировать iso образ LiveCD к нашей виртуальной машине. В нашей базе знаний есть статья о том, как добавить свой образ в каталог:  

Для этого необходимо:

  1. Нажмите левой кнопкой мыши на раздел «Virtual Machines» в левой области интерфейса vCloud Director. (рис. 3. действие 1)
  2. Найдите нужную вам ВМ в основной области интерфейса.
  3. Нажмите левой кнопкой мыши по раскрывающемуся меню «Actions» под описанием ВМ . (рис. 3. действие 2)
  4. В выпадающем списке выберите опцию «Media» и нажмите на неё левой кнопкой мыши. (рис. 3. действие 3)
  5. В выпадающем списке выберите опцию «Insert Media» (рис. 3. действие 4)
      
    Рисунок 3. VMware Cloud Director - Vritual Machines, примонтирование ISO образа.
  6. В появившемся окне выберите LiveCD образ, который предварительно нужно загрузить в ваш «каталог». В качестве примера мы используем gparted-live (рис. 4 действие 1), но можно использовать любой другой. После выбора iso-образа нажмите «insert» (рис. 4 действие 2)

    Рисунок 4. Выбор ISO-образа LiveCD: gparted-live
  7. Далее в настройках BIOS переключитесь на загрузку с CD. Для этого необходимо попасть в меню виртуальной машины. Нажмите на её имя, чтобы попасть в это меню (цифра один на рис. 5 — имя вашей ВМ).
  8. В «General» (справа) выберите Edit (рис.5 действия 2 и 3 соответственно).

    Рисунок 5. Меню виртуальной машины

  9. В появившемся окне необходимо поставить значение Boot Delay от «5» (задержка загрузки, необходимая для нажатия клавиши, чтобы попасть в BIOS). Перевести переключатель «Enter BIOS setup» во включенный режим. Нажмите «Save». (рис. 6, действия 1-3 соответственно).

    Рисунок 6. Настройки параметра General

  10. После запуска машины через «Power on, Force Recustomization» дождитесь загрузки ВМ и откройте «VM console», чтобы попасть в окно BIOS. (рис. 7 действие 1-2)

    Рисунок 7. Включение виртуальной машины с применением измененных настроек

  11. Во вкладке «Boot» «поднимите» значение CD-ROM на самый вверх. Выберите его и нажмите «+» на клавиатуре несколько раз, пока CD-ROM не займёт первую позицию. Это позволит системе загрузиться с нашего примонтированного образа (gparted-live)(рис.8)

    Рисунок 8. Меню BIOS виртуальной машины.
  12. Перейдите во вкладку «Exit» и выберите «Save and exit».
  13. Виртуальная машина загрузится с нашего образа. В появившемся окне выбираем первый пункт и нажмите «Enter».
  14. Выберите «Dont touch keymap» и нажмите «Enter». (рис. 9)


    Рисунок 9. Запуск gparted-live
  15. Введите «24» — русский язык, затем «Enter»
  16. Далее введите «0» и снова «Enter».
  17. Система загрузилась. Автоматически откроется окно утилиты Gparted. Закройте его и откройте «terminal» (рис. 10)

    Рисунок 10. Запуск терминала

  18. В появившемся окне терминала введите команду:
     sudo fsck -y -f -c /dev/sda1
    если увидите ошибку, то скорее всего нужно отмонтировать данный раздел:
     sudo umount /dev/sda1
    Ключи и параметры команды fsck:
    y — всегда отвечать yes на все вопросы (имеется альтернатива: ключ p — начинает проверку в полностью автоматическом режиме);
    f — принудительная проверка файловой системы (даже если файловая система помечена как полностью работоспособная)
    c — ищет битые блоки (bad blocks), а после отмечает их соответствующим образом/dev/sda1 — устройство или раздел, которые нужно проверить.

    Вывод терминала после проверки в нашем случае:
    ubuntu@ubuntu:~$ sudo fsck -y -f -c /dev/sda1fsck from util-linux 2.20.1e2fsck 1.42.5 (29-Jul-2012)
    Checking for bad blocks (read-only test): 0.00% done, 0:00 elapsed.
    (0/0/0 errdone
    /dev/sda1: Updating bad block inode.
    Pass 1:Checking inodes, blocks, and sizes
    Pass 2: Checking directory structure
    Pass 3: Checking directory connectivity
    Pass 4: Checking reference counts
    Pass 5: Checking group summary information/dev/sda1:
    ***** FILE SYSTEM WAS MODIFIED *****
    /dev/sda1: 372991/1921360 files (0.2% non-contiguous), 2539924/7680000 blocks
    ***** FILE SYSTEM WAS MODIFIED *****
    Это системное сообщение говорит, что текущая файловая система модифицировалась программой fsck.

После всех операций нужно перезагрузиться и отмонтировать образ от виртуальной машины. Для этого нажмите «Eject media» (рис.11 действие 1-4).


Рисунок 11. "Отмонтирование" LiveCD образа из виртуальной машины


Если на 18 пункте у вас возникли трудности, проследуйте следующим инструкциям- проверим разметку дисков командой: > lsblk

Пример вывода команды:


Из вывода команды видим, LVM назван ubuntu--vg-root, однако мы не можем запустить fsck на это имя, так как команда не найдёт его. Нужно получить полное имя, для этого нужно запустить команду lvm lvscan для получения LV имени с которым мы можем запустить fsck на LVM.

 sudo lvscan

Пример вывода команды:



Видим имя диска который нужно проверить на ошибки это /dev/ubuntu-vg/root, оно должно подойти для запуска fsck на этом имя.

Если /dev/ubuntu-vg/root не в состояние ACTIVE , необходимо сделать его активным, для этого используйте команду:

sudo lvchange -ay /dev/ubuntu-vg/root

Запускаем форсированную проверку с автоматическим исправлением ошибок fsck для проверки тома LVM :

 sudo fsck -fy /dev/ubuntu-vg/root


После всех операций нужно перезагрузиться

sudo reboot -f

И отмонтировать образ от виртуальной машины. Для этого нажмите «Eject media» (рис.11 действие 1-4). 

Ещё не пробовали услугу "Облачный хостинг" от Cloud4Y?

Отправьте заявку сейчас и получите 14-ти дневный бесплатный доступ.

 

СМОТРЕТЬ ПОДРОБНОСТИ             ПОПРОБОВАТЬ БЕСПЛАТНО

  • Linux, ReadOnlyFileSystem, Read Only, Ошибка, Не загружается ОС Linux
  • 3 Пользователи нашли это полезным
Помог ли вам данный ответ?

Связанные статьи

Как уменьшить размер диска CentOS 6?

Для уменьшения размера диска виртуальной машины CentOS 6 нужно будет воспользоваться старой...

Как увеличить размер диска CentOS ?

Для увеличения размера диска виртуальной машины CentOS:1. Увеличьте размер диска в свойствах...