Как перенести var на другой диск
Перейти к содержимому

Как перенести var на другой диск

  • автор:

Разделы в Linux, перенос разделов, перенести /var на другой раздел

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

Второй вопрос который меня волновал, это как разбить диск. С давних времен привык чтоб система стояла отдельно от файлов пользователя. Разница в организации системных файлов координально отличается в линуксе от виндовой. Если в винде у вас были диск С Д и тд. То в линуксе у вас есть системные папки /boot, /var, /root, /home и тд.

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

Так вот, перечитал я много доков и советов как лучше разбивать винт. Все писали что нужно создать 3 основые раздела /boot, /, /home. Для /boot и / советовали сделать ext2, для /home ext4.

По поводу размера разделов, для boot советовали 50-100 Мб. И 100Мб писали что с головой хватит! Ну я поверил. Нихрена ему не хватает уже. Под Debian 8 он кидает в этот раздел несколько ядер, чтоб была возможность отката. Лучше ставит 200-300 Мб для /boot.

Для корневого раздела я поставил 12Гб и как-то жил с ним когда была Linux Mint. Под Debian ему уже стало тесно. Очень тесно. Тк под минтом у меня был раздел swap куда скидывался весь времееный мусор. Под Debian с 4Гб оперативки, “советчики” предлагали не создавать раздел свопа вообще. Попробовал. Вроде классно, больше места на винте. Классно до первого зависания Chomium, который жрет озу как сумасшедший. Система дико подвисает и пытается куда-то скинуть мусор. Мышка тормозит, работать невозможно. У системы нет ограничений по количеству свободного места на системном разделе. Единственный способ в данном случае это переключиться в другой tty и под рутом вырубить этот сраный процесс.

Для таких случаев приходиться ставить swapspace.

Пусть у вас даже 8 гиг оперативки – все равно создайте раздел для swap. Тем самым вы защитите себя от тотальных зависаний. Раньше советовали создавать своп в два раза больше чем оперативки. Сейчас же можно создать и половину.

Для корневого раздела я бы поставил около 20Гб.

Если разделать их то, 10 для корневого, 10 для /var. Можно и /tmp в отдельный раздел вынести. Для надежности.

Но для обычного пользователя, для того чтобы пощупать живой линукс, можно поставит все на один раздел. Для ознакомления на несколько месяцев этого будет достаточно.

Кстати, если сначала вынесете /home на отдельный раздел, то при переустановке системы (любого Linux) раздел /home не будет отформатирован и информация на нем будет сохранена. На этапе установки нужно будет создать пользователя с тем именем, которое уже созданно в папке /home.

Если вы так же как и я начитались много инфы и разбили диск не так как надо, вам не хватает места на системном разделе, поджимает бут – не нужно отчаиваться! Можно перемонтировать все на другие разделы. Все очень просто.

Начать подготовку нужно с бекапа важной инфы с /home раздела на внешний винт. Дальше освободить нужно количество дискового пространства для создания нового раздела. Далее лучше загрузиться с Live-cd. Я нашел у себя какую-то старуб Убунту 12.10.

записал ее на флешку

К моему удивлению загрузилась нормально. Флешка китайская, винда с нее не хотела стартовать.

Далее в гостевой ОС запускаем Терминал.

Проверяем, подключился ли наш внутренний винт. Обычно все ок.

Перед началом работы нужно изменит размер текущего раздела. Моему глазу приятна программа gparted. Все наглядно поятно и будет привычна тем, кто пользовался Partition Magic, Acronis Disk Director и другими под виндой и не только.

Делаем Resize, Format unused → ext4, Apply.

Раздел готов Можно приступать к переносу инфы.

Создаем папку и монтируем в него корневой раздел нашего диска.

Создаем папку и монтируем в нее новосозданный раздел.

Копируем инфу с папки /var с коренвого раздела на новосозданный.

Находим UUID нашего нового раздела командой

Обратите внимание, для blkid нужны рут права. Редактируем файл /etc/fstab

Я просто клонировал уже существующую строку и изменил несколько параметров. Ctrl+K – вырезать
Ctrl+U – вставить
в nano.

Переименовываем старый var

Для сохранности перед перезагрузкой лучше размонтировать разделы

Если вы увидели экран входа – значит все отлично перенеслось и система теперь работает с файлами из другого раздела.

Можно смело удалять старый var

Точно таким же образом можно поступить с папкой /boot.

Не забывайте делать бекапы!

Данные действия можно проделать на рабочей локальной машине не перезагружая ОС. Только сразу после монтирования нового раздела нужно перейти в однопользовательский режим, в котором нет активности чтения/записи.

How to move /var to another existing partition?

I have a / partition which contains /var and is too small. I have another existing partition with enough space.

How can I move the /var folder from sda1 to sda2 ?

3 Answers 3

Go into single user mode, and make sure any process writing to /var is stopped. (Check with lsof -n | grep /var )

  • mkdir -p /home/var
  • rsync -va /var/. /home/var/.
  • mv /var /var.old # you can remove /var.old when you are done to reclaim the space
  • mkdir -p /var
  • mount -o bind /home/var /var
  • update your /etc/fstab to make the bind-mount permanent.

You can also use:

This seems a lot easier than messing around with the fstab and mount stuff.

mdpc's user avatar

Move /var without changing into single-user mode

When I took over a new virtual server that had been provisioned for me by my employer’s hosting company, I created extra logical volumes for var and home which had been regular directories in the root partition. Since the virtual server provider didn’t provide a KVM-like interface by which I could access the server in single-user mode, the above answers were not applicable to my setup. I hope this answer is useful for others in a similar situation (I’ve kept the LVM details but these can be skipped as it’s not particularly relevant whether the new filesystem is created on a logical volume or a disk partition).

