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