Re: Klonování a migrace FreeBSD
Miroslav Lachman
000.fbsd at quip.cz
Wed Jan 14 00:40:40 CET 2015
Bc. Tomáš Skočdopole | IT-BOX wrote on 01/13/2015 21:35:
[...]
Postupoval bych asi takto - nabootovat LiveCD, ručně
> vytvořit oddíly, naformátovat je, přimountovat a rsyncem naklonovat odněkud
> z existující instalace (a zároveň někde běžící) vše potřebné a nakonec
> nainstalovat zavaděč?
Ano, takhle nejak jsem to uz parkrat realizoval
> Pokud to takto bylo opravdu myšleno, tak mi to moc nevyhovuje z důvodu
> kopírování po síti, což může být někdy problém (většina strojů není dostupná
> přímo, ale musel bych se připojovat do VPN, rychlost konektivity atd).
Samozrejme zalezi na tom konkretnim vyuzivani. Ja tohle pouzival v ramci
verejne pristupnych stroju v ruznych serverovnach, kde se vzajemnou
konektivitou stroju nebyl problem.
> Zároveň bych tam musel potom (jistě že něco by se nekopírovalo díky exclude
> pravidlům) myslet na to, zda v nějakém adresáři nezůstaly nějaké pozůstatky
> z výchozího systému. A navíc některé konfiguráky by byly už třeba dosti
> upravené od originálu...
>
> Mne by vyhovovalo například si ve virtuálu rozjet vše potřebné - udělat tedy
> vzor, ten zálohovat a potom se zálohou chodit a vesele klonovat.
>
> Co jsem koukal, tak zálohovat by mělo jít takto:
> tar -cvpjf /backup.tar.bz2 --exclude=/backup.tar.bz2 --exclude=/.snap
> --exclude=/mnt -exclude=/proc -exclude=/sys /
>
> Rozbalit potom takto:
> tar -xvpjf backup.tar.bz2 -C /mnt
I tohle je moznost, ale jsem opet u toho, kolik bys tech vzorovych
instalaci takhle mel pripravenych a nosil je sebou. Nejak bude vypadat
webserver, jinak bude vypadat DB, jinak mailserver, jinak kancelarsky
fileserver a jinak router / firewall.
Vsechny tyhle varianty by sis musel pripravit predem a jeste tak, aby
neobsahovaly zadna konkretni data (treba IP adresy z tech virtualu, nebo
bezicich serveru, loginy atd.)
Pokud tech rozlicnych instalaci delas opravdu dost a vyplati se ti je
vsechny pripravit predem, pak by bylo idealni si je opravdu pripravit v
tom virtualu vcetne uprav v konfiguracnich souborech a misto konkretnich
hodnot v tech konfiguracich mit nejake placeholdery, jako treba
_HOSTNAME_, _DOMAIN_, _GATEWAY_IP_, _MAIN_IP_, _ADMIN_LOGIN_ a tak
dale, ktere pak muzes jednoduse v te nove "instalaci" nahradit prikazy
sedu (sed -i 's/_DOMAIN_/example.com/g' /path/to/file)
Cele tohle by sis mohl hodit do celkem trivialniho shellscriptu, ktery
by se te na tyhle jednotlive veci dotazoval, takze bys to prochazel jak
instalacnim wizardem. (na to staci v sh pouzit "read")
Proste to bude podobne reseni, jako prikaz adduser, ktery se te na
vsechno pta.
Kdyby sis napsal takovyhle script, tak pak muzes mit nejaky flashdisk s
LiveOS, kde spustis script, reknes mu, jake je diskove zarizeni (treba
ada0), jak ho ma rozdelit (velikost oddilu), naformatujes to taky tim
scriptem, bootloader tam taky zapises z toho scriptu, rozbalis tam ten
svuj tar.gz a nahradis v konfiguracich ty placeholdery.
Za par minut a jeden reboot mas hotovou instalaci serveru podle tebou
zvolene varianty (router, webserver, fileserver).
Ale to uz to stejne tak muzes mit nascriptovane vcetne te instalace
konkretnich pkg a nemusis vubec mit pripravenou zadnou vzorovou
instalaci, proste si jen nascriptujes to rozdeleni disku, rozbaleni
base.txz, kernel.txz a instalaci potrebnych baliku.
Zkratka nema to zadnou pevnou hranici toho, co pripravis predem a co
vyresis nejakym svym scriptem, nebo rucnim spoustenim prikazu.
> A zavaděč jestli se nemýlím takto:
> boot0cfg -B ad0
Driv to tak asi bylo (a pokud se nepletu, tak tohle instaluje boot
manager, ktery ma asi smysl jen kdyz mas pocitac, kde bootujes vice
systemu / z vice disku)
Ted to bude spis neco jako
gpart bootcode -b /boot/boot0 ada0
gpart bootcode -b /boot/boot ada0s1
nebo treba
gpart bootcode -p /boot/boot1 da0
Mrkni na "man gpart", jsou tam priklady.
> Pouze si s tím nejsem jist, zda na to nejdu třeba nějak zbytečně složitě.
Tohle nejvic zavisi na tom, jak casto to budes pouzivat, kolik casu ti
zabere to pripravit, kolik casu ti to usetri tim, ze to pak budes
pouzivat a tak dale. Takze se o zadnem z tech zpusobu neda rict, ze je
spatny. Kazdemu bude pro jeho situaci vyhovovat neco jineho.
Kdyz parkrat za rok delam instalaci, vystacim si s tim, ze si z nejakeho
podobneho serveru prenesu /var/db/ports a /usr/local/etc + seznam
instalovanych portu a zbytek dodelam rucne. Jak je zrovna potreba.
Kdybych delal rocne vic nez 10 instalaci, asi bych si to vyresil tim
shellscriptem, popsanym vyse.
> Jinak ke třetí možnosti: je to takovej ideál, ale opravdu toho nedělám
> tolik, nicméně zároveň by se ten nástroj mohl využít na hromadnou údržbu
> těch naklonovaných strojů (aktualizace, vylepšení atd), takže to stále ještě
> u mě zůstává ve hře...
Kdybych kazdy mesic nasazoval 10 VPS, tak bych to resil nejakym plne
automatizovanym zpusobem vcetne verzovani konfigurace a centralizovaneho
managementu tech virtualu.
(ma to proste pozadavek na celkem vyoskou investici [casu] na zacatku,
ale dlouhodobe to pak ten cas dokaze usetrit, kdyz se to pouziva casto)
Mirek
More information about the Users-l
mailing list