Fórum Root.cz

Hlavní témata => Server => Téma založeno: rado3105 22. 08. 2012, 12:29:03

Název: Kontrola disku až po naběhnutí systému
Přispěvatel: rado3105 22. 08. 2012, 12:29:03
Mam debian squeeze server. Su tam dva disky, primarny-systemovy SSD. Druhy ako ulozisko. Chcel by som aby kontrola toho druheho disku neprebiehala pri restarte (3tb a trva dlho kym statrtne system) a ci je nejaka moznost az po nabehnuti systemu a potom po kontrole ak su chyby znova restartovat system. Dakujem...(momentalne to je nastavene v fstab ako defaults, 0 2)
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: chladic01 22. 08. 2012, 14:45:28
napr. takto:

tune2fs -c 0 /dev/sdb1
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: rado3105 22. 08. 2012, 15:32:44
A teraz prikaz ktory mi sam skontroluje disk po kazdom restarte ale az po nabehnuti systemu - pricom sam si ho najprv odpoji, ak su chyby restartuje system...
?
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: Zopper 22. 08. 2012, 15:46:17
Jedním příkazem to, obávám se, udělat nepůjde. :)

Fsck při startu se obvykle dělá preventivně při určitém počtu připojení a/nebo uběhnutí dostatečně dlouhé doby (co přijde dřív...).
Informace o tom získáš z:
Kód: [Vybrat]
tune2fs -l /dev/sdaXZ požadovaných hodnot (Mount count a Last checked) si podmínkou ověříš, jestli je čas na kontrolu a pokud jo, tak disk odpojíš a spustíš fsck s takovými parametry, které se hodí na to, co potřebuješ. Teoreticky si můžeš udělat i víc úrovní kontrol, třeba preventivně jednou měsíčně a jednou ročně hlubší kontrolu...

Pokud by byl oddíl blbě odpojen a mohl být poškozen, tak by to IMHO měl mount zahlásit a skončit s chybou bez provedení mountu (ale jistý si tím nejsem) - nicméně, jestli připojuješ automaticky přes fstab, tak tahle kontrola stejně proběhne při startu, ať chceš, nebo ne...
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: Zopper 22. 08. 2012, 15:49:21
PS: a nezapomeň, že při odpojeném disku ti stále běží klientské služby! Pokud tam máš třeba nějaký samba share, nebo www (a přistupují na ten disk), tak ty služby před odpojením disku zastav, určitě nechceš najednou dostávat samé 404/500/... chyby.
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: chladic01 22. 08. 2012, 15:51:24
A teraz prikaz ktory mi sam skontroluje disk po kazdom restarte ale az po nabehnuti systemu - pricom sam si ho najprv odpoji, ak su chyby restartuje system...
?

Slusny clovek by napisal dakujem
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: rado3105 22. 08. 2012, 16:12:28
Dakujem chladic ak ta to potesi. Ale pravdepodobne si nepochopil co chcem. To co si napisal dokazem urobit v fstabe zmenenim 0 2 na 0 0. Alebo sa mylim?
Vlastne teraz rozmyslam ako to spravit.
Vypnem kontrolu toho disku v fstabe.
Je pripojeny ako /dev/sda1 na /media/xxx.
Takze ked odmountujem, tak klientske sluzby tam nebudu pristupovat, lebo tie pristupuju na /media/xxx nie na /dev...
Bezi tam len samba share....
Potreboval by som nejaky prikaz, ktory vzdy po zapnuti systemu - nabehnuti os, skontroloval dany disk a opravil ho, ak by trebalo restartovat tak restartoval pc.
Hlboka kontrola sa robi akym prikazom?
A velmi pekne dakujem za kazdu radu.....
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: DgBd 22. 08. 2012, 16:26:02
Prostě si do spouštěcího init scriptu v runlevelu S dáš kontrolu disku přes fsck a pak ten disk namontuješ příkazem mount (případně před tím restartuješ). To je všechno.
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: rado3105 22. 08. 2012, 16:42:57
A ked ho nepojde mountnut lebo tam bude vela chyb a bude treba restart?
Aky je prikaz na hlboku kontrolu disku?
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: pavel 22. 08. 2012, 16:47:27
Napsal bych si jednoduchý skript, který bych umístil třeba do /etc/rc.d/rc.local:

#!/bin/bash

