<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ckallas</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ckallas"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Ckallas"/>
	<updated>2026-05-09T03:38:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Varnish&amp;diff=61430</id>
		<title>Varnish</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Varnish&amp;diff=61430"/>
		<updated>2013-03-13T16:52:22Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Varnishi paigaldamine turvalisuse suurendamiseks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Koostajad = &lt;br /&gt;
Vajab täiendamist. Lingi http://blog.rac.me.uk/2009/11/29/linux-handy-varnish-commands/ alusel.&lt;br /&gt;
&lt;br /&gt;
Rene Sepp, Kersti Lang, Carolys Kallas&lt;br /&gt;
&lt;br /&gt;
Kevad 2012&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 14.05.2012&lt;br /&gt;
&lt;br /&gt;
= Sissejuhatus =&lt;br /&gt;
Varnishit kasutatakse veebilehekülgede kiirendamiseks. See installeeritakse HTTP serveri ette ning tehakse vastavad muutused sisu cachimiseks. Varnish cache tavaliselt kiirendab andmete laadimiset 300-1000 kordselt sõltuvalt veebilehe ülesehitusest. Varnish cache hoiab veebilehti vahemälus kiirendades sellega javaskriptide ning piltide laadimist. Lisaks kasutatakse seda ka koormuse tasakaalustamiseks ning turvalisuse suurendamiseks.&lt;br /&gt;
&lt;br /&gt;
= Ajalugu =&lt;br /&gt;
Projekti algatas Norra suurim tabloidformaadis ajaleht Verdens Gang. Arhitekt ja juhtiv arendaja on Taani konsultant Poul-Henning Kamp (tuntud kui FreeBSDcore arendaja).  Haldus, infrastruktuuri - ja täiendavat arendust varustas algselt Norra Linux konsultatsioonifirma Linpro. Varnishi tugi, haldus ja arendus koondus hiljem eraldi haruks - Varnish Software.&lt;br /&gt;
&lt;br /&gt;
2006. aastal avaldati Varnishi versioon 1.0. Varnish 2.0 avaldati 2008 ning Varnish 3.0 2011 aastal.&lt;br /&gt;
&lt;br /&gt;
= Arhitektuur =&lt;br /&gt;
Varnishi salvestab andmed virtuaalmällu ja jätab otsustada, mis salvestatakse mällu ja mida suunatakse ketta operatsioonisüsteemi. See aitab vältida olukorda, kus operatsioonisüsteem hakkab andmeid suunama vahemällu samal ajal kui nad paigutatakse rakenduse poolt kettale.&lt;br /&gt;
&lt;br /&gt;
Lisaks on Varnishi tugevalt &amp;quot;keermestatud&amp;quot;, iga kliendi ühendust käsitletakse kui eraldi &amp;quot;keeret&amp;quot;. Kui seadistatud aktiivsete &amp;quot;keerete&amp;quot; arv on täidetud, paigutatakse sisenevad ühendused ülevoolu järjekorda. Kui kui see järjekord jõuab teatud piirini, hakkab süsteem sissetulevaid ühendusi tagasi lükkama.&lt;br /&gt;
&lt;br /&gt;
Peamine seadistamise mehhanism on VCL (Varnishi Configuration Language).Enamus kasutajapoliitika otsuseid jäetakse VCL koodi, mis muudab Varnishi palju rohkem seadistatav ja kohanemisvõimelisemaks kui enamik teisi HTTP kiirendeid. Kui VLC script on laetud, tõlgitakse see &amp;quot;C&amp;quot; keelde, kompileeritakse, et jagada objektid süsteemi poolt kompilaatorisse ja seotakse otse kiirendiga.&lt;br /&gt;
&lt;br /&gt;
Arvu run-time parameetrid kontrollivad näiteks maksimaalset ja minimaalset aktiivsete keerete arvu, nende erinevaid süsteemipause jne. Käsurea juhtimise liides võimaldab neid parameetreid muuta, uusi VCL skripte kompileerida, laadida ja aktiveerida kiirendile taaskäivitust tegemata.&lt;br /&gt;
&lt;br /&gt;
Selleks, et vähendada süsteemi päringute arvu kiirelt miinimumini, on logi-andmed salvestatud mällu ning logi-andmete filtreerimine, vorminine ning kirjutamine aktiivsele kettale kettale.&lt;br /&gt;
&lt;br /&gt;
= Eeldused =&lt;br /&gt;
Antud lahendus on testitud Ubuntu Server 10.10 peal, kuid võib töötada ka teiste Ubuntu versioonidega ning muude Linuxi distributsioonidega.&lt;br /&gt;
&lt;br /&gt;
Eelduseks on töötav veebileht, näiteks wordpressi leht. Kui seda tehtud pole, siis seda kirjeldab &lt;br /&gt;
WordPress turvamise labor. https://wiki.itcollege.ee/index.php/WordPress_turvamine&lt;br /&gt;
&lt;br /&gt;
= Varnishi paigaldamine turvalisuse suurendamiseks =&lt;br /&gt;
Varnish peatab mittetäielikel http päringutel jõudmast Apache veebiserverini. &lt;br /&gt;
Põhineb &amp;quot;Putting Varnish In Front Of Apache On Ubuntu/Debian&amp;quot; artiklil, mis asub siin http://www.howtoforge.com/putting-varnish-in-front-of-apache-on-ubuntu-debian &lt;br /&gt;
&lt;br /&gt;
==Kontrollime kas on installitud kõige uuem varnishi versioon.==&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install curl&lt;br /&gt;
sudo curl http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -&lt;br /&gt;
sudo echo &amp;quot;deb http://repo.varnish-cache.org/debian/ $(lsb_release -s -c) varnish-2.1&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Apache konfiguratsiooni muutmine==&lt;br /&gt;
Muudame varnishi konfiguratsiooni faili, et varnish kuulaks defaultina port 80.&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /etc/default/varnish&amp;lt;/pre&amp;gt;&lt;br /&gt;
Muuda &amp;quot;DAEMON_OPTS=&amp;quot;-a *:6081 \&amp;quot; selliseks&lt;br /&gt;
&amp;lt;pre&amp;gt;DAEMON_OPTS=&amp;quot;-a *:80 \&amp;lt;/pre&amp;gt; &lt;br /&gt;
ctrl-O ja muudame nime millekski muuks, nt mysite.vcl&lt;br /&gt;
&lt;br /&gt;
Kopeerime /etc/varnish/default.vcl&lt;br /&gt;
&amp;lt;pre&amp;gt;cp /etc/varnish/default.vcl /etc/varnish/mysite.vcl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Täiendame /etc/varnish/mysite.vcl faili.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
## Redirect requests to Apache, running on port 8000 on localhost&lt;br /&gt;
backend apache {&lt;br /&gt;
        .host = &amp;quot;127.0.0.1&amp;quot;;&lt;br /&gt;
        .port = &amp;quot;8000&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
## Fetch&lt;br /&gt;
sub vcl_fetch {&lt;br /&gt;
		## Remove the X-Forwarded-For header if it exists.&lt;br /&gt;
        remove req.http.X-Forwarded-For;&lt;br /&gt;
		&lt;br /&gt;
		## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.&lt;br /&gt;
        set    req.http.X-Forwarded-For = req.http.rlnclientipaddr;&lt;br /&gt;
		## Added security, the &amp;quot;w00tw00t&amp;quot; attacks are pretty annoying so lets block it before it reaches our webserver&lt;br /&gt;
        if (req.url ~ &amp;quot;^/w00tw00t&amp;quot;) {&lt;br /&gt;
                error 403 &amp;quot;Not permitted&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
		## Deliver the content&lt;br /&gt;
        return(deliver);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
## Deliver&lt;br /&gt;
sub vcl_deliver {&lt;br /&gt;
		## We&#039;ll be hiding some headers added by Varnish. We want to make sure people are not seeing we&#039;re using Varnish.&lt;br /&gt;
              ## Since we&#039;re not caching (yet), why bother telling people we use it?&lt;br /&gt;
        remove resp.http.X-Varnish;&lt;br /&gt;
        remove resp.http.Via;&lt;br /&gt;
        remove resp.http.Age;&lt;br /&gt;
		&lt;br /&gt;
		## We&#039;d like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.&lt;br /&gt;
        remove resp.http.X-Powered-By;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Varnishi konfiguratsiooni muutmine==&lt;br /&gt;
Apache2 tuleb kuulama panna localhosti.&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /etc/apache2/ports.conf&amp;lt;/pre&amp;gt; &lt;br /&gt;
Muuda &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
NameVirtualHost *:80&lt;br /&gt;
Listen 80&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
selliseks &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NameVirtualHost *:8000&lt;br /&gt;
Listen 192.168.56.101:8000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
192.168.56.101 asemel kasuta oma IP.&lt;br /&gt;
&lt;br /&gt;
Paigaldame apachele lisamooduli, et kuvataks kliendi õige ip aadress.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install libapache2-mod-rpaf&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Deemonite restart ==&lt;br /&gt;
Kõigepealt tuleb apachele restart teha&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/init.d/apache2 restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime IP porti&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -lp | grep apache2 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemus peab olema taoline:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcp        0      0 localhost:8000          *:*                     LISTEN      4586/apache2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teeme restarti Varnishile&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/init.d/varnish restart &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime uuesti&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -lp | grep varnish &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemus peab olema taoline:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcp        0      0 *:www                   *:*                     LISTEN      4498/varnishd&lt;br /&gt;
tcp6       0      0 [::]:www                [::]:*                  LISTEN      4498/varnishd &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on varnish paigaldatud apache2 ette. (Wordpress) sait peab nüüd töötama. Kui apache peatada kuvatakse varnish error lehekülg.&lt;br /&gt;
&lt;br /&gt;
= Logimine =&lt;br /&gt;
== Access.log ==&lt;br /&gt;
Veebilehe külastamisi saab jälgida access.logist:&lt;br /&gt;
&amp;lt;pre&amp;gt;nano /var/log/varnish/access.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Juhend, et Apache logides näidataks kliendi IP aadressi, mitte Varnishi serveri enda =&lt;br /&gt;
==Varnishi pool==&lt;br /&gt;
&lt;br /&gt;
Lisada oma varnish konfiguratsiooni .vcl read:&lt;br /&gt;
&lt;br /&gt;
Näiteks /etc/varnish/default.vcl&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub vcl_recv {&lt;br /&gt;
  # Add a unique header containing the client address&lt;br /&gt;
  remove req.http.X-Forwarded-For;&lt;br /&gt;
  set    req.http.X-Forwarded-For = client.ip;&lt;br /&gt;
  # [...]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Taaskäivita Varnish&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service varnish restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Apache pool == &lt;br /&gt;
Lisada vajalikud moodulid Apache jaoks&lt;br /&gt;
&lt;br /&gt;
Tuleb lisada fail /etc/apache2/conf.d/varnishlog.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LogFormat &amp;quot;%{X-Forwarded-For}i %l %u %t \&amp;quot;%r\&amp;quot; %&amp;gt;s %b \&amp;quot;%{Referer}i\&amp;quot; \&amp;quot;%{User-Agent}i\&amp;quot;&amp;quot; varnishcombined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enda virtualhost konfiguratsioonis muutke log vorming varnishcombined-ks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName www.planet.zz&lt;br /&gt;
  # [...]&lt;br /&gt;
  CustomLog ${APACHE_LOG_DIR}/access.log varnishcombined&lt;br /&gt;
  # [...]&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Apachele restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apache2 restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tulemuse kontroll==&lt;br /&gt;
Ühenda kliendiga veebiserveri külge ja vaata apache access.log faili, mis ip logitakse&lt;br /&gt;
&amp;lt;pre&amp;gt;less /var/log/apache2/access.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Juhend, Security.VCL paigaldamine =&lt;br /&gt;
Security.vcl on Web Application tulemüür, mis on rakendatud vcl(Varnish Control Language) keeles&lt;br /&gt;
&lt;br /&gt;
Sarnaneb mod_security-le, aga on palju kiirem.&lt;br /&gt;
&lt;br /&gt;
https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project#tab=Home&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://github.com/comotion/security.vcl/tarball/master -O - | tar xz&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; apt-get install make&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;cd comotion-security.vcl-616f269/vcl/&lt;br /&gt;
sudo make&lt;br /&gt;
cd ..&lt;br /&gt;
sudo ln -s $PWD/vcl/ /etc/varnish/security&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisa Varnishi .vcl conf faili järgnev rida Backend Apache ridade alla&lt;br /&gt;
&amp;lt;pre&amp;gt; include &amp;quot;/etc/varnish/security/main.vcl&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Välja peaks nägema nii&lt;br /&gt;
&amp;lt;pre&amp;gt; backend apache {&lt;br /&gt;
        .host = &amp;quot;&amp;lt;sinu serveri ip&amp;gt;&amp;quot;;&lt;br /&gt;
        .port = &amp;quot;8080&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
include &amp;quot;/etc/varnish/security/main.vcl&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;service varnish restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tulemuse kontroll ==&lt;br /&gt;
&lt;br /&gt;
Proovi nüüd minna enda veebiserveri külge aadressiga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;http://&amp;lt;sinu serveri ip&amp;gt;/javascript:&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik toimib tuleb vastuseks:&lt;br /&gt;
&amp;lt;pre&amp;gt;Error 403 Naughty, not nice!&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutatud materjal ==&lt;br /&gt;
1. About Varnish - https://www.varnish-cache.org/about&lt;br /&gt;
&lt;br /&gt;
2. Putting Varnish In Front Of Apache On Ubuntu/Debian - http://www.howtoforge.com/putting-varnish-in-front-of-apache-on-ubuntu-debian&lt;br /&gt;
&lt;br /&gt;
3. Configuring varnish and apache to pass the original client ip http://theyusedtocallitablog.net/2011/07/configuring-varnish-and-apache-to-pass-the-original-client-ip-specifically-with-wordpress-comments-in-mind/&lt;br /&gt;
&lt;br /&gt;
4. https://github.com/comotion/security.vcl/blob/master/README&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=61034</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=61034"/>
		<updated>2013-01-14T16:52:24Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* LVM -i seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada Logical Volume Manageri kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |http://linuxconfig.org/images/Lvm.jpg Pilt on pärit linuxconfig ariklist &amp;quot;Linux lvm - Logical Volume Manager&amp;quot;  |alt=LVM alt text]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon (/dev/sdb1) on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display käsu tulemus peaks olema sarnane:&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
/sbin on standardne juurkataloogi alamkataloog Linuxis ja teistes Unix-taolistes operatsioonisüsteemides, mis sisaldab käivitamisvõimelisi programme. Seda on vaja, et saaks kasutada süsteemisiseseid faile. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tabelite lukust vabastamine.&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; UNLOCK TABLES;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.01 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Muutmine lõpetatud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=61023</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=61023"/>
		<updated>2013-01-14T13:05:10Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Tõmmise tegemine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada Logical Volume Manageri kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon (/dev/sdb1) on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display käsu tulemus peaks olema sarnane:&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
/sbin on standardne juurkataloogi alamkataloog Linuxis ja teistes Unix-taolistes operatsioonisüsteemides, mis sisaldab käivitamisvõimelisi programme. Seda on vaja, et saaks kasutada süsteemisiseseid faile. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tabelite lukust vabastamine.&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; UNLOCK TABLES;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.01 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Muutmine lõpetatud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=61021</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=61021"/>
		<updated>2013-01-14T13:04:06Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* LVM -i seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada Logical Volume Manageri kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon (/dev/sdb1) on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display käsu tulemus peaks olema sarnane:&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemus:&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
/sbin on standardne juurkataloogi alamkataloog Linuxis ja teistes Unix-taolistes operatsioonisüsteemides, mis sisaldab käivitamisvõimelisi programme. Seda on vaja, et saaks kasutada süsteemisiseseid faile. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tabelite lukust vabastamine.&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; UNLOCK TABLES;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.01 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Muutmine lõpetatud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=61008</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=61008"/>
		<updated>2013-01-13T23:42:57Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Autor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada Logical Volume Manageri kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon (/dev/sdb1) on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display käsu tulemus peaks olema sarnane:&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
/sbin on standardne juurkataloogi alamkataloog Linuxis ja teistes Unix-taolistes operatsioonisüsteemides, mis sisaldab käivitamisvõimelisi programme. Seda on vaja, et saaks kasutada süsteemisiseseid faile. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tabelite lukust vabastamine.&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; UNLOCK TABLES;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.01 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Muutmine lõpetatud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=61004</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=61004"/>
		<updated>2013-01-13T20:16:33Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Tõmmise tegemine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada Logical Volume Manageri kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon (/dev/sdb1) on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display käsu tulemus peaks olema sarnane:&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
/sbin on standardne juurkataloogi alamkataloog Linuxis ja teistes Unix-taolistes operatsioonisüsteemides, mis sisaldab käivitamisvõimelisi programme. Seda on vaja, et saaks kasutada süsteemisiseseid faile. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tabelite lukust vabastamine.&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; UNLOCK TABLES;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.01 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Muutmine lõpetatud: XX.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60994</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60994"/>
		<updated>2013-01-13T19:51:43Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Autor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada Logical Volume Manageri kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon (/dev/sdb1) on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display käsu tulemus peaks olema sarnane:&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
/sbin on standardne juurkataloogi alamkataloog Linuxis ja teistes Unix-taolistes operatsioonisüsteemides, mis sisaldab käivitamisvõimelisi programme.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tabelite lukust vabastamine.&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; UNLOCK TABLES;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.01 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Muutmine lõpetatud: XX.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60993</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60993"/>
		<updated>2013-01-13T19:48:11Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Tõmmise tegemine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada Logical Volume Manageri kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon (/dev/sdb1) on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display käsu tulemus peaks olema sarnane:&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
/sbin on standardne juurkataloogi alamkataloog Linuxis ja teistes Unix-taolistes operatsioonisüsteemides, mis sisaldab käivitamisvõimelisi programme.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tabelite lukust vabastamine.&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; UNLOCK TABLES;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.01 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60991</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60991"/>
		<updated>2013-01-13T19:47:38Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Tõmmise tegemine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada Logical Volume Manageri kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon (/dev/sdb1) on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display käsu tulemus peaks olema sarnane:&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
/sbin on standardne juurkataloogi alamkataloog Linuxis ja teistes Unix-taolistes operatsioonisüsteemides, mis sisaldab käivitamisvõimelisi programme.&lt;br /&gt;
&lt;br /&gt;
/sbin is a standard subdirectory of the root directory in Linux and other Unix-like operating systems that contains executable (i.e., ready to run) programs. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tabelite lukust vabastamine.&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; UNLOCK TABLES;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.01 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60978</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60978"/>
		<updated>2013-01-13T19:18:56Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Tõmmise tegemine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada Logical Volume Manageri kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon (/dev/sdb1) on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display käsu tulemus peaks olema sarnane:&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tabelite lukust vabastamine.&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; UNLOCK TABLES;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.01 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Linuxi_administreerimine&amp;diff=60977</id>
		<title>Linuxi administreerimine</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Linuxi_administreerimine&amp;diff=60977"/>
		<updated>2013-01-13T19:07:40Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Labor 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Üldinfo=&lt;br /&gt;
ECTS: 4&lt;br /&gt;
Hindamisviis: Eksam&lt;br /&gt;
&lt;br /&gt;
==Õppejõud==&lt;br /&gt;
Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Katrin Loodus&lt;br /&gt;
&lt;br /&gt;
=Eeldused ja sihtgrupp=&lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteemide administreerimine ja sidumine (Rangelt soovituslik). Osadmin aines loetava oskamine on antud aine õppimise eelduseks. ÕISis on see eeldus märgitud soovituslikuks, kuna igal aastal on paar inimest, kes suudavad mõlemad ained korraga läbida ja on antud vallas väga pädevad.&lt;br /&gt;
Linuxi administraatori kursus on mõeldud tugeva infotehnoloogilise põhjaga arvuti-spetsialistile.&lt;br /&gt;
Kursuse rõhk on eelkõige võrguhalduril, kelle tööülesannete hulka kuulub igapäevane serverite, võrgu jms hooldus, konfigureerimine ja uute seadmete installatsioon.&lt;br /&gt;
&lt;br /&gt;
=Eesmärk ja sisu=&lt;br /&gt;
&lt;br /&gt;
Kursuse esimeses osas õpitakse tundma Linux süsteemi toimimist, antakse ülevaade administreerimistoimingute automatiseerimisest shelli skriptide abil ja omandatakse praktiline käsufailide koostamise kogemus.&lt;br /&gt;
&lt;br /&gt;
Teises osas õpitakse paigaldama ja konfigureerima erinevaid võrguteenuseid. Kursuse teise osa alguses korratakse taseme ühtlustamiseks TCP/IP võrgu põhialuseid.&lt;br /&gt;
&lt;br /&gt;
=Õpiväljundid=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Loengud=&lt;br /&gt;
1. Sissejuhatav loeng eeldustest [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Loeng_1_Sissejuhatus.odp Sissejuhatus]&lt;br /&gt;
&lt;br /&gt;
2. Kordamine Osadmin [http://elab.itcollege.ee:8000/Linux-Basics.mm]&lt;br /&gt;
&lt;br /&gt;
=Praktikumid=&lt;br /&gt;
&lt;br /&gt;
==Esimene praktikum - Ubuntu Server paigaldamine ja kordamistest==&lt;br /&gt;
* Paigaldage Ubuntu Linux Server süsteem VirtualBox abil&lt;br /&gt;
**RAM 512MB&lt;br /&gt;
**HDD dynamicly allocated 8GB&lt;br /&gt;
**2 Võrgukaarti NIC1 - NAT (eth0 - Ubuntus) ja NIC2 - HostOnly (eth1 - Ubuntus)&lt;br /&gt;
**Logige serverisse sisse ja seadistage võrk failis /etc/network/interfaces (liidese eth1 ip aadress 192.168.56.200). &lt;br /&gt;
***Abiinfo [[Ubuntu server võrgu seadistamine]] ja [[VirtualBoxi võrgud]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
  address 192.168.56.200&lt;br /&gt;
  netmask 255.255.255.0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Paigaldage openssh server, kui te seda installi käigus ei teinud (apt-get update &amp;amp;&amp;amp; apt-get install ssh)&lt;br /&gt;
&lt;br /&gt;
Ubuntu Server 12.04.1 LTS ISO (64bit) http://elab.itcollege.ee:8000/ubuntu-12.04.1-server-amd64.iso&lt;br /&gt;
&lt;br /&gt;
Eelduste kontrollimise test: http://goo.gl/73xBZ&lt;br /&gt;
Kes tunneb, et test on liiga keeruline, peab kaaluma aine deklareerimise asemel Osadmin aine (mis on soovituslik eeldus) läbimist.&lt;br /&gt;
&lt;br /&gt;
==Teine praktikum==&lt;br /&gt;
*Desktop linux paigaldamine (Vali mitte deb pakihalduriga linux distro, näiteks fedora http://elab.itcollege.ee:8000/Fedora-17-x86_64-Live-Desktop.iso )&lt;br /&gt;
*Võib paigaldada ka Ubuntu Desktopi, kuid siis tuleb lisada rpm baasil server&lt;br /&gt;
&lt;br /&gt;
*Memory 1024MB&lt;br /&gt;
*HDD 16GB (või 8GB) Dynamic disk&lt;br /&gt;
*Network&lt;br /&gt;
**NIC1 - eth0 - NAT&lt;br /&gt;
**NIC2 - eth1 - Host only - Seate ise aadressi 192.168.56.201&lt;br /&gt;
**Video Memory 64MB 3D acceleration sisse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Praks 2 Ülesanne===&lt;br /&gt;
Teha key based autentimisega serverisse sisenemine. (tööjaamast saab serveris käske käivitada)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Praks 3 kodutöö===&lt;br /&gt;
Teha apt -  yum ja dpkg - rpm vastavustabel. dpkg ja apt korraldused leiab [http://elab.itcollege.ee:8000/Linux-Basics.mm Linux-Basics mindmapist]&lt;br /&gt;
&lt;br /&gt;
Parim töö annab 7p, järgmised 5p (piisavalt põhjalikud ja erinevad)&lt;br /&gt;
&lt;br /&gt;
Ebapiisavad vastavustabelid, mis sarnanevad üksteisele punkte ei saa.&lt;br /&gt;
&lt;br /&gt;
Kui su tabel on ilma vigadeta, kuid mitte parimate sead siis saad 1-2p.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Praks 4===&lt;br /&gt;
&lt;br /&gt;
Nimeserveri BIND9 paigaldamine.&lt;br /&gt;
&lt;br /&gt;
*Mõtle välja domeenimini&lt;br /&gt;
*Paigalda nimeserver bind9&lt;br /&gt;
*Seadista oma domeen&lt;br /&gt;
**www.domeen&lt;br /&gt;
**ns.domeen&lt;br /&gt;
**sales.domeen&lt;br /&gt;
**seadista oma kliendimasin kasutama uut nimeserverit&lt;br /&gt;
&lt;br /&gt;
NB: enne kaitsmist lugeda läbi http://kuutorvaja.eenet.ee/wiki/DNS&lt;br /&gt;
&lt;br /&gt;
Labori üks näide [[Nimeserveri seadistamine BIND9 näitel]]&lt;br /&gt;
&lt;br /&gt;
Praktikumi salvestus http://echo360.e-uni.ee/ess/echo/presentation/a828b6af-8caf-4319-b594-5d6bfed04a70&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Punktide&#039;&#039;&#039; (5p) &#039;&#039;&#039;kirja saamiseks&#039;&#039;&#039; peab töötama nii nimede lahendamine läbi teie nimeserveri kui ka reverse lookup.&lt;br /&gt;
&lt;br /&gt;
===Praks 5===&lt;br /&gt;
&lt;br /&gt;
Veebiserveri apache2 paigaldamine&lt;br /&gt;
&lt;br /&gt;
*Loo veebisaidid www.domeen ja sales.domeen (ehk oma DNS labori nimedele vastavad veebisaidid)&lt;br /&gt;
Praktikumi salvestus: http://echo360.e-uni.ee/ess/echo/presentation/0945a764-0305-48ec-8082-4e57a23cc536&lt;br /&gt;
*Seadist HTTPS nendele saitidele (vajadusel loo uus ip alias ja muuda nimeserveris olevat kirjet, et TLS nimed viitaks erinevatele IP aadressidele)&lt;br /&gt;
*Abiks on loeng: http://enos.itcollege.ee/~mernits/infrastruktuur/loeng04%20-%20Veebiserver.odp ja labor: https://wiki.itcollege.ee/index.php/Veebiserveri_labor_v.2&lt;br /&gt;
*Paigalda WordPress vastavalt juhendile: http://goo.gl/6XQ0U&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Punktide&#039;&#039;&#039; (5p) &#039;&#039;&#039;kirja saamiseks&#039;&#039;&#039; peab töötama veebiserververi apache2 pealt 2 veebilehte ning wordpress. Wordpressile peab olema paigaldatud super cache ning lisaks peab töötama varnish. Seejuures wordpress on seadistatud pordile 80 ja wordpress pordil 8080. Lehe toimivust testige enne kaitsmist ab vahendiga, kus -n 1000 ja -t 10.&lt;br /&gt;
&lt;br /&gt;
===Praks 7===&lt;br /&gt;
Samba share-i välja jagamine. &lt;br /&gt;
&lt;br /&gt;
*Loo share, mis on ligipääsetav vaid kasutajatele, kes kuuluvad lab gruppi. Vajalik on ka share-ile kirjutamisõigus (saab kausta luua). &lt;br /&gt;
* Seadista samba abil kasutajate kodukaustadele ligipääsemine. Iga kasutaja peab ligi pääsema enda kodukaustale. &lt;br /&gt;
&lt;br /&gt;
*Abiks on viki artiklid : https://wiki.itcollege.ee/index.php/Failiserver_Samba_labor_2 ja https://wiki.itcollege.ee/index.php/Lihtne_samba_install&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Punktide&#039;&#039;&#039; (5p) &#039;&#039;&#039;kirja saamiseks&#039;&#039;&#039; on vajalik share-i olemasolu, mis on ligipääsetav ning kirjutatav (võimalik luua kataloogi) ainult lab gruppi kuuluvatele kasutajatele ning lab gruppi mitte kuuluvad kasutajad ei tohi sinna ligi pääseda. &lt;br /&gt;
Lisaks peavad kasutajad pääsema ligi oma kodukaustale, sõltumata sellest, kas ta kuulub lab gruppi või mitte.&lt;br /&gt;
&lt;br /&gt;
=Labor 1=&lt;br /&gt;
*Veebiserver ja virtualhostid&lt;br /&gt;
*DNS&lt;br /&gt;
*e-post&lt;br /&gt;
*iptables&lt;br /&gt;
*samba&lt;br /&gt;
&lt;br /&gt;
=Labor 2=&lt;br /&gt;
*LDAP või Samba4 - LDAP Teet Saar, Kullo-Kalev Aru&lt;br /&gt;
*Puppet või chef&lt;br /&gt;
*PAM&lt;br /&gt;
*Puppet (Ubuntus) - Kristo Kapten&lt;br /&gt;
*[[Samba(windows domeenis fileserver)]] - Marko Kurs&lt;br /&gt;
*[[TLS termineerimine nginx abil]] - Sander Arnus, Sander Saveli&lt;br /&gt;
&lt;br /&gt;
=Esseede teemad 2012=&lt;br /&gt;
&lt;br /&gt;
Võib valida keerulisemaid teemasid ka [[Osadmin referaadi teemad]] lehelt.&lt;br /&gt;
&lt;br /&gt;
[[zsh]] - pole algajale&lt;br /&gt;
&lt;br /&gt;
Mida uurida &lt;br /&gt;
&lt;br /&gt;
Prompt&lt;br /&gt;
&lt;br /&gt;
http://zshwiki.org/home/config/prompt&lt;br /&gt;
&lt;br /&gt;
http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/&lt;br /&gt;
&lt;br /&gt;
.zshrc&lt;br /&gt;
&lt;br /&gt;
for &lt;br /&gt;
&lt;br /&gt;
if &lt;br /&gt;
&lt;br /&gt;
while &lt;br /&gt;
&lt;br /&gt;
jne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[CentOS Server]] --- teeb Oliver Naaris&lt;br /&gt;
&lt;br /&gt;
Paigaldamine&lt;br /&gt;
&lt;br /&gt;
Teenuste DNS, apache2, samba, e-post seadistamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Superb Mini Server]] --- Mark-Erik Mogom, Andrus Dei &lt;br /&gt;
&lt;br /&gt;
Paigaldamine&lt;br /&gt;
&lt;br /&gt;
DNS, samba, LDAP, e-post seadistamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Oracle Linux]]&lt;br /&gt;
&lt;br /&gt;
Paigaldamine&lt;br /&gt;
&lt;br /&gt;
Teenuste DNS, apache2, samba, e-post seadistamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Suse Linux]]&lt;br /&gt;
&lt;br /&gt;
Paigaldamine&lt;br /&gt;
&lt;br /&gt;
Teenuste DNS, apache2, samba seadistamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[OpenLDAP Ubuntu Serveril]] - Tarmo Suurmägi, Taavi Sannik, Harri Uljas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Zentyal SAMBA4]] --- Lang &amp;amp; Lihten A31&lt;br /&gt;
&lt;br /&gt;
Samba4 domeenikontrolleri seadistamine ja ubuntu/fedora/muu süsteem autentimise seadistamine kasutades uusi vahendeid&lt;br /&gt;
&lt;br /&gt;
[[Apt-yum/dpkg-rpm käskude lühivõrdlus]] - Teet Saar A32&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Ophcrack]] - teeb Kristo Kapten&lt;br /&gt;
&lt;br /&gt;
[[rancid]] - Meelis Kurnikov, Aive Haavel AK31&lt;br /&gt;
&lt;br /&gt;
[[zenoss]] - Kristjan Vaik&lt;br /&gt;
&lt;br /&gt;
[[Apache autentimine LDAP&#039;iga]] - Rauno Lehiste&lt;br /&gt;
&lt;br /&gt;
==Eksamist==&lt;br /&gt;
&lt;br /&gt;
Tee ära labor 2 (oma valitud teemal + selle kohta wiki kirjatöö)&lt;br /&gt;
Eksamil ole valmis demoma labor 1 raames kaitstud asju.&lt;br /&gt;
&lt;br /&gt;
Kirjatööd võib peale eksamit kuni järgmise reedeni parandada, kui hinne ei sobi.&lt;br /&gt;
&lt;br /&gt;
Eksami käigus saab kaitsta ka labor 1 ja 2 asju.&lt;br /&gt;
&lt;br /&gt;
Eksami käigus tõmbad loosi, mida labor 1 raames parandada. Õppejõud teeb teenuse katki ja tudeng teeb korda. (soovitatav on eelnevalt teha  teenusest varukoopia).&lt;br /&gt;
&lt;br /&gt;
Punkte saab selgituse eest, mis oli katki ja kuidas tegid korda.&lt;br /&gt;
&lt;br /&gt;
Katki tegemisel võib arvestada näiteks, et algaja admin (õppejõud:) muutis ära parooli, rikkus võrguseaded ja kustutas täiesti süüdimatult mõne konfifaili.&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LVM_%2B_snapshot_%2B_andmebaas&amp;diff=60976</id>
		<title>LVM + snapshot + andmebaas</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LVM_%2B_snapshot_%2B_andmebaas&amp;diff=60976"/>
		<updated>2013-01-13T19:07:14Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60975</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60975"/>
		<updated>2013-01-13T19:02:14Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Füüsiline kettajagu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada Logical Volume Manageri kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon (/dev/sdb1) on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display käsu tulemus peaks olema sarnane:&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60974</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60974"/>
		<updated>2013-01-13T19:01:39Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Kettagrupp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada Logical Volume Manageri kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse füüsiline kettajagu /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display käsu tulemus peaks olema sarnane:&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60973</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60973"/>
		<updated>2013-01-13T18:58:10Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Kettagrupp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada Logical Volume Manageri kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse füüsiline kettajagu /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse kettagrupp nimega mysql.&lt;br /&gt;
&lt;br /&gt;
Display käsu tulemus peaks olema sarnane:&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60972</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60972"/>
		<updated>2013-01-13T18:52:11Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada Logical Volume Manageri kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse füüsiline kettajagu /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse kettagrupp nimega mysql.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60970</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60970"/>
		<updated>2013-01-13T18:24:37Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse füüsiline kettajagu /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse kettagrupp nimega mysql.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60963</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60963"/>
		<updated>2013-01-13T12:31:40Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* MySQL seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse füüsiline kettajagu /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse kettagrupp nimega mysql.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitamine. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni kuni andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&lt;br /&gt;
Enter password:&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Protseduuri ajaks on vajalik keelata ära andmete kirjutamine: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks võiks tühjendada ka logid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; FLUSH LOGS;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Query OK, 0 rows affected (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60962</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60962"/>
		<updated>2013-01-13T12:23:25Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* MySQL seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse füüsiline kettajagu /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse kettagrupp nimega mysql.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&amp;lt;/pre&amp;gt;&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60961</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60961"/>
		<updated>2013-01-13T12:21:38Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Loogiline kettajagu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse füüsiline kettajagu /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse kettagrupp nimega mysql.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
Data nimelise 1GB loogilise kettajao loomine: &lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&amp;lt;/pre&amp;gt;&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60960</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60960"/>
		<updated>2013-01-13T12:20:07Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Kettagrupp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse füüsiline kettajagu /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse kettagrupp nimega mysql.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot.&lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvdisplay &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&amp;lt;/pre&amp;gt;&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60959</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60959"/>
		<updated>2013-01-13T12:18:07Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Füüsiline kettajagu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse füüsiline kettajagu /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgdisplay &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvdisplay &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&amp;lt;/pre&amp;gt;&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60958</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60958"/>
		<updated>2013-01-13T12:14:11Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Füüsiline kettajagu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tulemusena luuakse füüsiline kettajagu /dev/sdb1&lt;br /&gt;
&amp;lt;pre&amp;gt;Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis display käsk peaks kuvama sellise tulemuse:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgdisplay &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvdisplay &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&amp;lt;/pre&amp;gt;&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60956</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60956"/>
		<updated>2013-01-13T11:55:44Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud paketid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=LVM alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteem tunnistab näites kasutatavat uut ketast kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. &lt;br /&gt;
&lt;br /&gt;
Kõikide olemasolevate partitsioonide kuvamine:&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Kindla partitsiooni vaatamiseks lisada käsu lõppu see partitsioon:)&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l /dev/sda&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvdisplay&lt;br /&gt;
|}&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgdisplay &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvdisplay &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja teha AppArmorile restart&lt;br /&gt;
&amp;lt;pre&amp;gt;service apparmor restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u [mysql-kasutaja] -p variables | grep datadir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Enter password: [mysql-parool]&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt tööle hakanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u [root] -p&amp;lt;/pre&amp;gt;&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60953</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60953"/>
		<updated>2013-01-13T11:36:49Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* LVM -i seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
&lt;br /&gt;
[[File:LVM.jpg|thumb |alt=Nas alt text |LVM]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60948</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60948"/>
		<updated>2013-01-13T11:20:37Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Tõmmise tegemine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
data       mysql owi-ao 1.00g                                      &lt;br /&gt;
sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60943</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60943"/>
		<updated>2013-01-13T11:08:42Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Tõmmise tegemine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  [/var/teekond/arhiivi/][kuupäev].tar.bz2 -C /mnt/bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3&lt;br /&gt;
   &lt;br /&gt;
root@ubuntu:~# lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60914</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60914"/>
		<updated>2013-01-13T08:22:49Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Tõmmise tegemine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
UUS:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  var/teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3&lt;br /&gt;
   &lt;br /&gt;
root@ubuntu:~# lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Regulaarselt tuleb mahtuvust kontrollida lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60913</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60913"/>
		<updated>2013-01-13T08:20:11Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Tõmmise tegemine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
UUS:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  var/teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemuseks nüüd loogilise kettajao vaatamisele on:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                ZIMxmO-kUQR-u4gD-Wk9m-0MCK-kqwx-1kMaVP&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     source of&lt;br /&gt;
                         /dev/mysql/sql_backup [active]&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 1&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:1&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/sql_backup&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                XMqxEq-yRhp-u8lf-mZ9U-1R2F-fBlf-5hoEeR&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV snapshot status     active destination for /dev/mysql/data&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  COW-table size         1.00 GiB&lt;br /&gt;
  COW-table LE           256&lt;br /&gt;
  Allocated to snapshot  0.02% &lt;br /&gt;
  Snapshot chunk size    4.00 KiB&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:3&lt;br /&gt;
   &lt;br /&gt;
root@ubuntu:~# lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kuna tõmmis kasvab koos originaalkettajaoga on tähtis jälgida, et tõmmis protsentuaalselt täis ei saaks. Tuleb kontrollida aeg-ajalt lvs käsuga. 100% täitunud tõmmisele ei saa enam juurde kirjutada ning sellega andmeterviklikkus rikutakse ära!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.02                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60908</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60908"/>
		<updated>2013-01-13T07:37:11Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Autor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
UUS:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  var/teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 13.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60906</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60906"/>
		<updated>2013-01-13T07:37:00Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“ (Loe lähemalt: https://wiki.itcollege.ee/index.php/AppArmor). Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
UUS:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  var/teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 11.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60702</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60702"/>
		<updated>2013-01-11T12:44:33Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Autor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
UUS:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  var/teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 11.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60701</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60701"/>
		<updated>2013-01-11T12:44:22Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Kasutatud kirjandus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
UUS:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  var/teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
Loodus, Katrin. Andmesalvestustehnoloogiad - loeng 4.1 Ülevaade Logical Volume Manager-ist [https://wiki.itcollege.ee/index.php/Category:Andmesalvestustehnoloogiad]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;7 Linux fdisk Command Examples to Manage Hard Disk Partition&amp;quot; [http://www.thegeekstuff.com/2010/09/linux-fdisk/]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LVM&amp;quot; [https://wiki.ubuntu.com/Lvm]&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60700</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60700"/>
		<updated>2013-01-11T12:35:54Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Tõmmise tegemine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
UUS:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /var/teekond/arhiivi&lt;br /&gt;
tar -cjf  var/teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60699</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60699"/>
		<updated>2013-01-11T11:50:15Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* MySQL seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (&#039;&#039;&#039;/etc/mysql/my.cnf&#039;&#039;&#039;) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada &#039;&#039;&#039;&#039;/etc/apparmor.d/usr.sbin.mysqld&#039;&#039;&#039; konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see &#039;&#039;&#039;/etc/init.d/mysql&#039;&#039;&#039; skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60698</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60698"/>
		<updated>2013-01-11T11:39:02Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Vajaliku tarkvara installeerimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett, eelnevalt uuendada tarkvaravaramu nimekirja. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60697</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60697"/>
		<updated>2013-01-11T11:32:52Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60696</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60696"/>
		<updated>2013-01-11T11:29:19Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Failisüsteemi loomine ja ühendamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6 &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&lt;br /&gt;
mount /dev/mysql/data /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;file system&amp;gt;     &amp;lt;mount point&amp;gt;     &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;&lt;br /&gt;
/dev/mysql/data	  /srv/mysql	    ext4   defaults  0	    0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60695</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60695"/>
		<updated>2013-01-11T11:25:13Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* LVM -i seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |vgcreate kettagrupi_nimi /dev/sdb1 /dev/sdc1 /dev/sdd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6 &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:600px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |lvcreate --size 1G --name loogilise_ketta_nimi kettagrupi_nimi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame /etc/fstab faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/mysql/data	/srv/mysql	ext4	defaults	0	0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60694</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60694"/>
		<updated>2013-01-11T11:18:29Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Füüsiline kettajagu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
{|style=&amp;quot;background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey&amp;quot; align=centre&lt;br /&gt;
| style=&amp;quot;padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;&amp;quot; |pvcreate disk1 disk2 disk3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6 &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame /etc/fstab faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/mysql/data	/srv/mysql	ext4	defaults	0	0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60660</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60660"/>
		<updated>2013-01-10T23:57:03Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* MySQL seadistamine= */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6 &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame /etc/fstab faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/mysql/data	/srv/mysql	ext4	defaults	0	0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine==&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60659</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60659"/>
		<updated>2013-01-10T23:56:31Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Kasutatud kirjandus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6 &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame /etc/fstab faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/mysql/data	/srv/mysql	ext4	defaults	0	0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine===&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60658</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60658"/>
		<updated>2013-01-10T23:56:00Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Kasutatud kirjandus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6 &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame /etc/fstab faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/mysql/data	/srv/mysql	ext4	defaults	0	0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine===&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
http://linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60657</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60657"/>
		<updated>2013-01-10T23:55:05Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* LVM -i seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6 &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failisüsteemi loomine ja ühendamine=== &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame /etc/fstab faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/mysql/data	/srv/mysql	ext4	defaults	0	0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MySQL seadistamine===&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tõmmise tegemine==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60656</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60656"/>
		<updated>2013-01-10T23:52:49Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* =Vajaliku tarkvara installeerimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine===&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6 &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame /etc/fstab faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/mysql/data	/srv/mysql	ext4	defaults	0	0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60655</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60655"/>
		<updated>2013-01-10T23:52:36Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
===Ketaste lisamine===&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
===Vajaliku tarkvara installeerimine== =&lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6 &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame /etc/fstab faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/mysql/data	/srv/mysql	ext4	defaults	0	0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60654</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60654"/>
		<updated>2013-01-10T23:50:51Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* LVM -i seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
==Ketaste lisamine==&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
==Vajaliku tarkvara installeerimine== &lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Füüsilise ketta väärtuse muutmine===&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Füüsiline kettajagu===&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kettagrupp===&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6 &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
===Loogiline kettajagu===&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame /etc/fstab faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/mysql/data	/srv/mysql	ext4	defaults	0	0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60652</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60652"/>
		<updated>2013-01-10T23:47:54Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* LVM -i seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
==Ketaste lisamine==&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
==Vajaliku tarkvara installeerimine== &lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avada fdiskiga uue loodud ketta partitsioon ning luua uus primaarne kettajagu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print käskluse abil kuvatakse kettajagu, algus, lõpp, blokid, id ning süsteem. Loodud partitsioon on 83 ehk Linux. Partitsiooni süsteemse id muutmiseks kasutatakse &#039;&#039;&#039;t&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Käsklus &#039;&#039;&#039;L&#039;&#039;&#039; kuvab kõik kaheksandikkoodid . Linux LVM kood on 8e, et muuta kettajagu Linux LVM-iks on vaja muuta kettajao id 83-lt 8e-ks. &lt;br /&gt;
[[file:8e.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB mitte väljuda q, mis väljub programmist muudatusi salvestamata!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6 &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame /etc/fstab faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/mysql/data	/srv/mysql	ext4	defaults	0	0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60651</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60651"/>
		<updated>2013-01-10T23:42:19Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: /* Ketaste lisamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
==Ketaste lisamine==&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus 4GB ketas, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
==Vajaliku tarkvara installeerimine== &lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame vajaliku partitsiooni &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6 &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame /etc/fstab faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/mysql/data	/srv/mysql	ext4	defaults	0	0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60650</id>
		<title>Mysql varundamine LVM abil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Mysql_varundamine_LVM_abil&amp;diff=60650"/>
		<updated>2013-01-10T23:41:54Z</updated>

		<summary type="html">&lt;p&gt;Ckallas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Antud kirjatüki eesmärgiks on tutvustada LVM-i kui abivahendit toimivast süsteemist tagavarakoopiate tegemisel. Kuigi failisüsteemi snapshotide tegemine ja nende kasutamine on ainult üks LVM-i pakutavatest võimalustest. LVM - i  snapshotide tegemise võimalus pole ainult mysql -i varundamiseks, vaid kasutatav ka muude andmete varukoopiate tegemiseks. Antud juhul on MySQL siin ainult „reisija“ aga protsessi selgitamiseks ja LVM snapshoti kasutamiseks on MySQL näitena väga hea. Kogu seadistamise protsess toimub Ubuntu Linux Server 12.04.1 LTS operatsioonisüsteemis ja kasutab sellega kaasnevaid vahendeid.&lt;br /&gt;
&lt;br /&gt;
==Mis on mis?==&lt;br /&gt;
&#039;&#039;&#039;Logical Volume Manager&#039;&#039;&#039; - LVM&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical Volume&#039;&#039;&#039; - PV, plokkseade, füüsiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Volume Group&#039;&#039;&#039; - VG, kettagrupp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logical Volume&#039;&#039;&#039; - LV, loogiline kettajagu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Snapshot&#039;&#039;&#039; - (hetk)tõmmis&lt;br /&gt;
&lt;br /&gt;
===LVM===&lt;br /&gt;
LVM ehk „Logical Volume Manager“ on ketta partitsioonide haldusvahend Linuxi ja UNIX-i laadsete operatsioonisüsteemide juures. LVM moodustab vahekihi failisüsteemi ja füüsilise kõvaketta vahele. Esmapilgul võib tunduda, et LVM on sarnane RAID (Redundant Array of Independent Disks) kettamassiiviga, on ta siiski hoopis paindlikum viis kettajagudega toimetamiseks. RAID võimaldab kettaid omavahel liita, et saada paremaid tulemusi kiiruses, mahus või töökindluses. LVM seevastu võimaldab korraga hallata mitut (ka loogilist) kettajagu, neid vastavalt vajadusele ümber tõsta ja mahtu muuta. Seega on tihti hea mõte neid kahte hoopis koos kasutada (näiteks RAID 10 ja LVM). &lt;br /&gt;
Lihtsustatult oleks ettekujutus eri kihtide tasemetest selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID (vajadusel)&lt;br /&gt;
* füüsilised plokkmäluseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
===Omadused===&lt;br /&gt;
LVM pakutavad võimalused on: &lt;br /&gt;
* Failisüsteemi suuruse muutmine&lt;br /&gt;
* Failisüsteemi snapshotide tegemine ja kasutamine (nii read-only kui ka read-write)&lt;br /&gt;
* Loodud/muudetud partitsioonide kohene kasutamine, kui ketas/partitsioon on mingil moel kasutusel. Fdisk-i kasutamisel tuleb OP-süsteem taaskäivitada.&lt;br /&gt;
* Väiksemate füüsiliste plokkseadmete kokku ühendamine, üheks suureks loogiliseks seadmeks. (Nagu RAID)&lt;br /&gt;
* Ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
Lisainfot LVM-i kohta: http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
MySQL on Oracle Corporation poolt hallatav relatsioonilise andmebaasi haldamise süsteem. On äärmiselt populaarne andmebaasisüsteem erinevates veebirakendustes aga ka mõningates suuremates süsteemides. Oma populaarsuse on ta saanud tänu äärmiselt lihtsale hallatavusele ja kasutajasõbralikkusele. Hetkel ei hakka MySQL-i omadustel ja võimalustel pikemalt peatuma. Rohkem informatsiooni leiab: http://www.mysql.com/&lt;br /&gt;
&lt;br /&gt;
==Eeldused==&lt;br /&gt;
*Installeeritud Ubuntu Server (vähemalt 12.04 versioon)&lt;br /&gt;
*Tutvutud kettajagudega (kiire kordamine näiteks &#039;&#039;&#039;[[Osadmin spikker]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viia kõik käsklused läbi sudo kasutaja alt&#039;&#039;&#039;&lt;br /&gt;
  sudo -i&lt;br /&gt;
&lt;br /&gt;
==Ketaste lisamine==&lt;br /&gt;
Kõigepealt on vaja lisada serverile kõvaketas, mida hiljem LVM-iga siduma hakata. &lt;br /&gt;
&lt;br /&gt;
[[File:Create_hard_disk.PNG‎|500px]]&lt;br /&gt;
&lt;br /&gt;
Luua uus ketast, mis on VirtualBox Disk Image (VDI) formaadis ning dünaamiliselt jagatud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Vajaliku tarkvara installeerimine== &lt;br /&gt;
&lt;br /&gt;
Et LVM-i ja MySQL-i seadistada on vajalikud teadmised, kuidas toimub Linuxis ketaste ja partitisoonide haldamine ja baasteadmised MySQL-ist.&lt;br /&gt;
Kõigepealt on vajalik installeerida lvm2 nimeline pakett. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install lvm2&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olenevalt operatsioonisüsteemist võib olla vajalikud pakeid juba installeeritud, kontrollida saab nii:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvm version&lt;br /&gt;
  LVM version:     2.02.66(2) (2010-05-20)&lt;br /&gt;
  Library version: 1.02.48 (2010-05-20)&lt;br /&gt;
  Driver version:  4.22.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks on vajalik installeerida MySQL server ja klientprogramm serveriga ühendumiseks. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mysql-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
NB! Kuna LVM-i kasutuselevõtmine vajab mõningast MySQL-i ümberseadistamist, tuleb arvestada   asjaoluga, et MySQL-i data kausta ümbertõstmisel ei pruugi olemasolevad andmed säilida (InnoDB) ja vajalik oleks serveris olevatest andmetest enne .sql kujul tagavarakoopia teha.&lt;br /&gt;
&lt;br /&gt;
==LVM -i seadistamine==&lt;br /&gt;
[[File: LVM.jpg|450px]]&lt;br /&gt;
&lt;br /&gt;
LVM ise jaguneb kolmeks eri kihiks: plokkseadmed (PV), kettagrupid (VG), millesse on organiseeritud füüsilised plokkseadmed ja loogilised kettajaod, mis on jagatud kettagrupid. &lt;br /&gt;
Iga kihiga toimetamisel on oma käsud, mis viitavad sellele, mis kihiga hetkel toimetatakse: pv*, vg* ning lv*. Näiteks pvcreate, vgcreate ja lvcreate.&lt;br /&gt;
&lt;br /&gt;
Esimese asjana tuleb valida ketas/kettajagu, kus LVM-iga toimetama hakata. Uue ketta puhul oleks võimalusel mõtekas luua üks tervet ketast hõlmav partitsioon. &lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud ühte 4 GB suurust ketast (VirtualBox-i lisatud 4GB suurune virtuualne kõvaketas). Operatsioonisüsteem tunnistab seda kui /dev/sdb ja seega on näites kasutatavad ketta nimed/asukohad just sellised. Partitiooni tüübiks tuleb kindlasti määrata Linux LVM ehk kood „8e“&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk -l 2&amp;gt; /dev/null | grep Disk&lt;br /&gt;
 Disk /dev/sda: 8589 MB, 8589934592 bytes&lt;br /&gt;
 Disk identifier: 0x000bd8b1&lt;br /&gt;
 Disk /dev/sdb: 4294 MB, 4294967296 bytes&lt;br /&gt;
 Disk identifier: 0x11844f48&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame vajaliku partitsiooni &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fdisk /dev/sdb&lt;br /&gt;
  Command (m for help): n   &lt;br /&gt;
  &lt;br /&gt;
  Partition type:&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended&lt;br /&gt;
&lt;br /&gt;
 Select (default p): p&lt;br /&gt;
&lt;br /&gt;
 Partition number (1-4, default 1): 1 &lt;br /&gt;
&lt;br /&gt;
 First sector (2048-8388607, default 2048): &lt;br /&gt;
 Using default value 2048&lt;br /&gt;
&lt;br /&gt;
 Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): &lt;br /&gt;
 Using default value 8388607&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM) &lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
&lt;br /&gt;
 Calling ioctl() to re-read partition table.&lt;br /&gt;
 Syncing disks.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgnevalt anname lvm-ile teada, et loodud partitsioon on  „pv“ ehk physical volume. &lt;br /&gt;
&amp;lt;pre&amp;gt;pvcreate /dev/sdb1&lt;br /&gt;
  Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui kõik läks hästi siis peaks tulemus olemas selline:&lt;br /&gt;
&amp;lt;pre&amp;gt;pvdisplay&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;4.00 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name               &lt;br /&gt;
  PV Size               4.00 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0   &lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               EdmaX9-bXmQ-Oevp-p9W9-I2qY-gpMM-1w77aQ&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Loome uue „volume group“ -i ja nimetame selle mysql -iks. &lt;br /&gt;
&amp;lt;pre&amp;gt;vgcreate mysql /dev/sdb1&lt;br /&gt;
  Volume group &amp;quot;mysql&amp;quot; successfully created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** vgdisplay &lt;br /&gt;
  --- Volume group ---&lt;br /&gt;
  VG Name               mysql&lt;br /&gt;
  System ID&lt;br /&gt;
  Format                lvm2&lt;br /&gt;
  Metadata Areas        1&lt;br /&gt;
  Metadata Sequence No  4&lt;br /&gt;
  VG Access             read/write&lt;br /&gt;
  VG Status             resizable&lt;br /&gt;
  MAX LV                0&lt;br /&gt;
  Cur LV                2&lt;br /&gt;
  Open LV               2&lt;br /&gt;
  Max PV                0&lt;br /&gt;
  Cur PV                1&lt;br /&gt;
  Act PV                1&lt;br /&gt;
  VG Size               4.00 GiB&lt;br /&gt;
  PE Size               4.00 MiB&lt;br /&gt;
  Total PE              1023&lt;br /&gt;
  Alloc PE / Size       512 / 2.00 GiB&lt;br /&gt;
  Free  PE / Size       511 / 2.00 GiB&lt;br /&gt;
  VG UUID               s5AjT8-ss7D-Gm9m-XY6j-ULMv-RLbR-xdy0K6 &lt;br /&gt;
&lt;br /&gt;
Järgnevalt saame luua „volume group“ -ile „logical volumes“ ehk loogilised kettajaod. Need on justkui partitsioonid füüsilisel kõvakettal ja neid saab juba andmete talletamiseks kasutada. Nimetame kettajao nimega data ja määrame tema suuruseks 1GB (antud suurus sobib väga hästi katsetamiseks aga reaalsetes süsteemides tuleb muidugi oluliselt suuremaid numbreid kasutada. ). Suuruse seadistamisel tuleb arvestada, et sama „volume group“ peale tuleb mahutada veel vähemalt üks sama suur loogiline kettajagu, mis on loodava LV snapshot. Näide kui VG suurus on kokku 10GB siis on võimalik teha maksimaalselt 5GB suurune loogiline kettajagu. Vastasel ei mahu tema kõrvale, samale VG-le tehtud LV snapshot. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvcreate -n data -L 1GB mysql&lt;br /&gt;
  Logical volume &amp;quot;data&amp;quot; created&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/mysql/data&lt;br /&gt;
  VG Name                mysql&lt;br /&gt;
  LV UUID                SL0yWI-Mc2b-KhkE-V8P1-bW7E-3iL8-8zD6Uf&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GiB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     auto&lt;br /&gt;
  - currently set to     256&lt;br /&gt;
  Block device           252:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Teadmiseks:&amp;lt;/b&amp;gt; lvdisplay käsu käivitamisel on näha parameeter „LV Status“. See näitab, kas kettajagu on saadaval või mitte. Kasutada on võimalik ainult available olekus kettajagu. Eemaldada saab ainult NOT available olekus kettajagusid. Kettajao NOT available olekusse viimiseks saab kasutada käsku: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a n /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja tagasi:&lt;br /&gt;
&amp;lt;pre&amp;gt;lvchange -a y /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Nüüd on loodud uus kettajagu, mida saab andmete säiltamiseks kasutada. Loome sellele kettajaole failisüsteemi: &lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs -t ext4 /dev/mysql/data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleb loodud kettajagu kuhugile mountida. Mina teen sellejaoks /srv/mysql kausta ja haagin ketta sinna.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisame /etc/fstab faili lõppu kirje, et ka järgmisel süsteemi käivitamisel oleks ketas kohe külgehaagitud&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/mysql/data	/srv/mysql	ext4	defaults	0	0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame kausta õigused mysql-ile sobivaks (kausta omanik on kasutaja mysql ja kaustale on ligipääs ainult kausta omanikul)&lt;br /&gt;
&amp;lt;pre&amp;gt;chown mysql:mysql /srv/mysql&lt;br /&gt;
chmod 0700 /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb olemasolev mysql data kaust liigutada /srv/mysql kausta. Esimese asjana peatada mysql server&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql stop&lt;br /&gt;
mysql stop/waiting&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopeerime (!) kogu mysql-i data kausta loodud lvm kettajaole. Ubuntus (ilmselt ka paljudes teistes operatsioonisüsteemides) asub mysq-i data kaust /var/lib/mysql. Oleks vägagi soovitatav jätta andmed vanasse kausta alles ja kustuta see alles siis kui ollakse täiesti kindel, et server töötab tõrgeteta.&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -ar  /var/lib/mysql/. /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb mysql-i konfiguratsioonifailis (/etc/mysql/my.cnf) muuta ära „datadir“ parameeter&lt;br /&gt;
&amp;lt;pre&amp;gt;datadir  = /var/lib/mysql -&amp;gt; datadir = /srv/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teadmiseks: alates Ubuntu 7.10 -st on operatsioonisüsteemiga kaasas programm nimega „AppArmor“. Tegemist on kerneli turvamooduliga, mis teatavate programmide puhul piirab nende ligipääsu failisüsteemile. Et MySQL server uuesti korrektselt käivituks, tuleb „AppArmor“ -is mysq-i seadistust muuta. Sobiva tekstieditoriga tuleb avada /etc/apparmor.d/usr.sbin.mysqld konfifail ja teha seal vajalikud muudatused :&lt;br /&gt;
&amp;lt;pre&amp;gt;/var/lib/mysql/ r, 		-&amp;gt; /srv/mysql r,&lt;br /&gt;
/var/lib/mysql/** rwk,	-&amp;gt; /srv/mysql** rwk,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Osadel operatsioonisüsteemidel võib ka init skript ette anda, kus asub mysql-i datadir. Seega oleks mõistlik ka see /etc/init.d/mysql skriptist üle vaadata.&lt;br /&gt;
&lt;br /&gt;
Käivitame uuesti mysql-i serveri. Kui kõik läks hästi, peaks olema tulemus sarnane:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;service mysql start&lt;br /&gt;
mysql start/running, process 2588&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontrollime mysql-i muutujaid:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin -u{mysql-kasutaja} -p variables | grep datadir&lt;br /&gt;
Enter password: {mysql-parool}&lt;br /&gt;
| datadir                                           | /srv/mysql/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Lisaks tuleks sobiva mysql kliendiga serverisse sisse logida ja kontrollida üle, kas kõik jäi korrektselt tööle.&lt;br /&gt;
&lt;br /&gt;
Nüüd, kui MySQL server on korrektselt töödanud ja tekib vajadus varukoopiate tegemiseks. Töötavast serverist snapshoti tegemisel pole vajalik eelnev serveri väljalülitama. Lihtsalt protseduuri ajaks oleks vajalik keelata ära andmete kirjutamine „FLUSH TABLES WITH READ LOCK;“ käsuga, lisaks võiks tühjendada ka logid „FLUSH LOGS;“ käsuga. Snapshoti tegemise protsess on äärmiselt kiire ja andmete lugemine andmebaasist toimib endiselt edasi. Samas andmete kirjutamise protsess viibib seni, kui andmebaasilt kirjutamise lukk maha võetakse (kõik kirjutamise käsud täidetakse kohe peale luku vabastamist). &lt;br /&gt;
Ehkki varukoopia tegemise protsess ei tekita katkestusi serveri töös, oleks hea mõte teha varukoopiaid sellisel ajal kui serveril on kõige väiksem koormus. &lt;br /&gt;
On vajalik teada, et andmebaas lukustatakse ainult selleks ajaks, kui mysql serverisse on sisse logitud. Kohe kui sessioon lõpetatakse, vabastatakse ka lukud. Seetõttu peab snaspshoti tegemise ajal olema serverisse sisse logitud. Variant on kasutada kahte terminali sessiooni aga vajalikke käske saab käivitada ka MySQL-i käsurealt (vajalik on mysql-i klient käivitada root kasutaja õigustes). &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 75&lt;br /&gt;
Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its&lt;br /&gt;
affiliates. Other names may be trademarks of their respective&lt;br /&gt;
owners.&lt;br /&gt;
&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; FLUSH LOGS;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SYSTEM /sbin/lvcreate -L 1G --snapshot -n sql_backup /dev/mysql/data&lt;br /&gt;
File descriptor 3 (socket:[15065]) leaked on lvcreate invocation. Parent PID 3514: sh&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; created&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Snapshoti kettajagu nimetati kui  sql_backup ja viide loogilisele seadmele asub /dev/mysql/sql_backup. Käivitades käsu „lvs“, saab näha, et lisaks mysql/data LV-le on juurde tekkinud mysql/sql_backup&lt;br /&gt;
&amp;lt;pre&amp;gt;lvs&lt;br /&gt;
  LV         VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;
  data       mysql owi-ao 1.00g                                      &lt;br /&gt;
  sql_backup mysql swi-a- 1.00g data     0.00   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kui nüüd haakida tehtud snapshoti kettajagu, on seal kättesaadav kogu mysql-i data sellel hetkel, kui snapshot tehti.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
ls -la /mnt/bk&lt;br /&gt;
total 28720&lt;br /&gt;
drwx------ 8 mysql mysql     4096 Dec 12 15:59 .&lt;br /&gt;
drwxr-xr-x 3 root  root      4096 Dec 12 16:34 ..&lt;br /&gt;
-rw-r--r-- 1 root  root         0 Nov 30 17:18 debian-5.5.flag&lt;br /&gt;
-rw-rw---- 1 mysql mysql 18874368 Dec 12 16:18 ibdata1&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Dec 12 16:18 ib_logfile0&lt;br /&gt;
-rw-rw---- 1 mysql mysql  5242880 Nov 30 17:18 ib_logfile1&lt;br /&gt;
drwx------ 2 root  root     16384 Dec 12 15:58 lost+found&lt;br /&gt;
drwx------ 2 mysql root      4096 Nov 30 17:18 mysql&lt;br /&gt;
-rw-rw---- 1 root  root         6 Nov 30 17:18 mysql_upgrade_info&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:18 performance_schema&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:28 phpmyadmin&lt;br /&gt;
drwx------ 2 mysql root      4096 Dec 12 16:18 test&lt;br /&gt;
drwx------ 2 mysql mysql     4096 Nov 30 17:33 wp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MySQL-i server töötab peale snapshoti tegemist katkestusteta edasi. Tehtud snapshoti andmeid võib varundada arhiivi jaoks.  Andmete  varundamisel tuleb spashoti kettajagu failisüsteemi külge haakida ja selle sisu „tar“-i abil arhiveerida ja hiljem eemaldada snapshoti kettajagu&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/bk&lt;br /&gt;
mount /dev/mysql/sql_backup /mnt/bk&lt;br /&gt;
tar -cjf  /teekond/arhiivi/kuupäev.tar.bz2 -C /mnt bk&lt;br /&gt;
umount /dev/mysql/sql_backup&lt;br /&gt;
lvremove /dev/mysql/sql_backup&lt;br /&gt;
Do you really want to remove active logical volume sql_backup? [y/n]: Y&lt;br /&gt;
  Logical volume &amp;quot;sql_backup&amp;quot; successfully removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kogu protseduuri automatiseerimiseks on võimalik koostada ka skript, mida saab käivitada sobival aja või kasutades „cron“ ajastamise vahendeid.&lt;br /&gt;
&lt;br /&gt;
Lisaks on võimalik mysql-i data kaust haakida ümber snapshoti kettajaole ja taastada server sellesse seisu, mis oli snapshoti tegemise hetkel minimaalse katkestuse ajaga.&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
LVM -i kasutamine varundamisel on väikestes ja mittekriitilistes süsteemides küllaltki hea lahendus. See ei nõua eriteadmisi ja kallist riistvara/tarkvara. Kuid suurematesse ja keerukamatesse lahendustesse see ei sobi, kuna see ainult aitab luua snapshoti hetke seisust aga ei paku võimalust seda eraldi salvestada. Arhiveerimiseks tuleb kasutada eraldi vahendeid ja selle protseduuri käigus võib minna kaduma vajalikke andmeid. Ka ei võistle LVM proffessionaalsete vahenditega nagu Arkeia (http://www.arkeia.com/) või BrightStor, mis on just varundamise lahenduste jaoks loodud ja muudavad antud tegemise mugavaks ja kiireks.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/LVM&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.web-manual.net/linux-3/logical-volume-manager-in-linux/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html&amp;lt;br /&amp;gt;&lt;br /&gt;
https://wiki.ubuntu.com/Lvm&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Madis Lauri &lt;br /&gt;
AK 31&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Täiendamine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carolys Kallas A32&lt;br /&gt;
&lt;br /&gt;
Aine: Linuxi administreerimine&lt;br /&gt;
&lt;br /&gt;
Viimati muudetud: 07.01.2013&lt;/div&gt;</summary>
		<author><name>Ckallas</name></author>
	</entry>
</feed>