Небольше открытие для новичков

Не знаю насколько актуально это будет для опытных админов Linux, но для меня это было полезное открытие.
Возился как-то с мдрэйдом метадата 1.2 на новом сервере ну не загружался он у меня никак, пришлось делать инитрамфс...
В целом раньше вход в шел busybox доводилось делать, но мне никогда не приходио в голову, что можно прям там смонитровать корень или загрузочный раздел и поправить там что-нибудь в файловой системе, конфиг граба например или фстаб. И вот однажды пришло. Попробовал - получилось, смонировал корень системы, выполнил chroot, сменил пассвд рута и был таков. Актуально для тех кто ставит новую систему и забывает назначить пароль пользователю, при этом используется генкернел.
Это быстрее чем грузится с srcd.
Для реализации надо всего-лишь передать загрузчику неправильный путь к корневому разделу, тогда при загрузке он спросит его.
Соотвественно, работает только при наличии рабочего initramfs.
Может пригодится админам при отладке загрузки с рэйда.

интересно, сколько новичков

интересно, сколько новичков погибнет при данном сценарии? :D

> мдрэйдом метадата 1.2 на новом сервере ну не загружался он у меня никак, пришлось делать инитрамфс...
отбросив в сторону таинственный смысл (окромя ССЗБ) нахождения рута на mdraid (да и вообще на кой хрен это в 2017 году?) детектед ниосиляторство то ли конфигурирования ядра, то ли педерачи ему параметров.

А что, с 2017 года по новому

А что, с 2017 года по новому указу президента диски перестали вылетать? :)

а что, mdraid это не

а что, mdraid это не наихудшая стратегия? тем более учитывая Ваш же пост про необходимость userspace (ohshi!) для сбора массива? давайте уже оставим инитраму (на которой как минимум почти каждый спотыкается) бубунтам и тем редким конфигурациям, где она реально нужна.
или уж аппаратный массив (речь вроде о сервере была) или же зеркало на том же btrfs – проблем всяко на порядок меньше.

На том сервере полуаппаратный

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

ну, по пунктам: 1. «проще и

ну, по пунктам:
1. «проще и понятнее» – охренеть как просто, аж инитраму переть надо, что и косвенным образом немало снижает ремонтопригодность. аппаратного там емнип почти нихрена нету окромя может кое-какой возни с метаданными. в целом это ублюдочек эдакий, который как бы и рейд и нифига не рейд. опять же внутре энтерпрайс, который может ебнуть как-нить исподтишка, а выгоды в итоге никакой.
как я уже говорил, тот же btrfs_с_многа_устройств будет удобнее и нисколько не ненадежнее, если не лезть в то, что тут не зелененькое

2. получить то можно доступ. только все потребные модули должны быть или вмоноличены или явно загружены инитрамой, что как бы нужно предусматривать заранее. кроме того, надо тогда и мало-мальский редактор волочь в инитраму, утилиты… очередной аллах же получается, не? когда-то давно я любовно собирал свой личный маленький инитрамфс – потренировался и понял что он не_нужен. ограничился kvm и флэшкой с srcd в жопе сервера на самый крайний случай. собственно суть тут в том, что лучше всегда иметь готовый полнофункциоанальный инструмент, чем напороться на недофункциональности простого наколенного.

1 Инитрамфс нужен только для

1 Инитрамфс нужен только для монтирования рута который лежит на мдрэйде с метадата 1.2, при метадата 0.9 оно не надо.
В моем случае поигравшись с инитрамфс я пересобрал рэйд на метадата 0.9.

2 Да не, зачем модули и утилиты, все уже есть на фс к которой мы будем подключаться. Действуем аналогично установке генту, монтируем корневую фс, монитруем в нее /proc и /dev далее выполняем chroot. Все модули уже там и утилиты тоже.

а если «на фс к которой мы

а если «на фс к которой мы будем подключаться», что-то сломано? это имеет более чем нулевую вероятность ввиду того, что когда все в порядке, лезть никуда не надо. удав совершенно не нужен, сеть конфигурировать ифконфигами?

