Вы находитесь на странице: 1из 16

Introducere

Dimensionarea corect a subsistemului de stocare a datelor i layout-ului


sistemului de fiiere este una din cele mai grele operaii care trebuie efectuate n
procesul de planificare a instalrii unui sistem Unix indiferent de dimensiunea
acestuia sau de numrul de utilizatori pe care i va deservi.
Acest document se dorete a fi o scurt prezentare a facilitilor i beneficiilor
puse la dispoziie de implementarea LVM pentru Linux folosind pentru exemplificare
cteva din cele mai des ntlnite scenarii. Pri din acest document (definiii de
termeni i expresii) au fost traduse n limba romn din diferite surse disponibile
public n reeaua Internet.
Toate exemplele au fost rulate ntr-o main virtual (total separat de orice
mediu de producie) cu Fedora 8 instalat ca sistem de operare.

Noiuni de baz despre LVM


Logical volume management (LVM) este o modalitate de abstractizare a
spaiului de stocare a datelor.
Folosind LVM toate dispozitivele de stocare (discuri fizice sau partiii de pe
discuri fizice), indiferent de dimensiunea sau propriettile acestora, pot fi
abstractizate i privite ca o singur entitate. Prin agregarea partiiilor i/sau
discurilor, LVM poate nsuma spaii 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 conine o colecie 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 fiier, o partitie de pe un disc sau o matrice RAID
software).
Fiecare volum fizic dintr-un VG furnizeaz spaiu de stocare de dimensiuni
diferite, acest spaiu este mprit n blocuri fizice de aceeai dimensiune denumite
Phisical Extents (PE). Dimensiunea unui PE este constant pentru toate volumele
fizice care fac parte din acelasi VG i definete dimensiunea minim alocabil pentru
stocarea de date pe volumele fizice care fac parte din acelai 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 Creu


Page 1 of 16

Logical Volume (LV) Volumul logic poate fi asemnat cu o partiie de pe


un disc partiionat conform metodei tradiionale. Un volum logic este vzut ca un
block device standard, prin urmare poate conine un sistem de fiiere.
Fiecare volum logic dintr-un VG este mprit 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 acelai 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).

Cteva din avantajele folosirii LVM:


- Flexibilitate i scalabilitate pentru managementul subsistemului de
stocare
- Dimensiunea maxim a unui filesystem nu este restricionat de
dimensiunea celui mai mare disc din sistem
- Dimensiunea maxim a unui fiier nu este restricionat de
dimensiunea discului pe care s-a creat fiierul
- Operaia de schimbare a unui disc nu necesit neaprat oprirea
sistemului sau a aplicaiei care ruleaz
- Efectuarea de backup-uri consistente este uurat de facilitatea
LVM-ului de a crea snapshot-uri pentru volumele logice

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

2008 Alin Creu


Page 2 of 16

Cazuri concrete
1. Definirea unui filesystem folosind LVM
Pregtesc discul /dev/sdb pentru a fi folosit cu LVM apoi folosesc spaiul
furnizat de acesta pentru a crea un VG cu numele DataVG
[root@fedora-machine1 ~]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
[root@fedora-machine1 ~]# vgcreate DataVG /dev/sdb
Volume group "DataVG" successfully created
[root@fedora-machine1 ~]#

n DataVG creez un nou volum logic cu numele app1_lv avnd dimensiunea


de 900M. Pe volumul logic app1_lv definesc un filesystem de tipul ext3 pe care l
montez n /Data/app1.
[root@fedora-machine1 ~]# lvcreate -n app1_lv -L 900M DataVG
Logical volume "app1_lv" created
[root@fedora-machine1 ~]# 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.
[root@fedora-machine1 ~]# mkdir -p /Data/app1
[root@fedora-machine1 ~]# mount /dev/DataVG/app1_lv /Data/app1

2. Extinderea filesystem-ului
Aceata este situaia n care se dorete folosirea unui al doilea disc pentru a
extinde un filesystem cu scopul de a obine o capacitate mrit de stocare a datelor.

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

2008 Alin Creu


Page 3 of 16

