{"id":715,"date":"2017-04-09T16:00:51","date_gmt":"2017-04-09T14:00:51","guid":{"rendered":"http:\/\/miroslaw.borodziuk.eu\/?p=715"},"modified":"2017-07-24T15:42:57","modified_gmt":"2017-07-24T13:42:57","slug":"woluminy-logiczne","status":"publish","type":"post","link":"http:\/\/miro.borodziuk.eu\/index.php\/2017\/04\/09\/woluminy-logiczne\/","title":{"rendered":"Woluminy logiczne"},"content":{"rendered":"<p>wg. Wikipedii &#8211; Logical Volume Manager (zarz\u0105dca wolumin\u00f3w logicznych) \u2013 mechanizm systemu operacyjnego do zarz\u0105dzania przestrzeni\u0105 pami\u0119ci masowej. W szczeg\u00f3lno\u015bci, zarz\u0105dca pozwala na po\u0142\u0105czenie partycji znajduj\u0105cych si\u0119 na r\u00f3\u017cnych urz\u0105dzeniach pami\u0119ci masowej w jeden dysk wirtualny. Jego rozmiar nie jest zdefiniowany na sta\u0142e \u2013 je\u015bli zachodzi taka potrzeba, istnieje mo\u017cliwo\u015b\u0107 jego rozszerzenia o now\u0105 przestrze\u0144 pami\u0119ciow\u0105. <!--more-->Obs\u0142uga wolumin\u00f3w logicznych zaimplementowana jest w wi\u0119kszo\u015bci system\u00f3w operacyjnych, mo\u017ce r\u00f3\u017cni\u0107 si\u0119 funkcjonalno\u015bci\u0105 i stosowan\u0105 terminologi\u0105.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-718 aligncenter\" src=\"http:\/\/miroslaw.borodziuk.eu\/wp-content\/uploads\/LVM-300x219.jpg\" alt=\"\" width=\"488\" height=\"356\" srcset=\"http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/LVM-300x219.jpg 300w, http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/LVM.jpg 492w\" sizes=\"(max-width: 488px) 100vw, 488px\" \/><\/p>\n<p>LVM zapewnia warstw\u0119 abstrakcji pomi\u0119dzy fizycznym dyskiem a systemem plik\u00f3w. System plik\u00f3w mo\u017ce mie\u0107 zmieniony rozmiar, mo\u017ce obejmowa\u0107 wiele fizycznych dysk\u00f3w, mo\u017ce obejmowa\u0107 losowe obszary dysku. LVM pozwala akumulowa\u0107 przestrzenie jednej lub wielu partycji b\u0105d\u017a dysk\u00f3w (woluminy fizyczne) to sformowania logicznego kontenera (wolumin logiczny).<\/p>\n<p>Korzy\u015bci jakie oferuje LVM to tak\u017ce:<\/p>\n<ul>\n<li>zmiana rozmiaru grup wolumin\u00f3w i wolumin\u00f3w logicznych,<\/li>\n<li>przenoszenie online danych pomi\u0119dzy logicznymi i fizycznymi woluminami,<\/li>\n<li>w\u0142asne nazewnictwo dla grup wolumin\u00f3w i wolumin\u00f3w logicznych,<\/li>\n<li>mirroring i stripping danych na wielu fizycznych dyskach,<\/li>\n<li>snapshoty wolumin\u00f3w logicznych.<\/li>\n<\/ul>\n<p>Struktura LVM jest zbudowana z trzech obiekt\u00f3w: fizycznego woluminu, grupy wolumin\u00f3w i logicznego woluminu. Te obiekty s\u0105 dalej podzielone na fizyczne ekstenty i logiczne ekstenty.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Wolumin fizyczny (<em>ang. PV &#8211; physical volume<\/em>).<\/span><\/p>\n<p>Jest tworzony gdy magazyn dyskowy taki jak partycja czy ca\u0142y dysk przekazywany jest pod kontrol\u0119 LVM. Taki proces konstruuje struktur\u0119 danych na urz\u0105dzeniu obejmuj\u0105c\u0105 etykiet\u0119\u00a0 i metadane. Etykieta zawiera UUID, rozmiar urz\u0105dzenia i wska\u017aniki do po\u0142o\u017cenia danych i metadanych. LVM przechowuje kopi\u0119 metadanych na ko\u0144cu fizycznego woluminu.<\/p>\n<p>Lista fizycznych wolumin\u00f3w w systemie:<\/p>\n<pre># pvs<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Grupa wolumin\u00f3w (<em>ang. VG &#8211; volume group<\/em>).<\/span><\/p>\n<p>Jest tworzona gdy przynajmniej jeden wolumin fizyczny jest do niej dodany.\u00a0 Przestrze\u0144 dyskowa ze wszystkich wolumin\u00f3w fizycznych wchodz\u0105cych w sk\u0142ad grupy wolumin\u00f3w jest agregowana w jeden du\u017cy magazyn przeznaczony do budowy jednego lub wi\u0119cej wolumin\u00f3w logicznych. Fizyczne woluminy dodane do grupy wolumin\u00f3w mog\u0105 mie\u0107 r\u00f3\u017cne rozmiary. LVM zapisuje metadane grupy wolumin\u00f3w na ka\u017cdym fizycznym woluminie dodawanym do tej grupy.<\/p>\n<p>Lista grup wolumin\u00f3w:<\/p>\n<pre># vgs -v\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Fizyczny ekstent (PE &#8211; physcial extent).<\/span><\/p>\n<p>Gdy wolumin fizyczny dodawany jest do grupy wolumin\u00f3w, dzielony jest na wiele ma\u0142ych logicznych kawa\u0142k\u00f3w zwanych ekstentami fizycznymi. Ekstent jest najmniejsz\u0105 jednostk\u0105 obszaru mo\u017cliw\u0105 do zaalokowania w LVM. Domy\u015blnym rozmiarem PE s\u0105 4MB, mo\u017cemy go zmieni\u0107 w czasie tworzenia grupy wolumin\u00f3w. Ka\u017cdy fizyczny wolumin dodany do grupy wolumin\u00f3w b\u0119dzie mia\u0142 taki sam rozmiar PE.<\/p>\n<p>Wy\u015bwietlanie rozmiary fizycznego ekstentu grupy wolumin\u00f3w np. vg00:<br \/>\n<code> <\/code><\/p>\n<pre># vgdisplay vg00 | grep \u2018PE Size\u2019<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Wolumin Logiczny (LV &#8211; logical volume).<\/span><\/p>\n<p>Grupa wolumin\u00f3w zawiera pul\u0119 magazyn\u00f3w sk\u0142adaj\u0105c\u0105 si\u0119 z jednego lub wi\u0119cej wolumin\u00f3w. Obszar grupy wolumin\u00f3w podzielony jest na jedn\u0105 lub wiele partycji logicznych zwanych woluminami logicznymi. Logiczny wolumin mo\u017ce by\u0107 rozszerzany lub kurczony i mo\u017ce wykorzystywa\u0107 przestrze\u0144 jednego lub wielu fizycznych wolumin\u00f3w wchodz\u0105cych w sk\u0142ad grupy wolumin\u00f3w.<\/p>\n<p>Lista wolumin\u00f3w logicznych w systemie:<\/p>\n<pre class=\"\"># lvs -v\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Logiczny ekstent (LE &#8211; logical extent).<\/span><\/p>\n<p>Wolumin logiczny z\u0142o\u017cony jest z ekstent\u00f3w zwanych logicznymi. Logiczne ekstenty wskazuj\u0105 na fizyczne ekstenty i mog\u0105 tworzy\u0107 obszar losowo lub w spos\u00f3b ci\u0105g\u0142y. Im wi\u0119kszy jest wolumin logiczny tym wi\u0119cej posiada logicznych ekstent\u00f3w. Ekstenty logiczne s\u0105 zbiorem ekstent\u00f3w fizycznych zaalokowanych dla woluminu logicznego. Rozmiary ekstent\u00f3w fizycznych i logicznych s\u0105 zazwwyczaj takie same w ramach grupy wolumin\u00f3w, mo\u017ce si\u0119 jednak zda\u017cy\u0107, \u017ce logiczny ekstent jest mniejszy lub wi\u0119kszy ni\u017c ekstent fizyczny. Domy\u015blnym rozmiarem LE s\u0105 podobnie jak PE 4MB.<\/p>\n<p>Informacje o logicznym woluminie root w grupie wolumin\u00f3w vg00:<br \/>\n<code> <\/code><\/p>\n<pre class=\"\"># lvdisplay \/dev\/vg00\/root<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Zarz\u0105dzanie przestrzeni\u0105 dyskow\u0105 przez LVM.<\/span><\/p>\n<p>Komendy LVM przedstawiaj\u0105 poni\u017csze tabele.<\/p>\n<table style=\"width: 701px;\">\n<tbody>\n<tr>\n<td style=\"text-align: center; width: 684px;\" colspan=\"2\"><span style=\"color: #333399;\">Komendy zwi\u0105zane z fizycznymi woluminami.<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 97.95px;\"><span style=\"color: #808080;\"><em>Komenda<\/em><\/span><\/td>\n<td style=\"width: 586.05px;\"><span style=\"color: #808080;\"><em>Opis<\/em><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 97.95px;\"><code><span style=\"color: #008000;\">pvck<\/span><\/code><\/td>\n<td style=\"width: 586.05px;\">Sprawdza integralno\u015b\u0107 woluminu fizycznego.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 97.95px;\"><code><span style=\"color: #008000;\">pvcreate<\/span><\/code><\/td>\n<td style=\"width: 586.05px;\">Inicjalizuje dysk lub partycj\u0119 do wykorzystania przez LVM.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 97.95px;\"><code><span style=\"color: #008000;\">pvdisplay<\/span><\/code><\/td>\n<td style=\"width: 586.05px;\">Wy\u015bwietla dok\u0142adne informacje o fizycznym woluminie.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 97.95px;\"><code><span style=\"color: #008000;\">pvresize<\/span><\/code><\/td>\n<td style=\"width: 586.05px;\">Zmienia rozmiar woluminu fizycznego.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 97.95px;\"><code><span style=\"color: #008000;\">pvmove<\/span><\/code><\/td>\n<td style=\"width: 586.05px;\">Przenosi dane z jednego fizycznego woluminu do innego.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 97.95px;\"><code><span style=\"color: #008000;\">pvremove<\/span><\/code><\/td>\n<td style=\"width: 586.05px;\">Deaktywuje (uninitialize) wolumin fizyczny.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 97.95px;\"><code><span style=\"color: #008000;\">pvs<\/span><\/code><\/td>\n<td style=\"width: 586.05px;\">Listuje woluminy fizyczne.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 97.95px;\"><code><span style=\"color: #008000;\">pvscan<\/span><\/code><\/td>\n<td style=\"width: 586.05px;\">Skanuje ca\u0142y system i listuje wszystkie znalezione woluminy fizyczne.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table style=\"width: 701px;\">\n<tbody>\n<tr style=\"height: 26px;\">\n<td style=\"width: 684px; text-align: center; height: 26px;\" colspan=\"2\"><span style=\"color: #333399;\">Komendy zwi\u0105zane z grupami wolumin\u00f3w<br \/>\n<\/span><\/td>\n<\/tr>\n<tr style=\"height: 26.3667px;\">\n<td style=\"width: 98.9167px; height: 26.3667px;\"><code><span style=\"color: #008000;\">vgck<\/span><\/code><\/td>\n<td style=\"width: 585.083px; height: 26.3667px;\">Sprawdza integralno\u015b\u0107 grupy wolumin\u00f3w.<\/td>\n<\/tr>\n<tr style=\"height: 26px;\">\n<td style=\"width: 98.9167px; height: 26px;\"><code><span style=\"color: #008000;\">vgcreate<\/span><\/code><\/td>\n<td style=\"width: 585.083px; height: 26px;\">Tworzy grup\u0119 wolumin\u00f3w.<\/td>\n<\/tr>\n<tr style=\"height: 26px;\">\n<td style=\"width: 98.9167px; height: 26px;\"><code><span style=\"color: #008000;\">vgdisplay<\/span><\/code><\/td>\n<td style=\"width: 585.083px; height: 26px;\">Wy\u015bwietla dok\u0142adne informacje o grupie wolumin\u00f3w.<\/td>\n<\/tr>\n<tr style=\"height: 26px;\">\n<td style=\"width: 98.9167px; height: 26px;\"><code><span style=\"color: #008000;\">vgextend<\/span><\/code><\/td>\n<td style=\"width: 585.083px; height: 26px;\">Dodaje fizyczny wolumin do grupy wolumin\u00f3w.<\/td>\n<\/tr>\n<tr style=\"height: 26px;\">\n<td style=\"width: 98.9167px; height: 26px;\"><code><span style=\"color: #008000;\">vgreduce<\/span><\/code><\/td>\n<td style=\"width: 585.083px; height: 26px;\">Usuwa fizyczny wolumin z grupy wolumin\u00f3w.<\/td>\n<\/tr>\n<tr style=\"height: 26px;\">\n<td style=\"width: 98.9167px; height: 26px;\"><code><span style=\"color: #008000;\">vgrename<\/span><\/code><\/td>\n<td style=\"width: 585.083px; height: 26px;\">\u00a0Zmienia nazw\u0119 grupy wolumin\u00f3w.<\/td>\n<\/tr>\n<tr style=\"height: 26px;\">\n<td style=\"width: 98.9167px; height: 26px;\"><code><span style=\"color: #008000;\">vgremove<\/span><\/code><\/td>\n<td style=\"width: 585.083px; height: 26px;\">Usuwa grup\u0119 wolumin\u00f3w.<\/td>\n<\/tr>\n<tr style=\"height: 26px;\">\n<td style=\"width: 98.9167px; height: 26px;\"><code><span style=\"color: #008000;\">vgs<\/span><\/code><\/td>\n<td style=\"width: 585.083px; height: 26px;\">Listuje grupy wolumin\u00f3w.<\/td>\n<\/tr>\n<tr style=\"height: 26px;\">\n<td style=\"width: 98.9167px; height: 26px;\"><code><span style=\"color: #008000;\">vgscan<\/span><\/code><\/td>\n<td style=\"width: 585.083px; height: 26px;\">Skanuje ca\u0142y dysk, listuje znalezione grupy wolumin\u00f3w i przebudowuje cache.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table style=\"width: 702px;\">\n<tbody>\n<tr>\n<td style=\"width: 686px; text-align: center;\" colspan=\"2\"><span style=\"color: #333399;\">Komendy zwi\u0105zane z woluminami logicznymi<br \/>\n<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 99.4833px;\"><code><span style=\"color: #008000;\">lvcreate<\/span><\/code><\/td>\n<td style=\"width: 586.517px;\">Tworzy wolumin logiczny.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 99.4833px;\"><code><span style=\"color: #008000;\">lvdisplay<\/span><\/code><\/td>\n<td style=\"width: 586.517px;\">Wy\u015bwietla dok\u0142adne informacje o woluminie logicznym.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 99.4833px;\"><code><span style=\"color: #008000;\">lvextend<\/span><\/code><\/td>\n<td style=\"width: 586.517px;\">Rozszerza rozmiar woluminu logicznego.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 99.4833px;\"><code><span style=\"color: #008000;\">lvreduce<\/span><\/code><\/td>\n<td style=\"width: 586.517px;\">Zmniejsza rozmiar woluminu logicznego.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 99.4833px;\"><code><span style=\"color: #008000;\">lvremove<\/span><\/code><\/td>\n<td style=\"width: 586.517px;\">Usuwa logiczny wolumin.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 99.4833px;\"><code><span style=\"color: #008000;\">lvrename<\/span><\/code><\/td>\n<td style=\"width: 586.517px;\">Zmienia nazw\u0119 logicznego woluminu.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 99.4833px;\"><code><span style=\"color: #008000;\">lvresize<\/span><\/code><\/td>\n<td style=\"width: 586.517px;\">Zmienia rozmiar woluminu logicznego. Z opcj\u0105 -r komenda odwo\u0142uje si\u0119 do polecenia <em>resize2fs<\/em> celem zmniejszenia tak\u017ce systemu plik\u00f3w tworz\u0105cego wolumin.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 99.4833px;\"><code><span style=\"color: #008000;\">lvs<\/span><\/code><\/td>\n<td style=\"width: 586.517px;\">Listuje woluminy logiczne.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 99.4833px;\"><code><span style=\"color: #008000;\">lvscan<\/span><\/code><\/td>\n<td style=\"width: 586.517px;\">Skanuje ca\u0142y dysk twardy i listuje wszystkie znalezione woluminy logiczne<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table style=\"width: 701px;\">\n<tbody>\n<tr>\n<td style=\"width: 685px; text-align: center;\" colspan=\"2\"><span style=\"color: #333399;\">R\u00f3\u017cne komendy LVM<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 100.483px;\"><code><span style=\"color: #008000;\">\u00a0lvm<\/span><\/code><\/td>\n<td style=\"width: 584.517px;\">Interaktywne narz\u0119dzie do zarz\u0105dzania LVM.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 100.483px;\"><code><span style=\"color: #008000;\">\u00a0lvmdiskscan<\/span><\/code><\/td>\n<td style=\"width: 584.517px;\">Skanuje system w poszukiwaniu dysk\u00f3w i partycji LVM a tak\u017ce tych, kt\u00f3re mog\u0105 by\u0107 zainicjalizowane do u\u017cycia przez LVM.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>\u0106wiczenie 1. Tworzenie fizycznego woluminu i grupy wolumin\u00f3w.<\/p>\n<p>Tworzymy partycj\u0119 o rozmiarze 200MB korzystaj\u0105c z <em>parted<\/em>:<\/p>\n<pre class=\"\"># parted \/dev\/vdc mklabel msdos\r\n# parted \/dev\/vdc mkpart primary 1 201m\r\n# parted \/dev\/vdc print<\/pre>\n<p>Inicjalizujemy fizyczny wolumin <em>vdb<\/em> i <em>vdc1<\/em> korzystaj\u0105c z komendy <em>pvcreate<\/em>:<\/p>\n<pre class=\"\"># pvcreate \u2013v \/dev\/vdb \/dev\/vdc1\r\n  Set up physical volume for \"\/dev\/vdb\" with 4194304 available sectors\r\n  Zeroing start of device \/dev\/vdb\r\n  Writing physical volume data to disk \"\/dev\/vdb\"\r\n  Physical volume \"\/dev\/vdb\" successfully created\r\n  Set up physical volume for \"\/dev\/vdc1\" with 391168 available sectors\r\n  Zeroing start of device \/dev\/vdc1\r\n  Writing physical volume data to disk \"\/dev\/vdc1\"\r\n  Physical volume \"\/dev\/vdc1\" successfully created<\/pre>\n<p><span style=\"color: #ff0000;\">U\u017cyj <em>lsblk<\/em> do okre\u015blenia ile jest dost\u0119pnej przestrzeni dyskowej.<\/span><\/p>\n<p>Tworzymy grup\u0119 wolumin\u00f3w <em>vg0<\/em> komend\u0105 <em>vgcreate<\/em> i dodajemy do niej fizyczne woluminy <em>vdb<\/em> i <em>vdc1<\/em>. Opcji <em>-s<\/em> u\u017cywamy do okre\u015blenia rozmiaru fizycznego ekstentu w MB.<\/p>\n<pre class=\"\"># vgcreate \u2013s 16 vg01 \/dev\/vdb \/dev\/vdc1 \u2013v\r\n  Adding physical volume '\/dev\/vdb' to volume group 'vg01'\r\n  Adding physical volume '\/dev\/vdc1' to volume group 'vg01'\r\n  Archiving volume group \"vg01\" metadata (seqno 0).\r\n  Creating volume group backup \"\/etc\/lvm\/backup\/vg01\" (seqno 1).\r\n  Volume group \u201cvg01\u201d successfully created<\/pre>\n<p>Wy\u015bwietlamy podstawowe informacje o grupie wolumin\u00f3w <em>vg01<\/em> korzystaj\u0105c z komendy <em>vgs<\/em> i <em>vgscan<\/em>:<\/p>\n<pre># vgs vg01\r\n# vgscan<\/pre>\n<p>Mo\u017cemy tak\u017ce wy\u015bwietli\u0107 dok\u0142adniejsze informacje korzystaj\u0105c z polecenia <em>vgdisplay<\/em> z opcj\u0105<em> -v<\/em>:<\/p>\n<pre class=\"\"># vgdisplay \u2013v vg01\r\n --- Volume group ---\r\n  VG Name vg01\r\n  System ID\r\n  Format lvm2\r\n  Metadata Areas 2\r\n  Metadata Sequence No 1\r\n  VG Access read\/write\r\n  VG Status resizable\r\n  MAX LV 0\r\n  Cur LV 0\r\n  Open LV 0\r\n  Max PV 0\r\n  Cur PV 2\r\n  Act PV 2\r\n  VG Size 2.16 GiB\r\n  PE Size 16.00 MiB\r\n  Total PE 138\r\n  Alloc PE \/ Size 0 \/ 0\r\n  Free PE \/ Size 138 \/ 2.16 GiB\r\n  VG UUID SXTjT1-xtrH-MtGg-U9Kl-aWgq-HEFc-55Hxdo\r\n  --- Physical volumes ---\r\n  PV Name \/dev\/vdb\r\n  PV UUID 8cVKkL-VGQm-MW7Z-hnTZ-WS2m-M7LG-mKmw0F\r\n  PV Status allocatable\r\n  Total PE \/ Free PE 127 \/ 127\r\n  PV Name \/dev\/vdc1\r\n  PV UUID qBtEPJ-Pb7p-AJf0-zDZX-RGeS-SmrH-IlHE6a\r\n  PV Status allocatable\r\n  Total PE \/ Free PE 11 \/ 11\r\n  The vgdisplay command shows that there are two physical volumes in vg01 volume group, with\r\n  127 PEs in the first physical volume and 11 in the second, totaling 138. The PE size is 16MB and\r\n  total usable space is about 2.16GB.<\/pre>\n<p>Wy\u015bwietlamy podstawowe informacje o fizycznym woluminie <em>vdb<\/em> korzystaj\u0105c z polece\u0144 <em>pvs<\/em> i <em>pvscan<\/em>:<\/p>\n<pre># pvs\r\n# pvscan<\/pre>\n<p>Dok\u0142adniejsze informacje o fizycznym woluminie wy\u015bwietlamy poleceniem <em>pvdisplay<\/em>:<\/p>\n<pre class=\"\"># pvdisplay \/dev\/vdb\r\n\r\n  --- Physical volume ---\r\n  PV Name \/dev\/vdb\r\n  VG Name vg01\r\n  PV Size 2.00 GiB \/ not usable 16.00 MiB\r\n  Allocatable yes\r\n  PE Size 16.00 MiB\r\n  Total PE 127\r\n  Free PE 127\r\n  Allocated PE 0\r\n  PV UUID 8cVKkL-VGQm-MW7Z-hnTZ-WS2m-M7LG-mKmw0F\r\n  # pvdisplay \/dev\/vdc1\r\n  PV Name \/dev\/vdc1\r\n  VG Name vg01\r\n  PV Size 191.00 MiB \/ not usable 15.00 MiB\r\n  Allocatable yes\r\n  PE Size 16.00 MiB\r\n  Total PE 11\r\n  Free PE 11\r\n  Allocated PE 0\r\n  PV UUID qBtEPJ-Pb7p-AJf0-zDZX-RGeS-SmrH-IlHE6a<\/pre>\n<p>LVM podczas inicjalizacji i dodawania do grupy wolumin\u00f3w traktuje partycj\u0119 i dysk w spos\u00f3b jednakowy.<\/p>\n<p>&nbsp;<\/p>\n<p>\u0106wiczenie 2. Tworzenie woluminu logicznego.<\/p>\n<p>Tworzymy wolumin logiczny <em>lvol0<\/em> o rozmiarze <em>600MB<\/em>.<\/p>\n<pre class=\"\"># lvcreate \u2013L 600 vg01 \u2013v\r\n\r\n  Setting logging type to disk\r\n  Finding volume group \"vg01\"\r\n  Rounding up size to full physical extent 608.00 MiB\r\n  Archiving volume group \"vg01\" metadata (seqno 7).\r\n  Creating logical volume lvol0\r\n  Creating volume group backup \"\/etc\/lvm\/backup\/vg01\" (seqno 8).\r\n  Activating logical volume \"lvol0\".\r\n  activation\/volume_list configuration setting not defined: Checking only host tags for vg01\/lvol0\r\n  Creating vg01-lvol0\r\n  Loading vg01-lvol0 table (253:4)\r\n  Resuming vg01-lvol0 (253:4)\r\n  Wiping known signatures on logical volume \"vg01\/lvol0\"\r\n  Initializing 4.00 KiB of logical volume \"vg01\/lvol0\" with value 0.\r\n  Creating volume group backup \"\/etc\/lvm\/backup\/vg01\" (seqno 8).\r\n  Logical volume \u201clvol0\u201d created<\/pre>\n<p>Rozmiar mo\u017ce by\u0107 podany w KB, MB, GB, TB, PB, EB, bajtach, sectorach lub ilo\u015bci LE (logicznych ekstent\u00f3w).<br \/>\nMB s\u0105 domy\u015bln\u0105 jednostk\u0105. Minimalnym rozmiarem woluminu logicznego jest jest rozmiar fizycznego ekstentu i jest zawsze jego wielokrotno\u015bci\u0105. Powinno to by\u0107 brane pod uwag\u0119 aby nie marnowa\u0107 przestrzeni dyskowej.<\/p>\n<p>Tworzymy wolumin logiczny <em>oravol<\/em> o rozmiarze 1.3GB. Opcja <em>-L<\/em> s\u0142u\u017cy do podania rozmiaru a opcja <em>-n<\/em> do podania nazwy.<\/p>\n<pre class=\"\"># lvcreate \u2013L 1.3g \u2013n oravol vg01\r\n  Rounding up size to full physical extent 1.31 GiB\r\n  Logical volume \u201coravol\u201d created<\/pre>\n<p>Wy\u015bwietlamy podstawowe informacje o dw\u00f3ch logicznych woluminach:<\/p>\n<pre># lvs\r\n# lvscan<\/pre>\n<p>U\u017cywamy komendy <em>vgdisplay<\/em> na grupie wolumin\u00f3w <em>vg01<\/em> z opcj\u0105 <em>-v<\/em> aby uzyska\u0107 dok\u0142adne informacje o ca\u0142ej grupie wolumin\u00f3w wraz z logicznymi woluminami, kt\u00f3re wchodz\u0105 w sk\u0142ad grupy.<\/p>\n<pre class=\"\"># lvdisplay \/dev\/vg01\/lvol0\r\n\r\n  --- Logical volume ---\r\n  LV Path \/dev\/vg01\/lvol0\r\n  LV Name lvol0\r\n  VG Name vg01\r\n  LV UUID e2c5W3-TLkU-0V6q-l8pg-dfFl-R0X8-Rd8UVT\r\n  LV Write Access read\/write\r\n  LV Creation host, time server1.example.com, 2014-10-23 21:45:18 -0400\r\n  LV Status available\r\n  # open 0\r\n  LV Size 608.00 MiB\r\n  Current LE 38\r\n  Segments 1\r\n  Allocation inherit\r\n  Read ahead sectors auto\r\n  - currently set to 8192\r\n  Block device 253:2<\/pre>\n<p><em>vgdisplay<\/em> informacje o grupie wolumin\u00f3w bierze z plik\u00f3w w katalogu <em>\/etc\/lvm\/backup<\/em>.<\/p>\n<p>&nbsp;<\/p>\n<p>\u0106wiczenie 3. Rozszerzenie grupy wolumin\u00f3w i logicznego woluminu.<\/p>\n<p>Tworzymy fizyczny wolumin<em> \/dev\/vdd<\/em> komend\u0105 pvcreate:<\/p>\n<pre class=\"\"># pvcreate \/dev\/vdd \u2013v\r\n\r\n  Set up physical volume for \"\/dev\/vdd\" with 4194304 available sectors\r\n  Zeroing start of device \/dev\/vdd\r\n  Writing physical volume data to disk \"\/dev\/vdd\"\r\n  Physical volume \"\/dev\/vdd\" successfully created<\/pre>\n<p>Dodajemy fizyczny wolumin <em>vg01<\/em> do grupy wolumin\u00f3w <em>vg01<\/em>:<\/p>\n<pre class=\"\"># vgextend vg01 \/dev\/vdd \u2013v\r\n  Checking for volume group \"vg01\"\r\n  Archiving volume group \"vg01\" metadata (seqno 1).\r\n  Adding physical volume '\/dev\/vdd' to volume group 'vg01'\r\n  Volume group \"vg01\" will be extended by 1 new physical volumes\r\n  Creating volume group backup \"\/etc\/lvm\/backup\/vg01\" (seqno 2).\r\n  Volume group \"vg01\" successfully extended<\/pre>\n<p>Wy\u015bwietlamy podstawowe informacje o grupie wolumin\u00f3w <em>vg01<\/em>:<\/p>\n<pre># vgs vg01<\/pre>\n<p>Rozszerzamy logiczny wolumin <em>lvo10<\/em> podaj\u0105c ca\u0142kowity po\u017c\u0105dany rozmiar woluminu lub podajemy dodatkow\u0105 przestrze\u0144 o jak\u0105 rozszerzamy wolumin:<\/p>\n<pre class=\"\"># lvextend \u2013L 1g \/dev\/vg01\/lvol0\r\n  Extending logical volume lvol0 to 1.00 GiB\r\n  Logical volume lvol0 successfully resized<\/pre>\n<p>lub<\/p>\n<pre># lvextend \u2013L +400m \/dev\/vg01\/lvol0<\/pre>\n<p>Zmieniamy rozmiar logicznego woluminu <em>oravol<\/em>:<\/p>\n<pre class=\"\"># lvresize \u2013L 2g \/dev\/vg01\/oravol\r\n  Rounding size to boundary between physical extents: 704.00 MiB\r\n  Extending logical volume oravol to 2.00 GiB\r\n  Logical volume oravol successfully resized<\/pre>\n<p>lub<\/p>\n<pre># lvresize \u2013L +700m \/dev\/vg01\/oravol<\/pre>\n<p>Wy\u015bwietlamy szczeg\u00f3\u0142owe informacje o grupie wolumin\u00f3w <em>vg01<\/em>:<\/p>\n<pre class=\"\"># vgdisplay \u2013v vg01\r\n  --- Volume group ---\r\n  VG Name vg01\r\n  System ID\r\n  Format lvm2\r\n  Metadata Areas 3\r\n  Metadata Sequence No 55\r\n  VG Access read\/write\r\n  VG Status resizable\r\n  MAX LV 0\r\n  Cur LV 2\r\n  Open LV 0\r\n  Max PV 0\r\n  Cur PV 3\r\n  Act PV 3\r\n  VG Size 4.14 GiB\r\n  PE Size 16.00 MiB\r\n  Total PE 265\r\n  Alloc PE \/ Size 192 \/ 3.00 GiB\r\n  Free PE \/ Size 73 \/ 1.14 GiB\r\n  VG UUID SXTjT1-xtrH-MtGg-U9Kl-aWgq-HEFc-55Hxdo\r\n  --- Logical volume ---\r\n  LV Path \/dev\/vg01\/lvol0\r\n  LV Name lvol0\r\n  VG Name vg01\r\n  LV UUID e2c5W3-TLkU-0V6q-l8pg-dfFl-R0X8-Rd8UVT\r\n  LV Write Access read\/write\r\n  LV Creation host, time server1.example.com, 2014-10-23 21:45:18 -0400\r\n  LV Status available\r\n  # open 0\r\n  LV Size 1.00 GiB\r\n  Current LE 64\r\n  Segments 3\r\n  Allocation inherit\r\n  Read ahead sectors auto\r\n  - currently set to 8192\r\n  Block device 253:2\r\n  --- Logical volume ---\r\n  LV Path \/dev\/vg01\/oravol\r\n  LV Name oravol\r\n  VG Name vg01\r\n  LV UUID JeQF6O-ReLp-eg4z-wjZh-ufdf-aqAL-1efXgL\r\n  LV Write Access read\/write\r\n  LV Creation host, time server1.example.com, 2014-10-24 07:45:35 -0400\r\n  LV Status available\r\n  # open 0\r\n  LV Size 2.00 GiB\r\n  Current LE 128\r\n  Segments 2\r\n  Allocation inherit\r\n  Read ahead sectors auto\r\n  - currently set to 8192\r\n  Block device 253:3\r\n  --- Physical volumes ---\r\n  PV Name \/dev\/vdb\r\n  PV UUID 8cVKkL-VGQm-MW7Z-hnTZ-WS2m-M7LG-mKmw0F\r\n  PV Status allocatable\r\n  Total PE \/ Free PE 127 \/ 0\r\n  PV Name \/dev\/vdc1\r\n  PV UUID qBtEPJ-Pb7p-AJf0-zDZX-RGeS-SmrH-IlHE6a\r\n  PV Status allocatable\r\n  Total PE \/ Free PE 11 \/ 11\r\n  PV Name \/dev\/vdd\r\n  PV UUID 2MWF1s-QGyj-Msb8-pi41-J226-Cfel-hC3cQ4\r\n  PV Status allocatable\r\n  Total PE \/ Free PE 127 \/ 62<\/pre>\n<p>&nbsp;<\/p>\n<p>\u0106wiczenie 4. Zmiana nazwy, zmniejszenie rozmiaru i usuwanie woluminu logicznego.<\/p>\n<p>Zmieniamy nazw\u0119 <em>lvo10<\/em> na <em>lvolnew<\/em>:<\/p>\n<pre class=\"\"># lvrename vg01 lvol0 lvolnew\r\n  Renamed \"lvol0\" to \"lvolnew\" in volume group \"vg01\"<\/pre>\n<p>Potwierdzamy:<\/p>\n<pre class=\"\"># lvs | grep lvolnew\r\n  lvolnew vg01 -wi-a----- 1.00g<\/pre>\n<p>Redukujemy rozmiar woluminu logicznego lvolnew do 800MB komend\u0105 lvreduce:<\/p>\n<pre class=\"\"># lvreduce \u2013L 800m \/dev\/vg01\/lvolnew\r\n  WARNING: Reducing active logical volume to 800.00 MiB\r\n  THIS MAY DESTROY YOUR DATA (filesystem etc.)\r\n  Do you really want to reduce lvolnew? [y\/n]: y\r\n  Reducing logical volume lvolnew to 800.00 MiB\r\n  Logical volume lvolnew successfully resized<\/pre>\n<p>lub<\/p>\n<pre># lvreduce \u2013L \u2013200m \/dev\/vg01\/lvolnew<\/pre>\n<p>Redukujemy rozmiar woluminu logicznego lvolnew do 700MB komend\u0105 lvresize:<\/p>\n<pre class=\"\"># lvresize \u2013L 700m \/dev\/vg01\/lvolnew\r\n  Rounding size to boundary between physical extents: 96.00 MiB\r\n  WARNING: Reducing active logical volume to 704.00 MiB\r\n  THIS MAY DESTROY YOUR DATA (filesystem etc.)\r\n  Do you really want to reduce lvolnew? [y\/n]: y\r\n  Reducing logical volume lvolnew to 704.00 MiB\r\n  Logical volume lvolnew successfully resized<\/pre>\n<p>lub<\/p>\n<pre># lvresize \u2013L \u2013100m \/dev\/vg01\/lvolnew)<\/pre>\n<p>Podczas zmniejszania rozmiaru woluminu logicznego jest ryzyko utraty danych zlokalizowanych usuwanych na logicznych ekstentach. Najlepiej zrobi\u0107 zatem backup woluminu logicznego przed zmniejszeniem jego rozmiaru.<\/p>\n<p>Usuwamy woluminy logiczne <em>lvolnew<\/em> i <em>oravol<\/em> poleceniem <em>lvremove<\/em>. Opcja<em> -f<\/em> potwierdzi zapytanie \u201c<em>Do you really want to remove active logical volume &lt;lvol_name&gt;<\/em>\u201d .<\/p>\n<pre class=\"\"># lvremove \u2013f \/dev\/vg01\/lvolnew\r\n  Logical volume \"lvolnew\" successfully removed\r\n# lvremove \u2013f \/dev\/vg01\/oravol\r\n  Logical volume \"oravol\" successfully removed<\/pre>\n<p>Wy\u015bwietlamy informacje o grupie volummin\u00f3w poleceniem vgdisplay. Cur LC powinnno wskazywa\u0107 teraz 0.<\/p>\n<pre class=\"\"># vgdisplay vg01 | grep \u2018Cur LV\u2019\r\n  Cur LV 0<\/pre>\n<p>&nbsp;<\/p>\n<p>\u0106wiczenie 5. Redukcja i usuni\u0119cie grupy wolumin\u00f3w.<\/p>\n<p>Usuwamy fizyczne woluminy <em>vdb<\/em> i <em>vdc1<\/em> z grupy wolumin\u00f3w <em>vg01<\/em> poleceniem <em>vgreduce<\/em>:<\/p>\n<pre class=\"\"># vgreduce vg01 \/dev\/vdb \/dev\/vdc1\r\n  Removed \"\/dev\/vdb\" from volume group \"vg01\"\r\n  Removed \"\/dev\/vdc1\" from volume group \"vg01\"<\/pre>\n<p>Usuwamy grup\u0119 wolumin\u00f3w <em>vg01<\/em> korzystaj\u0105c z polecenia <em>vgremove<\/em>. Spowoduje to tak\u017ce usuni\u0119cie ostatniego fizycznego woluminu z grupy.<\/p>\n<pre class=\"\"># vgremove vg01\r\n  Volume group \"vg01\" successfully removed<\/pre>\n<p>Mo\u017cna tak\u017ce u\u017cy\u0107 opcji <em>-f<\/em> do wymuszenia usuni\u0119cia grupy wolumin\u00f3w nawet je\u017celi zawiera logiczne i fizyczne woluminy.<\/p>\n<p>&nbsp;<\/p>\n<p>\u0106wiczenie 6. Deinicializacja fizycznego woluminu.<\/p>\n<p>Deinicjalizujemy fizyczne woluminy <em>vdb<\/em>, <em>vdc1<\/em> i <em>vdd<\/em> poleceniem <em>pvremove<\/em>:<\/p>\n<pre class=\"\"># pvremove \/dev\/vdb \/dev\/vdc1 \/dev\/vdd\r\n  Labels on physical volume \"\/dev\/vdb\" successfully wiped\r\n  Labels on physical volume \"\/dev\/vdc1\" successfully wiped\r\n  Labels on physical volume \"\/dev\/vdd\" successfully wiped<\/pre>\n<p>Dysk zosta\u0142 przywr\u00f3cony do stanu pierwotnego.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>wg. Wikipedii &#8211; Logical Volume Manager (zarz\u0105dca wolumin\u00f3w logicznych) \u2013 mechanizm systemu operacyjnego do zarz\u0105dzania przestrzeni\u0105 pami\u0119ci masowej. W szczeg\u00f3lno\u015bci, zarz\u0105dca pozwala na po\u0142\u0105czenie partycji znajduj\u0105cych si\u0119 na r\u00f3\u017cnych urz\u0105dzeniach pami\u0119ci masowej w jeden dysk wirtualny. Jego rozmiar nie jest zdefiniowany na sta\u0142e \u2013 je\u015bli zachodzi taka potrzeba, istnieje mo\u017cliwo\u015b\u0107 jego rozszerzenia o now\u0105 przestrze\u0144 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/miro.borodziuk.eu\/index.php\/2017\/04\/09\/woluminy-logiczne\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Woluminy logiczne&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1083,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[],"_links":{"self":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/715"}],"collection":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/comments?post=715"}],"version-history":[{"count":36,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/715\/revisions"}],"predecessor-version":[{"id":1447,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/715\/revisions\/1447"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media\/1083"}],"wp:attachment":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media?parent=715"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/categories?post=715"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/tags?post=715"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}