Вчера я на собственном горьком опыте обнаружил один из "Особенности" файловая система Btrfs. По причинам, о работе которых я не знаю, Btrfs имеет тенденцию заполнять диск больше, чем то, что нравится командам dd или индикаторы заполнения диска обычных файловых менеджеров.
Как узнать, сколько места занимает ваша файловая система с помощью btrfs
У кого есть файловая система с Btrfs Вы сможете узнать, сколько дополнительного места занимают ваши данные, набрав в консоли (я думаю, как root):
файловая система btrfs показывает /
(Замените / другой точкой монтирования, если вы хотите знать, какое пространство занято в другом разделе btrfs)
В большой перегородке такое дополнительное заполнение не представляет большой проблемы, так как это очень мало места по сравнению с общим. Но в моем случае, когда / имеет 22 ГБ (он занимает кеш ssd), мой жесткий диск заполнился 8 ГБ свободными, что нарушило базы данных rpm и, таким образом, отключило диспетчер пакетов. Поэтому я был вынужден выполнить форматирование в другой файловой системе.
Но переустанавливать не хотелось. Ясно, что данные из / home можно легко сохранить, но в нем установлено много программ и много настроек, которые также находятся там, поэтому я решил просто сохранить установку, но изменить файловую систему.
Причина, по которой я пишу это, заключается в том, что я не нашел никакой документации о том, как действовать в этих случаях. Думаю, большинство людей соглашаются на переустановку.
Мне пришлось потратить около 7 часов на поиск и поиск информации в руководствах на английском языке, которые на самом деле имели отношение к другим вещам и интуитивному составлению частей; все время методом проб и ошибок, десятки раз перезагружаясь, чтобы убедиться, что все, что я пробовал, терпит неудачу одна за другой. Когда процесс на самом деле был бы не таким уж большим, если бы ему было посвящено руководство.
Соображения, которые необходимо принять во внимание при изменении файловой системы "/"
Первый: Я выполнил эту процедуру на Fedora. Я думаю, это то же самое для всех дистрибутивов, которые в основном используют в качестве загрузчика GRUB2.
Вторая: Этот процесс трудный для обычного пользователя (те, кто читают это и думают, что это чушь собачья, знают, что вы не обычный пользователь). Обычно у людей есть дела поважнее, чем изменение файловой системы корневого раздела. Если вы не знаете, как следовать этому руководству, вы рискуете потерять свою установку, и если вам удастся выполнить ее, вы обнаружите, что изменение производительности не так впечатляюще (ну, для некоторых это так, но вы не обычные пользователи) Я специально сделал это по необходимости , хотя должен признать, что я один из тех, кто поставил свой компьютер на секунду быстрее.
Третье: Поскольку эта процедура не предназначена для обычных пользователей, я предполагаю, что читатель имеет некоторые знания о GNU / Linux и не поленился поискать дополнительную информацию.
Процедура изменения файловой системы "/"
Если вы хотите изменить файловую систему по необходимости или от скуки, вот процедура:
1.- Очевидно, что для того, чтобы наша новая файловая система работала, нам нужны инструменты, которые помогут нам управлять ею, поэтому это первое, что мы сделаем. Между прочим, я выбрал файловую систему XFS, поэтому мне пришлось установить "Xfsprogs" y "Xfsdump". Вы установите все, что захотите, в зависимости от файловой системы, которую хотите использовать.
2.- Загрузитесь с livecd / usb и скопируйте все содержимое корневого раздела на другой раздел или диск. Выбранный вами метод не имеет значения, но дело в том, чтобы делать это с правами root, чтобы не находить файлы или каталоги со специальными разрешениями.
3.- Шаг, на котором "/" правильно отформатирован в файловой системе, которую мы предпочитаем. Способов много, выбирайте тот, который вам больше всего нравится.
4.- Созданная нами копия корневого раздела восстанавливается на вновь отформатированный раздел.
5.- Это момент, когда пользователь должен начать делать свою часть работы. Форматирование раздела изменяет идентификатор, который операционная система использует, чтобы узнать, какой раздел монтировать. Это \ It \ он UUID, и нам нужно знать этот код.
Есть несколько методов, но, например, в «Gparted» мы узнаем об этом, щелкнув правой кнопкой мыши новый раздел «/» и выбрав «Информация». Мы копируем этот код, и тогда мы собираемся редактировать файл / etc / fstab:
UUID = 36f3ce91-5138-4293-8571-b5b43f6b4646 / xfs по умолчанию, noatime, discard, nobarrier
Это пример, показывающий строку, соответствующую моему новому корневому разделу. Код, который появляется справа от UUID = это то, что мы заменим нашим UUID.
Как только мы это сделаем, мы, конечно, должны указать новую файловую систему нашего раздела, XFS в моем случае или замените его своим в случае другой файловой системы. Еще нужно поставить новые варианты крепления: Если не знаете, что ставить, ставьте "По умолчанию"; нет времени увеличивает производительность за счет уменьшения количества операций записи, отбрасывать уменьшает запись на ssd диски, увеличивая их долговечность.
6.- Вот где начинается настоящая ебля, и вот где я застрял. Это не так уж и сложно, но с этого момента документации почти нет.
Нам нужно перестроить меню Grub, чтобы оно правильно запускало операционную систему. Я бы не знал, как это сделать вручную, вы можете попробовать, как я (изменил UUID и т. Д.), Но нормальным будет то, что запуск ОС останавливается в приятной и обнадеживающей «аварийной оболочке».
К счастью, инструмент принадлежит grub2. "Grub2-mkconfig" который автоматически выполняет эту задачу, принимая в качестве эталона характеристики системы, в которой он работает. Проблема в том, посмотрите где, система, в которой она работает, не является целевой системой, и последняя временно не работает.
Итак, нам нужно сделать корневой и смонтировать ряд специальных разделов для запуска этого инструмента, без которых он не будет работать. Процедура, как это сделать, плохо объяснена почти во всех местах (что не означает, что они не знают, как это делать, но что они думают, что мы - супер-компьютерные трещины)
К счастью здесь: http://askubuntu.com/questions/28099/ho … ll-kernels Я нашел забавное объяснение по этому поводу, которое я обобщу и переведу:
- Смонтировать / и / dev:
монтировать / dev / sda1 / mnt mount --bind / dev / mnt / dev
Где "sda1" заменяется на тот, который соответствует корневому разделу, если это не "sda1"
- Смонтируйте / boot и / boot / efi, последнее, если у нас был раздел EFI.
смонтировать / dev / sda2 / mnt / boot
Где "sda2" заменяется на тот, который соответствует загрузочному разделу, если это не "sda2"
Сборка efi не идет по ссылке выше, это моя вещь, но в данном случае она мне понадобилась. Если у вас нет раздела EFI, игнорируйте это.
смонтировать / dev / sda3 / mnt / boot / efi
Где "sda3" заменяется на тот, который соответствует загрузочному разделу, если это не "sda3"
- Chroot и некоторые другие вещи, единственное, что я знаю об этих вещах, это то, что они необходимы:
chroot / mnt mount -t proc none / proc mount -t sysfs none / sys mount -t devpts none / dev / pts export HOME = / root export LC_ALL = C
Это мое дополнение, оно может понадобиться позже для одного:
монтировать -t tmpfs tmpfs / запустить
7.- grub2-mkconfig
Что ж, это почти звездный момент. Мы должны найти файл с именем "grub.cfg" внутри загрузочного раздела. В моем случае его путь /boot/efi/EFI/fedora/grub.cfg
Когда мы его нашли, запускаем в среде chroot:
grub2-mkconfig -o /path/a/grub.cfg
И, наконец, у нас готово меню личинок.
8.- Восстановите initramfs.
Я считаю, что этот шаг необходим, но не совсем уверен. Однако достаточно переустановить то ядро, которое мы хотим, или выполнить:
dracut --force / путь / к / файлу / initramfs / который / мы / хотим / заменить
Например:
dracut --force /boot/initramfs-3.15.9-200.fc20.x86_64.img
Конечно, все это в среде chroot. (а если нет, возвращайтесь к выходному ящику, э-э ... в «аварийную оболочку»)
PS: Я забыл, что делать для выхода в Интернет в среде chroot, если вы хотите переустановить ядро. Ссылка выше очень хорошо объясняет: вам нужно открыть новый терминал и скопировать эти файлы:
cp / mnt / etc / hosts /mnt/etc/hosts.old cp / etc / hosts / mnt / etc / hosts cp /etc/resolv.conf /mnt/etc/resolv.conf
9.- Получите доступ в Интернет:
Вам просто нужно скопировать следующие файлы, графически или через консоль, в последнем случае за пределами среды chroot. Это можно сделать с другого терминала или путем выхода из среды chroot и повторного входа.
cp / mnt / etc / hosts /mnt/etc/hosts.old cp / etc / hosts / mnt / etc / hosts cp /etc/resolv.conf /mnt/etc/resolv.conf
10.- Переустановите ядро:
Мы переустанавливаем ядро в среде chroot с помощью нашего диспетчера пакетов
11.- СБРОСИТЬ AAR :: DD
Этот момент должен быть концом для «нормальных» дистрибутивов, для дистрибутивов с SELinux, как в моем случае, это заняло немного больше времени.
Несмотря на то, что запуск прошел до конца, и я попытался запустить графическую систему, этого не произошло, и когда я попытался войти в систему как пользователь или как root, он сказал бы: «В доступе отказано».
Я что-то читал об этом, и, по словам одного человека, проблема могла быть в selinux, и он предложил поместить selinux = 0 в конец строки загрузки в grub.cfg, например:
menuentry 'Fedora с Linux 3.15.9-200.fc20.x86_64' --class fedora --class gnu-linux --class gnu --class os --unrestricted $ menuentry_id_option 'gnulinux-3.15.9-200..fc20 .x86_64-advanced-36f3ce91-5138-4293-8571-b5b43f6b4646 '{load_video set gfxpayload = keep insmod gzio insmod part_gpt insmod ext2 set root =' hd1, gpt2 'if [x $ feature_platform_search_hint = xy]; затем выполните поиск --no-floppy --fs-uuid --set = root --hint-bios = hd1, gpt2 --hint-efi = hd1, gpt2 --hint-baremetal = ahci1, gpt2 1cd04509-ab7c-4074- 8bab-e170c29fe08e else search --no-floppy --fs-uuid --set = root 1cd04509-ab7c-4074-8bab-e170c29fe08e fi linuxefi /vmlinuz-3.15.9-200.fc20.x86_64 root = UUID = 36f3ce91-5138 -4293-8571-b5b43f6b4646 ro rd.md = 0 rd.lvm = 0 rd.dm = 0 vconsole.keymap = en rd.luks = 0 vconsole.font = latarcyrheb-sun16 rhgb quiet selinux = 0 initrdefi /initramfs-3.15.9. 200-20.fc86.x64_XNUMX.img
Посмотрите на предпоследнюю строчку справа.
Я не делал этого напрямую, а просто отредактировал загрузочную запись в самом меню grub, так что это была временная модификация, я думаю, это было сделано нажатием «c» или «e», в меню grub вы можете это сделать. места.
Что ж, мы делаем это и перезагружаемся, или продолжаем загрузку.
12.- Свет в конце туннеля.
Если мы не смогли напрямую выполнить предыдущий шаг, то именно на этом предпоследнем шаге мы можем получить доступ к нашему обычному рабочему столу. Тост за наш великий подвиг, но да SELinux облажался, мы еще не закончили.
Мы должны повторно отредактировать grub.cfg, чтобы удалить "selinux = 0" или просто перезагрузиться в обычном режиме, если то, что мы сделали, было отредактированием записи в меню grub. Дело в том, что мы перезагружаемся с активированным SELinux.
Затем, в конце старта, выходит что-то, что должно переименовать политику SELinux нацелен, мы оставляем его в покое, и по завершении он перезапускается.
Мы увидим, что наша система запустится, показывая наш обычный рабочий стол, с активированным SELinux, нашей файловой системой и всеми нашими полностью функциональными программами.
Это конец руководства, надеюсь, он вам поможет
UPDATE: Когда я сделал это в первый раз, я понятия не имел, и я сделал шаг по регенерации initramfs, а затем я переустановил ядро, и все это было очень беспорядочно, и в конце концов оно сработало почти не зная почему, и я дал оба варианта одинаково хорошо, но регенерировать initramfs не работает и я вычеркнул его. Единственное, что работает, - это переустановить ядро (я подозреваю, что это пакеты ядра и ядра ядра в Fedora), и поэтому я изменил руководство.
И я также хочу добавить, что для изменения формата файловой системы раздела / home необходимы те же шаги, я не знаю, нужен ли selinux, но если он не работает с selinux, он временно удаляется и все.
Рекомендуемое изображение взято из здесь.
Мне кажется, что до зрелости btrfs еще пара лет, и что когда он выходит из строя, есть инструменты для восстановления после паники без потери данных ... ext4 по-прежнему на высоте.
Что касается работы с chroot, в руководствах по gentoo вы очень хорошо объяснили:
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base/es
Я также использую dracut для генерации файлов initramfs, поскольку мне нужен модуль mdadm для grub2, без которого grub2 не может найти раздел / dev / md0 в / boot.
Мне дали новый SSD-диск 120 ГБ, но я не хочу его использовать, это очень новая и не очень зрелая технология, я не хочу переустанавливать систему каждый раз, когда ячейка в SSD повреждена.
Я установил с нуля в raid 1 на два диска по 1Т каждый, еще в апреле 2012 года ... моему геноциту скоро исполнится 3 года ... хе-хе
# genlop -t gentoo-sources | голова -n3
* sys-kernel / gentoo-sources
Ср 11 апр, 23:39:02 2012 >>> sys-kernel / gentoo-sources-3.3.1
Это процедура, которую я использую для создания начального RAM-диска, добавления к нему графической темы bootplash.
и регенерировать входы grub2.
# mount / boot
# dracut –hostonly »3.19.3-gentoo –force
# splash_geninitramfs –verbose –res 1920 × 1080 –append /boot/initramfs-3.19.3-gentoo.img emerge-world
# grub-mkconfig -o /boot/grub/grub.cfg
Спасибо, что поделились своим опытом о btrfs.
Что за друг Elav, отличная запись в блоге и спасибо товарищу "SuperYO" с форума. Правда в том, что ничего подобного со мной никогда не случалось, совсем нет, но никогда не помешает иметь такой мега-учебник.
Лично я вообще не считаю BTRFS незрелым, XFS я не использовал, я знаю, что CentOS 7 приносит его, но до сегодняшнего дня мне не приходилось монтировать с ним новый сервер, поэтому на данный момент я не вижу смешного взгляда на него. В OpenSUSE я использую BTRFS, но это не дало мне никаких проблем, даже на SSD дисках. Что, если бы мне пришлось потратить целую вечность на создание SSD-кеш-диска в Unix, это действительно была огромная проблема, документацию Intel я считаю очень неясной и сложной. на самом деле у меня есть открытая тема на форуме и в других местах, но видимо никто не сталкивался с этой темой иначе они просто оставляют диски SSD-кеша, которые приносят ноутбуки для чего-то другого, вдруг ставят их как SWAP, чтобы не изменить скорость системы, кто знает.
Возможно, запись о существующих типах файловых систем в Unix была бы впечатляющей, описывая преимущества каждого из них, я не знаю, другой также был бы хорош в отношении SELinux, поскольку так много говорится о безопасности, но я прочитал учебник в Интернет и везде ставят «SELinux = Disabled», только в «свободном объеме» дают советы, как разрешить программы через него.
Теперь я больше не продолжаю.
Спасибо за вклад и приветствия.
Спасибо за подсказку, дружище, но zfs имеет все характеристики btrfs, поэтому для использования в linux модуль должен быть поднят в ядре, но во freebsd он идет по умолчанию и не вызывает ни одной проблемы, я рекомендую его, так как btrfs все еще у него, так сказать, много «мелких проблем».
Это я или обратите внимание на elav с очень испанским акцентом сегодня.
Я тоже это заметил. Кто будет знать причину этого.
Хахахаха .. это то, что статья не моя .. не говори мне, что ты не читал первый абзац хахаха.
Теперь, когда вы упомянули об этом ... Нет. Я даже не замечаю.
Привет. Если вы увидите запись на форуме, вы увидите, что пункт 8 перечеркнут, потому что он недействителен, вам нужно переустановить ядро, и я так выразился, когда редактировал его 😛
Что происходит, так это то, что когда я делал это впервые, я действительно не знал, что делаю, и я пробовал все, поэтому я запутался 😛
И я продолжаю, что случилось так, что мой предыдущий комментарий еще не был опубликован 😛
Поэтому, если в сети ничего нельзя вычеркнуть, то пункт 8 следует удалить, чтобы сбить с толку персонал. В любом случае, худшее, что может случиться при регенерации initramfs, - это то, что я получил: абсолютно ничего не происходит, ни хорошего, ни плохого, что тоже не так серьезно, но это бесполезный шаг.
Хорошая статья, которой вы поделились, благодаря своему опыту я узнал кое-что новое 😉
Готов поспорить на все, что чувство победы, которое вы испытали в достижении своей цели, намного перевесило неудачи. 😉
Открытый исходный код очень женственный: он не для нетерпеливых.
Если посвятить внимание, страсть и терпение, чтобы углубить его очарование, он даст нам лучшее из себя.
Какой хороший пост набрал коллега superYO. Это мило.
Почему XFS вместо ext4 ??
????
Ext4 стареет когда говорят ... а для записи больших данных лучше xfs.
Об авторе поста ни разу не видел, чтобы jurnal btrfs заполняли раздел /
Интересно, я думаю, это потому, что компьютер зимой, в которую я верю, потому что со мной этого никогда не случалось! с дистрибутивами, которые я использую с ssd samsung pro, и со мной этого никогда не случалось.
Это не то, что заметно на средних или больших разделах, но на 20-гигабайтном разделе BTRFS вы можете фактически заполнить корневой раздел почти половиной свободного места.
И это была не единственная его проблема. С точки зрения чтения, диск был более или менее правильным, но установка и обновления были очень медленными для ssd-диска и обычного жесткого диска, что сильно раздражало.
Я виню гибридный диск, который у меня есть в ноутбуке, потому что в других местах, где у меня установлена Fedora с btrfs, у меня нет проблем, и он работает быстро и хорошо, за исключением моего основного компьютера, на котором, как я уже сказал, есть гибридный блок. Теперь с обоими разделами с XFS этот компьютер ведет себя намного лучше.
С каких это пор это 10 минут с DesdeLinux?, я едва осознаю, что оно там о_о
Некоторое время назад 😀
Думаю, это будет странно, но я долго это исследовал, так ленился, что не хотелось поднять настроение. Спасибо за информацию, я хочу передать свой / home в xfs и / в btfrs
Спасибо за статью, очень интересно.
Критика содержания:
Я упоминал об этом в других сообщениях, и я думаю, что в блоге, подобном этому, совместном, в котором участвуют самые разные люди, они не должны позволять себе размещать изображения, подобные тому, который вы поместили в заголовок сообщения. Не потому, что выходит девушка в бикини, а потому, что это используется (вероятно, непреднамеренно) в сексистских целях.
Никто не критикует, что девушка или девушка в бикини выходит даже голой. Если это имеет смысл, и кто-то хочет написать о телах и Интернете, или сексуальности и Интернете, или что-то в этом роде ... Я думаю, это здорово.
Вроде неплохо, но ... Зачем переустанавливать ядро? Я не понимаю.
Правда в том, что после установки Arch пару раз я уже имел представление о том, куда будут делаться снимки, я был с новым компьютером с Arch в течение 1 месяца и ssd, отформатированным с ext4, я подумываю перейти на btrfs, но Меня это тоже не убеждает, потому что после просмотра некоторых тестов производительности в Phoronix не очень ясно, что производительность лучше, и даже в этом случае с Arch Wiki я уже поиграл со всем, что мог, чтобы оптимизировать производительность