grub2 mdadm lvm

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Neděle Květen 25 16:42:00 CEST 2014


On Wed, 21 May 2014, Zdenek Janis wrote:

> pozadam o radu/napovedu zkusenych s grub2, ktery mi nejde nainstalovat:
> [...]
> SW RAID1 na celych diskach (/dev/sda,/dev/sdb) (metadata=1.2). Nad timto 
> RAIDem je LVM2, kde mam vytvorene odily pro root, swap, home a dalsi.

Nejspíš budu trochu opakovat to, co už bylo někým řečeno.

Problém není ani v RAIDu, ani v LVM, ale v tom, že to máte obojí přes celý 
disk bez ničeho jiného.

GRUB se celý do boot sektoru (ať už je to MBR nebo první sektor nějakého
oddílu) nevejde. Proto vyrobí minimální část, která dovolí natáhnout
zbytek z filesystému (core.img), tu uloží někam jinam a do boot sektoru
napíše jen odkaz na to jiné umístění a kód, který to odtud natáhne a
spustí (boot.img).

Preferovaná metoda toho "uloží někam jinam" je tzv. "embedding", kdy se to
strčí do nějakého rezervovaného prostoru, u kterého lze předpokládat, že
má fixní umístění. Např. v tradiční partition table je to volný prostor
mezi MBR a prvním oddílem. V GPT se takový prostor musí alokovat
explicitně. Vyhrazený prostor poskytují také některé souborové systémy.

RAID ani LVM (většinou, viz níže) takový vyhrazený prostor nenabízejí, a
tudíž to v této kombinaci nefunguje. A zdá se, že kód GRUBu ani moc
nepočítá s tím, že by nabízet mohly. A tak, když ho někdo nutí, aby se
v takové situaci instaloval, tak je z toho zmatený a hlásí něco o neznámém
souborovém systému.

(*) LVM to teoreticky umí, ale jen na málokterém svazku je to nastavené
(pvcreate --bootloaderareasize ...; pvs -o pv_ba_start,pv_ba_size ...)
a GRUB2 to ve stávajícím stavu věcí stejně afaik nepodporuje (viz též
<http://lists.gnu.org/archive/html/grub-devel/2013-09/msg00113.html>
a následnou diskusi).

Existuje ještě druhá metoda známá jako "blocklist", kdy GRUB nechá
core.img na souborovém systému jako běžný soubor a dá do boot.img odkaz
přímo tam. Ale to není zrovna doporučený způsob -- a k jeho použití musíte
GRUB docela přemlouvat za použití --force a podobných parametrů --,
protože může snadno dojít k tomu, že se soubor přemístí někam jinam, a pak
se to celé rozsype.


-- 
Pavel Kankovsky aka Peak                      "Que sais-je?"



Další informace o konferenci Linux