Btrfs-raid1 (/boot, /, и всё остальное) + grub2/extlinux
Добрый день, уважаемые участники форума!
Сразу скажу, что я пока новичок в Gentoo (пытался установить её в первый раз), поэтому плз поправляйте меня если я вдруг ошибусь где-то.
Итак, у меня проблема: я хочу вместо raid1+LVM+ext4 использовать Btrfs-raid1, я нашёл статью http://tincman.wordpress.com/2011/01/20/installing-arch-linux-onto-a-gpt-partitioned-btrfs-root-ssd-on-a-legacy-bios-system/ и пытаюсь повторить это на виртуальной машине дома, всё остальное стандартное - читал handbook с официального сайта (ах да, ещё GPT использовал, в handbook немного устаревшая информация).
Свои приключения (чтобы не забыть последовательность действий и команды) я описывал тут - получилась небольшая статья/заметка
https://www.evernote.com/shard/s23/sh/5e6003d5-931c-4f1f-a16f-3cdb9e46999b/edef9c12cefb70a0c7859a1d3a3fcae7
моя проблема - это невозможность подружить grub2 с btrfs, по крайней мере у меня не получилось, подскажите плз, где я ошибся... я хочу чтобы на btrfs-raid1 было всё кроме swap, в итоге я набираю команду
grub-mkconfig -o '/boot/grub/grub.cfg'
и получаю ошибку
/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).
(и если вдруг кто-то проглядит всю последовательность моих действий и найдет какие-то другие ошибки - отдельное спасибо)
- Для комментирования войдите или зарегистрируйтесь
Не ищите себе дополнительные
Не ищите себе дополнительные проблемы - никогда не ставьте рут на RAID[^1]/LVM/EVMS и экзотические ФС! :)
Сделайте небольшой (у меня - 512Мб на RAID1) рут на проверенной ехт[234], а остальные - как вам опыт и фантазия подскажут... ;)
а какие проблемы могут
а какие проблемы могут возникнуть, если вместо ext4 я буду использовать Btrfs? (оно умеет и зеркалирование делать как raid1 и бэкапить можно разделами как в LVM и судя по всему это то что будет вариантом по умолчанию в новых убунтах и федорах)
Вы в праве делать все, что
Вы в праве делать все, что хотите...
Я просто дал совет на основе многолетнего опыта.
Убеждать/разубеждать не буду - набирайтесь своего опыта... ;) для меня же очевидно, как относиться к системам, которым год от роду или состоящим из многих компонент, которые иногда почему-то ломаются... :)
Еще совет напоследок - рекомендую всегда задумываться о том, что вы будете делать, если откажет тот или иной модуль, а то и не один...
Я просто стараюсь исходить из
Я просто стараюсь исходить из своей ситуации - сейчас мне важнее научиться, чем получить стабильный сервер. Новые полезные (в будущем) знания важнее аптайма сейчас. Никаких сверхважных проектов, которые не переживут оффлайн на сутки на этом сервере у меня нет. Плюс бэкапы каждый день (потеря данных за сутки и даже за неделю не является чем-то ОЧЕНЬ критичным для меня). Но более того, у меня пока будет Gentoo на домашней VPS, а не на реальном сервере, там пробовать пока что экспериментальную систему Btrfs, я конечно же не буду. Через полгодика-год когда все используемые мною компоненты станут стабильными (у меня ещё планы поставить systemd туда) и когда будет побольше опыта - вот тогда и заменю Ubuntu на Gentoo, а пока просто эксперименты дома...
Мне просто наскучил Ubuntu тем что он не ломается.. Более того, иногда по определённым причинам даже нужны какие-то проблемы с сервером и необходимость в админе чтобы их решать иначе у некоторых людей может возникнуть желание и самим набирать sudo aptitude update && sudo aptitude upgrade раз в недельку - в самом деле, зачем админ если всё просто и ничего не ломается - к сожалению, у некоторых людей именно такой подход... Вообщем, я хотел бы получить опыт и новые интересные приключения вместе с Gentoo поэтому я не боюсь новых нестабильных версий и поэтому там < 9999 в некоторых случаях (это уже частично ответ на комментарий ниже) :-)
В худшем случае - датацентр предоставляет rescue систему, можно всегда перезагрузиться и всё починить за ночь. А данные восстановить из бэкапов с другого сервера.
То есть другими словами, я полностью понимаю все последствия и готов к ним, просто я не понимаю как подружить grub2 и Btrfs и поэтому прошу в этой теме подсказать какие-то конкретные вещи (в идеале step-by-step гайд если вдруг кто пробовал и записал).. И конечно же я никому свой выбор не навязываю... Просто мне хочется попробовать то, что будет по дефолту в убунте и федоре через несколько лет. Неужели никто в исследовательских целях просто ради интереса не пробовал это? По той же причине, кстати, я и systemd хочу попробовать...
В данном случае, по-моему,
В данном случае, по-моему, достаточно
/boot
вынести в отдельный раздел...Нет, но это отдельная
Нет, но это отдельная дискуссия...
тут проблема в / на Btrfs как
тут проблема в / на Btrfs как я понимаю... (видел тикет с такой же проблемой, /boot там был на ext2)
Я тут поигрался на виртуалке,
Я тут поигрался на виртуалке, и вот что у меня вышло. Точнее не вышло.
1. Создал raid1 средствами btrfs на двух разделах (sda3 и sdb3). boot отдельно.
2. Создал subvolume.
3. Если загрузиться с LiveCD, массив прекрасно монтируется командой
4. При загрузке ядро не может примонтировать раздел (ядру передаются
)
я там где-то читал про
я там где-то читал про real_rootflags вместо rootflags, не знаю правда, насколько это поможет...
я попробовал установить extlinux вместо grub2, оно вроде бы установилось, но после ребута я вижу
вообщем, на данный момент что известно:
можно заставить работать Btrfs если 1 диск и загрузчик extlinux или grub legacy , при этом на Btrfs будет и / и /root, с grub2 тоже вроде можно, но надо его патчить как написано на убунтушном форуме...
как быть когда несколько устройств непонятно...
но если нельзя - тогда лична для меня нет никакого интереса в Btrfs, так как я хотел ею заменить связку из raid1+LVM, на одном диске (судя по тестам) она не показывает каких-либо выдающихся результатов...
lorddaedra написал(а): я там
Это справедливо в случае, если используется генкернеловский рамдиск. Я не использую.
может быть, это как-то
может быть, это как-то поможет:
http://bugs.gentoo.org/attachment.cgi?id=218477&action=edit
Спасибо, но нет, это не то.
Спасибо, но нет, это не то.
Ядро собирал последним жёлтым
Ядро собирал последним жёлтым genkernel'ом. Использовал extlinux для загрузки. Так как два диска в Btrfs-разделах, то /boot отдельно на software raid1
всё это у меня загружается, правда с ошибками (почему-то md* нет и какие-то проблемы с concole и null)
http://dl.dropbox.com/u/15855034/Gentoo-boot-bug.png
но по части Btrfs вроде всё работает, вообщем, не знаю, почему все этот grub(2) используют, c extlinux всё хорошо работает с / на Btrfs-raid1 без всяких патчей
lorddaedra написал(а): Ядро
В таком случае и с грабом проблем не будет. Я гарантирую это )
Вот я и говорю, что с отдельным
/boot
все работать будет. Но только мне хочется обойтись без initrd.GRUB не умеет GPT вроде
GRUB не умеет GPT вроде
а почему без initrd? так разве можно, вроде же Btrfs без этого работать не будет на /?
lorddaedra написал(а):GRUB
судя по https://bugs.gentoo.org/178586 умеет
ну вот хочу без initrd, и все тут.
Ну так я и говорю, что не работает. Хотя должна, иначе это просто поделка какая-то, ИМХО
вообще, я не знаю разницу
вообще, я не знаю разницу между grub и extlinux... но по субъективным оценкам мне не нравится grub и lilo потому что они не развиваются, развивается grub2 и extlinux, но grub2 не работает без патчей (причём каких-то патчей вручную) с Btrfs на /, как-то так... вообщем, мне кажется как-то неприкольно ставить новую вещь (Btrfs) рядом с тем, что не будет развиваться... с другой стороны, я надеюсь что в будущем extlinux будет поддерживать загрузку с Btrfs из нескольких устройств (btrfs в режиме raid1 на двух дисках, например) и тогда я полностью всё сделаю на Btrfs
так как я новичок в Gentoo, а Ubuntu всё это делало само - небольшой вопрос с моей стороны - с чем связано желание избавиться от initrd? если Gentoo устанавливается на сервере, который будет перезагружаться максимум, ну, раз в неделю-две (а скорее всего, раз в несколько месяцев) и совсем не важно, как долго он будет запускаться - имеет ли мне смысл тоже почитать про это и тоже хотеть избавиться от initrd как и вы?
lorddaedra написал(а):
Я от него не избавляюсь. У меня его изначально не было: как с первой установки Gentoo начал ядро собирать руками, так и собираю. Поэтому считаю initrd лишней сущностью (за редким исключением).
Я ни к чему не призываю. Это исключительно мои тараканы.
да я это понимаю, я просто
да я это понимаю, я просто стараюсь принять правильное решение, разводить ли мне таких же тараканов или нет? использование или неиспользование initrd влияет только на процесс загрузки или это потом как-то используется постоянно и оказывает влияние на производительность системы? если только на процесс загрузки - то наверное, мне это не надо, а если это будет использоваться потом и как-то тормозить систему - то надо тоже стараться избавиться... как-то так)
оптимизировать мне всё это всё равно надо (придется учиться), а то получится хуже, чем было в Ubuntu...
а что такого плохого было в
а что такого плохого было в Ubuntu ?
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Ubuntu не rolling release,
Ubuntu не rolling release, увы.. Я люблю всё самое новое...
В плане ядра - там всё ок было :-) Ну, вот и надо чтобы и в моей генте было бы (как минимум) не хуже
Если есть такие вопросы -
Если есть такие вопросы - сначала
и все прояснится! ;)
после строчек про хидеры
после строчек про хидеры младше 9999 читать дальше этот бред убунтойда не смог, был пацтулом.
После конфига харденеда дальше кушать побоялся .
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Как-то вы грубо написали, мне
Как-то вы грубо написали, мне не нравится такой стиль общения...
во-первых, я новичок в генту, о чём и предупредил (в начале той своей статьи и тут в этой теме), делать ошибки новичку - это нормально, так как идёт процесс обучения, ошибки неизбежны, а вот поржать над какой-то тупой фразой новичка без объяснения причины почему поржал - мне кажется, это как-то невежливо к новичку, я правда не понимаю разницу между стабильным и нестабильным пакетом в генту - проблемы при установке у меня были только с двумя стабильными пакетам (причём на реальном сервере одна из них скорее всего бы привела к потере управляемости системой по ssh и необходимости ребута сервера), поэтому стабильные мне сейчас кажутся не настолько уж и стабильными, а раз так - почему бы не использовать те, что поновее?)
во-вторых, нет задачи получить сверхстабильный сервер, основная задача - самые передовые технологии (пусть и нестабильные), к тому моменту, как я научусь - они уже станут стабильными и я буду их использовать, ну а пока что - Ubuntu...
У меня была аналогичная
У меня была аналогичная проблема и я писал конфиг вручную, потом мне btrfs уничтожил все данные после засыпания на диск и я завязал с ней. Я знаю только одну удачную историю btrfs+grub2 - это у alexxy, но вообще и неудачную знаю только свою.
Если найдете в чем дело - напишите пожалуйста сюда. Я думал что дело в ядре, но конфиг у alexxy так и не допросился.
Как бы все gentoo.ru знает,
Как бы все gentoo.ru знает, что дело не в конфиге, а в самом alexxy :). Уж очень сильная и мощная карма у него :)
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
а какое ядро у вас было на
а какое ядро у вас было на момент проведения этих экспериментов?
Что-то около 35 zen или
Что-то около 35 zen или gentoo.
вообщем, я тут погуглил ещё и
вообщем, я тут погуглил ещё и нашёл такой вот гайд:
http://ubuntuforums.org/showthread.php?t=1389279 меня немного (ну так, слегка) напугала необходимость что-то вручную патчить, поэтому я сейчас думаю об использовании EXTLINUX вместо GRUB2
судя по всему, там всё будет работать с Btrfs ок, вопрос только в том, не является ли EXTLINUX чем-то более плохим по сравнению с GRUB2? я слышал, что EXTLINUX более простой и быстрый, его используют на всяких загрузочных cd и прочих подобных вещах... если я буду использовать его на сервере, есть ли в этом какие-то подводные камни? т.е. если это плохое решение, плз скажите чем? а если хорошее, то почему grub такой популярный? т.е. может быть кому-то и каких-либо функций не хватает в EXTLINUX и поэтому используют GRUB(2)? Я нагуглил к минусам EXTLINUX только "May require nasm", не до конца понимаю, насколько это большая проблема...
А вот это все тебе и
А вот это все тебе и предстоит выяснить на своем опыте :)
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
У тебя данные были потеряны
У тебя данные были потеряны из за tuxonice. Это известный баг с btrfs. Тот вариант suspend2disk что в мейнлайне не обладает таким багом. Груб надо ставить 9999 или 1.99 там есть все необходимые патчи.
ЗЫ а причина бага простая: для btrfs нельзя делать freeze. По моему это до сих пор не исправили. Но лучше уточнить у товарижча cmason на #btrfs на freenode
___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера
Если кому-нибудь интересно:
Если кому-нибудь интересно: https://bugzilla.kernel.org/show_bug.cgi?id=33952