что-то я не понял про метаданные. насколько я понял, речь идет о фейкрейде от интела? тогда речь должна идти об external metadata, а именно о Intel(r) Matrix Storage Manager metadata format.

1 В общем то по

1 В общем то по обстоятельствам надо смотреть, в каких-то случаях может пригодится. Например сбросить пароль рута, подправить какой-нибудь конфиг, в общем исправить какие-либо ошибки мешающие нормальной загрузке и функционированию ОС. Случается всякое и иногда сервер может не загрузится после установки и конфигурирование чего-либо, либо может быть потеряно управление к примеру в связи с переходом на новый тип аутентификации. Можешь посчитать сколько раз тебе приходилось загружать srcd что бы починить что-либо на сервере или компе.
Не вижу проблемы поднять сеть ифконфигом если это необходимо.
Что может быть сломано на корневой фс(кроме самой фс) что может помешать подключиться в нее с помощью chroot?

2 Ну тут все в конец запутали. История про рэйд и метадата 1.2 была всего лишь завязкой того как я пришел к осознанию сабжа.

Beelzebubbie написал(а):
а что, mdraid это не наихудшая стратегия?
...
или уж аппаратный массив (речь вроде о сервере была) или же зеркало на том же btrfs – проблем всяко на порядок меньше.

Далее я просто написал что в этом сервере полуаппаратный рэйд который надо заводить через dmraid. dmraid для меня кажется сложнее и опять же требуется инитрамфс для выполнения активации самого массива (dmraid -ay). Потому собственно я выбрал mdraid, но посколько последний раз работал с ним давно, лет пять назад, не учел, что нынче он по умолчанию собирает массив с метадата 1.2, ну а далее были грабли с загрузкой и инитрамфсом, где и пришло осознание того, что можно без всякого загрузочного дистриба при наличии инитрамфс подучить доступ к фс, и в том числе выполнить chroot, в моем образе он есть, полагаю что есть и в других.
Суть сабжа не том как правильно запускать на серверах рэйды и прочее, это сугубо личное дело каждого и является его зоной отвественности.
Суть сабжа в том, что можно войти в свою ОСь через "форточку", без ключа (читай без пароля) и без специального загрузочного устройства (флешки или диска или pxe или образа где-нибудь на зарузочном разделе)

Просто попробуй:
1 После загрузки граба войти в режим редактирования конфига, найти нужный вариант загрузки, в строке linux поправить параметр root, указать там несуществующий раздел и запустить загрузку
2 После того как инитрамфс споткнется о невозможность подключить корневой раздел, он предложит выбрать корень вручную или же получить шел busybox.
3 Пишешь shell жмешь ентер, входишь в busybox шел инитрамфса, далее выполняешь монтирование корня, далее монтируешь в корень proc, dev и венчаешь все это chrootом
4 Вот она твоя ОСь, без запущеных служб и необходимости входа в систему. Делаешь все что нужно. Выходишь из chroot, отмонтируешь все что примонтировал, жмешь ^d попадаешь обратно в загрузку системы.
5 Указываешь реальный корневой раздел, жмешь ентрер и система загружается далее как ни в чем не бывало.
6 Сфера применения данного метода расширяется фантазией.

Наихудшая стратегия -

Наихудшая стратегия - фейковый РАЙД (такой, как железо у ТС), а использование РАЙДа 1.2 для загрузки - просто ошибка от неграмотности.

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

Кстати, на инитраме спотыкается только тот, кто плохо учился в админской школе. ;)

> на инитраме спотыкается

> на инитраме спотыкается только тот, кто плохо учился в админской школе
угу, помню как с дракутом было весело менять носитель под корневым разделом. а плохо учился тот, кто еще использует инитраму без 100% необходимости. например пользователи какононикалов :-D

> О проблемах и недостатках БТРа не хочу повторяться
из моего опыта (года 2.5) использования btrfs на десктопах и серверах во всех дырах, окромя высокой нагрузки, особых проблем не обнаружил. хотя я конечно, не вылазил за «стандартные» рамки плюс сжатие, raid0/1, субтома, снапшоты (то есть не лез в raid5/6, дедупликацию, квоты, скраб). к слову, пробы использования «нестабильных» опций ext* заканчивались каждый раз совершенно нехорошо.
в целом для неспециальных и не особо требовательных применений типа корня, бэкапов, хомок итд – удобств больше а проблем *не* больше, чем у майнстрима ext*.
к примеру, вот текущее с десктопа для всякого объемного хлама:

# btrfs filesystem show /mnt/bulk                          
Label: 'xxxxxx'  uuid: xxxxxx-9e8e-415d-ad61-xxxxxxxxxxxxx
	Total devices 2 FS bytes used 1.65TiB
	devid    1 size 1.78TiB used 926.03GiB path /dev/sdc3
	devid    2 size 1.78TiB used 926.03GiB path /dev/sda3

# btrfs filesystem df /mnt/bulk                              
Data, RAID0: total=1.80TiB, used=1.64TiB
System, RAID1: total=32.00MiB, used=148.00KiB
Metadata, RAID1: total=5.00GiB, used=3.46GiB
GlobalReserve, single: total=512.00MiB, used=0.00B

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

Так что прошу повториться и рассказать о проблемах своего опыта :-)

Я абсолютно согласен с тем,

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

Не вижу смысла повторяться для ленящихся поискать на форуме, могу лишь резюмировать, что БТР на серверах имеет место быть или не быть в зависимости от его (сервера) назначения (например, у нас БТРы стоят примерно на половине всего парка, а это несколько сотен только физических серверов), в то время как на десктопах это практически определяется только (не)приязнью его владельца. К примеру, у меня на домашнем десктопе (ставилась задача обеспечить максимально возможную надежность и простоту восстановления при вылете дисков в мое отсутствие :)), БТРы стоят только для пользователей и файлопомоек, а система весьма эффективно разруливается МДРАЙДами разного уровня и ЛВМами (с зеркалированием по необходимости):

Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] 
md2 : active raid1 sdb1[0] sdc1[1]
      523008 blocks [2/2] [UU]
md1 : active raid6 sdb2[0] sde2[4] sdd2[2] sdc2[1]
      77574144 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
md0 : active raid1 sde1[0] sdd1[1]
      523008 blocks [2/2] [UU]
  PV         VG  Fmt  Attr PSize  PFree 
  /dev/md1   sys lvm2 a--  73.98g 40.98g
...
/dev/mapper/sys-opt on /opt type reiserfs (rw,noatime)
/dev/mapper/sys-portage on /usr/portage type reiserfs (rw,noatime)
/dev/mapper/sys-usr on /usr type reiserfs (rw,noatime)
/dev/mapper/sys-usrsrc on /usr/src type reiserfs (rw,noatime)
/dev/mapper/sys-varlog on /var/log type reiserfs (rw,noatime)
/dev/mapper/sys-var on /var type reiserfs (rw,noatime)
/dev/md0 on / type ext3 (rw,noatime,data=ordered)
/dev/md2 on /boot type ext3 (rw,noatime,data=ordered)
...
/dev/sda1 on /mnt/disk-c type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
/dev/sdb3 on /backup/IBM type btrfs (rw,relatime,space_cache,subvolid=257,subvol=/IBM)
/dev/sdb3 on /backup/transit type btrfs (rw,relatime,space_cache,subvolid=258,subvol=/transit)
/dev/sdb3 on /backup/video type btrfs (rw,relatime,space_cache,subvolid=259,subvol=/video)
/dev/sdb3 on /home type btrfs (rw,relatime,space_cache,subvolid=260,subvol=/home)
/dev/sdb3 on /mnt/storage type btrfs (rw,relatime,space_cache,subvolid=5,subvol=/)
/dev/sdb3 on /usr/portage/distfiles type btrfs (rw,relatime,space_cache,subvolid=261,subvol=/portage)
...
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,noexec)
tmpfs on /tmp type tmpfs (rw,noexec,noatime,nodiratime)
tmpfs on /var/tmp type tmpfs (rw,noatime,nodiratime)
...