Create and use a new /var filesystem with LVM

Create the filesystem for the new var volume, mount it (using a temporary directory) and copy files from the current /var to the new filesystem. When copying files with rsync , use its -a, —archive option to preserve time-stamps, ownership, modes, etc. and its -X, —xattrs option to preserve the extended attributes such as the security labels used by AppArmor and SELinux.

Update the filesystem table

Configure the new filesystem to be used as a new mount-point for /var by adding the following line to /etc/fstab . Note that 0 is used as the pass number (last field) so that the filesystem won’t be automatically checked ( fsck ) after a certain number of reboots (I’ve no access to log in to the server in single-user mode).

Since I can’t change into single-user mode, reboot the computer to use this new volume as /var .

Recover disk space from the root filesystem

After the machine has restarted, carry out the following steps to clean up the temporary directory and remove the old /var files from the root filesystem:

Remove the temporary mount point:

Create a new mount point to create an alternative path to the files on the old /var directory on the root filesystem (it’s currently “masked” by the new /var filesystem mounted on the directory):

Как переместить каталог / var в другой раздел

Ваш /var каталог заполнен, и у вас не осталось свободного места на диске. Это типичный сценарий, который легко исправить, установив свой /var каталог на другом разделе. Давайте начнем с подключения нового хранилища, разбиения на разделы и создания желаемой файловой системы. Точные шаги могут отличаться и не являются частью этой статьи по настройке. Когда будете готовы, получите UUID раздела вашего нового раздела var, например. /dev/sdc1:

Создайте новую точку монтирования и смонтируйте новый раздел:

Подтвердите, что он установлен. Обратите внимание, ваш результат будет другим:

Копировать текущий /var данные в новое место:

Размонтировать новый раздел:

Отредактируйте свой /etc/fstab для включения нового раздела и выбора соответствующей файловой системы:

Перезагрузите систему, и все готово. Убедитесь, что все работает правильно, и при желании удалите старый каталог var, загрузившись в какую-нибудь систему Live Linux и т. Д.

Подпишитесь на новостную рассылку Linux Career Newsletter, чтобы получать последние новости, вакансии, советы по карьере и рекомендуемые руководства по настройке.

LinuxConfig ищет технических писателей, специализирующихся на технологиях GNU / Linux и FLOSS. В ваших статьях будут представлены различные руководства по настройке GNU / Linux и технологии FLOSS, используемые в сочетании с операционной системой GNU / Linux.

Ожидается, что при написании статей вы сможете идти в ногу с технологическим прогрессом в вышеупомянутой технической области. Вы будете работать самостоятельно и сможете выпускать как минимум 2 технических статьи в месяц.

  • 09/08/2021
  • 0
  • НовичокАдминистрацияКоманды

Регулярные выражения Python с примерами

Регулярные выражения Python с примерами

  • 09/08/2021
  • 0
  • ПрограммированиеPythonСценарииАдминистрация

Регулярное выражение (часто сокращенно «регулярное выражение») — это метод и текстовый шаблон, который определяет, как нужно искать или изменять данную строку. Регулярные выражения обычно используются в сценариях оболочки Bash и в коде Python, а т.

Как вывести список установленных пакетов в RHEL 8 / CentOS 8 Linux

Как вывести список установленных пакетов в RHEL 8 / CentOS 8 Linux

  • 09/08/2021
  • 0
  • Rhel8АдминистрацияCentos8Команды

Может наступить время, когда вы захотите узнать, установили ли вы уже определенный пакет на свой RHEL 8 / CentOS 8. Для работы приложения, устанавливаемого вручную, могут потребоваться определенные зависимости, поэтому вам необходимо заранее прове.

Как проверить текущий уровень запуска вашей системы Linux

Как проверить текущий уровень запуска вашей системы Linux

  • 08/08/2021
  • 0
  • БезопасностьСерверАдминистрацияКоманды

Перед systemd возникли самые крупные Дистрибутивы Linux запускал систему инициализации в стиле Sys-V. Sys-V использовала семь различных «уровней выполнения», чтобы определить, какие процессы запускать в системе. Например, уровень запуска 3 обычно .

Something about IT

Задача у него была простая забирать в почте файлы по crontab и возвращать почтовым сообщением отправителю конвертированый аттач в PDF.

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

Позже, задач добавилось прошло несколько апдейтов релизов, сам сервер немного подрос до

1x2CORE VCPU/ 4GB VRAM/ 16GB VDISK + 60 VDISK GB — «помойка»

Но, со временем каталоги в «/» разрослись добавилось штук 5 баз по 5-12 таблиц в MYSQL. Из 16 GB 10 GB стал занимать «/var», решил перенести его.

Создал дополнительный диск, как его разметить и отформатировать нет смысла описывать — ключевые:

sudo fdisk /dev/sdxx
sudo mkfs.ext4 /dev/sdxx

Итак, мы имеем диск в системе, пусть /dev/sdc1

Создаем каталог /var.new

sudo mkdir /var.new

монтируем /dev/sdc1 k /var.new

sudo mount /dev/sdc1 /var.new

Переходим в однопользовательский режим (single-user mode), когда сервисы не стартуют

необходим пароль root

Копируем содержимое /var в новый каталог

cp -apx /var/* /var.new

После завершения копирования, переименовываем оригинальный каталог, например

mv /var /var.old

а новый каталог в правильное имя

mv /var.new /var

Важно (. ) в /etc/fstab прописать автоматическое монтирование нового диска,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *