Portál AbcLinuxu, 2. června 2024 12:24

Stabilní pojmenování blokových zařízení - updatováno

3.6.2007 12:23 | Přečteno: 1829× | Vše kolem GNU/Linuxu | Výběrový blog | poslední úprava: 3.6.2007 13:12

Nedávno jsem narazil na informaci, kterou kdybych znal dříve, by mi mohla ušetřit pár nepříjemných starostí.

Na svém domácím počítači jsem na tento problém nenarazil, ale na jednom PC v práci mi kernel přecházel do panického stavu téměř po každém svém upgradu. Problémy vycházely z „ideální“ kombinace libata, dvou IDE řadičů, a jejich nepodpoře a následné podpoře v jádře. Přitom jsem si mohl všechny problémy odpustit, kdybych použil stabilní pojmenování blokových zařízení, čili persistent block device naming.

Genialita spočívá opět v jednoduchosti. Prostě není nutné adresovat zařízení pomocí /dev/sda1, což se může různě měnit, ale pomocí popisku (label), UUID, ID (unikátního jména odvozeného dle výrobního čísla), a dle cesty (path - jméno vytvořené dle fyzické cesty k zařízení).

S ID a PATH může být problém, že se jejich název změní, protože jejich název označuje i subsystém, ve kterém se nacházejí. Myslím ale, že například pro flashdisky by mělo být použití bezproblémové.

/dev/disk/by-id/-Kingston_DataTraveler_II+_5B49182B099F-0:0-part1
/dev/disk/by-id/-Corsair_Voyager_GT_A300000000000571-0:0-part1

Pro disky jsou tedy zajímavé možnosti by-label a by-uuid. Z výše uvedeného příkladu je vidět, čím nahradit cestu /dev/sd*. Jsou to cesty

/dev/disk/by-id/
/dev/disk/by-label/
/dev/disk/by-path/
/dev/disk/by-uuid/

V praxi to pak může vypadat takto:

/etc/fstab
=========================

/dev/disk/by-label/koren  / reiserfs defaults,notail,noatime 0 0
/dev/disk/by-uuid/a4181f52-d226-466e-a63e-f2c18cb129b4  /disky/sata200gb jfs defaults 0 2


/boot/grub/menu.lst
=========================
kernel /vmlinuz26 root=/dev/disk/by-uuid/3aef1fd0-b485-43e6-8870-0a971d0c6a0d ro

A pokud bych chtěl, aby se mi flashdisk připojil pokaždé do /mnt/corsair, mohu do /etc/fstab doplnit něco takového:

/dev/disk/by-id/-Corsair_Voyager_GT_A300000000000571-0:0-part1 /mnt/corsair vfat user,noauto 0 0

Doufám, že to některým z vás pomůže vyřešit některé problémy, a těm, kteří to už dávno znali, se omlouvám za ztracený čas.

Update

Filip (filbar) v diskuzi poznamenal, že v systému adresář /dev/disk nemá - takže upřesním, že používám Arch Linux. Tak nějak naivně jsem předpokládal, že to funguje podobně i v ostatních distribucích. Měla by fungovat i syntaxe UUID=a4181f52-d226-466e-a63e-f2c18cb129b4, nebo LABEL=koren, ale nemám to kde otestovat.

       

Hodnocení: 85 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

pavlix avatar 3.6.2007 12:55 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Odpovědět | Sbalit | Link | Blokovat | Admin
Výborný..... geniální věc!
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
pavlix avatar 3.6.2007 16:17 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Já to na Gentoo mam.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
Josef Kufner avatar 3.6.2007 12:57 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Odpovědět | Sbalit | Link | Blokovat | Admin
Fičurka je to hezká, ale ty názvy jsou obludně dlouhý... :-(
Hello world ! Segmentation fault (core dumped)
3.6.2007 12:59 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Ale já žádný adresář /dev/disk/neco nemám:-(
otula avatar 3.6.2007 13:04 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Hm, že by to byla jen fičurka Archu?
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
3.6.2007 13:17 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Jako kdyby snad arch byl distrem, které přináší nějaké vlastní inovace :-) Sundej ty brejle mámení!
3.6.2007 13:20 Libor Klepac | skóre: 45 | Mýto
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
to dela udev, ne arch
Urine should only be green if you're Mr. Spock.
3.6.2007 15:01 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Presneji receno vhodna konfigurace udevu, ktera je soucasti distribucnich konfiguraku. Ciste nainstalovany upstreamovy udev to nedela.
otula avatar 3.6.2007 13:30 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Tak to jsem rád :-) Horší by bylo, kdyby mi tady většina lidí napsala, o čem že to jako píšu. Když jsem třeba hledal více informací k /etc/mkinitcpio.conf, všechny odkazy vedly také jen k Archu. Teď jsem to zkusil znovu, vyběhnul na mne už i odkaz na diskuzi k Ubuntu 7.04.
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
andree avatar 3.6.2007 13:23 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
ibaze by to od nich potom odkukal aj ubuntu, fedora a dalsi :)
3.6.2007 14:15 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Arch je ba naopak o rok pozadu. ;-)
otula avatar 3.6.2007 14:53 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení

To ale patrně asi nebude pravda, protože Arch to měl už v červnu 2006.