При этом карта БТРФС выглядит так:

/dev/sdb3, ID: 3 Device size: 260.57GiB Device slack: 0.00B Data,RAID1: 138.00GiB Unallocated: 122.57GiB
/dev/sdc3, ID: 5 Device size: 428.24GiB Device slack: 0.00B Data,RAID1: 303.00GiB Metadata,RAID1: 2.00GiB Unallocated: 123.24GiB
/dev/sdd3, ID: 4 Device size: 260.57GiB Device slack: 0.00B Data,RAID1: 136.00GiB Metadata,RAID1: 2.00GiB System,RAID1: 32.00MiB Unallocated: 122.54GiB
/dev/sde3, ID: 6 Device size: 893.99GiB Device slack: 0.00B Data,RAID1: 577.00GiB Metadata,RAID1: 4.00GiB System,RAID1: 32.00MiB Unallocated: 312.96GiB

P.S. Если соизволите поискать и ознакомиться с моей оценкой БТРов, можем потом подискутировать...

> не люблю /usr в корнену

> не люблю /usr в корне
ну это да, дело вкуса. я вот к /usr ровен (чета даже не соображу зачем ему нынче отдельный раздел), а на отдельном держу /var

> криптование всего и вся
ну если хомки на десктопе недостаточно… тоже интересно было бы услышать подоплеку

> МДРАЙДами разного уровня и ЛВМами
в том и интересность btrfs, что немалую часть экспонатов этого зоопарка оно призвано заменить.

> Если соизволите поискать
поиск? УМВНР как обычно, а у Вас?

BeelzebubbieРасскажи чем

Beelzebubbie
Расскажи чем противопоказано нахождение рута на массиве? кроме того, что будет проблемна загрузка при использовании метадата 1.2 без инитрамфс.
Ниосиляторство и далее по тексту попахивает высокомерием, но это допустимо, всем нам свойственно ошибаться.

ничего страшного в нахождении

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

назови пожалуйста хотя бы 5

назови пожалуйста хотя бы 5 нормальных с твоей точки зрения рейдов для ссд по гуманным ценам

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 ;)

назови пределы гуманности

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

450 евреев или 500 зеленых

450 евреев или 500 зеленых президентов по ценам в EU - это край гуманности для "обычного сервера."

П.С - я тоже по HBA - т.к. их можно в mdraid без гиммора и 12ГБ дырки недорого под ссд

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 ;)

адаптек 1000-16i из

адаптек 1000-16i из последнего приобретенного было, чутка дороже $500

А он и не должен иначе работать!

nyam написал(а):
...Возился как-то с мдрэйдом метадата 1.2 на новом сервере ну не загружался он у меня никак, пришлось делать инитрамфс...

А он и не должен иначе работать с 1.2:

Booting from a 1.2 raid is only supported when booting with an initramfs, as the kernel can no longer assemble or recognise an array - it relies on userspace tools. Booting directly from 1.0 is supported because the metadata is at the end of the array, and the start of a mirrored 1.0 array just looks like a normal partition to the kernel. 

SysA Дык я же не знал. Собрал

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

Вообще-то нормально - это

Вообще-то нормально - это прежде почитать доки по теме, а не тыкаться во все дырки, как слепой котенок! :) Хотя это, конечно, old school...

Если же учиться только методом проб и ошибок, то можно столько дров наломать!.. да и времени нужно куда больше...

P.S. И не надо путать жизненный опыт с техническим! :)

Документацию читают только

Документацию читают только зануды, нормальные люди читают документацию либо когда все сломано, либо в туалете.
Олд скул шутка.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".