n cele mai multe cazuri un astfel de filesystem este cel care conine datele
utilizatorilor (ex. colecia de fisiere .mp3, colecia de fotografii personale, etc.) sau a
aplicaiei care ruleaz pe sistemul n cauz (ex. baza de date cu clienii firmei).
Starea sistemului nainte de modificare:
[root@fedora-machine1 ~]# 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
[root@fedora-machine1 ~]# 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 ]
[root@fedora-machine1 ~]# 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
[root@fedora-machine1 ~]#

Folosesc spaiul furnizat de /dev/sdc pentru a extinde cu 1G filesystem-ul


montat n /Data/app1. Aceast operaie se efectueaz n 3 pai:
Pregtesc discul pentru LVM i l includ n DataVG:
[root@fedora-machine1 ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created
[root@fedora-machine1 ~]# vgextend /dev/DataVG /dev/sdc
Volume group "DataVG" successfully extended
[root@fedora-machine1 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 ]
[root@fedora-machine1 ~]#

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

2008 Alin Creu


Page 4 of 16

Extind LV-ul care conine filesystem-ul montat n /Data/app1 (LV-ul va fi


extins cu 1G).
[[root@fedora-machine1 ~]# lvextend -L +1G /dev/DataVG/app1_lv
Extending logical volume app1_lv to 1.88 GB
Logical volume app1_lv successfully resized
[root@fedora-machine1 ~]#

Extind online filesystem-ul pn la dimensiunea maxim a LV-ului (adaug 1G


de spaiu liber n filesystem)
[root@fedora-machine1 ~]# 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.
[root@fedora-machine1 ~]#

Starea sistemului dup modificare:


[root@fedora-machine1 ~]# 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 ]
[root@fedora-machine1 ~]# 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
[root@fedora-machine1 ~]#

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

2008 Alin Creu


Page 5 of 16

3. Redundana 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 acelai fel n care folosete un disc
fizic iar prin combinarea LVM cu matricile software RAID se poate obine pentru un
filesystem att redundana datelor specific fiecrui nivel RAID ct i flexibilitatea i
uurina administrrii subsistemului de stocare, specifice LVM-ului.
n cazul filesystem-ului din exemplul anterior, redundana datelor se poate
obine foarte uor 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.
[root@fedora-machine1 ~]# mdadm create /dev/md0 --level=5 --raid-devices=3 /dev/sdd /dev/sde
/dev/sdf
mdadm: array /dev/md0 started.
[root@fedora-machine1 ~]#

Creez fiierul /etc/mdadm.conf cu datele despre matricea nou creat astfel


nct matricea s fie activat automat la pornirea Linux-ului:
mdadm --detail --brief /dev/md0 > /etc/mdadm.conf

Pregtesc matricea RAID pentru LVM i o adaug la DataVG:


[root@fedora-machine1 ~]# pvcreate /dev/md0
Physical volume "/dev/md0" successfully created
[root@fedora-machine1 ~]# vgextend DataVG /dev/md0
Volume group "DataVG" successfully extended
[root@fedora-machine1 ~]#

Deoarece volumul logic app1_lv se ntinde pe mai mult de un disc, operaia


de mutare se face mutnd 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
operaie este de lung durat, timpul necesar pentru mutarea datelor depinde de
dimensiunea i viteza de transfer a celor dou discuri.
[root@fedora-machine1 ~]# 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 Creu


Page 6 of 16

/dev/sdb: Moved: 100.0%


[root@fedora-machine1 ~]#

Mut LE-urile volumului logic app1_lv de pe /dev/sdc pe /dev/md0. Aceast


operaie este de lung durat, timpul necesar pentru mutarea datelor depinde de
dimensiunea i viteza de transfer a celor dou discuri.
[root@fedora-machine1 ~]# 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%
[root@fedora-machine1 ~]#

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 situaia de a avea
un filesystem parial pe o matrice RAID i parial pe discuri fizice care nu ofer
redundan.
[root@fedora-machine1 ~]# vgreduce DataVG /dev/sdb /dev/sdc
Removed "/dev/sdb" from volume group "DataVG"
Removed "/dev/sdc" from volume group "DataVG"
[root@fedora-machine1 ~]#

n aceast configuraie 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 Creu


Page 7 of 16

4. Backup-uri consistente
Un backup consistent este efectuat cu succes atunci cnd datele nu se modific
n intervalul de timp necesar pentru a rula procesul de backup. Pentru servere foarte
ncrcate, cu multi utilizatori conectai sau care ruleaz aplicaii de baze de date,
acest lucru este foarte dificil de garantat fr a fi necesar oprirea aplicaiei 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 producie. Dup crearea unui snapshot avem la dspoziie dou copii a
aceluiasi LV, una poate fi folosit n continuare de aplicaie pentru operaiile curente
cu cu sistemul de fiiere n timp ce a doua poate fi folosit de procesul de backup.
Folosind snapshot avem la dispoziie dou copii ale aceluiai LV ns
dimensiunea copiei nu trebuie s fie egal cu dimensiunea originalului, un snapshot
va folosi doar spaiul necesar pentru a marca diferenele dintre cele dou copii ale
LV-ului n perioada de timp n care shapshot-ul este activ. Dimensiunea snapshotului (specificat la crearea acestuia) definete volumul maxim de diferene care pot
s existe ntre LV-ul original i snapshot.
n cazul n care se dorete 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 pstrez maxim
500M de informaie privind diferenele dintre snapshot i volumul logic. Snapshot-ul
este ntotdeauna creat n acelai VG n care este definit i volumul logic a crui
imagine o creez.
[root@fedora-machine1 ~]# lvcreate -s -L 500M -n snap_app1_lv /dev/DataVG/app1_lv
Logical volume "snap_app1_lv" created
[root@fedora-machine1 ~]# 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
[root@fedora-machine1 ~]#

Montez snapshot-ul n filesystem


[root@fedora-machine1 ~]# mkdir -p /Data/snapshot_app1_lv
[root@fedora-machine1 ~]# mount /dev/DataVG/snap_app1_lv /Data/snapshot_app1_lv/
[root@fedora-machine1 ~]#

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.
[root@fedora-machine1 ~]# tar -zcf /var/backup.tar.gz /Data/snapshot_app1_lv/*
LVM (2007-11-28) 2008-01-21.doc

2008 Alin Creu


Page 8 of 16

tar: Removing leading `/' from member names


tar: Removing leading `/' from hard link targets
[root@fedora-machine1 ~]#

Backup-ul s-a terminat, fac umount filesystem-ul de pe snapshot i sterg


snapshot-ul
[root@fedora-machine1 ~]# umount /Data/snapshot_app1_lv
[root@fedora-machine1 ~]# 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
[root@fedora-machine1 ~]#

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

2008 Alin Creu


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
acelai VG.
nainte de a muta un set de discuri, VG-ul care conine discurile ce vor fi
mutate trebuie dezactivat i apoi exportat din sistemul surs.
[root@fedora-machine1 ~]# 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
[root@fedora-machine1 ~]#umount /dev/DataVG/app1_lv
[root@fedora-machine1 ~]# lvchange -an /dev/DataVG/app1_lv
[root@fedora-machine1 ~]# vgchange -an DataVG
0 logical volume(s) in volume group "DataVG" now active
[root@fedora-machine1 ~]# vgexport DataVG
Volume group "DataVG" successfully exported
[root@fedora-machine1 ~]#

Discurile care fac parte din VG-ul DataVG pot fi mutate fizic n
calculatorul/serverul destinaie.
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 adugate i numele VG-urilor care sunt definite pe aceste discuri.
[root@fedora-machine2 ~]# 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 ]
[root@fedora-machine2 ~]# 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
[root@fedora-machine2 ~]#

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.
[root@fedora-machine2 ~]# vgimport DataVG
Volume group "DataVG" successfully imported
[root@fedora-machine2 ~]# vgchange -ay DataVG
1 logical volume(s) in volume group "DataVG" now active
[root@fedora-machine2 ~]# mkdir -p /Data/app1
[root@fedora-machine2 ~]# mount /dev/DataVG/app1_lv /Data/app1/
[root@fedora-machine2 ~]# 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 Creu


Page 10 of 16

tmpfs
125M 0 125M 0% /dev/shm
/dev/mapper/DataVG-app1_lv
2.0G 993M 918M 52% /Data/app1
[root@fedora-machine2 ~]#

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

2008 Alin Creu


Page 11 of 16

6. Harddisk upgrade
n cazul n care Linux-ul s-a instalat (folosind schema implicit de partiionare
si layout propus la instalarea Fedora) pe un disc, iniial considerat suficient de
mare, iar volumul de date depete capacitatea de stocare curent.
Se dorete mutarea complet a sistemului de operare pe un disc nou de
capacitate mai mare iar dup mutare discul vechi va fi scos din sistem.
[root@fedora-machine1 ~]# 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

[root@fedora-machine1 ~]#

Creez, pe /dev/sdb, dou partiii (una pentru /boot, 100Mb , i una pentru
restul sistemului definit ca Linux LVM), prima partiie (/dev/sdb1) va avea i flagul bootable setat.
[root@fedora-machine1 ~]# 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 Creu


Page 12 of 16

Command (m for help): w


The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@fedora-machine1 ~]#

Creez filesystem (ext3) pe /dev/sdb1, l montez n directorul /new_disk/boot i


copiez coninutul directorului /boot pe noul disk.
[root@fedora-machine1 ~]# 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.
[root@fedora-machine1 ~]#
[root@fedora-machine1 ~]# mkdir -p /new_disk/boot
[root@fedora-machine1 ~]# mount /dev/sdb1 /new_disk/boot
[root@fedora-machine1 ~]# cp -a /boot/* /new_disk/boot/
[root@fedora-machine1 ~]# 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 Creu


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
[root@fedora-machine1 ~]#

Fedora folosete n /etc/fstab att nume de device-uri ct 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 nct s fie montat corect la pornirea Linux-ului.
Pentru restul distribuiilor Linux, se poate modifica fiierul /etc/fstab s
monteze /dev/sdb1 n /boot sau dup scoaterea discului vechi din calculator, discul
nou trebuie conectat n aa fel nct s fie vzut ca /dev/sda.
[root@fedora-machine1 ~]# 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
[root@fedora-machine1 ~]# tune2fs -L /boot /dev/sdb1
tune2fs 1.40.2 (12-Jul-2007)
[root@fedora-machine1 ~]# 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
[root@fedora-machine1 ~]#

Adaug linia (hd1) /dev/sdb n fiierul /new_disk/boot/grub/device.map (nu


am folosit opiunea 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.
[root@fedora-machine1 ~]# echo "(hd1) /dev/sdb" >> /new_disk/boot/grub/device.map
[root@fedora-machine1 ~]# 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
[root@fedora-machine1 ~]#

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

2008 Alin Creu


Page 14 of 16

Am terminat cu partiia de boot, urmeaz s mut restul datelor din


VolGroup00. n cazul n care discul care se schimb nu conine partiie de boot, doar
paii urmtori sunt necesari pentru upgrade de disc.
Pregtesc /dev/sdb2 pentru LVM i includ /dev/sdb2 n VolGroup00.
[root@fedora-machine1 ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created
[root@fedora-machine1 ~]# vgextend VolGroup00 /dev/sdb2
Volume group "VolGroup00" successfully extended
[root@fedora-machine1 ~]#

Mut datele din Volgroup00 de pe discul vechi pe discul nou.


Aceast operaie este de lung durat, timpul necesar pentru mutarea datelor
depinde de dimensiunea i viteza de transfer a celor dou discuri.
[root@fedora-machine1 ~]# 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%
[root@fedora-machine1 ~]#

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.
[root@fedora-machine1 ~]# vgreduce VolGroup00 /dev/sda2
Removed "/dev/sda2" from volume group "VolGroup00"
[root@fedora-machine1 ~]# pvremove /dev/sda2
Labels on physical volume "/dev/sda2" successfully wiped
[root@fedora-machine1 ~]#

Migrarea datelor pe discul nou s-a terminat, urmeaz s se scoat discul vechi
din calculator. Pentru sistemele care nu au discuri hot-swap adugarea/scoaterea
acestora este singura operaie care necesit downtime. De asemenea trebuie
activat n BIOS (sau firmware) opiunea de boot de pe noul disk.
Spaiul liber rmas 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 Creu


Page 15 of 16

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

2008 Alin Creu


Page 16 of 16

Вам также может понравиться