abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 0
včera 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 1
včera 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
včera 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
včera 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
včera 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
včera 00:08 | Pozvánky

V sobotu 18. 2. se v Praze v prostorách VŠE uskuteční od 9:30 již 4. ročník největší české konference o open source redakčním systému WordPress (WP) - WordCamp Praha 2017.

… více »
smíťa | Komentářů: 0
19.1. 23:58 | Komunita

Kryptoměnová komunita zahájila nový rok spuštěním projektu Blockchain.cz, jehož cílem je kolektivně nalézt ideální překlad pro čím dál frekventovanější slovo „blockchain“. Přispět návrhem může kdokoli. Sběr bude trvat až do konce září 2017. Následně bude probíhat dvoutýdenní veřejné hlasování, které bude zakončeno výběrem toho nejlepšího návrhu.

xHire | Komentářů: 8
19.1. 15:55 | Bezpečnostní upozornění

Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno je celkově 270 bezpečnostních chyb. V Oracle Java SE je například opraveno 17 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 16 z nich. V Oracle MySQL je opraveno 27 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 5 z nich.

Ladislav Hagara | Komentářů: 0
19.1. 02:48 | Nová verze

Po půl roce od vydání verze 9.0 (zprávička) byla vydána verze 10.0 zvukového serveru PulseAudio. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 35
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (11%)
Celkem 342 hlasů
 Komentářů: 24, poslední 17.1. 10:14
    Rozcestník
    Reklama

    Dotaz: SW Raid1 po upgradu na Fedoru 12

    Pavel Vymetálek avatar 9.12.2009 09:45 Pavel Vymetálek | skóre: 15 | Náchod
    SW Raid1 po upgradu na Fedoru 12
    Přečteno: 493×
    Hezký den,

    mám dva zrcadlené disky, bohužel po upgradu (preupgrade) na Fedoru 12 se pole rozpadlo. Nejede to asi dva dny, přišel jsem na to tak, že jsem přišel o změny za ty dva dny práce, naštěstí se disky mountovaly do stejného /home přes sebe, tak stačilo ten /dev/md126 unmountnout. Data v pořádku a zazálohovaná.

    Vypadá to tak, že jsou vytvořena dvě degradovaná pole.

    Jak to dát opět dokupy, pokud možno bez potřeby znovu vytvářet fs? V této chvíli jsou to disky /dev/sdb a /dev/sdc (po rebootu tu je občas jinak).

    V systému to vypadá takto:

    # cat /etc/fstab
    LABEL=home_raid  /home     ext3  defaults, noatime, nodiratime, commit=60   1 1
    
    Tady spatřuji problém v tom, že se /home mountuje podle LABEL a ne podle UUID.
    #cat /proc/mdstat
    
    Personalities : [raid1]
    md124 : active raid1 md125p1[0]
          244195904 blocks [2/1] [U_]
    
    md125 : active raid1 sdb[0]
          244198464 blocks [2/1] [U_]
    
    md126 : active raid1 md127p1[0]
          244195904 blocks [2/1] [U_]
    
    md127 : active raid1 sdc[1]
          244198464 blocks [2/1] [_U]
    
    unused devices: <none>
    
    Co mě trochu překvapuje je že disky mají stejný (nulový)Identifikátor disku.

    # fdisk -l /dev/sdb
    Disk /dev/sdb: 250,1 GB, 250 059 350 016 bajtů
    hlav: 255, sektorů na stopu: 63, cylindrů: 30 401
    Jednotky = cylindry po 16065 * 512 = 8 225 280 bajtech
    Identifikátor disku:  0x00000000
    
    Zařízení Zavádět   Začátek       Konec    Bloky    Id  Systém
    /dev/sdb1               1       30401   244196001   fd  Linux RAID samorozpoznatelný
    
    # fdisk -l /dev/sdc
    Disk /dev/sdc: 250,1 GB, 250 059 350 016 bajtů
    hlav: 255, sektorů na stopu: 63, cylindrů: 30 401
    Jednotky = cylindry po 16065 * 512 = 8 225 280 bajtech
    Identifikátor disku:  0x00000000
    
    Zařízení Zavádět   Začátek       Konec    Bloky    Id  Systém
    /dev/sdc1               1       30401   244196001   fd  Linux RAID samorozpoznatelný
    
    
    soubor /etc/mdadm.conf je prázdný a dlouhou dobu to nevadilo :-)

    relevantní část výpisu dmesg
    dracut: Autoassembling MD Raid
    md: md127 stopped.
    md: bind<sdc>
    md: sdb has same UUID but different superblock to sdc
    md: sdb has different UUID to sdc
    md: export_rdev(sdb)
    dracut: mdadm: failed to add /dev/sdb to /dev/md/127_0: Invalid argument
    md: raid1 personality registered for level 1
    raid1: raid set md127 active with 1 out of 2 mirrors
    md127: detected capacity change from 0 to 250059227136
    dracut: mdadm: /dev/md/127_0 has been started with 0 drives (out of 2).
     md127: p1
    md: md126 stopped.
    md: bind<md127p1>
    raid1: raid set md126 active with 1 out of 2 mirrors
    md126: detected capacity change from 0 to 250056605696
    dracut: mdadm: /dev/md/126_0 has been started with 1 drive (out of 2).
     md126: unknown partition table
    md: md125 stopped.
    md: bind<sdb>
    raid1: raid set md125 active with 1 out of 2 mirrors
    md125: detected capacity change from 0 to 250059227136
    dracut: mdadm: /dev/md/125_0 has been started with 1 drive (out of 2).
     md125: p1
    md: md124 stopped.
    md: bind<md125p1>
    raid1: raid set md124 active with 1 out of 2 mirrors
    md124: detected capacity change from 0 to 250056605696
    dracut: mdadm: /dev/md/124_0 has been started with 1 drive (out of 2).
     md124: unknown partition table
    dracut: Autoassembling MD Raid
    dracut: mdadm: No arrays found in config file or automatically
    
    Nevím proč je pole dete # cat /proc/partitions
    major minor  #blocks  name
    
       8        0   80042207 sda
       8        1     204800 sda1
       8        2   79830998 sda2
       8       16  244198584 sdb
       8       32  244198584 sdc
       8       48  156290904 sdd
     253        0   75730944 dm-0
     253        1    4096000 dm-1
       9      127  244198464 md127
     259        0  244196001 md127p1
       9      126  244195904 md126
       9      125  244198464 md125
     259        1  244196001 md125p1
       9      124  244195904 md124
    
    # mdadm -D /dev/md124
    /dev/md124:
            Version : 0.90
      Creation Time : Fri Dec  8 12:26:18 2006
         Raid Level : raid1
         Array Size : 244195904 (232.88 GiB 250.06 GB)
      Used Dev Size : 244195904 (232.88 GiB 250.06 GB)
       Raid Devices : 2
      Total Devices : 1
    Preferred Minor : 124
        Persistence : Superblock is persistent
    
        Update Time : Wed Dec  9 09:44:20 2009
              State : clean, degraded
     Active Devices : 1
    Working Devices : 1
     Failed Devices : 0
      Spare Devices : 0
    
               UUID : a254ace7:299e413f:9b638f24:d1d7c0b5
             Events : 0.11841
    
        Number   Major   Minor   RaidDevice State
           0     259        1        0      active sync   /dev/md/125_0p1
           1       0        0        1      removed
    
    Prošel jsem kdejaký návod, ale nic nezabírá. Nejprve jsem chtěl nastavit diskům identifikátor pomocí fdisku, ale po "w" -zápisu a ukončení (i po rebootu) je identifikátor stále 0.

    Nějaký nápad?

    Díky předem.

    Odpovědi

    9.12.2009 12:28 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: SW Raid1 po upgradu na Fedoru 12

    Ano, připojovat souborové systémy podle jmenovky, když máte zrcadlená zařízení je nebezpečné.

    Dále autodekovaná pole jsou označena za zastaralá a nedoporučuje se je používat právě z tohoto důvodu, že se vám mohou poskládat všelijak.

    Identifikátor, co vypisuje fdisk, je číslo, které je uložené v tabulce rozdělení disku. To číslo si klidně můžete fdiskem přepsat na něco jiného. Já osobně se na tento identifikátor nespoléhám (při vytvoření tabulky rozdělení disku se generuje jako náhodné číslo, zrcadlené hard disky jej budou mít stejné, protože se zrcadlí i tabulka rozdělení disku), ale používám sériová čísla hard disků (/dev/disk/by-id/) k rozlišování disků.

    Sjednotit pole se dá tak, že to neaktuální přes mdadm zastavíte a přidáte daný disk/oddíl jako nový do degradovaného aktuálního pole. Jádro automaticky zahájí synchronizaci dat aktuálního obrazu do nově přidaného – tedy správným směrem.

    Jak jsem psal, autodetekce je na prd. Změňte typ oddílů na něco jiného (nebo zakažte v jádře autodetekci polí), přes mdadm si zjistěte UUID jednotlivých obrazů a ty zapište do /etc/mdadm.conf k názvu pole.

    Pokud pole sestavujete už v initrd/initramfs, musíte tento konfigurační soubor do něj zanést (to asi dělají skripty používané na jeho výrobu automaticky, tedy je musíte přegenerovat).

    Nějak jsem ale nepochopil strukturu vašich polí:

    md125 : active raid1 sdb[0]
    md124 : active raid1 md125p1[0]

    To jako máte RAID1 nad RAID1?

    9.12.2009 14:55 Pavel Vymetálek
    Rozbalit Rozbalit vše Re: SW Raid1 po upgradu na Fedoru 12
    Díky za odpověď.

    Struktura pole je právě špatně. Má být DEVICE /dev/sd[bc]1 a ARRAY /dev/md0 devices=/dev/sdb1,/dev/sdc1 tedy normální zrcadlení dvou partitions. Proč mi to vytvoří pole md124 místo md0 nevím.

    Už jsem přes tune2fs dal filesystémům UUID a snad se to přes UUID podaří.

    Zastavením pole jsem chtěl pokračovat. Lze změnit typ partition z 0xFD na 0x83 bez ztráty dat? Jak lze v distibučním jádře zakázat autodetekci pole?

    Pole se ve Fedoře podle všeho sestavuje v initrd/initramfs. Teď se to automaticky sestavuje přes dracut.
    9.12.2009 15:07 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: SW Raid1 po upgradu na Fedoru 12
    přes tune2fs dal filesystémům UUID

    Jenom pro upřesnění: UUID ext2 a UUID pole jsou dvě nezávislé věci. To první slouží na připojení souborového systému, to druhé pro sestavení pole z jedntolivých zařízení.

    Lze změnit typ partition z 0xFD na 0x83 bez ztráty dat?

    Ano. Je to jen příznak v tabulce rozdělení disku. Na souborový systém nemá vůbec žádný vliv.

    Jinak pro pole se doporučuje typ 0xDA. Ale jinak je to jedno.

    Jak lze v distibučním jádře zakázat autodetekci pole?

    Bootovací parametr jádra raid=noautodetect.

    Pavel Vymetálek avatar 10.12.2009 08:41 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: SW Raid1 po upgradu na Fedoru 12
    Jasně, UUID pro filesystém a pole spolu nesouvisí, už jsem byl z toho zmatený.

    Změna typu partition na 0xDA proběhla bez problému přes fdisk. Nevěděl, zda to nemá vliv na data v partition.

    Nakonec se ukázalo jako jednodušší řešení použít k identifikaci disků sériová čísla, jak jste psal. Doteď nevím, jak zjistit/nastavit UUID disku nebo partition.

    Výsledný mdadm.conf vypadá takto (nechme stranou, že používám dva stejné disky stejného výrobce, ze stejného "vrhu" :-) ):
    # cat /etc/mdadm.conf
    
    DEVICE /dev/disk/by-id/ata-SAMSUNG_SP2504C_S09-prvni-disk-part1 /dev/disk/by-id/ata-SAMSUNG_SP2504C_S09-druhy-disk-part1
    ARRAY /dev/md0 level=raid1 num-devices=2 metadata=0.90 spares=1 UUID=a254ace7:299e413f:9b638f24:d1d7c0b5 devices=/dev/disk/by-id/ata-SAMSUNG_SP2504C_S09.prvni-disk..-part1,/dev/disk/by-id/ata-SAMSUNG_SP2504C_S09.druhy-disk..-part1
    
    Tady mě napadá otázka: num-devices u raid1 má být pro dva disky 2 nebo jeden + jeden spare? Nebo má být num-devices=2 a spares=0?

    Teď se mi pole synchronizuje a vypadá takto:
    # mdadm --detail /dev/md0
    
    /dev/md0:
            Version : 0.90
      Creation Time : Fri Dec  8 12:26:18 2006
         Raid Level : raid1
         Array Size : 244195904 (232.88 GiB 250.06 GB)
      Used Dev Size : 244195904 (232.88 GiB 250.06 GB)
       Raid Devices : 2
      Total Devices : 2
    Preferred Minor : 0
        Persistence : Superblock is persistent
    
        Update Time : Thu Dec 10 08:06:46 2009
              State : clean, degraded, recovering
     Active Devices : 1
    Working Devices : 2
     Failed Devices : 0
      Spare Devices : 1
    
     Rebuild Status : 22% complete
    
               UUID : a254ace7:299e413f:9b638f24:d1d7c0b5
             Events : 0.12929
    
        Number   Major   Minor   RaidDevice State
           0       8        1        0      active sync   /dev/sda1
           2       8       17        1      spare rebuilding   /dev/sdb1
    
    A nakonec pro Fedoru 12 bylo zapotřebí (alespoň doufám, že jsem to nedělal nadarmo) sestavit znovu initrd pomocí nástroje dracut
    # dracut -f --mdadmconf -v
    
    Nakonec přidat bootovací parametry jádra (podle tohoto blogu: Fedora 12, Dracut, dmraid, mdadm, oh my!), takže teď to vypadá v grub.conf následovně:
    raid=noautodetect rd_NO_MD rd_NO_DM nodmraid
    
    Zatím to jede a můžu tak pokračovat v práci. Tuším však, že se k tomu budu muset ještě vrátit po dalším "yum update" kernelu a asi mi nesedí ten num-devices a spares.

    Díky moc za nakopnutí správným směrem.
    10.12.2009 13:18 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: SW Raid1 po upgradu na Fedoru 12
    jak zjistit/nastavit UUID disku nebo partition

    Disk ani partition nemají UUID.

    Věc se má tak:

    Disk má ID dané výrobcem. Nic jiného.

    Tabulka rozdělení disku MBR má svoje ID nezávislé na disku, je uložené v MBR a změnit je lze fdiskem.

    Oddíl, jakožto záznam v tabulce rozdělení disku, nemá žádný UUID nebo ID.

    Souborový systém může mít UUID, je uloženo v superbloku a jestli existuje, závisí na druhu systému. Zjišťovat a měnit lze nástrojem určeným pro daný systém nebo zastřešujícím nástrojem blkid z util-linux-ng.

    Diskové linuxové pole má UUID, zjišťuje se přes mdadm, je uložené v metadatech pole, které bývají uloženy na každém zařízení pole.

    Každá z vrstev a její identifikátor jsou nezávislé na ostatních vrstvách.

    # cat /etc/mdadm.conf
    
    DEVICE /dev/disk/by-id/ata-SAMSUNG_SP2504C_S09-prvni-disk-part1 /dev/disk/by-id/ata-SAMSUNG_SP2504C_S09-druhy-disk-part1
    ARRAY /dev/md0 level=raid1 num-devices=2 metadata=0.90 spares=1 UUID=a254ace7:299e413f:9b638f24:d1d7c0b5 devices=/dev/disk/by-id/ata-SAMSUNG_SP2504C_S09.prvni-disk..-part1,/dev/disk/by-id/ata-SAMSUNG_SP2504C_S09.druhy-disk..-part1
    

    Jestli chcete, tak tam všechny parametry mějte. Nicméně je to celkem zbytečné, protože jsou již uložena v metadatech pole.

    Podstatný parametr je UUID, který svazuje číslo /dev/mdN s konkrétním polem. Ten by tam být měl, pokud se chcete jinde na pole odkazovat přes název /dev/mdN.

    Parametr devices a proměnná DEVICE jsou zbytečné, pokud máte jistotu, že se vám do počítače nezatoulá neaktuální kopie pole. Navíc při výměně disku budete muset tyto údaje opravit a přegenerovat initrd. Ale je to čistě otázka paranoie, jak moc chcete být na systém přísný.

    Co se týče hodnot sparse a num-devices, to si nejsem jistý. Možná se v manuálu něco dočtete. Každopádně pojem sparse nemá v RAID1 žádný význam, protože sparse jsou všechna zařízení, dokud jsou živá alespoň dvě. Možná to má vliv na monitorovací režim démona mdadm.

    Pavel Vymetálek avatar 11.12.2009 06:52 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: SW Raid1 po upgradu na Fedoru 12
    Děkuji za vyčerpávající odpověď.

    S těmi ID a UUID disků jsem to začínal pomalu tušit, u souborových systémů to bylo jasné - tam to jde nastavit vcelku snadno. Blkid jsem neznal - děkuji.

    UUID pole v /etc/mdadm.conf je jasné. Parametry jsem do /etc/mdadm.conf napsal "znovu" z neznalosti, ale po výpisu metadat je jasné, že tam je opravdu vše. V rámci "čistoty" systému to odstraním a sestavím nový initrd. Spíš jde o to, aby se při případném upgradu jádra ten initrd sestavil dobře sám.

    Mám ovšem dojem, že proměnná device (na prvním řádku) být musí, jinak se pole nesestaví správně po rebootu - tady si zase nejsem jistý jestli nové sestavení initrd pomohlo a jestli vzalo v potaz /etc/mdadm.conf - i když jsem to výslovně nakázal: dracut --mdadmconf. Zkusím ještě experimentovat.
    11.12.2009 11:22 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: SW Raid1 po upgradu na Fedoru 12

    Když neuvedete devices, nástroj mdadm při sestavování polí prohledá „všechna“ bloková zařízení a ta, která vypadají jako součást pole a v metadatech mají dané UUID, tak z nich se pokusí sestavit dané pole.

    Ano, je to autodetekce. A ano, existují případy, kdy se může vymstít (takové případy ale nevznikají samy od sebe).

    Rozdíl s jadernou autodetekcí je ten, že nyní máte pod kontrolou zobrazení UUID na /dev/mdN.

    Pokud chcete mít konfiguraci extra zabezpečenou, tak tam ty devices mějte, ničemu to neublíží, pouze si zkomplikujete výměnu disků.

    11.12.2009 09:04 pet
    Rozbalit Rozbalit vše Re: SW Raid1 po upgradu na Fedoru 12

    Co se týče hodnot sparse a num-devices, to si nejsem jistý. Možná se v manuálu něco dočtete. Každopádně pojem sparse nemá v RAID1 žádný význam, protože sparse jsou všechna zařízení, dokud jsou živá alespoň dvě. Možná to má vliv na monitorovací režim démona mdadm.

    num-devices říká, kolik disků aktuálně v poli pracuje.

    sparse říká, kolik disků je připraveno zaskočit za disk v poli, pokud bude mít problém. V podstatě je to disk, který se zasynchronizuje místo vypadnutého disku tak, aby pole mělo opět num-devices aktivních disků

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.