Ještě doplním, že to neměla být óda na Arch, spíš jsem se leknul, že píšu o něčem, co je pro ostatní distribuce irelevantní. Nemám rád tady ty žabomyší války mezi distribucemi. Je nás mizivé procento, a přesto mají mnozí potřebu dohadovat se, jestli je lepší Ubuntu, Mandriva, Arch, či Gentoo (každý ať si doplní další hromadu distribucí)

Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
otula avatar 3.6.2007 13:02 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Jsou :) Ale člověk si to zkopíruje. Nebo lze používat by-label, ale hrozí tam teoreticky riziko, že se strčí do počítače disk se stejně pojmenovaným oddílem
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
vogo avatar 3.6.2007 13:01 vogo | skóre: 34 | blog: "Skládat papír"
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Odpovědět | Sbalit | Link | Blokovat | Admin
do fstabu, pokud chceš mountovat podle labelu, stačí psát jen tohle:
LABEL=boot  /boot  ext2  defaults,noatime  1  1
LABEL=swap  swap   swap  defaults          0  0
LABEL=root  /      ext3  defaults,noatime  1  1
Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
3.6.2007 13:10 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Nebo UUID=cosi a to samé funguje i pro command line jádra.
3.6.2007 15:00 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Nefunguje, pokud nemas specielni initrd/initram, ktery to obslouzi.
3.6.2007 23:19 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Hmm, tak v tom případě je takový v Debianu už docela dlouho…
vogo avatar 3.6.2007 13:04 vogo | skóre: 34 | blog: "Skládat papír"
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení
Odpovědět | Sbalit | Link | Blokovat | Admin
navíc, pokud to chceš mít i v grubu, tak musíš mít i initrd, aby bylo odkud spustit udev, a on vytvořil symlinky pčes který se pak odkazuješ na kořen
Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
3.6.2007 13:56 fakenickname | skóre: 42 | blog: fakeblog
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení - updatováno
Odpovědět | Sbalit | Link | Blokovat | Admin
když jsem tohle viděl poprvé (někdy po upgradu ubuntu) tak sem si říkal, že je to největší humus co sem snad na linuxu viděl.. ale když konečně vím co to znamená tak už to aspoň přestanu všude mazat ale spíš prosazovat.. ;)
3.6.2007 14:59 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení - updatováno
Odpovědět | Sbalit | Link | Blokovat | Admin
Myslim, ze odkazovat se na blokove device pomoci identifikatoru, ktery je ulozen in-band na danem blokovem device, a to jeste v ramci nejakych high-level struktur (filesystem) na danem zarizeni, je vnitrne nekonzistentni a vede k problemum.

Jde o to, ze ten label nebo to UUID neidentifikuji blokove zarizeni, ale filesystem, ktery je na nem.
otula avatar 3.6.2007 15:25 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení - updatováno
je vnitrne nekonzistentni a vede k problemum.

Tohle by ale mělo sloužit právě k odstranění problémů. Údajně, pokud je v počítači více diskových řadičů, je pořadí, ve kterém jsou disky přidávány, náhodné. Takže se může stát, že při jednom bootu je root na /dev/sda3, a po dalším nabootování je root na /dev/sdb3. Na zmiňovaném počítači v práci mi disk záhadně přeskakoval mezi /dev/hda a /dev/hde.

Pokud jde o to, že se jedná jen o identifikaci filesystému, zase tak velký problém bych v tom neviděl, protože se obvykle při provozu filesystém nemění, každopádně se nezmění sám od sebe (pokud nedojde k nějaké chybě)

Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
3.6.2007 15:35 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení - updatováno
To se da resit napr. tak, jak se to delalo pred udevem - mountovat zarizeni pomoci UUID a label umel primo prikaz mount. Ten pracuje na stejne urovni abstrakce a tedy je odkazovani pomoci UUID a label v poradku.
3.6.2007 15:41 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení - updatováno
Jde o to, ze ten label nebo to UUID neidentifikuji blokove zarizeni, ale filesystem, ktery je na nem.
A právě to je účelem, protože na současném linuxovém desktopu/notebooku/PDA vám nikdo nezaručí, že na /dev/sdxy naleznete pokaždé ten stejný filesystém.
3.6.2007 16:19 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení - updatováno
Viz muj prispevek http://www.abclinuxu.cz/blog/show/182319#20
kotyz avatar 3.6.2007 15:48 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení - updatováno
Odpovědět | Sbalit | Link | Blokovat | Admin
v ubuntu uz UUID nejakej ten patek mame. ale neresi vymenny media. diky za napad, az se budu zase nekdy hrabat v fstab zkusim si to tam pridat ... (na externi disk by to mohlo bejt sikovny, nak se me prestal automountovat jeden ze dvou oddilu (ten co ma format ntfs) ).
Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!
3.6.2007 16:16 tom112233 | skóre: 21 | blog: tpikalek | Brno
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení - updatováno
V Ubuntu 7.04 mě to to jde na externí disky bez problému bez ručního editování fstab - Místa -> Počítač -> pravým tlačítkem kliknout na ten disk -> Vlastnosti -> Volume -> Nastavení -> Přípojné body.

Nejsem si ale jistý, zda to tam bylo už po instalaci nebo se mi to tam dostalo s nějakým balíčkem.
jose17 avatar 3.6.2007 23:32 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení - updatováno
Odpovědět | Sbalit | Link | Blokovat | Admin
http://wiki.archlinux.org/index.php/Persistent_block_device_naming
Ja vim, on vi, ty nano!
4.6.2007 10:20 Jirkaehm | skóre: 9
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení - updatováno
Odpovědět | Sbalit | Link | Blokovat | Admin
a co v pripade ze mam v serveru x kompletne sifrovanych disku? :) mate nejakou radu jak je rozpoznavat? jelikoz jakmile nejaky disk prihodim netusim ktery to je ze se to cele zprehazi. podle velikosti to jde dost spatne kdyz tam mam ted asi 6x500gb disky ;)
4.6.2007 14:41 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Stabilní pojmenování blokových zařízení - updatováno

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.