How to setup LVM

Published on June 2016 | Categories: Types, Instruction manuals | Downloads: 18 | Comments: 0 | Views: 206
of 16
Download PDF   Embed   Report

How to setup LVM in linux

Comments

Content

Introducere
Dimensionarea corectă a subsistemului de stocare a datelor şi layout-ului
sistemului de fişiere este una din cele mai grele operaŃii care trebuie efectuate în
procesul de planificare a instalării unui sistem Unix indiferent de dimensiunea
acestuia sau de numărul de utilizatori pe care îi va deservi.
Acest document se doreşte a fi o scurtă prezentare a facilităŃilor şi beneficiilor
puse la dispoziŃie de implementarea LVM pentru Linux folosind pentru exemplificare
câteva din cele mai des întâlnite scenarii. PărŃi din acest document (definiŃii de
termeni şi expresii) au fost traduse în limba română din diferite surse disponibile
public în reŃeaua Internet.
Toate exemplele au fost rulate într-o maşină virtuală (total separată de orice
mediu de producŃie) cu Fedora 8 instalat ca sistem de operare.

NoŃiuni de bază despre LVM
Logical volume management (LVM) este o modalitate de abstractizare a
spaŃiului de stocare a datelor.
Folosind LVM toate dispozitivele de stocare (discuri fizice sau partiŃii de pe
discuri fizice), indiferent de dimensiunea sau proprietătile acestora, pot fi
abstractizate şi privite ca o singură entitate. Prin agregarea partiŃiilor şi/sau
discurilor, LVM poate însuma spaŃii mici de stocare într-un singur disc virtual
contiguu şi unitar. În terminologia LVM acest disc virtual se numeste “volume
group”.
Volume Group (VG) – Un grup de volume este cel mai înalt nivel de
abstractizare folosit în LVM şi conŃine o colecŃie de volume fizice grupate împreună
într-un singur grup administrativ. Un VG poate fi partitionat, din punct de vedere
logic, în unul sau mai multe volume logice.
Phisical Volume (PV) – Un volum fizic este un mediu fizic pe care se pot
stoca date din punctul de vedere al sistemului de operare. În cele mai multe cazuri
un volum fizic este un harddisk, însă în Linux poate fi folosit orice “block device” pe
post de volum fizic (ex. un fişier, o partitie de pe un disc sau o matrice RAID
software).
Fiecare volum fizic dintr-un VG furnizează spaŃiu de stocare de dimensiuni
diferite, acest spaŃiu este împărŃit în blocuri fizice de aceeaşi dimensiune denumite
Phisical Extents (PE). Dimensiunea unui PE este constantă pentru toate volumele
fizice care fac parte din acelasi VG şi defineşte dimensiunea minimă alocabilă pentru
stocarea de date pe volumele fizice care fac parte din acelaşi VG.
Dimensiunea PE se defineste de utilizator la crearea unui VG, în Linux
valoarea implicită este de 4MB.
LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 1 of 16

Logical Volume (LV) – Volumul logic poate fi asemănat cu o partiŃie de pe
un disc partiŃionat conform metodei tradiŃionale. Un volum logic este văzut ca un
“block device” standard, prin urmare poate conŃine un sistem de fişiere.
Fiecare volum logic dintr-un VG este împărŃit în blocuri logice denumite
Logical Extents (LE). Dimensiunea unui bloc logic (LE) este egală cu dimensiunea
unui bloc fizic (PE) pentru toate volumele logice care fac parte din acelaşi VG. Un LV
poate să ocupe unul sau mai multe blocuri logice (LE), redimensionarea acestuia se
poate face doar în incremente de dimensiunea unui bloc logic (LE).

Câteva din avantajele folosirii LVM:
- Flexibilitate şi scalabilitate pentru managementul subsistemului de
stocare
- Dimensiunea maximă a unui filesystem nu este restricŃionată de
dimensiunea celui mai mare disc din sistem
- Dimensiunea maximă a unui fişier nu este restricŃionată de
dimensiunea discului pe care s-a creat fişierul
- OperaŃia de schimbare a unui disc nu necesită neapărat oprirea
sistemului sau a aplicaŃiei care rulează
- Efectuarea de backup-uri consistente este uşurată de facilitatea
LVM-ului de a crea snapshot-uri pentru volumele logice

LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 2 of 16

