Fórum Root.cz
Hlavní témata => Server => Téma založeno: Kyblík 04. 02. 2014, 09:24:36
-
Dobrý den vespolek, řeším teď takovou drobnůstku, mám Web, samba, dlna servérek v rámci naší malé komunity. Mám záložný HW, navlas totožný. Potěboval bych nějak za jízdy přeložit komplet ostrý na záložní. Malý výpadek nevadí, ale zatím jsem nastudoval a kdysi použil příkaz dd tak, že jsem nový HDD připojil do PC, namountoval a přenesl vše. Fungovalo to perfektně, bylo to v rámci výměny HDD v tom samém PC za větší. Dokonce tam byl dual boot W7 a debian a vše se po vexlu HDD rozjelo k mé spokojenosti.
Teď mám dva problémky.
1. nepamatuju si už, jestli jsem onehdá použil jako parametr if=/dev/sda, (protože v /dev existuje až 4x sda: /dev/sda, /dev/sda1, /dev/sda2, /dev/sda3), ale asi ano.
2. jak to udělat po síti.
Principelně rozumím tomu tak, že namountuju síťový disk, nebo disk z jiného PC, udělám dd if=/dev/sda of=/síťový disk/záloha.img
a měla by se udélat záloha. Pak musím vyndat HDD ze záložního servérku, dát do PC se zálohou a pak přes dd přenést *.img do /dev/sda.
Pak už jen nahodit HDD zpátky do záložního servérku a nastartovat, změnit nastavení sítě a přesměrovat vše na záložní servérek.
Nebo to jde i přímo tak, že dd if=/dev/sda of=/mount disku ze záložního servérku/dev/sda ???
-
Ak chces kopirovat cely disk (predpokladam ze ano), tak pouzijes sda. Tie ciselne pripony ktore tam vidis su particie na tom disku. Cez siet to mozes
kopirovat rovno na cielovy disk, len si treba uvedomit ze beziaci system a beziace sluzby maju otvorene subory. Po sieti mozes skusit dd takto:
dd if=/dev/sda | ssh username@servername.net "dd of=/dev/sda"
Na cielovom servery nabootuj nejake live distroi napriklad slax, na nom spusti ssh a mozes rovno prenasat na disk.
-
dd if=/dev/sda | gzip | ssh -c arcfour root@remote 'gzip -d | dd of=/dev/sda bs=4M'
-
Ano, obě řešení jsem na guglu našel, jen jsem se potřeboval ujistit, že budu muset záložní bootovat z klíče. Jinak by zřejmě systém zkolaboval.
Mockrát děkuju pánové!
-
Tak kopírování dopadlo dobře, ale s bootem je něco špatně, záložní servérek chce ode mě médium se systémem. Tady jsem v koncích, protože jsem z opravy, nebo konfigurace bootovacího záznamu blbej jako tele, ačkoli jsem ten problém už nahryzával několikrát, jdu googlit, kdyby někdo měl chuť, čas a dobrou vůli nějak mě nasměřovat, budu vděčný.
-
V původním stroji mě fdisk -l vypisuje něco jako:
root@debian:~# fdisk -l
VAROVÁNÍ: Na „/dev/sda“ nalezena GPT (GUID tabulka rozdělení disku)! Nástroj fdisk nepodporuje GPT. Použijte GNU Parted.
Znamená tato informace něco, proč se ta tabulka nezkopírovala 1:1 ?
-
V původním stroji mě fdisk -l vypisuje něco jako:
root@debian:~# fdisk -l
VAROVÁNÍ: Na „/dev/sda“ nalezena GPT (GUID tabulka rozdělení disku)! Nástroj fdisk nepodporuje GPT. Použijte GNU Parted.
Znamená tato informace něco, proč se ta tabulka nezkopírovala 1:1 ?
A zkoušel jste ten fdisk -l ještě před tím harakiri s disky? Neměl jste původně na tom disku GPT, který jste později předělal na MBR ? Nemám s GPT zatím praktické zkušenosti, ale co vím, tak ta tabulka je tam uložena 2x ( na začátku a na konci disku ) a tak někdy nestačí přemazat začátek disku
-
Psal jsem, že fdisk tohle ukazuje u původního stroje, žádné harakiri na něm děláno nebylo, čistá instalace, pak samba, pak web, dlna později, nic jiného se tam nedělalo.
To samé ukazuje fdisk u té kopie v záložním, přesně nachlup. Také gparted z graf. live debianu ukazuje u partície /dev/sda1 boot. Jediný rozdíl mezi oběma stroji je jen v tom, že druhý nenabootuje a požaduje po startu ode mě médium se systémem.
Přešel jsem nějaké návody na obnovu grubu, ale pořád mám v tom hokej, nevím přesně jak s tím souvisí GPT a MBR, jak se dá podívat z live na to, proč po startu nenajde boot.
-
najed na live, posli sem vypis /boot/grub/menu.lst , /etc/fstab a spust parted a vypis partic pomoci print jo a zkontroluj, kterouze partici mas oznacenou jako BOOT
-
kazdopadne ale po dd by jsi nemel mit zadne problemy a system by mel normalne nabehnout. (pokud jsi to dd udelal spravne)
-
Ta chyba u fdisku je v pořádku, fdisk se nebaví s GPT oddílama. Tohle není zdrojem problému.
Záložní PC nenajde boot... V BIOSu vše nastaveno dobře? Máš vybrane správnej disk? Jestli je to (U)EFI (neznam názvosloví), tak mrkni, jestli bootuješ (U)EFI oddíl nebo standardně celej harddisk (fakt nevim, jak to popsat líp, sorry :-) ).
Příkaz dd (pokud mu podstrčíš celej disk, tj. /dev/sda, bez čísla) udělá krásnou kopii včetně boot oddílu, takže není teoreticky důvod, proč by to nemělo ject...
Pokud je BIOS ok, tak udělej co píše jivep, dej sem víc informací.
Pokud bys dal dohromady příkaz, kterým jsi to dělal, tak ho sem taky pošli. Ale jen pokud jsi si naprosto jistej, že to bylo přesně tak!
-
Psal jsem, že fdisk tohle ukazuje u původního stroje, žádné harakiri na něm děláno nebylo, čistá instalace, pak samba, pak web, dlna později, nic jiného se tam nedělalo.
Já jsem se ptal, jestli jste zkoušel příkaz fdisk -l někdy předtím (před kopírováním) na tom původním stroji ? Pokud ano a fungovalo to, tak vznikl problém před kopírováním.
Jinak si osobně myslím, že původní disk byl rozdělen pomocí novější metody (GPT) a proto fdisk -l se choval stejně i předtím a je to ok, protože fdisk neumí pracovat s GPT.
Jinak, pokud kopírujete pomocí dd, tak může vzniknout problém při bootování z nového disku a to tehdy, pokud nový disk není identifikován v systému pomocí klasické metody (/dev/sdX) nebo novější metody s UUID, ale pokud je identifikován pomocí
/dev/disk/by-id , protože nový disk bude mít jiné id.
Proto je lepší použít pro identifikaci disků použít buď label nebo UUID, které zůstanou stejné při kopírování.
Takže pokud váš záložní (předpokládám, že používá identický hardware jako původní systém, jak píšete ) systém nechce bootovat, tak bych se podíval, jak máte identifikovány disky v /etc/fstab. Pokud pomocí metody by_id, tak musíte provést změny grubu a fstab
-
Tak jsem se s tím dneska celý den bořil a nejde to podle mě z jedného ze dvou důvodů. Buď se při dd přes LAN něco dělá špatně, nebo opravdu to souvisí, jak píšete s UUID. Zkoušel jsem totéž na dvou discích v záložním stroji a tam v rámci jedné MB vše fungovalo. Tady je fstab:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2 during installation
UUID=903359fe-5e8d-4554-9b3b-3b6ffc5c3cd1 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda1 during installation
UUID=3B40-843D /boot/efi vfat defaults 0 1
# swap was on /dev/sda3 during installation
UUID=84e5912c-248c-440e-b891-487a983737c9 none swap sw 0 0
Netuším z které strany se dotoho zakousnout, protože netuším, co to UUID je, budu to muset zítra začít křupat.
-
Zapoměl jsem napsat, /boot/grub/menu.lst neexistuje.
-
Něco jsem si už přečetl, zdá se, že to bude tím UUID, ale nechápu, proč by měli mravenečci v PC mít problém předat velení boot particii, když byl původní disk, ze kterého pochází kopie 1:1 formátován na jiném stroji? Použil jsem stejné instalaci netinst.iso na obou i když reálně v jiném čase.
-
UUID je identifikace toho disku a na založním serveru je asi jiná než na původním.
Porovnej výpis
$ blkid /dev/sda<x>Z obou serveru, pokud je jsou UUID jiná, tak na novém nastav v fstab ta správná UUID
--
Mareg
-
Já nevím, jestli tomu rozumím dobře, ale co má fstab společného s bootováním, krom toho, že po nabootování přimountuje disky? mě totiž nejde nabootovat, systém vyhlasuje, abych vložil device s operačním systémem a to je podle mě daleko před fstab, nebo se mýlím?
-
Ano, boot je daleko před fstab. A navíc si myslím, že dd udělá i stejná UUID (ale to si JEN myslím, nevím jistě!).
Tady je trabl jinde.
V BIOSu máš teda všechno ok, jo?
Co je v souboru /boot/grub/grub.cfg (nebo .conf nebo jinym, kterej se tváří jako nastavení)?
Pokud tenhle soubor je v pohodě, tak nainstaluj ručně GRUB.
Ruční instalace bude trochu oser, záleží a Tvých zkušenostech... Postup bude zjednodušeně následující:
Nabootuješ nějaký Live.
Pokud Live v sobě nemá GRUB (to nemívají), tak musíš udělat chroot do toho systému na disku a ject z něj
Ručně nahodíš GRUB
Ke všemu sedají najít návody, pokud bys nevěděl. Nebo se zeptat tady.
Pokud si můžeš dovolit pár minut výpadku, zkus přehodit disky mezi těma kompama a následně oba nabootovat, za zkoušku to podle mě stojí.
-
porad tu nevidim vypis tech partition z partedu, ohledne menu.lst (byvalo na stasich distrech) ted jsou informace v /boot/grub/grub.cfg .
Je otazka , kdo mu hlasi ze nemuze bootovat, jestli bios, nebo loader. Jestli bios, je to spatne udelane dd, jestli loader, je spatne cesta.
Navic dd udela fyzickou kopii i mbr, tedy ve vysledku to ma nabootovat a maximalne hodit kernel panic.
nahod tedy parted /dev/sda na starem i novem stroji a posli sem vypis (print)
a pro jistotu z obou /boot/grub/grub.cfg
-
Takže, tady je výpis /boot/grub/grub.cfg z původního stroje:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
}
insmod part_gpt
insmod ext2
set root='(hd0,gpt2)'
search --no-floppy --fs-uuid --set=root 903359fe-5e8d-4554-9b3b-3b6ffc5c3cd1
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
load_video
insmod gfxterm
insmod part_gpt
insmod ext2
set root='(hd0,gpt2)'
search --no-floppy --fs-uuid --set=root 903359fe-5e8d-4554-9b3b-3b6ffc5c3cd1
set locale_dir=($root)/boot/grub/locale
set lang=cs_CZ
insmod gettext
fi
terminal_output gfxterm
set timeout=2
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod part_gpt
insmod ext2
set root='(hd0,gpt2)'
search --no-floppy --fs-uuid --set=root 903359fe-5e8d-4554-9b3b-3b6ffc5c3cd1
echo 'Loading Linux 3.2.0-4-amd64 ...'
linux /boot/vmlinuz-3.2.0-4-amd64 root=UUID=903359fe-5e8d-4554-9b3b-3b6ffc5c3cd1 ro quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.2.0-4-amd64
}
menuentry 'Debian GNU/Linux, with Linux 3.2.0-4-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod part_gpt
insmod ext2
set root='(hd0,gpt2)'
search --no-floppy --fs-uuid --set=root 903359fe-5e8d-4554-9b3b-3b6ffc5c3cd1
echo 'Loading Linux 3.2.0-4-amd64 ...'
linux /boot/vmlinuz-3.2.0-4-amd64 root=UUID=903359fe-5e8d-4554-9b3b-3b6ffc5c3cd1 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.2.0-4-amd64
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Výpis /boot/grub/grub.cfg napálený přes dd na hdd záložního stroje jsem zkontroloval řádek po řádku a je totožný, je tedy zbytečné ho sem pastovat.
Výpis parted /dev/sda na původním stroji:
root@debian:~# parted /dev/sda
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA INTEL SSDSC2CT06 (scsi)
Disk /dev/sda: 60,0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 512MB 511MB fat32 boot
2 512MB 55,8GB 55,3GB ext4
3 55,8GB 60,0GB 4172MB linux-swap(v1)
(parted)
Výpis parted /dev/sdb - to je napálený disk, zapojený v SATA2, aby jste rozuměli, mám pro jednoduchost nahozen debian na starším disku v SATA1 /místo live/, a když potřebuju otestovat jestli napálení funguje, jednoduše vypnu PC odpojím "live" HDD a hodím napálený disk ze SATA2 do SATA1.
root@debian1:/mnt/disk/boot/grub# parted /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA INTEL SSDSC2CT06 (scsi)
Disk /dev/sdb: 60,0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 512MB 511MB fat32 boot
2 512MB 55,8GB 55,3GB ext4
3 55,8GB 60,0GB 4172MB linux-swap(v1)
tady je text, který se mi objeví na obrazovce, když to nenabootuje:
"Reboot and select proper device or insert Boot Media in selected Boot device and press a key."
-
ještě malá poznámka, nevím, jak se to stalo, při shutdown -h now stroj nabootován z "live" HDD vyhodil nějakou víceřádkovou hlášku, kde hlásil zjištění boot u /dev/sdb1 a od té doby mám v nabídce bootu dva systémy, první je "live" HDD, druhý je z /dev/sdb1 !!!
-
Nemáš v BIOSu napevno nastavenej ten "live HDD"? Viděl jsem BIOSy, kde se dá nastavit konkrétní kus a přidáním/odebráníms e boot device samo nepřehodí! Odpoj "live HDD" a mrkni do BIOSu, případně vyvolej "Select boot device" nabídku (často F9?) a mrkni, jestli tam je ten Tvuj a vyber ho.
Nemá důvod to nebootovat, prostě nemá. Je to nějaká podobná kravina.
-
Asi přihořívá, po vyvolání /F12/ zařízení pro boot mám v menu krom těch dvou disků na prvním místě "debian" což jsem používal jako jméno stroje při instalaci debianu. Baterii jsem vyndal už předtím, než si napsal. Nemá to jumper pro reset biosu.
-
Ne, nepomohlo, stejná hláška, jen dodám, deska je Gigabyte B75N miniITX
-
Nemusíš resetovat. Ten "debian" vypadá na EFI věc (taumožňuje kromě disků a oddílů i jakýsi jména OS). Tak je to jasný. Vyhoď "live HDD", nastartuj komp, vlez do BIOSu (Delete nebo F10 nebo tak něco) a předělej boot device (nebo boot device order). Budeš mít vyřešeno.
To nad čarou jsem napsal před Tvým posledním příspěvkem (16:00:12). Zkoušel jsi to tak?
-
Už jsem v tom biosu vyzkoušel snad všechny možnosti kolem toho, nic nezabírá. Něco váže instalaci debianu k desce, jinak si to neumím vysvětlit.
Jdu ještě najít nějakou dokumentaci k tomu biosu.
-
ahoj
jak uz nekdo psal tak nejjednoduzsi bude kdyz nabutujes s live flashky, primountujes ten disk se zalohou, chrotnes se do nej a preinstalujes grub.
oproti windows, v linuxu muzes pouzivat gpt v rezimu uefi i vrezimu stareho legacy biosu. Pokud pouzivas uefi, tak si musis najit nebo vyrobit live flashku, pomoci ktere nabotujes v uefi rezimu ! a pri chrootu se uefi rezim musi taky zohlednit tak pozor na to.
-
Zkoušel jsi možnost:
Vyndat debian disk
Spustit PC
Zmáčknout F12 na výběr boot media
Vybrat ten SSD disk
?
Pokud to takhle nenabootuje, tak bych prohodil ty dva SSD disky mezi kompama a zkusil boot obou kompů. Podle toho, kterej nenabootuje bych pak postupoval dál.
Pokud nenajede tenhle záložní komp (s ostrým diskem), je problém v nastavení BIOSu.
Pokud nenajede ostrej komp se záložním diskem, je problém v nastavení systému (pak bych šel jako první tou cestu, co jsem psal výše - chroot a ruční instalace GRUBu).
-
Veřte, že jsem vyzkoušel všechny možné volby v biosu a jejich kombinace, nic nepomohlo. Ale pokud najedu do grubu na "live" hdd, tak mám možnost nabootovat z /dev/sdb1 to mě ukazuje, že na napáleném disku není grub, nebo je poškozen, nic jiného to nemůže být.
-
Tím pádem platí scénář popsaný v jednom z předchozích příspěvků.
... tak nainstaluj ručně GRUB.
Ruční instalace bude trochu oser, záleží a Tvých zkušenostech... Postup bude zjednodušeně následující:
Nabootuješ nějaký Live.
Pokud Live v sobě nemá GRUB (to nemívají), tak musíš udělat chroot do toho systému na disku a ject z něj
Ručně nahodíš GRUB
Ke všemu sedají najít návody, pokud bys nevěděl. Nebo se zeptat tady.
-
Nemůže být třeba problém v tom, že oba disky jsou SSD ale mají možná jiné chybné buňky, a tím dojde ke špatnému přepisu? Pokud ano, lze nějakým jiným způsobem toto obejít?
-
Takže nové informace, přepálil jsem to z zaloha.img znovu, tentokráte se objevila jiná hláška:
error: file ´/boot/grub/x86_64-efi/normal.mod not found
rescue grub>
díval jsem se do 3 stejných instalací debianu, ale ani v jedné neexistuje adresář /boot/grub/x86_64-efi, natož nějaký soubor v něm.
Teď už jen nakopnout.
-
Chybnýma buňkama to nebude, ty si musí ohlídat disk sám v sobě a Tebe nchá pracovat jen s dobrýma (co jsem teda pochopil, protože já SSD nemám).
Teď jsi o kousek dál, ale nevím, jestli líp nebo hůř :-)
Bootloader už funguje, to je super, ale zjevně chce startovat z EFI modu, od kterýho ale něco chybí. Já Tě nenakopnu, protože já jsem GRUB na bootování přes EFI ještě nenastavoval a nic o tom nevím.
-
no pravdepodobne to znamena ze na puvodnim stroji mas nastaven legacy bios rezim a na stroji, na kterem poustis zalohu mas nastaven uefi rezim.
muzes tohle nejak proverit a popripade napsat jak mas oba stroje nastavene? to v jakem rezimu bude pocitac bootovat se nastavuje hned pri startu pocitace.
ja tu nemam zadny stroj s efi ale podle me kdyz si nainstalujes efivar a skusis modprobe efivars tak pokud budes v uefi modu tak ten prikaz probehne, pokud nebudes tak to hodi error.
kdyztak napis jaky typ desky mas v obou pocitacich a kouknem do manualu;)
v uefi rezimu podle mne potrebujes nejaky "spousteci program", ktery se bude nachazet na efi system partisne (fat partisna co ma kolem 100mb) pomoci ktereho pak nactes linux. Pokud nemas efi system partisnu nebo na ni neni ten spousteci program a pocitac je nastaven do uefi rezimu, tak by to vystvetlovalo proc to haze error.
jak uz jsem psal vyse, preinstalovani grubu ve zpravnem rezimu pomoci live flash by asi pomohlo ( a zabere to 10 min).
-
Abch se přiznal, pustil jsem se jiným směrem - zálohou kořenu původního servérku a přepsáním kořenu panenské instalace debianu na záložním. Tady se objevil kapku jiný problém, ale ten nevypadá pro mě tak hrozně, nesouhlasí UUID. Právě to studuju v průvodci dedinčana. Nemám ale dobrý pocit, protože to není podle mě tak dokonalá kopie, a mohou nastat ještě jiné problémy.
Takže jakmile dořeším toto, vrátím se k přepisu disku. Rád se učím a toto jsou věci, co mě lákají.
Co se týče EFI, ano, má svou vfat partícii a ta byla po fleši/sorry za výraz, ale vhodnější pro dd mě nenapadá/ alespoň dle zběžné kontroly v pořádku, další ano - ravděpodobně bude nutno opravit grub.
Při instalaci nového debianu jsem si všímal závěrečnou fázi, když instalátor tvořil grub, vypsal spouštím grub-install-efi, nebo tak něco, /šlo to moc rychle, nestačil jsem dobře přečíst, samotná netinstall instalace trvá 5,5 minuty!/čili tady asi nepůjde o klasickou opravu, ale o něco co souvisí s efi. Kdyby vás to zajímalo a něco napadlo, nebo jste vyčenichali, klidně to tady přilepte, možná to zajímá i jiný lidi, docela dost je to tady čteno.
-
tady je docela dobry a jednoduchy navod, jak preinstalovat grub v uefi rezimu na debianich distribucich
http://superuser.com/questions/376470/how-to-reinstall-grub2-efi