#Odpojit sluzby, ktere pristupuji na kontrolovany disk
/etc/init.d/samba stop
#Odpojit disk - ke kontrole musi byt odpojeny
umount /dev/sda1
#Kontrola disku
if mountpoint -q /media/xxx
then
   echo "kontrola nebyla provedena, disk je pripojen" >> /dev/null
else
   fsck -fyv /dev/sda1
   vystup=$?
#The following are the possible exit codes for fsck command.
#0 – No errors
#1 – Filesystem errors corrected
#2 – System should be rebooted
#4 – Filesystem errors left uncorrected
#8 – Operational error
#16 – Usage or syntax error
#32 – Fsck canceled by user request
#128 – Shared-library error
 
 [ $(vystup) = "2" ] && restartuj pocitac
fi
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: Mirek Prýmek 22. 08. 2012, 17:04:23
Linux pořád ještě neumí background fsck?
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: rado3105 22. 08. 2012, 17:31:40
Kontrola disku
if mountpoint -q /media/xxx
then
   echo "kontrola nebyla provedena, disk je pripojen" >> /dev/null
else
   fsck -fyv /dev/sda1
   vystup=$?

Toto som moc nepochopil.
Predtym sa disk odmountuje, odpoja sa sluzby. Tento prikaz hovori ze ak je disk pripojeny tak sa neurobi kontrola, ak nie je tak sa urobi.
Lenze disk sa odmountuje, disk nevyzaduje kontrolu - takze nebude mountnuty.....asi by bolo vhodnejsie dat umount a vypnutie sluzieb po else a spojit to nejako s fsck alebo ? dakujem...
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: Lol Phirae 22. 08. 2012, 17:38:52
K čemu vám prosím je background fsck, když to potřebujete mít odpojené?  ::)
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: rado3105 22. 08. 2012, 17:48:20
Preco by som to potreboval mat odpojene? Uvital by som background fsck, na btrfs sa tesim ako male decko....
Ale zatial to potrebujem vyriesit v zavislosti od realnej situacie a fsck sa pusta az po odpojeni....
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: Lol Phirae 22. 08. 2012, 18:12:38
Protože jinak hovno opravíš. Jinak už jsme ti v minulém threadu napsali, ať si pořídíš UPSku, ono totiž normálně žádný problém není, když ten server přestaneš vypínat/restartovat jako prase, tak se ti nebude fsck spouštět při každém rebootu.
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: Mirek Prýmek 22. 08. 2012, 18:17:23
K čemu vám prosím je background fsck, když to potřebujete mít odpojené?  ::)

Odpojené to potřebuje mít možná extX, ale principielní nutnost to není.


Kirk McKusick, the developer of Berkeley FFS, solved this problem with Soft Updates: all pending meta-data updates are kept in memory and written out to disk in a sorted sequence (“ordered meta-data updates”). This has the effect that, in case of heavy meta-data operations, later updates to an item “catch” the earlier ones if the earlier ones are still in memory and have not already been written to disk. So all operations on, say, a directory are generally performed in memory before the update is written to disk (the data blocks are sorted according to their position so that they will not be on the disk ahead of their meta-data). If the system crashes, this causes an implicit “log rewind”: all operations which did not find their way to the disk appear as if they had never happened. A consistent filesystem state is maintained that appears to be the one of 30 to 60 seconds earlier. The algorithm used guarantees that all resources in use are marked as such in their appropriate bitmaps: blocks and inodes. After a crash, the only resource allocation error that occurs is that resources are marked as “used” which are actually “free”. fsck( 8 ) recognizes this situation, and frees the resources that are no longer used. It is safe to ignore the dirty state of the filesystem after a crash by forcibly mounting it with mount -f. In order to free resources that may be unused, fsck( 8 ) needs to be run at a later time. This is the idea behind the background fsck: at system startup time, only a snapshot of the filesystem is recorded. The fsck can be run later on. All file systems can then be mounted “dirty”, so the system startup proceeds in multiuser mode. Then, background fscks will be scheduled for all file systems where this is required, to free resources that may be unused. (File systems that do not use Soft Updates still need the usual foreground fsck though.)

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/configtuning-disk.html
http://www.freebsd.org/doc/handbook/snapshots.html
http://static.usenix.org/publications/library/proceedings/bsdcon02/mckusick/mckusick_html/index.html
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: rado3105 22. 08. 2012, 18:22:41
Nikto neporadi na co som sa pytal? Phil ok to neries, proste sa nieco pytam....a rad by som keby niekto poradil....
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: rado3105 22. 08. 2012, 18:24:21
Kontrola disku
if mountpoint -q /media/xxx
then
   echo "kontrola nebyla provedena, disk je pripojen" >> /dev/null
