Dev mapper centos root как почистить

Обновлено: 06.07.2024

Недавно я обнаружил, что файловая система XFS стала коррумпированной из-за сбоя питания. (Система CentOS 7). Система не загрузится должным образом.

Я загрузился из резервной копии cd и попробовал xfs_repair , он сказал мне подключить раздел для работы с журналом.

Что я должен делать в этой ситуации? Что-то не так с моим спасательным компакт-диском (System Rescue CD, версия 4.7.1)? Есть ли какая-то другая процедура, которую я должен был использовать?

Я закончил просто восстановление системы из резервных копий (это было быстро и просто в этом случае), но я хотел бы знать, что делать в будущем.

1 ответ

mount: mount /dev /mapper /centos-root on /mnt /centos-root не удалось: структура нуждается в очистке

К сожалению, принудительное восстановление потребует обнуления (уничтожения) журнала перед попыткой ремонта. При использовании этого метода существует потенциал для получения более коррумпированных данных, чем первоначально предполагалось; однако мы можем использовать соответствующие инструменты xfs, чтобы увидеть, какой ущерб может быть причинен, прежде чем вносить какие-либо постоянные изменения.

Используя xfs_metadump и xfs_mdrestore , вы можете создать образ метаданных затронутого раздела и выполнить принудительный ремонт на изображении а не самого раздела. Преимуществом этого является возможность увидеть повреждение, которое приходит с принудительным ремонтом, прежде чем выполнять его на разделе.

Для этого вам понадобится достойный размер USB или внешний жесткий диск. Начните с установки USB-накопителя - мой USB был расположен в /dev/sdb1 , ваш может быть назван по-разному.

После установки запустите xfs_metadump , чтобы создать копию метаданных разделов на USB-накопителе, и ваш затронутый раздел может быть другим. В этом случае у меня был коррумпированный корневой раздел, расположенный в /dev/mapper/centos-root :

Затем вы захотите восстановить метаданные для изображения, чтобы мы могли выполнить ремонт и измерить ущерб.

Я обнаружил, что в режиме спасения xfs_mdrestore недоступен, и вместо этого вам нужно будет находиться в режиме спасения live CentOS CD.

Наконец, мы можем выполнить ремонт на изображении:

После того, как ремонт завершен, и вы оценили выход и потенциальный ущерб, вы можете определить, хотите ли вы выполнить ремонт с разделом.

Чтобы выполнить ремонт с раздела, просто запустите:

Не забудьте также проверить другие разделы на предмет коррупции. После ремонта перезагрузите систему, и вы сможете успешно загрузиться.

Помните, что флаг -L должен использоваться как последнее средство, где нет других возможных вариантов восстановления.

Рано или поздно на сервере может исчерпаться свободное дисковое пространство. Это в свою очередь приводит к неполадкам в работе програмного обеспечения.

Для своевременной реакции на такие случаи рекомендуем применять систему мониторинга zabbix, которая сообщает о проблемах на сервере, например о скором исчерпании свободного места.


Тут мы видим, что на сервере N01 в разделе /mnt/data осталось мало места.

Команда df

Заходим на сервере по SSH и вводим команду df -h

Команда выводит информацию о занятости дисковых разделов. Параметр -h позволяет выводить информация в более «человеческом» формате.

Видим, что на в каталоге /mnt/data осталось всего 2Гб из 686Гб.

Команда du