Cazuri concrete
1. Definirea unui filesystem folosind LVM
Pregătesc discul /dev/sdb pentru a fi folosit cu LVM apoi folosesc spaŃiul
furnizat de acesta pentru a crea un VG cu numele “DataVG”
[[email protected] ~]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
[[email protected] ~]# vgcreate DataVG /dev/sdb
Volume group "DataVG" successfully created
[[email protected] ~]#

În DataVG creez un nou volum logic cu numele “app1_lv” având dimensiunea
de 900M. Pe volumul logic “app1_lv” definesc un filesystem de tipul ext3 pe care îl
montez în /Data/app1.
[[email protected] ~]# lvcreate -n app1_lv -L 900M DataVG
Logical volume "app1_lv" created
[[email protected] ~]# mkfs -t ext3 /dev/DataVG/app1_lv
mke2fs 1.40.2 (12-Jul-2007)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
115200 inodes, 230400 blocks
11520 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=239075328
8 block groups
32768 blocks per group, 32768 fragments per group
14400 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[[email protected] ~]# mkdir -p /Data/app1
[[email protected] ~]# mount /dev/DataVG/app1_lv /Data/app1

2. Extinderea filesystem-ului
Aceata este situaŃia în care se doreşte folosirea unui al doilea disc pentru a
extinde un filesystem cu scopul de a obŃine o capacitate mărită de stocare a datelor.

LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 3 of 16

În cele mai multe cazuri un astfel de filesystem este cel care conŃine datele
utilizatorilor (ex. colecŃia de fisiere .mp3, colecŃia de fotografii personale, etc.) sau a
aplicaŃiei care rulează pe sistemul în cauză (ex. baza de date cu clienŃii firmei).
Starea sistemului înainte de modificare:
[[email protected] ~]# df -h
Filesystem
Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
3.2G 2.4G 604M 81% /
/dev/sda1
99M 19M 76M 20% /boot
tmpfs
125M 0 125M 0% /dev/shm
/dev/mapper/DataVG-app1_lv
886M 886M 0 100% /Data/app1
[[email protected] ~]# pvscan
PV /dev/sdb VG DataVG
lvm2 [1020.00 MB / 120.00 MB free]
PV /dev/sda2 VG VolGroup00 lvm2 [5.88 GB / 2.12 GB free]
Total: 2 [6.87 GB] / in use: 2 [6.87 GB] / in no VG: 0 [0 ]
[[email protected] ~]# fdisk -l
Disk /dev/sda: 6442 MB, 6442450944 bytes
255 heads, 63 sectors/track, 783 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x24fe51bf
Device Boot
/dev/sda1 *
/dev/sda2

Start
1
14

End
Blocks Id System
13
104391 83 Linux
783 6185025 8e Linux LVM

Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sdc: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/sdc doesn't contain a valid partition table
[[email protected] ~]#