else
   fsck -fyv /dev/sda1
   vystup=$?

Toto som moc nepochopil.
Predtym sa disk odmountuje, odpoja sa sluzby. Tento prikaz hovori ze ak je disk pripojeny tak sa neurobi kontrola, ak nie je tak sa urobi.
Lenze disk sa odmountuje, disk nevyzaduje kontrolu - takze nebude mountnuty.....asi by bolo vhodnejsie dat umount a vypnutie sluzieb po else a spojit to nejako s fsck alebo ? dakujem...
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: Lol Phirae 22. 08. 2012, 20:17:51
asi by bolo vhodnejsie dat umount a vypnutie sluzieb po else a spojit to nejako s fsck alebo ? dakujem...

Aha, takže místo toho, aby se kontrola spustila normálně při bootu, opravily se případné chyby a naběhl systém, tak po této vyfikundaci se:

- spustí se služby
- načež se služby opět ukončí
- zkontroluje se disk
- a následuje reboot

Rozumím tomu "vylepšení" správně? Jsem jediný, komu to přijde padlé na hlavu?  ::)
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: rado3105 22. 08. 2012, 20:48:34
Problem je ze ked je systemovy disk v poriadku, system nenabehne, lebo tento druhy disk, kde su len data ukazuje chyby a treba urobit manualne fsck....
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: trubicoid2 23. 08. 2012, 10:50:30
no a co mas ve fstabu? melo by zafungovat "0 0", jak uz nekdo radil
jestli to nezafunguje, tak muzes zkusit do options napsat noauto, anebo normalne zakomentuj celej radek s /media # a bude
pak se nebude pripojovat ani kontrolovat.

prikaz k oprave trochu zalezi na pouzitym filesystemu, jestli mas extX, tak e2fsck -f -y -D /dev/neco
jak to opravis, tak oddelas ve fstabu #, manualne primoutujes (mount /media) a eventuelne prestartujes
hod sem /etc/fstab
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: DgBd 23. 08. 2012, 12:10:50
Problem je ze ked je systemovy disk v poriadku, system nenabehne, lebo tento druhy disk, kde su len data ukazuje chyby a treba urobit manualne fsck....

Normální je spustit tu kontrolu ve chvíli, kdy neběží služby, které by chtěly ten disk využívat. Takže:
- ve fstab je parametr noauto, tj. disk se nenamontuje
- případnou kontrolu spustit dřív než se pouštějí služby tento disk využívající. To se dělá obvykle někde v /etc/rc.S (a v tom skriptu ten disk následně namontovat), případně pokud chce mít člověk puštěný třeba ssh, tak si ty služby uspořádá jinak
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: rado3105 23. 08. 2012, 13:28:28
Citace
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sda1 during installation
UUID=4fbdeeae-3bf4-433c-91b6-2a88d4745f2f /               ext3    errors=remount-ro 0       1
# swap was on /dev/sda2 during installation
UUID=c9077f09-038e-45d5-9dff-c7716fcc8a05 none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
UUID=a3d1a1df-cc46-4c7a-a7f5-2ac4641a7177 /media/wd1500GB ext4 defaults 0 2

Ked nedam kontrolu a budu chyby na tom disku, tak ho nepripoji, alebo sa mylim?
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: trubicoid2 23. 08. 2012, 13:37:00
nevim, kazdej filesystem to ma trochu jinak, i ruzny didtribuce ruzne zachazi s tim poslednim cislem, ktery bys mel dat na 0
 
