- Изменение размера дисков LVM
- Шаг 1: уменьшаем /var
- Шаг 2: увеличиваем размер тома LVM (который у нас / ) без перезагрузки
- Очистка папки /var либо ее расширение за счет /home
- Увеличить размер var linux
- Расширение диска или раздела Linux
- Шаг 1. Расширение раздела
- Обычные тома
- Шаг 2. Изменение размера для файловой системы
- Увеличение разделов с Gparted
- Как быстро увеличить размер раздела диска на сервере
- Описание задачи
Изменение размера дисков LVM
На днях пришлось менять диски на сервере CentOS 6.7. Старые диски хоть и рабочие еще, но с нагрузкой не справлялись. Поэтому раскошелились и купили SSD диски такой же емкости, как и старые. Но т.к. стоимость 1 Гб на SSD диске намного дороже, то посмотрев на размер /var (180 Гб) и / (корневой раздел) 300 Гб, само собой напросилось решение увеличить размер / за счет уменьшения размера /var. Идея, конечно, хорошая, но раньше я никогда таким не баловался, поэтому провел выходные на форумах, проверил сначала все на виртуальной машине без raid, потом подумал, что на моем сервере работает софтовый raid1 и сделал тестовый стенд (на старый комп поставил CentOS 6.7 с двумя дисками в программном raid1) и проверил все на нем, потом уже выполнил повторно на рабочем сервере. Но все же волнительно было, чего уж. Итак, поехали!
Совет: если вы раньше никогда не развлекались изменениями разделов, никогда не пробуйте это делать на рабочем компьютере.
Итак, есть система из двух дисков, объединенных в raid1 (зеркало).
Разбивка примерно такая:
/dev/sda:
/dev/sda1 200 Мб, /dev/md0
/dev/sda2 480 Гб, /dev/md1
/dev/sdb:
/dev/sdb1 200 Мб, /dev/md0
/dev/sdb2 480 Гб, /dev/md1
/dev/md0 отдан под /boot
На /dev/md1 тома LVM:
/dev/VolGroup/LogVol00 swap 2 Гб
/dev/VolGroup/LogVol01 /var 180 Гб, ext4
/dev/VolGroup/LogVol02 / 300 Гб, ext4
Для чего я привел пример разбивки? Чтобы вы обратили внимание, что мы в дальнейшем ни разу не будем ресайзить тома на устройствах /dev/sdXY. Мы все изменения разделов будем проводить только с логическими томами LVM!
Задача: изменить размер /var до 30 Гб и отдать все освободившееся место в / (корень). Файловая система обоих разделов ext4. Система CentOS 6.7.
Шаг 1: уменьшаем /var
В моем случае (софтовый raid1) я сначала проверил на всякий случай, что все диски подключены и ошибок нет (cat /proc/mdstat).
Я не был уверен, что размонтировать /var (umount /var) в рабочем режиме хорошая мысль, поэтому загрузился с LiveCD CentOS в Rescue Mode (можно было войти в single mode и без LiveCD).
Проверяем доступность физического тома LVM:
# pvscan
PV /dev/md1 VG VolGroup lvm2 [480.00 GiB / 0 free]
Проверяем доступность групп томов:
# vgscan
Reading all physical volumes. This may take a while.
Found volume group «VolGroup» using metadata type lvm2
Активируем логические тома:
Смотрим логические тома:
# lvscan
ACTIVE ‘/dev/VolGroup/LogVol01’ [180.00 GiB] inherit
ACTIVE ‘/dev/VolGroup/LogVol00’ [2.00 GiB] inherit
ACTIVE ‘/dev/VolGroup/LogVol02’ [300.00 GiB] inherit
Можно посмотреть подробности тома /dev/VolGroup/LogVol01 (он у нас /var):
а можно и не смотреть.
Все вышеуказанные проверки служат для того, чтобы вы были уверены, что тома LVM видны и активны и чтобы вы понимали, с каким именно томом вам следует проводить дальнейшие дествия. Идем дальше.
Отмонтируем том, который у нас /var и который будет уменьшать:
Выполняем проверку файловой системы тома:
Команда должна пройти без ошибок.
Выполняем проверку на наличие ошибок (-f — force):
# e2fsck -f /dev/VolGroup/LogVol01
Сначала уменьшаем размер файловой системы тома:
resize2fs -p /dev/VolGroup/LogVol01 30G
Внимание: здесь «30G» — это размер, который мы хотим задать для файловой системы, а не на который мы хотим уменьшить файловую систему.
И только после этого изменяем размер тома LVM:
# lvreduce -L 30G /dev/VolGroup/LogVol01
Получили сообщение об успешном завершении.
Теперь можно и не монтировать обратно раздел, а сразу перезагрузиться и проверить, что все ок, система загружается, df -h выдает размер /var равным 30 Гб.
На CentOS после загрузки до входа в систему появилось сообщение от SELinux, который должен переиндексировать изменения. Ок. Это заняло какое-то время и система сама перезагрузилась. После этого я вошел в систему и убедился, что все ок. Только после этого я перешел ко второму шагу (который оказался намного быстрее и проще), а именно увеличению корневого раздела путем добавления к нему всего доступного свободного места на физическом томе LVM. Заупстите pvscan и посмотрите, в выводе команды будет указано, есть доступное место (это плюс-минус то, что было занято раньше под /var). Теперь мы это свободное место добавим к / (корню).
Шаг 2: увеличиваем размер тома LVM (который у нас / ) без перезагрузки
Да, вы не очитались. Чтобы увеличить размер тома LVM нам не придется загружаться в single mode (или через LiveCD в Rescue mode).
На всякий случай, чтобы не перепутать, какому тому вы хотите отдать свободное место, выполните cat /etc/fstab и lvscan, убедитесь, что раздел / (корень) — это /dev/VolGroup/LogVol02, а не что-то иное 😉
# lvextend -l+100%FREE -r
Именно так, без пробелов между -l (это маленькая L) и +100%FREE. Заметьте, я не стал указывать, на сколько точно я хочу увеличть размер тома. В данной ситуации мне это было не нужно и чтобы не гадать, сколько конкретно надо добавить Гбайт, я просто указал, чтобы было добавлено все, что можно. man lvextend для ознакомления с вариациями -L+100G 😉 Опция -r указывает на то, чтобы был выполнен ресайз файловой системы после увеличения логического тома. Без этой опции команды было бы две:
# lvextend -l+100%FREE /dev/VolGroup/LogVol02
# resize2fs /dev/VolGroup/LogVol02
После успешного завершения я бы перезагрузился и проверил, что все ок.
Естественно, все вышеописанное может дать сбой на любом этапе, хотя бы из-за сбоя электропитания. Поэтому если данные на изменяемых разделах хоть как-то важны, вы должны иметь их копию.
Все вышеперечисленное верно для CentOS. Для Ubuntu вроде бы все то же самое. Думаю (не знаю) что для всех современных Linux все команды такие же.
Источник
Очистка папки /var либо ее расширение за счет /home
Доброго времени суток! Столкнулся с проблемой заполнения директории /var:
Посмотри размер /var/cache/apt/archives если там много — то удали содержимое этой директории, там содержатся установленные deb пакеты.
Успехов вам в расширении. LVM? Нет, не слышали.
P.S. про чистку уже сказали
Спасибо за подсказку! Можете поделиться файлом конфигурации? Либо подсказать как его настроить на каждодневную очистку?
Успехов вам в расширении. LVM? Нет, не слышали.
можно с этого момента поподробнее?
С какого момента? LVM?
ps: Кстати, почему еще никто не посоветовал почистить и мамку тоже?
«LVM нинужин!! Кокококо. » (с) местные школопетушки
Всем спасибо за активное участие! Нашел причину заполнения логов, и устранил ее. Особая благодарность за наводку на logrotate. Век живи век учись)
Кстати, почему еще никто не посоветовал почистить и мамку тоже?
Мамки чистоплотнее, чем папки.
Не стреляйте в членов директории, они управляют как умеют.
Источник
Увеличить размер var linux
Когда заказывал сервер забыл сказать, чтобы увеличили партицию. Теперь при больших объемах баз, находящихся на /var начинают возникать проблемы со свободным местом для временных файлов mysqld. Возможно ли решить проблему с минимальными потерями? ОС freebsd 6.2.
перенесите базы не в /var
Да, это возможно, используя симлинки.
К сожалению, не видя сервера ничего конкретного (набор команд и т.п.) посоветовать нельзя.
Действительно, можно остановить mysql, перенести файлы базы в нужную директорию и поставить на неё симлинк.
Хотя непонятна проблема — временные файлы mysql создаёт для выполнения больших запросов, а с размером баз это не очень связано. Надо mysql указать где хранить временные файлы — найти в my.cnf «tmpdir = » и указать на место, где есть много места.
cp /var/db/mysql /home/mysql/
mount_nullfs /home/mysql /var/db/mysql
Самый простой и надёжный вариант:
В файле my.cnf в секции [mysqld] указываем:
Сюда копируем все базы, устанавливаем права:
chown -R mysql:mysql /home/db/*
И стартуем MySQL.
можно размонтировать /var создать другой раздел большего размера и туда примонтировать /var или примонтировать /var на другой диск. А старый раздел задействовать под что-то другое.
nick_c:
cp /var/db/mysql /home/mysql/
правильнее -> cp -pr /var/db/mysql /home/mysql/
создайте раздел. скопируйте все из /var в этот раздел. смотнируйте раздел как /var 🙂
Источник
Расширение диска или раздела Linux
В инструкции рассмотрены сценарии расширения дискового пространства разделов в Linux без потери информации.
Принцип увеличения диска:
- Расширение раздела.
- Изменение размера файловой системы.
В зависимости от типа раздела и файловой системы, действия различаются.
Любая работа с диском несет риск потери информации. Перед началом работ убедитесь в наличие резервных копий ценных данных.
Шаг 1. Расширение раздела
Обычные тома
Допустим, есть диск /dev/sdb и раздел /dev/sdb2, который нужно увеличить.
Сначала необходимо отмонтировать раздел:
В случае работы с корневой директорией, отмонтировать ее не получиться. В таком случае необходимо загрузить компьютер с LiveCD.
Подключаемся утилитой fdisk к /dev/sdb:
Если мы работаем с разделом более чем 2Тб, используем утилиту parted.
Смотрим номера разделов:
Удаляем раздел (не переживайте — все данные сохраняются):
* в моем примере, раздел для удаления на второй позиции.
Создаем новый раздел:
Номер раздела — 2:
На запрос начального и конечного секторов просто нажимаем Enter.
Если раздел был загрузочный, добавляем соответствующий флаг:
Еще раз проверяем, что получилось:
LVM-тома расширяются на лету, даже для корневых разделов. В данном примере, работаем с /dev/sda.
Открываем диск утилитой fdisk:
* напомню, что при работе с диском 2Тб и более, следует использовать утилиту parted.
Создаем еще один раздел:
Номер раздела оставляем тот, который предлагает система (просто нажимаем Enter).
Первый и последний сектора также оставляем по умолчанию для использования всего дискового пространства (еще два раза Enter).
Задаем тип раздела:
Выбираем номер раздела (в моем примере создавался раздел 3):
Командой L можно посмотреть список всех типов, но нас интересует конкретный — LVM (8e):
Проинформируем систему, что в таблице разделов произошли изменения:
Создаем физический том из нового раздела:
Смотрим наши Volume Group и для нужного добавляем созданный том:
vgextend vg_centos /dev/sda3
* в моем примере группа томов LVM называется vg_centos
Смотрим LVM-разделы и расширяем пространства для нужного:
lvextend -l +100%FREE /dev/vg_centos/lv_root
* данная команда расширяем LVM-раздел /dev/vg_centos/lv_root, используя все свободное пространство (100%FREE).
Шаг 2. Изменение размера для файловой системы
После того, как на предыдущем шаге мы расширили раздел, система по-прежнему будет видеть старый по объему диск. Чтобы это исправить, необходимо выполнить команду по изменению размера файловой системы. В зависимости от последней, команды различаются.
Посмотреть файловую систему:
ext2/ext3/ext4:
XFS:
Reiserfs:
* обратите внимание, что в данных примерах используются различные устройства.
Если раздел был отмонтирован, монтируем его, например:
mount /dev/sda2 /mnt
Проверяем, что настройки применились:
Увеличение разделов с Gparted
Если работы выполняются на системе с графическим интерфейсом или есть возможность перезагрузить сервер и загрузиться с LiveCD, можно воспользоваться простым средством — утилитой Gparted, которая позволяем менять размер разделов мышкой.
Запускаем утилиту — выбираем диск, с которым будем работать — кликаем правой кнопкой по разделу, который хотим увеличить и выбираем Resize/Move:
В открывшемся окне с помощью мышки или форм меняем размер раздела:
Нажимаем кнопку Resize/Move.
Проверяем изменения в окне программы и сохраняем настройки кнопкой «Apply All Operations»:
Источник
Как быстро увеличить размер раздела диска на сервере
Всем привет! Недавно столкнулся с простой на первый взгляд задачей — увеличить «на горячую» размер диска на сервере Linux.
Описание задачи
Есть сервер в облаке. В моем случае, это Google Cloud — Compute Engine. Операционная система — Ubuntu, файловая система ext4 (подойдет для всех ext). Сейчас подключен диск размером 30 Гб. База растет, файлы пухнут, поэтому нужно увеличить размер диска, допустим, до 50 Гб. При этом мы ничего не отключаем, ничего не перезагружаем.
Внимание! Перед тем как начать, делаем бекап всей важной информации!
1. Для начала, проверим, сколько у нас всего свободного пространства. В консоли Linux пишем:
Простыми словами, у меня 30 Гб всего и 7.9 Гб сейчас свободно. Нужно увеличить.
2. Дальше я иду и через консоль своего хостера подключаю еще немного Гб. В Google Cloud это делается легко, без перезагрузки. Захожу в Compute Engine -> Диски -> Выбираю диск своего сервера — ему и поменяем размер:
Захожу внутрь, нажимаю «Редактировать» и увеличиваю размер диска до нужных мне размеров (в моем случае, до 50 Гб).
3. Итак, теперь у нас 50 Гб. Проверим это на сервере командой:
Видим свои новые 50 Гб, но пока использовать мы можем только 30 Гб.
4. Теперь удалим текущий раздел диска на 30 Гб, создадим новый на 50 Гб. У вас может быть несколько разделов. Возможно, вам нужно будет создать и несколько новых разделов. Для этой операции будем использовать программу fdisk, которая позволяет управлять разделами жесткого диска. Также важно понимать, что такое разделы диска и для чего они нужны — читаем тут. Для запуска программы fdisk используем команду:
5. Внутри интерактивного режима программы fdisk выполняем несколько операций.
Команда выводит список наших текущих разделов. В моем случае один раздел на 30 Гб и еще 20 Гб в свободном плавании, если так можно сказать.
6. Затем вбиваем:
Удаляем текущий раздел для того, чтобы создать новый на все 50 Гб. Перед операцией еще раз проверяем, сделали ли мы бекап важной информации!
7. Далее указываем программе:
Команда создает новый раздел. Все параметры стоит устанавливать по умолчанию — можно просто нажимать Enter. Если же у вас какой-то особый случай, то указываете свои параметры. Как видно из скриншота, я создал раздел на 50 Гб — то, что мне нужно.
8. В итоге указываю программе:
Эта команда записывает изменения и выходит из fdisk. Не пугаемся, что чтение таблицы разделов не удалось. Следующая команда поможет это исправить. Осталось совсем чуть-чуть.
9. Мы вышли из fdisk и вернулись в основную Linux — строку. Далее вбиваем, как нам посоветовали ранее:
Если все прошло успешно, то вы не увидите никакого сообщения. Если у вас не установлена программа partprobe, то установите ее. Именно partprobe обновит таблицы разделов, что позволит нам расширить раздел до 50 Гб в режиме онлайн. Идем дальше.
Подсказка! Установить partprobe можно вот так:
10. Теперь осталось переопределить размер раздела с помощью программы resize2fs. Она сделает это в режиме онлайн — у меня даже в этот момент скрипты работали и писали на диск.
Программа resize2fs перезапишет метаданные файловой системы. Для этого используем следующую команду:
Здесь sda1 — это имя вашего раздела. В большинстве случаев, это sda1, но возможны и исключения. Будьте внимательны. В итоге программа изменила нам размер раздела. Думаю, что это успех.
11. Теперь давайте убедимся, что размер раздела изменился и теперь у нас 50 Гб. Для это повторим самую первую команду:
Источник