Folosesc spaŃiul furnizat de /dev/sdc pentru a extinde cu 1G filesystem-ul
montat în /Data/app1. Această operaŃie se efectuează în 3 paşi:
Pregătesc discul pentru LVM şi îl includ în DataVG:
[[email protected] ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created
[[email protected] ~]# vgextend /dev/DataVG /dev/sdc
Volume group "DataVG" successfully extended
[[email protected] usr]# pvscan
PV /dev/sdb VG DataVG
lvm2 [1020.00 MB / 120.00 MB free]
PV /dev/sdc VG DataVG
lvm2 [2.00 GB / 2.00 GB free]
PV /dev/sda2 VG VolGroup00 lvm2 [5.88 GB / 2.12 GB free]
Total: 3 [8.87 GB] / in use: 3 [8.87 GB] / in no VG: 0 [0 ]
[[email protected] ~]#

LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 4 of 16

Extind LV-ul care conŃine filesystem-ul montat în /Data/app1 (LV-ul va fi
extins cu 1G).
[[[email protected] ~]# lvextend -L +1G /dev/DataVG/app1_lv
Extending logical volume app1_lv to 1.88 GB
Logical volume app1_lv successfully resized
[[email protected] ~]#

Extind online filesystem-ul până la dimensiunea maximă a LV-ului (adaug 1G
de spaŃiu liber în filesystem)
[[email protected] ~]# resize2fs /dev/DataVG/app1_lv
resize2fs 1.40.2 (12-Jul-2007)
Filesystem at /dev/DataVG/app1_lv is mounted on /Data/app1; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/DataVG/app1_lv to 492544 (4k) blocks.
The filesystem on /dev/DataVG/app1_lv is now 492544 blocks long.
[[email protected] ~]#

Starea sistemului după modificare:
[[email protected] ~]# pvscan
PV /dev/sdb VG DataVG
lvm2 [1020.00 MB / 0 free]
PV /dev/sdc VG DataVG
lvm2 [2.00 GB / 1.11 GB free]
PV /dev/sda2 VG VolGroup00 lvm2 [5.88 GB / 2.12 GB free]
Total: 3 [8.87 GB] / in use: 3 [8.87 GB] / in no VG: 0 [0 ]
[[email protected] ~]# df -h
Filesystem
Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
3.2G 2.4G 604M 81% /
/dev/sda1
99M 19M 76M 20% /boot
tmpfs
125M 0 125M 0% /dev/shm
/dev/mapper/DataVG-app1_lv
1.9G 887M 920M 50% /Data/app1
[[email protected] ~]#

LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 5 of 16

3. RedundanŃa datelor
Implementarea LVM-ului pentru Linux oferă, momentan, doar stripping şi
mirroring ca metode native de redundanŃă a datelor.
Spre deosebire de Unix-urile proprietare, implementarea LVM pentru Linux
poate să folosească o matrice RAID software în acelaşi fel în care foloseşte un disc
fizic iar prin combinarea LVM cu matricile software RAID se poate obŃine pentru un
filesystem atât redundanŃa datelor specifică fiecărui nivel RAID cât şi flexibilitatea şi
uşurinŃa administrării subsistemului de stocare, specifice LVM-ului.
În cazul filesystem-ului din exemplul anterior, redundanŃa datelor se poate
obŃine foarte uşor prin construirea unei matrici RAID software (vazută de linux ca
/dev/md*), includerea ei în DataVG şi mutarea volumului logic “app1_lv” pe
/dev/md0.
Creez o matrice software RAID5 folosind discurile fizice /dev/sdd, /dev/sd3 şi
/dev/sdf conectate în prealabil.
[[email protected] ~]# mdadm –create /dev/md0 --level=5 --raid-devices=3 /dev/sdd /dev/sde
/dev/sdf
mdadm: array /dev/md0 started.
[[email protected] ~]#

Creez fişierul /etc/mdadm.conf cu datele despre matricea nou creată astfel
încât matricea să fie activată automat la pornirea Linux-ului:
mdadm --detail --brief /dev/md0 > /etc/mdadm.conf

Pregătesc matricea RAID pentru LVM şi o adaug la DataVG:
[[email protected] ~]# pvcreate /dev/md0
Physical volume "/dev/md0" successfully created
[[email protected] ~]# vgextend DataVG /dev/md0
Volume group "DataVG" successfully extended
[[email protected] ~]#

Deoarece volumul logic “app1_lv” se întinde pe mai mult de un disc, operaŃia
de mutare se face mutând toate LE-urile alocate volumului logic “app1_lv” de pe
fiecare disc în parte.
Prin specificarea numelui volumului logic ca parametru la comanda pvmove,
specific mutarea DOAR a LE-urilor care sunt alocate pentru volumul logic “app1_lv”.
Mut LE-urile volumului logic “app1_lv” de pe /dev/sdb pe /dev/md0. Această
operaŃie este de lungă durată, timpul necesar pentru mutarea datelor depinde de
dimensiunea şi viteza de transfer a celor două discuri.
[[email protected] ~]# pvmove --name app1_lv /dev/sdb /dev/md0
/dev/sdb: Moved: 4.7%
/dev/sdb: Moved: 25.1%
/dev/sdb: Moved: 44.3%
/dev/sdb: Moved: 67.1%
/dev/sdb: Moved: 88.2%
LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 6 of 16

/dev/sdb: Moved: 100.0%
[[email protected] ~]#

Mut LE-urile volumului logic “app1_lv” de pe /dev/sdc pe /dev/md0. Această
operaŃie este de lungă durată, timpul necesar pentru mutarea datelor depinde de
dimensiunea şi viteza de transfer a celor două discuri.
[[email protected] ~]# pvmove --name app1_lv /dev/sdc /dev/md0
/dev/sdc: Moved: 5.5%
/dev/sdc: Moved: 27.7%
/dev/sdc: Moved: 49.6%
/dev/sdc: Moved: 71.9%
/dev/sdc: Moved: 93.0%
/dev/sdc: Moved: 100.0%
[[email protected] ~]#

Scot /dev/sdb şi /dev/sdc din DataVG pentru a nu ajunge în viitor (prin
creerea unui nou filesystem sau prin extinderea celui existent) în situaŃia de a avea
un filesystem parŃial pe o matrice RAID şi parŃial pe discuri fizice care nu oferă
redundanŃă.
[[email protected] ~]# vgreduce DataVG /dev/sdb /dev/sdc
Removed "/dev/sdb" from volume group "DataVG"
Removed "/dev/sdc" from volume group "DataVG"
[[email protected] ~]#

În această configuraŃie problemele legate de discuri fizice defecte sunt
rezolvate folosind tehnici specifice matricilor RAID (comanda mdadm cu parametrii)
iar problemele legate de managementul volumelor sunt rezolvate folosind comenzi
LVM (vgextend, lvcreate, lvextend, etc.)
Schimbarea de la un nivel RAID la altul se poate face foarte usor prin mutarea
(pvmove) volumului logic de pe o matrice RAID pe alta, definită în prealabil cu
nivelul RAID dorit.

LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 7 of 16

4. Backup-uri consistente
Un backup consistent este efectuat cu succes atunci când datele nu se modifică
în intervalul de timp necesar pentru a rula procesul de backup. Pentru servere foarte
încărcate, cu multi utilizatori conectaŃi sau care rulează aplicaŃii de baze de date,
acest lucru este foarte dificil de garantat fără a fi necesară oprirea aplicaŃiei care
rulează sau chiar întregul sistem.
Folosind LVM putem face un “snapshot” la un volum logic, rezultatul fiind
imaginea (starea) unui volum logic în momentul în care a fost creat shapshot-ul.
Crearea unui sanpshot este instantanee nefiind necesară oprirea aplicatiei sau a
serverului de producŃie. După crearea unui snapshot avem la dspoziŃie două copii a
aceluiasi LV, una poate fi folosită în continuare de aplicaŃie pentru operaŃiile curente
cu cu sistemul de fişiere în timp ce a doua poate fi folosită de procesul de backup.
Folosind snapshot avem la dispoziŃie două copii ale aceluiaşi LV însă
dimensiunea copiei nu trebuie să fie egală cu dimensiunea originalului, un snapshot
va folosi doar spaŃiul necesar pentru a marca diferenŃele dintre cele două copii ale
LV-ului în perioada de timp în care shapshot-ul este activ. Dimensiunea snapshotului (specificată la crearea acestuia) defineşte volumul maxim de diferenŃe care pot
să existe între LV-ul original şi snapshot.
În cazul în care se doreşte efectuarea unui backup a datelor din volumul logic
app1_lv acesta se poate realiza astfel:
Creez un snapshot al volumului logic “app1_lv” în care pot să păstrez maxim
500M de informaŃie privind diferenŃele dintre snapshot şi volumul logic. Snapshot-ul
este întotdeauna creat în acelaşi VG în care este definit şi volumul logic a cărui
imagine o creez.
[[email protected] ~]# lvcreate -s -L 500M -n snap_app1_lv /dev/DataVG/app1_lv
Logical volume "snap_app1_lv" created
[[email protected] ~]# lvs
LV
VG
Attr LSize Origin Snap% Move Log Copy%
app1_lv
DataVG owi-ao 2.00G
snap_app1_lv DataVG swi-a- 500.00M app1_lv 0.00
LogVol00 VolGroup00 -wi-ao 3.25G
LogVol01 VolGroup00 -wi-ao 512.00M
[[email protected] ~]#

Montez snapshot-ul în filesystem
[[email protected] ~]# mkdir -p /Data/snapshot_app1_lv
[[email protected] ~]# mount /dev/DataVG/snap_app1_lv /Data/snapshot_app1_lv/
[[email protected] ~]#

Fac backup la datele din snapshot. Am folosit tar pentru a crea o arhivă care să
îmi servească pe post de backup fiindcă nu am instalat nici un software specializat în
backup.
[[email protected] ~]# tar -zcf /var/backup.tar.gz /Data/snapshot_app1_lv/*
LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 8 of 16

tar: Removing leading `/' from member names
tar: Removing leading `/' from hard link targets
[[email protected] ~]#

Backup-ul s-a terminat, fac umount filesystem-ul de pe snapshot şi sterg
snapshot-ul
[[email protected] ~]# umount /Data/snapshot_app1_lv
[[email protected] ~]# lvremove /dev/DataVG/snap_app1_lv
Do you really want to remove active logical volume "snap_app1_lv"? [y/n]: y
Logical volume "snap_app1_lv" successfully removed
[[email protected] ~]#

LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 9 of 16

5. Mutarea unui disc sau a unui set de discuri
Folosind LVM mutarea unui disc sau a unui set de discuri dintr-un
calculator/server în altul, presupune mutarea tuturor discurilor care fac parte din
acelaşi VG.
Înainte de a muta un set de discuri, VG-ul care conŃine discurile ce vor fi
mutate trebuie dezactivat şi apoi exportat din sistemul sursă.
[[email protected] ~]# lvs
LV
VG
Attr LSize Origin Snap% Move Log Copy%
app1_lv DataVG -wi-ao 2.00G
LogVol00 VolGroup00 -wi-ao 3.25G
LogVol01 VolGroup00 -wi-ao 512.00M
[[email protected] ~]#umount /dev/DataVG/app1_lv
[[email protected] ~]# lvchange -an /dev/DataVG/app1_lv
[[email protected] ~]# vgchange -an DataVG
0 logical volume(s) in volume group "DataVG" now active
[[email protected] ~]# vgexport DataVG
Volume group "DataVG" successfully exported
[[email protected] ~]#

Discurile care fac parte din VG-ul “DataVG” pot fi mutate fizic în
calculatorul/serverul destinaŃie.
În mod implicit la pornirea Linux-ului se face automat o scanare a tuturor
discurilor pentru a se identifica toate grupurile de volume definite. În cazul discurilor
hot-swap se pot folosi comenzile “pvscan” şi “vgscan” pentru a identifica discurile
recent adăugate şi numele VG-urilor care sunt definite pe aceste discuri.
[[email protected] ~]# pvscan
PV /dev/sda2 VG VolGroup00 lvm2 [7.78 GB / 32.00 MB free]
PV /dev/md0 is in exported VG DataVG [8.00 GB / 6.00 GB free]
Total: 2 [15.78 GB] / in use: 2 [15.78 GB] / in no VG: 0 [0 ]
[[email protected] ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "VolGroup00" using metadata type lvm2
Found exported volume group "DataVG" using metadata type lvm2
[[email protected] ~]#

Importul şi activarea VG-ului “DataVG” se face cu ajutorul comenzilor
“vgimport” şi “vgchange”, după activarea VG-ului se pot monta toate filesystem-urile
definite pe volumele logice.
[[email protected] ~]# vgimport DataVG
Volume group "DataVG" successfully imported
[[email protected] ~]# vgchange -ay DataVG
1 logical volume(s) in volume group "DataVG" now active
[[email protected] ~]# mkdir -p /Data/app1
[[email protected] ~]# mount /dev/DataVG/app1_lv /Data/app1/
[[email protected] ~]# df –h
Filesystem
Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
7.1G 3.0G 3.8G 45% /
/dev/sda1
190M 19M 162M 11% /boot
LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 10 of 16

tmpfs
125M 0 125M 0% /dev/shm
/dev/mapper/DataVG-app1_lv
2.0G 993M 918M 52% /Data/app1
[[email protected] ~]#

LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 11 of 16

6. Harddisk upgrade
În cazul în care Linux-ul s-a instalat (folosind schema implicită de partiŃionare
si layout propusă la instalarea Fedora) pe un disc, iniŃial considerat suficient de
mare, iar volumul de date depăşeşte capacitatea de stocare curentă.
Se doreşte mutarea completă a sistemului de operare pe un disc nou de
capacitate mai mare iar după mutare discul vechi va fi scos din sistem.
[[email protected] ~]# fdisk –l
Disk /dev/sda: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000482c9
Device Boot
/dev/sda1 *
/dev/sda2

Start
1
26

End
Blocks Id System
25
200781 83 Linux
522 3992152+ 8e Linux LVM

Disk /dev/sdb: 6442 MB, 6442450944 bytes
255 heads, 63 sectors/track, 783 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x24fe51bf
Device Boot

Start

End

Blocks Id System

[[email protected] ~]#

Creez, pe /dev/sdb, două partiŃii (una pentru /boot, 100Mb , şi una pentru
restul sistemului definită ca “Linux LVM”), prima partiŃie (/dev/sdb1) va avea şi flagul “bootable” setat.
[[email protected] ~]# fdisk /dev/sdb
Command (m for help): p
Disk /dev/sdb: 6442 MB, 6442450944 bytes
255 heads, 63 sectors/track, 783 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x24fe51bf
Device Boot

Start

End

Blocks Id System

Command (m for help): p
Disk /dev/sdb: 6442 MB, 6442450944 bytes
255 heads, 63 sectors/track, 783 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x24fe51bf
Device Boot
/dev/sdb1 *
/dev/sdb2

Start
1
14

End
Blocks Id System
13
104391 83 Linux
783 6185025 8e Linux LVM

LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 12 of 16

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[[email protected] ~]#

Creez filesystem (ext3) pe /dev/sdb1, îl montez în directorul /new_disk/boot şi
copiez conŃinutul directorului /boot pe noul disk.
[[email protected] ~]# mkfs -t ext3 /dev/sdb1
mke2fs 1.40.2 (12-Jul-2007)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
26104 inodes, 104388 blocks
5219 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
13 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[[email protected] ~]#
[[email protected] ~]# mkdir -p /new_disk/boot
[[email protected] ~]# mount /dev/sdb1 /new_disk/boot
[[email protected] ~]# cp -a /boot/* /new_disk/boot/
[[email protected] ~]# ls -l /boot /new_disk/boot
/boot:
total 13047
-rw-r--r-- 1 root root 79210 2007-10-30 19:00 config-2.6.23.1-42.fc8
-rw-r--r-- 1 root root 79370 2007-11-09 03:46 config-2.6.23.1-49.fc8
drwxr-xr-x 2 root root 1024 2007-11-30 17:33 grub
-rw------- 1 root root 3724750 2007-11-30 16:22 initrd-2.6.23.1-42.fc8.img
-rw------- 1 root root 3724993 2007-11-30 17:32 initrd-2.6.23.1-49.fc8.img
drwx------ 2 root root 12288 2007-11-30 16:12 lost+found
-rw-r--r-- 1 root root 851074 2007-10-30 19:00 System.map-2.6.23.1-42.fc8
-rw-r--r-- 1 root root 851118 2007-11-09 03:46 System.map-2.6.23.1-49.fc8
-rw-r--r-- 1 root root 1978656 2007-10-30 19:00 vmlinuz-2.6.23.1-42.fc8
-rw-r--r-- 1 root root 1978688 2007-11-09 03:46 vmlinuz-2.6.23.1-49.fc8
/new_disk/boot:
total 13046
-rw-r--r-- 1 root root 79210 2007-10-30 19:00 config-2.6.23.1-42.fc8
-rw-r--r-- 1 root root 79370 2007-11-09 03:46 config-2.6.23.1-49.fc8
drwxr-xr-x 2 root root 1024 2007-11-30 17:33 grub
-rw------- 1 root root 3724750 2007-11-30 16:22 initrd-2.6.23.1-42.fc8.img
LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 13 of 16

-rw------- 1 root root 3724993 2007-11-30 17:32 initrd-2.6.23.1-49.fc8.img
drwx------ 2 root root 12288 2007-11-30 16:12 lost+found
-rw-r--r-- 1 root root 851074 2007-10-30 19:00 System.map-2.6.23.1-42.fc8
-rw-r--r-- 1 root root 851118 2007-11-09 03:46 System.map-2.6.23.1-49.fc8
-rw-r--r-- 1 root root 1978656 2007-10-30 19:00 vmlinuz-2.6.23.1-42.fc8
-rw-r--r-- 1 root root 1978688 2007-11-09 03:46 vmlinuz-2.6.23.1-49.fc8
[[email protected] ~]#

Fedora foloseşte în /etc/fstab atât nume de device-uri cât şi etichete ale
diferitelor filesystem-uri pentru a le identifica şi a le monta corect în structura
ierarhică specifică fiecarui sistem Unix. Setez eticheta “/boot” pentru filesystem-ul
existent pe /dev/sdb1 astfel încât să fie montat corect la pornirea Linux-ului.
Pentru restul distribuŃiilor Linux, se poate modifica fişierul /etc/fstab să
monteze /dev/sdb1 în /boot sau după scoaterea discului vechi din calculator, discul
nou trebuie conectat în aşa fel încât să fie văzut ca /dev/sda.
[[email protected] ~]# cat /etc/fstab
/dev/VolGroup00/LogVol00 /
ext3 defaults
11
LABEL=/boot
/boot
ext3 defaults
12
tmpfs
/dev/shm
tmpfs defaults
00
devpts
/dev/pts
devpts gid=5,mode=620 0 0
sysfs
/sys
sysfs defaults
00
proc
/proc
proc defaults
00
/dev/VolGroup00/LogVol01 swap
swap defaults
00
[[email protected] ~]# tune2fs -L /boot /dev/sdb1
tune2fs 1.40.2 (12-Jul-2007)
[[email protected] ~]# tune2fs -l /dev/sdb1 | grep Filesystem
Filesystem volume name: /boot
Filesystem UUID:
ecf0ac1b-7956-45d2-ba23-7302c4e02bef
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features:
has_journal ext_attr resize_inode dir_index filetype needs_recovery
sparse_super
Filesystem flags:
signed directory hash
Filesystem state:
clean
Filesystem OS type:
Linux
Filesystem created:
Mon Dec 3 10:47:50 2007
[[email protected] ~]#

Adaug linia “(hd1) /dev/sdb” în fişierul /new_disk/boot/grub/device.map (nu
am folosit opŃiunea –recheck pentru că este documentată în man pages astfel: “This
option is unreliable and its use is strongly discouraged.”).
Instalez GRUB în MBR-ul discului nou.
[[email protected] ~]# echo "(hd1) /dev/sdb" >> /new_disk/boot/grub/device.map
[[email protected] ~]# grub-install --root-directory=/new_disk /dev/sdb
Installation finished. No error reported.
This is the contents of the device map /new_disk/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.
# this device map was generated by anaconda
(hd0) /dev/sda
(hd1) /dev/sdb
[[email protected] ~]#

LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 14 of 16

Am terminat cu partiŃia de boot, urmează să mut restul datelor din
VolGroup00. În cazul în care discul care se schimbă nu conŃine partiŃie de boot, doar
paşii următori sunt necesari pentru upgrade de disc.
Pregătesc /dev/sdb2 pentru LVM şi includ /dev/sdb2 în VolGroup00.
[[email protected] ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created
[[email protected] ~]# vgextend VolGroup00 /dev/sdb2
Volume group "VolGroup00" successfully extended
[[email protected] ~]#

Mut datele din Volgroup00 de pe discul vechi pe discul nou.
Această operaŃie este de lungă durată, timpul necesar pentru mutarea datelor
depinde de dimensiunea şi viteza de transfer a celor două discuri.
[[email protected] ~]# pvmove /dev/sda2 /dev/sdb2
/dev/sda2: Moved: 14.2%
/dev/sda2: Moved: 45.0%
/dev/sda2: Moved: 49.2%
/dev/sda2: Moved: 53.3%
/dev/sda2: Moved: 80.8%
/dev/sda2: Moved: 100.0%
[[email protected] ~]#

Datele au fost mutate pe discul nou, scot /dev/sda2 (discul vechi) din
VolGroup00 şi şterg LVM metadata pentru a elimina eventualele probleme în cazul în
care voi refolosi acest disc.
[[email protected] ~]# vgreduce VolGroup00 /dev/sda2
Removed "/dev/sda2" from volume group "VolGroup00"
[[email protected] ~]# pvremove /dev/sda2
Labels on physical volume "/dev/sda2" successfully wiped
[[email protected] ~]#

Migrarea datelor pe discul nou s-a terminat, urmează să se scoată discul vechi
din calculator. Pentru sistemele care nu au discuri hot-swap adăugarea/scoaterea
acestora este singura operaŃie care necesită downtime. De asemenea trebuie
activată în BIOS (sau firmware) opŃiunea de boot de pe noul disk.
SpaŃiul liber rămas după upgrade-ul discului se poate folosi pentru a crea un
LV nou (lvcreate) sau pentru a se extinde volumele logice existente (lvextend).

LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 15 of 16

LVM (2007-11-28) 2008-01-21.doc

2008 Alin CreŃu
Page 16 of 16

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close