rozhodne jestli mas podezreni, ze tam chyby jsou, tak dej za defaults,noauto nebo celej radek zakomentuj #, pak se urcite nepripoji a ty udelas rucne kontrolu po nabehnuti systemu, to jsi chtel, ne?
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: DgBd 23. 08. 2012, 14:04:30
při errors=remount-ro se filesystem při výskytu chyb  přimontuje read-only, takže ho nemůžeš poškodit ještě víc. Netýká se to ovšem kontroly při startu, ale v situaci, kdy se objeví chyba na přimontovaném disku při spuštěném systému.
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: rado3105 23. 08. 2012, 14:07:41
Nie to som nechcel. Este jedenkrat to napisem nanovo.
Potrebujem aby mi tento disk pripojilo vzdy po starte. Kedze ak sa na tomto druhom disku(ulozny) nachadzaju chyby velakrat je potrebne urobit manualne fsck - avsak nie vzdy to je mozne + nenabehne ani system kde su ine sluzby ktore potrebujem aby nabehli.
Tak som sa pytal, ci je mozne urobit nieco tak aby ten druhy disk kontrolovalo az po nabehnuti systemu a vsetkych funkcii.
Ak obsahuje chyby a je potrebny restart nech ho restartuje a nanovo zapne a namountuje. Proste aby vzdy po zapnuti systemu ho mountlo a ak nejde mountnut urobilo kontrolu toho druheho disku(ale az po zapnuti a nabehnuti systemu).
Ten skript co tu bol poslany mi vyhovuje ale nerozumil som tej strednej casti....
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: rado3105 23. 08. 2012, 14:10:17
Takze co chcem dosiahnut.
Disk sa pri starte nenamountuje. Po nabehnuti prebehne systemu sa spusti skript kde bude prikaz na kontrolu fsck, ak fsck ukaze chyby a bude treba restart, system sa restartuje. Ak nebude obsahovat chyby mountne sa.
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: Lol Phirae 23. 08. 2012, 14:14:23
No, napiš to klidně ještě vosumkrát. Když tam chyby nebudou, tak to sice tvým postupem bude dál, ale zato tam bude horší cesta. Zatímco když tam chyby budou, tak to sice taky bude dál, ale zato tam bude ... ještě horší cesta. Čas to neušetří vůbec žádný. A zcela jistě jednou dopadneš tak, že přijdeš o data. Tak prosímtě přestaň rvát kabel ze zdroje, zaplať si někoho, kdo ti tam připojí tu UPS a přestaň vymejšlet krávoviny.
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: DgBd 23. 08. 2012, 14:20:36
Takze co chcem dosiahnut.
Disk sa pri starte nenamountuje. Po nabehnuti prebehne systemu sa spusti skript kde bude prikaz na kontrolu fsck, ak fsck ukaze chyby a bude treba restart, system sa restartuje. Ak nebude obsahovat chyby mountne sa.

Děláš si srandu, nebo jsi mentálně zaostalý? Vždyť ti to tady různí lidi několikrát napsali.
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: trubicoid2 23. 08. 2012, 14:21:32
Takze co chcem dosiahnut.
Disk sa pri starte nenamountuje.

toho dosahnes jen pomoci parametru noauto ve fstabu, jak tu jiz nekolikrat zaznelo

aby se nekontroloval dlouhym fsck pri startu, je potreba na konci radku mit 0, jak tu jiz nekolikrat zaznelo

Po nabehnuti prebehne systemu sa spusti skript kde bude prikaz na kontrolu fsck, ak fsck ukaze chyby a bude treba restart, system sa restartuje. Ak nebude obsahovat chyby mountne sa.

jasne, udelas si skript, nebo to udelas rucne, jak je libo, ale uz asi chapes, ze se bez toho predchoziho kroku neobejdes?

jinak celkem nechapu, proc chces porad pri chybe restartovat? jestli je chyba, tak opravis, mountnes, pustis sambu a jedes dal, ne?

takze jeste doplnenim toho prvniho kroku by bylo zabranit automatickymu spousteni samby, aby se pustila az po kontrole a mountnuti toho /media disku, trebas z nejakyho skriptu

ten tvuj skript prijde do /etc/rc.local (jestli se nepletu) a automaticky pusteni samby zrusis treba timto: update-rc.d -f  samba remove
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: DgBd 23. 08. 2012, 14:23:20
No, napiš to klidně ještě vosumkrát. Když tam chyby nebudou, tak to sice tvým postupem bude dál, ale zato tam bude horší cesta. Zatímco když tam chyby budou, tak to sice taky bude dál, ale zato tam bude ... ještě horší cesta. Čas to neušetří vůbec žádný. A zcela jistě jednou dopadneš tak, že přijdeš o data. Tak prosímtě přestaň rvát kabel ze zdroje, zaplať si někoho, kdo ti tam připojí tu UPS a přestaň vymejšlet krávoviny.

Já to celkem chápu. Jednou jsem musel udělat tftp server, který po výpadku nabootuje do 1min. a začne poskytovat služby. Jde to, ale člověk musel trochu kouzlit. (read-only kritické filesystémy a pod.)
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: Lol Phirae 23. 08. 2012, 14:34:03
Já to celkem chápu. Jednou jsem musel udělat tftp server, který po výpadku nabootuje do 1min. a začne poskytovat služby. Jde to, ale člověk musel trochu kouzlit. (read-only kritické filesystémy a pod.)

No jistě, ale to jaksi vůbec neřeší to, že tady má na tom disku (kde je permanentně rozdrbaný FS kvůli tomu, že tazatel nechápe, jak funguje UPS) data, která servíruje přes sambu. Takže mu systém sice naběhne, ale ta Samba stejně nepojede, dokud nedoběhne fsck. Fakt nevím, jaký rozdíl je mezí tím, že server neběží, protože fsck, a mezi tím, že server neběží, protože fsck, zato musím navrch psát zbytečně skripty a nesystémově spouštět a restartovat služby). A to teda ještě pomlčím o tom, že původně chtěl problém "řešit" tím, že tam dá BTRFS, protože ten nemá fsck a tak problém zmizí.  ;D ::)

Pochopím, že si někdo kvůli tomuhle přenastaví periodickou kontrolu filesystému po X rebootech přes tune2fs, ale provozovat takovéhle harakiri kvůli tomu, že nejsem schopen vypnout normálně server, to je teda úplně praštěné na hlavu.
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: rado3105 23. 08. 2012, 14:40:06
Prepacte ale chcem poradit, dovod preco to nerobim tak ako niekto pise nemusite riesit. Ak nechcete poradit nemusite, ale prosim vas nepiste tu blbosti, preco to nerobim tak a tak. Keby tam bol filesystem ako ZFS stavalo by sa mi to iste ako sa mi stava pri ext4? nie...krista ved uz ma konecne pochopte...
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: Lol Phirae 23. 08. 2012, 14:41:39
Viz (http://forum.root.cz/index.php?topic=4840.msg41626#msg41626)
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: Zopper 23. 08. 2012, 16:11:37
Prepacte ale chcem poradit, dovod preco to nerobim tak ako niekto pise nemusite riesit. Ak nechcete poradit nemusite, ale prosim vas nepiste tu blbosti, preco to nerobim tak a tak. Keby tam bol filesystem ako ZFS stavalo by sa mi to iste ako sa mi stava pri ext4? nie...krista ved uz ma konecne pochopte...
Jediný 100% bezpečný způsob, jak nepoškodit žádná data při výpadku, který znám, je mít to read-only (ideálně vypálené v ROM). Dokud budeš mít neustále výpadky, tak se kontrol jinak nezbavíš, tak to už pochop. A nebo se prostě vykašli na kontroly, mountuj to bez nich a akorát pak nechoď s dotazem "jak zachránit data z totálně rozsypaného FS".
Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: Petr Janda 25. 08. 2012, 11:54:47
Prepacte ale chcem poradit, dovod preco to nerobim tak ako niekto pise nemusite riesit. Ak nechcete poradit nemusite, ale prosim vas nepiste tu blbosti, preco to nerobim tak a tak. Keby tam bol filesystem ako ZFS stavalo by sa mi to iste ako sa mi stava pri ext4? nie...krista ved uz ma konecne pochopte...


V tomhle postupu nevidím žádný problém, jen musíš nějak zajistit, aby Ti někdo jiný nemountnul ten FS dřív ...
Název: Re:Kontrola druheho disku az po nabehnuti systemu?
Přispěvatel: Tomáš Crhonek 26. 09. 2012, 15:38:06
Linux pořád ještě neumí background fsck?

Jak který fs. Ext4 mě dokonce překvapila svým background (lazy) mkfs. mkfs udělá potřebné minimum a další věci se dějí po prvním mountu, přičemž ale s tím jde normálně pracovat.

XFS a JFS nemají zvláštní check a místo toho se dělá kontrola / oprava v rámci mountu (a netrvá to tak dlouho, jako fsck.ext3).

Název: Re:Kontrola disku až po naběhnutí systému
Přispěvatel: Stanislav Sobotka 26. 09. 2012, 16:36:10
rado3105, ty jsi fakt dobrej. Přijdeš si sem, začneš házet dotazy stylem "Rozkazuju vám, ať mi poradíte" a když ti i přes to někdo poradí, tak mu ještě vynadáš. A ani jednou jsi ještě nepoděkoval.