Для определения виновника пожирания места в каталоге /mnt/data, вводим команду du -hs /mnt/data/*

Мы видим, что больше всего места занимает каталог /mnt/data/vm

Продолжаем исследование: du -hs /mnt/data/vm/*

Если бы файлов было много, то лучше бы было сразу отсортировать результат:

du -hs /mnt/data/vm/* | sort -rn

В данном случае, встает вопрос об увеличении дискового пространства. Для обеспечения корректной работы необходимо удалить несущественные файлы. Например, из каталога /mnt/data/ISO

Смотрим, что там у нас есть: du -hs /mnt/data/ISO/* | sort -rn

Выводы

Таким образом, мы определили главных виновников пожирания места, и готовы приступить к дальнейшим действиям: либо переместить/удалить какие-то файлы, уменьшить размер, добавить дисковое пространство и т.п.

Решаем удалить все образы дистрибутивов из каталога /mnt/data/ISO, так как их при необходимости всегда можно закачать.

Проверяем, что у нас теперь с дисками:

Видим, что ситуация немного улучшилась. Система zabbix перестала ругаться на нехватку места. Но это временно :), поэтому идем покупать новые диски для установки на сервер.

Swap CentOS – подключение файла подкачки, удаление файла подкачки

Один из способов подстраховать сервер, сделать его более устойчивым к нагрузкам и защититься от ошибок нехватки памяти – добавить пространство подкачки т.е. речь идет о системе свопинга.

Своп (от английского swap) – область на накопителе, где операционная система может временно хранить данные, которые уже не держит в оперативной памяти. Swap, файл подкачки, механизм виртуальной памяти перемещающий отдельные фрагменты памяти из оперативной памяти на жёсткий диск, внешний накопитель, специально выделенный раздел или файл, тем самым выполняя своё предназначение и освобождая оперативную память для других активных фрагментов памяти.
Файл подкачки дает возможность увеличить объем информации, которую сервер может хранить в рабочей памяти. Но, с некоторыми оговорками. Чтение и запись в раздел подкачки медленнее, чем при использовании памяти, но это может поддержать, когда на сервере недостаточно оперативной памяти.
Без подкачки, в момент нехватки памяти, сервер может начать завершать процессы, чтобы освободить память, или даже аварийно завершить работу. Это может привести к потере данных или возникновению простоев.

Проверка системы на наличие и использование свопа

Прежде чем приступить, нужно проверить сводную информацию об использовании и доступности подкачки на устройстве хранения. С помощью команды swapon:

Если команда ничего не возвращает, значит файла подкачки не существует. В обратном случае, в терминал будет выведено нечто подобное:

то же самое, с выводом полного пути к файлу свопа, но вывести из содержания файла swaps:

Утилита free отобразит текущее использование памяти и подкачки:

Проверка доступного место для обмена и хранения данных

Важно убедится в наличии доступного места на носителе:

Для использования еще доступно 26G и этого достаточно.

Создать файла подкачки

Создать 1-гигабайтный файл подкачки указанного размера используя команду fallocate:

С помощью ls можно убедится в его наличии и в достаточном количестве зарезервированного пространства:

Подключение файла подкачки

Файл уже создан, но система еще не знает, что он должен использоваться для хранения и обмена. Нужно отформатировать этот файл как swap, а затем включить его. Но прежде, должны быть настроены права доступа, чтобы файл мог быть прочитан, только учетной записью root. Разрешение другим пользователям читать или писать в этот файл, было бы большой угрозой безопасности. Ограничиваются разрешения с помощью chmod:

Проверить, что у файла подкачки правильные разрешения, снова используя ls:

Теперь, файл подкачки стал более безопасным и можно указать системе пространство подкачки:
Указывается файл подкачки командой mkswap

Сразу включить файл подкачки

Файл подкачки готов к работе в качестве пространства подкачки, для его использования набрать:

В данный момент файл подкачки включен и при необходимости используется. После перезагрузки сервер должен автоматически включать для использования файл свопа. На подключение укажет строка дописанная в таблицу управляющую файловыми системами и разделами в файле fstab.
На этом этапе, есть вероятность получить следующую ошибку swapon failed: Invalid argument:

Пишет, что недопустимый аргумент, в этом случае поможет это CentOS 7 — failed: Invalid argument решение.

Подключение файла подкачки после загрузки системы

Чтобы файл подключался во время загрузки системы, в файл fstab

в нижней части, нужно добавить строку, указывающую операционной системе использовать файл подкачки автоматически:

Система проверяет эту таблицу во время каждого запуска и файл подкачки будет готов к использованию. Осторожно с форматированием, таблица довольно чувствительна.

Часто бывает такое, что место на сервере заканчивается, а что именно заняло драгоценное место, не ясно.
Буквально сегодня на одном из серверов нашего клуба приключилась похожая ситуация. 20 GB свободного места куда-то улетучились, пришлось чистить.
Скажу заранее, что я не являюсь сисадмином. Я простой пользователь, ну, может знаю чуть больше, чем простой пользователь, поэтому я не претендую на то, что всё нижеописанное, как единственный и безупречный вариант. Делаю как умею и как мне нравится.

И так, как очистить место на CentOS или Linux подобных системах?
Для начала нам необходимо узнать какие папки и файлы занимают больше всего места и самое главное! Нужно узнать где именно находятся те самые папки и файлы. Система то большая, просматривать каждую папку замучаешься.

Для работы нам нужна консоль.
Так же подойдет и Shell-клиент, если у вас панель ISPmanager. Я буду использовать Shell-клиент, т.к. привык к Windows и привык видеть папки и файлы. Вводить в консоль команды и убивать то, чего не вижу, не очень люблю.

1. Первым делом необходимо выполнить команду для получения текущего состояния дискового пространства и всех разделов на сервере.
Команда:

После ввода команды нажимаем Enter и видим следующее:

shell-comand-centos-ispmanager-1.jpg

Мы получили информацию:
- Общий размер диска
- Занятое место на диске
- Свободное место на диске

2. Далее нам необходимо определить, какие папки занимают больше всего места.
Команда:

После ввода команды нажимаем Enter и видим следующее:

shell-comand-centos-ispmanager-2.jpg

Мы получили информацию:
- Имена папок
- Занимаемое место на диске

Как видим, основное место на сервере занимает папка var.

3. Нам нужно перейти в папку var
Команда:

4. Перейдя в папку var снова смотрим какие папки сколько занимают места, для этого выполняем уже знакомую нам команду.
Команда:

Собственно на этом всё и заканчивается. Просто движетесь таким образом и смотрите на папки, которые занимают больше всего места.
Как правило, больше всего места занимают файлы с логами. Просто чистите их и всё. В этом и вся суть, главное как говориться найти нужные файлы.

Читайте также: