lvm layout.docx
TRANSCRIPT
-
8/9/2019 LVM Layout.docx
1/53
LVM Layout
Basically LVM looks like this:
You have one or more physical volumes (/dev/sdb1- /dev/sde1in our example), and on these
physical volumes you create one or more volume groups (eg fileserver), and in each volume group
you can create one or more logical volumes !" you use multiple physical volumes, each logical volume
can #e #igger than one o" the underlying physical volumes (#ut o" course the sum o" the logical
volumes cannot exceed the total space o""ered #y the physical volumes)
!t is a good practice to not allocate the "ull space to logical volumes, #ut leave some space unused
$hat %ay you can enlarge one or more logical volumes later on i" you "eel the need "or it
!n this example %e %ill create a volume group called fileserver, and %e %ill also create the logical
volumes /dev/fileserver/share, /dev/fileserver/backup, and /dev/fileserver/media(%hich
%ill use only hal" o" the space o""ered #y our physical volumes "or no% - that %ay %e can s%itch to
&'! later on (also descri#ed in this tutorial))
3 Our First LVM Setup
Let*s "ind out a#out our hard disks:
fdisk -l
$he output looks like this:
server1:~# fdisk -l
Disk /dev/sda: 21.4 GB, 21474!"4 b$%es
2&& heads, "! sec%'rs/%rack, 2"1 c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Device B''% %ar% (d Bl'cks d $s%em
/dev/sda1 + 1 1 144&&! ! 0i(u
/dev/sda2 1 24& 1&!&4 ! 0i(u
/dev/sda4 24&1 2"1 12&2 2 0i(u s3ap / 'laris
Disk /dev/sdb: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Disk /dev/sdb d'es(% c'(%ai( a valid par%i%i'( %able
-
8/9/2019 LVM Layout.docx
2/53
Disk /dev/sdc: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Disk /dev/sdc d'es(% c'(%ai( a valid par%i%i'( %able
Disk /dev/sdd: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Disk /dev/sdd d'es(% c'(%ai( a valid par%i%i'( %able
Disk /dev/sde: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Disk /dev/sde d'es(% c'(%ai( a valid par%i%i'( %able
Disk /dev/sdf: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Disk /dev/sdf d'es(% c'(%ai( a valid par%i%i'( %able
$here are no partitions yet on /dev/sdb- /dev/sdf +e %ill create the
partitions /dev/sdb1, /dev/sdc1, /dev/sdd1, and /dev/sde1and leave /dev/sdfuntouched "or no%
+e act as i" our hard disks had only .B o" space instead o" /0.B "or no%, there"ore %e assign .B
to /dev/sdb1, /dev/sdc1, /dev/sdd1, and /dev/sde1:
fdisk /dev/sdb
server1:~# fdisk /dev/sdb
5he (umber 'f c$li(ders f'r %his disk is se% %' 144!.
5here is ('%hi(6 3r'(6 3i%h %ha%, bu% %his is lar6er %ha( 124,
a(d c'uld i( cer%ai( se%ups cause pr'blems 3i%h:
1 s'f%3are %ha% ru(s a% b''% %ime 8e.6., 'ld versi'(s 'f 009
2 b''%i(6 a(d par%i%i'(i(6 s'f%3are fr'm '%her 9s
8e.6., D9 D;, 9/2 D;
-
8/9/2019 LVM Layout.docx
3/53
( add a (e3 par%i%i'(
' crea%e a (e3 emp%$ D9 par%i%i'( %able
p pri(% %he par%i%i'( %able
= =ui% 3i%h'u% savi(6 cha(6es
s crea%e a (e3 emp%$ u( disklabel
% cha(6e a par%i%i'(s s$s%em id
u cha(6e displa$/e(%r$ u(i%s
v verif$ %he par%i%i'( %able
3 3ri%e %able %' disk a(d ei%
e%ra fu(c%i'(ali%$ 8eper%s '(l$
la( 2 0i(u s3ap / ' c1 DFD9/sec 8C5-
! EE usr !c >ar%i%i'(@a6ic ! 0i(u c4 DFD9/sec 8C5-4 C51" !2@ 4 He(i 2" 4 9/2 hidde( /5 4d IE4. 7 5 v'lume se% db /@ /
-
8/9/2019 LVM Layout.docx
4/53
1c Aidde( & C5! 7& >
-
8/9/2019 LVM Layout.docx
5/53
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Device B''% %ar% (d Bl'cks d $s%em
/dev/sdd1 1 !4 24417" e 0i(u 0H@
Disk /dev/sde: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Device B''% %ar% (d Bl'cks d $s%em
/dev/sde1 1 !4 24417" e 0i(u 0H@
Disk /dev/sdf: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Disk /dev/sdf d'es(% c'(%ai( a valid par%i%i'( %able
1o% %e prepare our ne% partitions "or LVM:
pvcrea%e /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
server1:~# pvcrea%e /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
>h$sical v'lume L/dev/sdb1L successfull$ crea%ed
>h$sical v'lume L/dev/sdc1L successfull$ crea%ed
>h$sical v'lume L/dev/sdd1L successfull$ crea%ed
>h$sical v'lume L/dev/sde1L successfull$ crea%ed
Let*s revert this last action "or training purposes:
pvrem've /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
server1:~# pvrem've /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
0abels '( ph$sical v'lume L/dev/sdb1L successfull$ 3iped
0abels '( ph$sical v'lume L/dev/sdc1L successfull$ 3iped
0abels '( ph$sical v'lume L/dev/sdd1L successfull$ 3iped
0abels '( ph$sical v'lume L/dev/sde1L successfull$ 3iped
$hen run
pvcrea%e /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
again:
server1:~# pvcrea%e /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
>h$sical v'lume L/dev/sdb1L successfull$ crea%ed
-
8/9/2019 LVM Layout.docx
6/53
>h$sical v'lume L/dev/sdc1L successfull$ crea%ed
>h$sical v'lume L/dev/sdd1L successfull$ crea%ed
>h$sical v'lume L/dev/sde1L successfull$ crea%ed
1o% run
pvdispla$
to learn a#out the current state o" your physical volumes:
server1:~# pvdispla$
--- >h$sical v'lume ---
>H ame /dev/sdb1
HG ame
>H i?e 2!.2 GB
Cll'ca%able 9
> i?e 8;B$%e
5'%al >
ree >
Cll'ca%ed >
>H ))D Glu20-AiM1-Hde-s9;c-9'H-fad6-Nd1v$)
--- >h$sical v'lume ---
>H ame /dev/sdc1
HG ame
>H i?e 2!.2 GB
Cll'ca%able 9
> i?e 8;B$%e
5'%al > ree >
Cll'ca%ed >
>H ))D 4GN$h-bs-p?h(-5DF=->I!l-!u%-CH4B
--- >h$sical v'lume ---
>H ame /dev/sdd1
HG ame
>H i?e 2!.2 GB
Cll'ca%able 9
> i?e 8;B$%e
5'%al > ree >
Cll'ca%ed >
>H ))D 4m)"!D-4s2"-u0-rp9-Ih>-mvIF-2ON&B
--- >h$sical v'lume ---
>H ame /dev/sde1
HG ame
>H i?e 2!.2 GB
-
8/9/2019 LVM Layout.docx
7/53
Cll'ca%able 9
> i?e 8;B$%e
5'%al >
ree >
Cll'ca%ed >
>H ))D !upcJc-4e2-h4r4-iB;;-6JNv-CO%!-;dF;"
1o% let*s create our volume group fileserverand add /dev/sdb1- /dev/sde1to it:
v6crea%e fileserver /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
server1:~# v6crea%e fileserver /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
H'lume 6r'up LfileserverL successfull$ crea%ed
Let*s learn a#out our volume groups:
v6displa$
server1:~# v6displa$
--- H'lume 6r'up ---
HG ame fileserver
$s%em D
'rma% lvm2
@e%ada%a Creas 4
@e%ada%a e=ue(ce ' 1
HG Cccess read/3ri%e
HG %a%us resi?able
@CE 0H
H
H 4
Cc% >H 4
HG i?e !.14 GB
> i?e 4. @B
-
8/9/2019 LVM Layout.docx
8/53
5'%al > 2!44
Cll'c > / i?e /
ree > / i?e 2!44 / !.14 GB
HG ))D !O1H-B05-Ik;s-I(rs-J-3r9-d5=h>
'nother command to learn a#out our volume groups:
v6sca(
server1:~# v6sca(
Feadi(6 all ph$sical v'lumes. 5his ma$ %ake a 3hile...
'u(d v'lume 6r'up LfileserverL usi(6 me%ada%a %$pe lvm2
2or training purposes let*s rename our volumegroup fileserverinto da%a:
v6re(ame fileserver da%a
server1:~# v6re(ame fileserver da%a
H'lume 6r'up LfileserverL successfull$ re(amed %' Lda%aL
Let*s run v6displa$and v6sca(again to see i" the volume group has #een renamed:
v6displa$
server1:~# v6displa$
--- H'lume 6r'up ---
HG ame da%a
$s%em D
'rma% lvm2
@e%ada%a Creas 4
@e%ada%a e=ue(ce ' 2
HG Cccess read/3ri%e
HG %a%us resi?able
@CE 0H
H
H 4
Cc% >H 4
HG i?e !.14 GB
> i?e 4. @B
5'%al > 2!44
Cll'c > / i?e /
ree > / i?e 2!44 / !.14 GB
HG ))D !O1H-B05-Ik;s-I(rs-J-3r9-d5=h>
v6sca(
-
8/9/2019 LVM Layout.docx
9/53
-
8/9/2019 LVM Layout.docx
10/53
server1:~# lvcrea%e --(ame media --si?e 1G fileserver
0'6ical v'lume LmediaL crea%ed
Let*s get an overvie% o" our logical volumes:
lvdispla$
server1:~# lvdispla$
--- 0'6ical v'lume ---
0H ame /dev/fileserver/share
HG ame fileserver
0H ))D 2@up-Aaa-s(-CEA!-4c>-H"p-lf'G6N
0H ri%e Cccess read/3ri%e
0H %a%us available
# 'pe(
0H i?e 4. GB
-
8/9/2019 LVM Layout.docx
11/53
Fead ahead sec%'rs
Bl'ck device 2&!:2
lvsca(
server1:~# lvsca(
C
-
8/9/2019 LVM Layout.docx
12/53
--- 0'6ical v'lume ---
0H ame /dev/fileserver/films
HG ame fileserver
0H ))D usfvrv-B
-
8/9/2019 LVM Layout.docx
13/53
server1:~# lvreduce -01G /dev/fileserver/media
CFG: Feduci(6 ac%ive l'6ical v'lume %' 1. GB
5A @CO D5F9O O9)F DC5C 8files$s%em e%c.
D' $'u reall$ 3a(% %' reduce mediaR P$/(Q: 814-'v-2"
iles$s%em label*
9 %$pe: 0i(uBl'ck si?e*4" 8l'6*2
ra6me(% si?e*4" 8l'6*2
&242 i('des, 14&7" bl'cks
&242 bl'cks 8&.S reserved f'r %he super user
irs% da%a bl'ck*
@aimum files$s%em bl'cks*
!2 bl'ck 6r'ups
!27" bl'cks per 6r'up, !27" fra6me(%s per 6r'up
http://www.howtoforge.com/linux_lvm_p2#comment-24999http://www.howtoforge.com/linux_lvm_p2#comment-24999 -
8/9/2019 LVM Layout.docx
14/53
1"!4 i('des per 6r'up
uperbl'ck backups s%'red '( bl'cks:
!27", !4, 1"!4, 22!7", 2412, 12, 47!", 1"&"!2, 2"&42,
4", 7"2"24
ri%i(6 i('de %ables: d'(e
-
8/9/2019 LVM Layout.docx
15/53
N'ur(al i?e 1! bl'cks 8firs% bl'ck 1
N'ur(al @a %ra(sac%i'( le(6%h 124
i('de 6e(era%i'( (umber:
))D: 2bebf7&-"e&-47b2-b"-1"fa7ea&!
C5559: O9) A9)0D FB995 C5F D;K
C00 DC5C 00 B 095 9 /dev/fileserver/mediaK
-
8/9/2019 LVM Layout.docx
16/53
9ongratulations, you*ve ust set up your "irst LVM system; You can no% %rite to and read
"rom /var/share, /var/backup, and /var/mediaas usual
+e have mounted our logical volumes manually, #ut o" course %e*d like to have them mounted
automatically %hen the system #oots $here"ore %e modi"y /e%c/fs%ab:
mv /e%c/fs%ab /e%c/fs%abT'ri6
ca% /dev/(ull U /e%c/fs%ab
vi /e%c/fs%ab
-
8/9/2019 LVM Layout.docx
17/53
df -h
again !t should still sho% our logical volumes in the output:
server1:~# df -hiles$s%em i?e )sed Cvail )seS @'u(%ed '(
/dev/sda2 1G ""&@ 17G 4S /
%mpfs 7@ 7@ S /lib/i(i%/r3
udev 1@ ; 1@ 1S /dev
%mpfs 7@ 7@ S /dev/shm
/dev/sda1 1!7@ 17@ 114@ 1!S /b''%
/dev/mapper/fileserver-share
4G 177@ !G 1S /var/share
/dev/mapper/fileserver-backup
&.G 144; &.G 1S /var/backup
/dev/mapper/fileserver-media
1.G !!@ 2@ 4S /var/media
4 Resize Logical Volumes And Their Filesystems
!n this chapter %e %ill learn ho% to resi=e our logical volume share%hich
has an ext8 "ilesystem (! %ill sho% ho% to resi=e logical volumes %ith x"s
and reiser"s "ilesystems "urther do%n this tutorial)
2irst %e must unmount it:
um'u(% /var/share
shareshould not #e listed anymore in the
df -h
output:
server1:~# df -h
iles$s%em i?e )sed Cvail )seS @'u(%ed '(
-
8/9/2019 LVM Layout.docx
18/53
/dev/sda2 1G ""&@ 17G 4S /
%mpfs 7@ 7@ S /lib/i(i%/r3
udev 1@ ; 1@ 1S /dev
%mpfs 7@ 7@ S /dev/shm
/dev/sda1 1!7@ 17@ 114@ 1!S /b''%
/dev/mapper/fileserver-backup
&.G 144; &.G 1S /var/backup
/dev/mapper/fileserver-media
1.G !!@ 2@ 4S /var/media
1o% let*s enlarge share"rom 30.B to 0.B:
lve%e(d -0&G /dev/fileserver/share
server1:~# lve%e(d -0&G /dev/fileserver/share
%e(di(6 l'6ical v'lume share %' &. GB
0'6ical v'lume share successfull$ resi?ed
7ntil no% %e have enlarged only share, #ut not the ext8 "ilesystem on share $his is %hat %e do no%:
e2fsck -f /dev/fileserver/share
server1:~# e2fsck -f /dev/fileserver/share
e2fsck 1.4-> 814-'v-2"
>ass 1: ass 2: ass &: 814-'v-2"
Fesi?i(6 %he files$s%em '( /dev/fileserver/share %' 1!172 84k bl'cks.
5he files$s%em '( /dev/fileserver/share is ('3 1!172 bl'cks l'(6.
Let*s mount share:
-
8/9/2019 LVM Layout.docx
19/53
m'u(% /dev/fileserver/share /var/share
and in the
df -h
output share should no% have 0.B instead o" 30:
server1:~# df -h
iles$s%em i?e )sed Cvail )seS @'u(%ed '(
/dev/sda2 1G ""&@ 17G 4S /
%mpfs 7@ 7@ S /lib/i(i%/r3
udev 1@ ; 1@ 1S /dev
%mpfs 7@ 7@ S /dev/shm
/dev/sda1 1!7@ 17@ 114@ 1!S /b''%
/dev/mapper/fileserver-backup
&.G 144; &.G 1S /var/backup
/dev/mapper/fileserver-media
1.G !!@ 2@ 4S /var/media
/dev/mapper/fileserver-share
&G 1@ 47G 1S /var/share
5hrinking a logical volume is the other %ay round: "irst %e must shrink the "ilesystem #e"ore %e
reduce the logical volume*s si=e Let*s shrink share to 30.B again:
um'u(% /var/share
df -h
server1:~# df -h
iles$s%em i?e )sed Cvail )seS @'u(%ed '(
/dev/sda2 1G ""&@ 17G 4S /
%mpfs 7@ 7@ S /lib/i(i%/r3
udev 1@ ; 1@ 1S /dev
%mpfs 7@ 7@ S /dev/shm
/dev/sda1 1!7@ 17@ 114@ 1!S /b''%
/dev/mapper/fileserver-backup
&.G 144; &.G 1S /var/backup
/dev/mapper/fileserver-media
1.G !!@ 2@ 4S /var/media
-
8/9/2019 LVM Layout.docx
20/53
e2fsck -f /dev/fileserver/share
server1:~# e2fsck -f /dev/fileserver/share
e2fsck 1.4-> 814-'v-2"
>ass 1: ass 2: ass &:
-
8/9/2019 LVM Layout.docx
21/53
m'u(% /dev/fileserver/share /var/share
$he output o"
df -h
should no% look like this:
server1:~# df -h
iles$s%em i?e )sed Cvail )seS @'u(%ed '(
/dev/sda2 1G ""&@ 17G 4S /
%mpfs 7@ 7@ S /lib/i(i%/r3
udev 1@ ; 1@ 1S /dev
%mpfs 7@ 7@ S /dev/shm
/dev/sda1 1!7@ 17@ 114@ 1!S /b''%
/dev/mapper/fileserver-backup
&.G 144; &.G 1S /var/backup
/dev/mapper/fileserver-media
1.G !!@ 2@ 4S /var/media
/dev/mapper/fileserver-share
4G 177@ !G 1S /var/share
5 Adding A Hard Drive And Removing Another One
+e haven*t used /dev/sdfuntil no% +e %ill no% create thepartition /dev/sdf1(.B) and add that to our fileservervolume group
fdisk /dev/sdf
-
8/9/2019 LVM Layout.docx
22/53
server1:~# fdisk /dev/sdf
Device c'(%ai(s (ei%her a valid D9 par%i%i'( %able, ('r u(, G 'r 9 disklabel
Buildi(6 a (e3 D9 disklabel.
-
8/9/2019 LVM Layout.docx
23/53
H &
HG i?e 11".4! GB
> i?e 4. @B
5'%al > 2&
-
8/9/2019 LVM Layout.docx
24/53
Cll'c > / i?e 1177" / 4". GB
ree > / i?e 12 / 7.4! GB
HG ))D ir1Hk-7h7N-h0F0-Ab-!p7-F=47-01G$9
$hat*s it /dev/sdf1has #een added to the "ileserver volume group
1o% let*s remove /dev/sdb1 Be"ore %e do this, %e must copy all data on it to /dev/sdf1:
pvm've /dev/sdb1 /dev/sdf1
$his can take some minutes:
server1:~# pvm've /dev/sdb1 /dev/sdf1
/dev/sdb1: @'ved: 1.S
/dev/sdb1: @'ved: !.S
/dev/sdb1: @'ved: &.S
/dev/sdb1: @'ved: 7.S
/dev/sdb1: @'ved: .7S
/dev/sdb1: @'ved: 11."S
/dev/sdb1: @'ved: 1!."S
/dev/sdb1: @'ved: 1&."S
/dev/sdb1: @'ved: 17.&S
/dev/sdb1: @'ved: 1.4S
/dev/sdb1: @'ved: 21.4S
P...Q
/dev/sdb1: @'ved: &.7S
/dev/sdb1: @'ved: 7.7S /dev/sdb1: @'ved: .7S
/dev/sdb1: @'ved: 1.7S
/dev/sdb1: @'ved: !."S
/dev/sdb1: @'ved: &.&S
/dev/sdb1: @'ved: 7.&S
/dev/sdb1: @'ved: .4S
/dev/sdb1: @'ved: 1.S
1ext %e remove /dev/sdb1"rom the fileservervolume group:
v6reduce fileserver /dev/sdb1
server1:~# v6reduce fileserver /dev/sdb1
Fem'ved L/dev/sdb1L fr'm v'lume 6r'up LfileserverL
-
8/9/2019 LVM Layout.docx
25/53
v6displa$
server1:~# v6displa$
--- H'lume 6r'up ---
HG ame fileserver
$s%em D
'rma% lvm2
@e%ada%a Creas 4
@e%ada%a e=ue(ce ' 1"
HG Cccess read/3ri%e
HG %a%us resi?able
@CE 0H
H
H 4
Cc% >H 4
HG i?e !.14 GB
> i?e 4. @B
5'%al > 2!44
Cll'c > / i?e 1177" / 4". GB
ree > / i?e 12" / 47.14 GB
HG ))D ir1Hk-7h7N-h0F0-Ab-!p7-F=47-01G$9
$hen %e run
pvrem've /dev/sdb1
/dev/sdb1shouldn*t #e listed as a physical volume anymore:
pvdispla$
server1:~# pvdispla$
--- >h$sical v'lume ---
>H ame /dev/sdc1
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es
> i?e 8;B$%e 4"
5'%al > &"1
ree > 1"2
Cll'ca%ed > 427
-
8/9/2019 LVM Layout.docx
26/53
>H ))D 4GN$h-bs-p?h(-5DF=->I!l-!u%-CH4B
--- >h$sical v'lume ---
>H ame /dev/sdd1
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es
> i?e 8;B$%e 4"
5'%al > &"1
ree > 4"1
Cll'ca%ed > 12
>H ))D 4m)"!D-4s2"-u0-rp9-Ih>-mvIF-2ON&B
--- >h$sical v'lume ---
>H ame /dev/sde1
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es
> i?e 8;B$%e 4"
5'%al > &"1
ree > &7&
Cll'ca%ed > 2&"
>H ))D !upcJc-4e2-h4r4-iB;;-6JNv-CO%!-;dF;"
--- >h$sical v'lume ---
>H ame /dev/sdf1
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es 8bu% full > i?e 8;B$%e 4"
5'%al > &"1
ree >
Cll'ca%ed > &"1
>H ))D 16'2-BMM-@C?-lmDu-90J1-!d9-m0k2
You could no% remove /dev/sdb"rom the system (i" this %as a real system and not a virtual
machine)
6 Return To The ystem!s Original tate
-
8/9/2019 LVM Layout.docx
27/53
!n this chapter %e %ill undo all changes "rom the previous chapters to return
to the system*s original state $his is ust "or training purposes so that youlearn ho% to undo an LVM setup
2irst %e must unmount our logical volumes:
um'u(% /var/share
um'u(% /var/backup
um'u(% /var/media
df -h
server1:~# df -h
iles$s%em i?e )sed Cvail )seS @'u(%ed '(
/dev/sda2 1G ""&@ 17G 4S /
%mpfs 7@ 7@ S /lib/i(i%/r3udev 1@ 2; 1@ 1S /dev
%mpfs 7@ 7@ S /dev/shm
/dev/sda1 1!7@ 17@ 114@ 1!S /b''%
$hen %e delete each o" them:
lvrem've /dev/fileserver/share
server1:~# lvrem've /dev/fileserver/share
D' $'u reall$ 3a(% %' rem've ac%ive l'6ical v'lume LshareLR P$/(Q:
-
8/9/2019 LVM Layout.docx
28/53
server1:~# v6rem've fileserver
H'lume 6r'up LfileserverL successfull$ rem'ved
2inally %e do this:
pvrem've /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
server1:~# pvrem've /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
0abels '( ph$sical v'lume L/dev/sdc1L successfull$ 3iped
0abels '( ph$sical v'lume L/dev/sdd1L successfull$ 3iped
0abels '( ph$sical v'lume L/dev/sde1L successfull$ 3iped
0abels '( ph$sical v'lume L/dev/sdf1L successfull$ 3iped
v6displa$
server1:~# v6displa$
' v'lume 6r'ups f'u(d
pvdispla$
should display nothing at all:
server1:~# pvdispla$
1o% %e must undo our changes in /e%c/fs%abto avoid that the system tries to mount non-existing
devices 2ortunately %e have made a #ackup o" the original "ile that %e can copy #ack no%:
mv /e%c/fs%abT'ri6 /e%c/fs%ab
&e#oot the system:
shu%d'3( -r ('3
'"ter%ards the output o"
df -h
should look like this:
server1:~# df -h
iles$s%em i?e )sed Cvail )seS @'u(%ed '(
/dev/sda2 1G """@ 17G 4S /
%mpfs 7@ 7@ S /lib/i(i%/r3
udev 1@ 2; 1@ 1S /dev
-
8/9/2019 LVM Layout.docx
29/53
%mpfs 7@ 7@ S /dev/shm
/dev/sda1 1!7@ 17@ 114@ 1!S /b''%
1o% the system is like it %as in the #eginning (except that the partitions /dev/sdb1- /dev/sdf1still
exist - you could delete them %ith fdisk#ut %e don*t do this no% - as %ell as the
directories /var/share,/var/backup, and /var/media%hich %e also don*t delete)
7 LVM On RAID1
!n this chapter %e %ill set up LVM again and move it to a &'! array to
guarantee "or high-availa#ility !n the end this should look like this:
$his means %e %ill make the &'! array /dev/md"rom the partitions /dev/sdb1? /dev/sdc1, and
the &'! array /dev/md1"rom the partitions /dev/sdd1? /dev/sde1 /dev/mdand /dev/md1%ill
then #e the physical volumes "or LVM
Be"ore %e come to that, %e set up LVM as #e"ore:
pvcrea%e /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
v6crea%e fileserver /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
lvcrea%e --(ame share --si?e 4G fileserver
lvcrea%e --(ame backup --si?e &G fileserver
lvcrea%e --(ame media --si?e 1G fileserver
mkfs.e%! /dev/fileserver/share
mkfs.fs /dev/fileserver/backup
mkfs.reiserfs /dev/fileserver/media
$hen %e mount our logical volumes:
m'u(% /dev/fileserver/share /var/share
m'u(% /dev/fileserver/backup /var/backup
m'u(% /dev/fileserver/media /var/media
$he output o"
-
8/9/2019 LVM Layout.docx
30/53
df -h
should no% look like this:
server1:~# df -hiles$s%em i?e )sed Cvail )seS @'u(%ed '(
/dev/sda2 1G """@ 17G 4S /
%mpfs 7@ 7@ S /lib/i(i%/r3
udev 1@ 2; 1@ 1S /dev
%mpfs 7@ 7@ S /dev/shm
/dev/sda1 1!7@ 17@ 114@ 1!S /b''%
/dev/mapper/fileserver-share
4G 177@ !G 1S /var/share
/dev/mapper/fileserver-backup
&.G 144; &.G 1S /var/backup
/dev/mapper/fileserver-media
1.G !!@ 2@ 4S /var/media
1o% %e must move the contents o" /dev/sdc1and /dev/sde1(/dev/sdc1is the second partition o"
our "uture /dev/md, /dev/sde1the second partition o" our "uture /dev/md1) to the remaining
partitions, #ecause %e %ill a"ter%ards remove them "rom LVM and "ormat them %ith the
type fd(Linux &'! autodetect) and move them to /dev/mdresp /dev/md1
m'dpr'be dm-mirr'r
pvm've /dev/sdc1
v6reduce fileserver /dev/sdc1
pvrem've /dev/sdc1
pvdispla$
server1:~# pvdispla$
--- >h$sical v'lume ---
>H ame /dev/sdb1
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es 8bu% full
> i?e 8;B$%e 4"
5'%al > &"1
ree >
Cll'ca%ed > &"1
>H ))D )DN$G-HD@2-r4"-9MI'-h!eb-c@p-4(v(vu
--- >h$sical v'lume ---
>H ame /dev/sdd1
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es
> i?e 8;B$%e 4"
-
8/9/2019 LVM Layout.docx
31/53
5'%al > &"1
ree > 4"1
Cll'ca%ed > 12
>H ))D =dB&d-!d-9&)C-;b3v-m(1$-74O-4?ubl
--- >h$sical v'lume ---
>H ame /dev/sde1
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es
> i?e 8;B$%e 4"
5'%al > &"1
ree > 142"
Cll'ca%ed > 4&!&
>H ))D 4v01e-sr2@-a3Gd-=DNm-Jrh$sical v'lume ---
>H ame /dev/sdb1
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es 8bu% full
> i?e 8;B$%e 4"
5'%al > &"1
ree >
Cll'ca%ed > &"1
>H ))D )DN$G-HD@2-r4"-9MI'-h!eb-c@p-4(v(vu
--- >h$sical v'lume ---
>H ame /dev/sdd1
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es
> i?e 8;B$%e 4" 5'%al > &"1
ree > 14"
Cll'ca%ed > &1&
>H ))D =dB&d-!d-9&)C-;b3v-m(1$-74O-4?ubl
1o% %e "ormat /dev/sdc1%ith the type fd(Linux &'! autodetect):
-
8/9/2019 LVM Layout.docx
32/53
fdisk /dev/sdc
server1:~# fdisk /dev/sdc
5he (umber 'f c$li(ders f'r %his disk is se% %' 144!.
5here is ('%hi(6 3r'(6 3i%h %ha%, bu% %his is lar6er %ha( 124,
a(d c'uld i( cer%ai( se%ups cause pr'blems 3i%h:
1 s'f%3are %ha% ru(s a% b''% %ime 8e.6., 'ld versi'(s 'f 009
2 b''%i(6 a(d par%i%i'(i(6 s'f%3are fr'm '%her 9s
8e.6., D9 D;, 9/2 D;
la( 2 0i(u s3ap / ' c1 DFD9/sec 8C5-
! EE usr !c >ar%i%i'(@a6ic ! 0i(u c4 DFD9/sec 8C5-
4 C51" !2@ 4 He(i 2" 4 9/2 hidde( /5 4d IE4. 7 5 v'lume se% db /@ /
-
8/9/2019 LVM Layout.docx
33/53
c & C5!2 80BC &2 /@ f BD/9 e4 peed%'r
e & C51" 80BC &! 9(5rack D@" Cu a B@ 5hi(kpad hi eb Be9 fs
f & %d 80BC &4 9(5rackD@" a& reeBD ee G>5
1 9>) && J-Drive a" 9pe(BD ef 8C5-12/1"/
11 Aidde( C512 &" G'lde( B'3 a7 eE55> f 0i(u/>C-F< b
12 riam disk a Dar3i( ) f1 peed%'r
14 Aidde( C51" ! "1 peed%'r a e%BD f4 peed%'r
1" Aidde( C51" "! G) A)FD 'r $s ab Dar3i( b''% f2 D9 sec'(dar$
17 Aidde( A>/5 "4 'vell e%3are b7 BD fs fd 0i(u raid au%'
1 C5 mar%leep "& 'vell e%3are b BD s3ap fe 0Cs%ep
1b Aidde( & C5! 7 Diskecure @ul% bb B''% i?ard hid ff BB5
1c Aidde( & C5! 7& >
-
8/9/2019 LVM Layout.docx
34/53
/dev/sdb1 1 !4 24417" e 0i(u 0H@
Disk /dev/sdc: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Device B''% %ar% (d Bl'cks d $s%em
/dev/sdc1 1 !4 24417" fd 0i(u raid au%'de%ec%
Disk /dev/sdd: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Device B''% %ar% (d Bl'cks d $s%em
/dev/sdd1 1 !4 24417" e 0i(u 0H@
Disk /dev/sde: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Device B''% %ar% (d Bl'cks d $s%em
/dev/sde1 1 !4 24417" fd 0i(u raid au%'de%ec%
Disk /dev/sdf: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Device B''% %ar% (d Bl'cks d $s%em
/dev/sdf1 1 !4 24417" e 0i(u 0H@1ext %e add /dev/sdc1to /dev/mdand /dev/sde1to /dev/md1 Because the second nodes
(/dev/sdb1and /dev/sdd1) are not ready yet, %e must speci"y missi(6in the "ollo%ing commands:
mdadm --crea%e /dev/md --au%'*$es -l 1 -( 2 /dev/sdc1 missi(6
server1:~# mdadm --crea%e /dev/md --au%'*$es -l 1 -( 2 /dev/sdc1 missi(6
mdadm: arra$ /dev/md s%ar%ed.
mdadm --crea%e /dev/md1 --au%'*$es -l 1 -( 2 /dev/sde1 missi(6
server1:~# mdadm --crea%e /dev/md1 --au%'*$es -l 1 -( 2 /dev/sde1 missi(6
mdadm: arra$ /dev/md1 s%ar%ed.
'"ter%ards %e prepare /dev/mdand /dev/md1"or LVM:
-
8/9/2019 LVM Layout.docx
35/53
pvcrea%e /dev/md /dev/md1
server1:~# pvcrea%e /dev/md /dev/md1
>h$sical v'lume L/dev/mdL successfull$ crea%ed
>h$sical v'lume L/dev/md1L successfull$ crea%ed
and extend our fileservervolume group:
v6e%e(d fileserver /dev/md /dev/md1
server1:~# v6e%e(d fileserver /dev/md /dev/md1
H'lume 6r'up LfileserverL successfull$ e%e(ded
$he outputs o"
pvdispla$
and
v6displa$
should look like this:
server1:~# pvdispla$
--- >h$sical v'lume ---
>H ame /dev/sdb1
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es 8bu% full
> i?e 8;B$%e 4"
5'%al > &"1
ree >
Cll'ca%ed > &"1
>H ))D )DN$G-HD@2-r4"-9MI'-h!eb-c@p-4(v(vu
--- >h$sical v'lume ---
>H ame /dev/sdd1
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es
> i?e 8;B$%e 4"
5'%al > &"1
ree > 14"
Cll'ca%ed > &1&
>H ))D =dB&d-!d-9&)C-;b3v-m(1$-74O-4?ubl
-
8/9/2019 LVM Layout.docx
36/53
--- >h$sical v'lume ---
>H ame /dev/md
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es
> i?e 8;B$%e 4"
5'%al > &"1
ree > &"1
Cll'ca%ed >
>H ))D 7NA)E-1F2p-9MbN-E195-uae6-6F-A"?!>
--- >h$sical v'lume ---
>H ame /dev/md1
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es
> i?e 8;B$%e 4"
5'%al > &"1
ree > &"1
Cll'ca%ed >
>H ))D p3I&CN-F3H;-ebC-J1!-d27d-2d>-A=5&F
server1:~# v6displa$
--- H'lume 6r'up ---
HG ame fileserver
$s%em D
'rma% lvm2
@e%ada%a Creas 4
@e%ada%a e=ue(ce ' 14 HG Cccess read/3ri%e
HG %a%us resi?able
@CE 0H
H
H 4
Cc% >H 4
HG i?e !.14 GB
> i?e 4. @B
5'%al > 2!44 Cll'c > / i?e 1177" / 4". GB
ree > / i?e 12" / 47.14 GB
HG ))D dIDA5-kAf-)MFm-rmN!-9)O-G1%-aHsk1
1o% %e move the contents o" /dev/sdb1to /dev/mdand the contents o" /dev/sdd1to /dev/md1,
then %e remove /dev/sdb1and /dev/sdd1"rom LVM:
pvm've /dev/sdb1 /dev/md
-
8/9/2019 LVM Layout.docx
37/53
pvm've /dev/sdd1 /dev/md1
v6reduce fileserver /dev/sdb1 /dev/sdd1
pvrem've /dev/sdb1 /dev/sdd1
1o% only /dev/mdand /dev/md1should #e le"t as physical volumes:
pvdispla$
server1:~# pvdispla$
--- >h$sical v'lume ---
>H ame /dev/md
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es 8bu% full
> i?e 8;B$%e 4"
5'%al > &"1
ree >
Cll'ca%ed > &"1
>H ))D 7NA)E-1F2p-9MbN-E195-uae6-6F-A"?!>
--- >h$sical v'lume ---
>H ame /dev/md1
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es
> i?e 8;B$%e 4"
5'%al > &"1
ree > 14"
Cll'ca%ed > &1&
>H ))D p3I&CN-F3H;-ebC-J1!-d27d-2d>-A=5&F
1o% %e "ormat /dev/sdb1%ith fd(Linux &'! autodetect):
fdisk /dev/sdb
server1:~# fdisk /dev/sdb
5he (umber 'f c$li(ders f'r %his disk is se% %' !2"!&.
5here is ('%hi(6 3r'(6 3i%h %ha%, bu% %his is lar6er %ha( 124,
a(d c'uld i( cer%ai( se%ups cause pr'blems 3i%h:
1 s'f%3are %ha% ru(s a% b''% %ime 8e.6., 'ld versi'(s 'f 009
2 b''%i(6 a(d par%i%i'(i(6 s'f%3are fr'm '%her 9s
8e.6., D9 D;, 9/2 D;
-
8/9/2019 LVM Layout.docx
38/53
a %'66le a b''%able fla6
b edi% bsd disklabel
c %'66le %he d's c'mpa%ibili%$ fla6
d dele%e a par%i%i'(
l lis% k('3( par%i%i'( %$pes
m pri(% %his me(u
( add a (e3 par%i%i'(
' crea%e a (e3 emp%$ D9 par%i%i'( %able
p pri(% %he par%i%i'( %able
= =ui% 3i%h'u% savi(6 cha(6es
s crea%e a (e3 emp%$ u( disklabel
% cha(6e a par%i%i'(s s$s%em id
u cha(6e displa$/e(%r$ u(i%s
v verif$ %he par%i%i'( %able
3 3ri%e %able %' disk a(d ei%
e%ra fu(c%i'(ali%$ 8eper%s '(l$
-
8/9/2019 LVM Layout.docx
39/53
ca% /pr'c/mds%a%
%hen the process is "inished $he output looks like this "or an un"inished process:
server1:~# ca% /pr'c/mds%a%>ers'(ali%ies : Pli(earQ Pmul%ipa%hQ PraidQ Praid1Q Praid&Q Praid4Q Praid"Q Praid1Q
md1 : ac%ive raid1 sdd1P2Q sde1PQ
2441" bl'cks P2/1Q P)TQ
P*U...................Q rec'ver$ * ".4S 81&"&"/2441" fi(ish*1.mi( speed
*1!2;/sec
md : ac%ive raid1 sdb1P2Q sdc1PQ
2441" bl'cks P2/1Q P)TQ
P**U..................Q rec'ver$ * 1.&S 82&72"4/2441" fi(ish*2.mi( speed
*12!"!;/sec
u(used devices: ('(eU
and like this %hen the process is "inished:
server1:~# ca% /pr'c/mds%a%
>ers'(ali%ies : Pli(earQ Pmul%ipa%hQ PraidQ Praid1Q Praid&Q Praid4Q Praid"Q Praid1Q
md1 : ac%ive raid1 sdd1P1Q sde1PQ
2441" bl'cks P2/2Q P))Q
md : ac%ive raid1 sdb1P1Q sdc1PQ
2441" bl'cks P2/2Q P))Q
u(used devices: ('(eU!" you have a look at >H i?ein the output o"
pvdispla$
you %ill see that 2 + 2!.2GB * 4".&GBare availa#le, ho%ever only 4GB 8share &GB
8backup 1GB 8media * 4"GBare used %hich means %e could extend one o" our logical devices
%ith a#out 0.B !*ve already sho%n ho% to extend an ext8 logical volume (share), so %e %ill
resi=e mediano% %hich uses reiser"s reiser"s "ilesystems can #e resi=ed %ithout unmounting:
lve%e(d -01.&G /dev/fileserver/media
server1:~# lve%e(d -01.&G /dev/fileserver/media
%e(di(6 l'6ical v'lume media %' 1.& GB
0'6ical v'lume media successfull$ resi?ed
resi?eTreiserfs /dev/fileserver/media
-
8/9/2019 LVM Layout.docx
40/53
server1:~# resi?eTreiserfs /dev/fileserver/media
resi?eTreiserfs !.".1 82! 333.(ames$s.c'm
resi?eTreiserfs: 9(-li(e resi?i(6 fi(ished successfull$.
$he output o"
df -h
looks like this:
server1:~# df -h
iles$s%em i?e )sed Cvail )seS @'u(%ed '(
/dev/sda2 1G """@ 17G 4S /
%mpfs 7@ 7@ S /lib/i(i%/r3
udev 1@ 2; 1@ 1S /dev%mpfs 7@ 7@ S /dev/shm
/dev/sda1 1!7@ 17@ 114@ 1!S /b''%
/dev/mapper/fileserver-share
4G 177@ !G 1S /var/share
/dev/mapper/fileserver-backup
&.G 144; &.G 1S /var/backup
/dev/mapper/fileserver-media
1.&G !!@ 1.&G !S /var/media
!" %e %ant our logical volumes to #e mounted automatically at #oot time, %e must
modi"y /e%c/fs%abagain (like in chapter 8):
mv /e%c/fs%ab /e%c/fs%abT'ri6
ca% /dev/(ull U /e%c/fs%ab
vi /e%c/fs%ab
-
8/9/2019 LVM Layout.docx
41/53
0 0
/dev/fd0 /media/floppy0 auto r%,user,noauto 0
0
/dev/fileserver/s"are /var/s"are ext3
r%,noatime 0 0
/dev/fileserver/bac&up /var/bac&up xfs
r%,noatime 0 0
/dev/fileserver/media /var/media reiserfs
r%,noatime 0 0
!" you compare it to our #ackup o" the original "ile, /e%c/fs%abT'ri6, you %ill notice that %e added
the lines:
/dev/fileserver/share /var/share e%! r3,('a%ime
/dev/fileserver/backup /var/backup fs r3,('a%ime
/dev/fileserver/media /var/media reiserfs r3,('a%ime
1o% %e re#oot the system:
shu%d'3( -r ('3
'"ter the system has come up again, run
df -h
again !t should still sho% our logical volumes in the output:
server1:~# df -h
iles$s%em i?e )sed Cvail )seS @'u(%ed '(
/dev/sda2 1G """@ 17G 4S /
%mpfs 7@ 7@ S /lib/i(i%/r3
udev 1@ 1; 1@ 1S /dev
%mpfs 7@ 7@ S /dev/shm
/dev/sda1 1!7@ 17@ 114@ 1!S /b''%
/dev/mapper/fileserver-share
4G 177@ !G 1S /var/share
/dev/mapper/fileserver-backup
&.G 144; &.G 1S /var/backup
/dev/mapper/fileserver-media 1.&G !!@ 1.&G !S /var/media
1o% %e are "inished %ith our LVM on &'! setup
-
8/9/2019 LVM Layout.docx
42/53
" Re#lacing The Hard Dis$s %ith &igger Ones
+e are currently using "our hard disks %ith a si=e o" .B each (at least %e are acting like that) 1o%
let*s assume this isn*t enough anymore, and %e need more space in our &'! setup $here"ore %e %ill
replace our .B hard disks %ith /0.B hard disks (in "act %e %ill still use the current hard disks, #ut
use their "ull capacity no% - in the real li"e you %ould replace your old, small hard disks %ith ne%,
#igger ones)
$he procedure is as "ollo%s: "irst %e remove/dev/sdb
and/dev/sdd
"rom the &'! arrays, replace
them %ith #igger hard disks, put them #ack into the &'! arrays, and then %e do the same again
%ith /dev/sdcand /dev/sde
2irst %e mark /dev/sdb1as "ailed:
mdadm --ma(a6e /dev/md --fail /dev/sdb1
server1:~# mdadm --ma(a6e /dev/md --fail /dev/sdb1
mdadm: se% /dev/sdb1 faul%$ i( /dev/md
$he output o"
ca% /pr'c/mds%a%
looks no% like this:
server1:~# ca% /pr'c/mds%a%
>ers'(ali%ies : Pli(earQ Pmul%ipa%hQ PraidQ Praid1Q Praid&Q Praid4Q Praid"Q Praid1Q
md : ac%ive raid1 sdc1PQ sdb1P2Q8 2441" bl'cks P2/1Q P)TQ
md1 : ac%ive raid1 sde1PQ sdd1P1Q
2441" bl'cks P2/2Q P))Q
u(used devices: ('(eU
-
8/9/2019 LVM Layout.docx
43/53
$hen %e remove /dev/sdb1"rom the &'! array /dev/md:
mdadm --ma(a6e /dev/md --rem've /dev/sdb1
server1:~# mdadm --ma(a6e /dev/md --rem've /dev/sdb1
mdadm: h'% rem'ved /dev/sdb1
ca% /pr'c/mds%a%
server1:~# ca% /pr'c/mds%a%
>ers'(ali%ies : Pli(earQ Pmul%ipa%hQ PraidQ Praid1Q Praid&Q Praid4Q Praid"Q Praid1Q
md : ac%ive raid1 sdc1PQ
2441" bl'cks P2/1Q P)TQ
md1 : ac%ive raid1 sde1PQ sdd1P1Q
2441" bl'cks P2/2Q P))Q
u(used devices: ('(eU
1o% %e do the same %ith /dev/sdd1:
mdadm --ma(a6e /dev/md1 --fail /dev/sdd1
server1:~# mdadm --ma(a6e /dev/md1 --fail /dev/sdd1
mdadm: se% /dev/sdd1 faul%$ i( /dev/md1
ca% /pr'c/mds%a%
server1:~# ca% /pr'c/mds%a%
>ers'(ali%ies : Pli(earQ Pmul%ipa%hQ PraidQ Praid1Q Praid&Q Praid4Q Praid"Q Praid1Q
md : ac%ive raid1 sdc1PQ
2441" bl'cks P2/1Q P)TQ
md1 : ac%ive raid1 sde1PQ sdd1P2Q8
2441" bl'cks P2/1Q P)TQ
u(used devices: ('(eU
-
8/9/2019 LVM Layout.docx
44/53
mdadm --ma(a6e /dev/md1 --rem've /dev/sdd1
server1:~# mdadm --ma(a6e /dev/md1 --rem've /dev/sdd1
mdadm: h'% rem'ved /dev/sdd1
ca% /pr'c/mds%a%
server1:~# ca% /pr'c/mds%a%
>ers'(ali%ies : Pli(earQ Pmul%ipa%hQ PraidQ Praid1Q Praid&Q Praid4Q Praid"Q Praid1Q
md : ac%ive raid1 sdc1PQ
2441" bl'cks P2/1Q P)TQ
md1 : ac%ive raid1 sde1PQ
2441" bl'cks P2/1Q P)TQ
u(used devices: ('(eU
@n a real system you %ould no% shut it do%n, pull out the .B /dev/sdband /dev/sdd and replace
them %ith /0.B ones 's ! said #e"ore, %e don*t have to do this #ecause all hard disks already have a
capacity o" /0.B
1ext %e must "ormat /dev/sdband /dev/sdd +e must create
a /dev/sdb1resp /dev/sdd1partition, type fd(Linux &'! autodetect), si=e .B (the same
settings as on the old hard disks), and a /dev/sdb2resp /dev/sdd2partition, type fd, that cover the
rest o" the hard disks 's /dev/sdb1and /dev/sdd1are still present on our hard disks, %e only haveto create /dev/sdb2and /dev/sdd2in this special example
fdisk /dev/sdb
server1:~# fdisk /dev/sdb
5he (umber 'f c$li(ders f'r %his disk is se% %' 144!.
5here is ('%hi(6 3r'(6 3i%h %ha%, bu% %his is lar6er %ha( 124,
a(d c'uld i( cer%ai( se%ups cause pr'blems 3i%h:
1 s'f%3are %ha% ru(s a% b''% %ime 8e.6., 'ld versi'(s 'f 009
2 b''%i(6 a(d par%i%i'(i(6 s'f%3are fr'm '%her 9s
8e.6., D9 D;, 9/2 D;
-
8/9/2019 LVM Layout.docx
45/53
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Device B''% %ar% (d Bl'cks d $s%em
/dev/sdb1 1 !4 24417" fd 0i(u raid au%'de%ec%
-
8/9/2019 LVM Layout.docx
46/53
/dev/sda1 + 1 1 144&&! ! 0i(u
/dev/sda2 1 24& 1&!&4 ! 0i(u
/dev/sda4 24&1 2"1 12&2 2 0i(u s3ap / 'laris
Disk /dev/sdb: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Device B''% %ar% (d Bl'cks d $s%em
/dev/sdb1 1 !4 24417" fd 0i(u raid au%'de%ec%
/dev/sdb2 !41 144! &4"4&7 fd 0i(u raid au%'de%ec%
Disk /dev/sdc: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Device B''% %ar% (d Bl'cks d $s%em
/dev/sdc1 1 !4 24417" fd 0i(u raid au%'de%ec%
Disk /dev/sdd: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Device B''% %ar% (d Bl'cks d $s%em
/dev/sdd1 1 !4 24417" fd 0i(u raid au%'de%ec%
/dev/sdd2 !41 144! &4"4&7 fd 0i(u raid au%'de%ec%
Disk /dev/sde: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Device B''% %ar% (d Bl'cks d $s%em
/dev/sde1 1 !4 24417" fd 0i(u raid au%'de%ec%
Disk /dev/sdf: &. GB, &!4&2 b$%es
2&& heads, "! sec%'rs/%rack, 144! c$li(ders
)(i%s * c$li(ders 'f 1""& + &12 * 22&2 b$%es
Device B''% %ar% (d Bl'cks d $s%em
/dev/sdf1 1 !4 24417" e 0i(u 0H@
Disk /dev/md1: 2&. GB, 2&47!"&12 b$%es
2 heads, 4 sec%'rs/%rack, "14"72 c$li(ders
)(i%s * c$li(ders 'f + &12 * 4" b$%es
Disk /dev/md1 d'es(% c'(%ai( a valid par%i%i'( %able
Disk /dev/md: 2&. GB, 2&47!"&12 b$%es
-
8/9/2019 LVM Layout.docx
47/53
2 heads, 4 sec%'rs/%rack, "14"72 c$li(ders
)(i%s * c$li(ders 'f + &12 * 4" b$%es
Disk /dev/md d'es(% c'(%ai( a valid par%i%i'( %able
1o% %e add/dev/sdb1
to/dev/md
again and/dev/sdd1
to/dev/md1
:
mdadm --ma(a6e /dev/md --add /dev/sdb1
server1:~# mdadm --ma(a6e /dev/md --add /dev/sdb1
mdadm: re-added /dev/sdb1
mdadm --ma(a6e /dev/md1 --add /dev/sdd1
server1:~# mdadm --ma(a6e /dev/md1 --add /dev/sdd1
mdadm: re-added /dev/sdd1
1o% the contents o" #oth &'! arrays %ill #e synchroni=ed +e must %ait until this is "inished #e"ore
%e can go on +e can check the status o" the synchroni=ation %ith
ca% /pr'c/mds%a%
$he output looks like this during synchroni=ation:
server1:~# ca% /pr'c/mds%a%
>ers'(ali%ies : Pli(earQ Pmul%ipa%hQ PraidQ Praid1Q Praid&Q Praid4Q Praid"Q Praid1Q
md : ac%ive raid1 sdb1P1Q sdc1PQ
2441" bl'cks P2/1Q P)TQ
P*U...................Q rec'ver$ * .S 8242!1"/2441" fi(ish*2.mi( speed
*127&!&;/sec
md1 : ac%ive raid1 sdd1P1Q sde1PQ
2441" bl'cks P2/1Q P)TQ
P*U...................Q rec'ver$ * ".4S 81&72"/2441" fi(ish*1.mi( speed
*1"&12;/sec
u(used devices: ('(eU
and like this %hen it*s "inished:
-
8/9/2019 LVM Layout.docx
48/53
server1:~# ca% /pr'c/mds%a%
>ers'(ali%ies : Pli(earQ Pmul%ipa%hQ PraidQ Praid1Q Praid&Q Praid4Q Praid"Q Praid1Q
md : ac%ive raid1 sdb1P1Q sdc1PQ
2441" bl'cks P2/2Q P))Q
md1 : ac%ive raid1 sdd1P1Q sde1PQ
2441" bl'cks P2/2Q P))Q
u(used devices: ('(eU
1o% %e do the same process again, this time replacing /dev/sdcand /dev/sde:
mdadm --ma(a6e /dev/md --fail /dev/sdc1
mdadm --ma(a6e /dev/md --rem've /dev/sdc1
mdadm --ma(a6e /dev/md1 --fail /dev/sde1
mdadm --ma(a6e /dev/md1 --rem've /dev/sde1
fdisk /dev/sdc
fdisk /dev/sde
mdadm --ma(a6e /dev/md --add /dev/sdc1
mdadm --ma(a6e /dev/md1 --add /dev/sde1
ca% /pr'c/mds%a%
+ait until the synchroni=ation has "inished
1ext %e create the &'! arrays /dev/md2"rom /dev/sdb2and /dev/sdc2as %ell
as /dev/md!"rom /dev/sdd2and /dev/sde2
mdadm --crea%e /dev/md2 --au%'*$es -l 1 -( 2 /dev/sdb2 /dev/sdc2
server1:~# mdadm --crea%e /dev/md2 --au%'*$es -l 1 -( 2 /dev/sdb2 /dev/sdc2
mdadm: arra$ /dev/md2 s%ar%ed.
mdadm --crea%e /dev/md! --au%'*$es -l 1 -( 2 /dev/sdd2 /dev/sde2
server1:~# mdadm --crea%e /dev/md! --au%'*$es -l 1 -( 2 /dev/sdd2 /dev/sde2
mdadm: arra$ /dev/md! s%ar%ed.
$he ne% &'! arrays must #e synchroni=ed #e"ore %e go on, so you should check
ca% /pr'c/mds%a%
-
8/9/2019 LVM Layout.docx
49/53
server1:~# ca% /pr'c/mds%a%
>ers'(ali%ies : Pli(earQ Pmul%ipa%hQ PraidQ Praid1Q Praid&Q Praid4Q Praid"Q Praid1Q
md! : ac%ive raid1 sde2P1Q sdd2PQ
&4"4&12 bl'cks P2/2Q P))Q
P*U...................Q res$(c * &.1S 8!44224/&4"4&12 fi(ish*&.&mi( speed*1
"12!;/sec
md2 : ac%ive raid1 sdc2P1Q sdb2PQ
&4"4&12 bl'cks P2/2Q P))Q
P*U...................Q res$(c * &.&S 8!!12&12/&4"4&12 fi(ish*.!mi( speed*1
!7;/sec
md : ac%ive raid1 sdc1PQ sdb1P1Q
2441" bl'cks P2/2Q P))Q
md1 : ac%ive raid1 sde1PQ sdd1P1Q
2441" bl'cks P2/2Q P))Q
u(used devices: ('(eU
'"ter the synchroni=ation has "inished, %e prepare /dev/md2and /dev/md!"or LVM:
pvcrea%e /dev/md2 /dev/md!
server1:~# pvcrea%e /dev/md2 /dev/md!
>h$sical v'lume L/dev/md2L successfull$ crea%ed
>h$sical v'lume L/dev/md!L successfull$ crea%ed
and add /dev/md2and /dev/md!to our fileservervolume group:
v6e%e(d fileserver /dev/md2 /dev/md!
server1:~# v6e%e(d fileserver /dev/md2 /dev/md!
H'lume 6r'up LfileserverL successfull$ e%e(ded
1o% let*s run our +displa$commands:
pvdispla$
server1:~# pvdispla$
--- >h$sical v'lume ---
>H ame /dev/md
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es 8bu% full
> i?e 8;B$%e 4"
5'%al > &"1
ree >
Cll'ca%ed > &"1
-
8/9/2019 LVM Layout.docx
50/53
>H ))D 7NA)E-1F2p-9MbN-E195-uae6-6F-A"?!>
--- >h$sical v'lume ---
>H ame /dev/md1
HG ame fileserver
>H i?e 2!.2 GB / ('% usable
Cll'ca%able $es
> i?e 8;B$%e 4"
5'%al > &"1
ree > 1
Cll'ca%ed > &4!
>H ))D p3I&CN-F3H;-ebC-J1!-d27d-2d>-A=5&F
--- >h$sical v'lume ---
>H ame /dev/md2
HG ame fileserver
>H i?e &".71 GB / ('% usable
Cll'ca%able $es
> i?e 8;B$%e 4"
5'%al > 14&17
ree > 14&17
Cll'ca%ed >
>H ))D !k5'-evm-rfmf-0C-4O9N-20G&-%4NA(f
--- >h$sical v'lume ---
>H ame /dev/md!
HG ame fileserver
>H i?e &".71 GB / ('% usable
Cll'ca%able $es > i?e 8;B$%e 4"
5'%al > 14&17
ree > 14&17
Cll'ca%ed >
>H ))D 0E"-70IE-JGG)-dH&-MI66-5;44-)&N9M9
v6displa$
server1:~# v6displa$
--- H'lume 6r'up ---
HG ame fileserver
$s%em D
'rma% lvm2
@e%ada%a Creas 4
@e%ada%a e=ue(ce ' 2"
HG Cccess read/3ri%e
HG %a%us resi?able
@CE 0H
-
8/9/2019 LVM Layout.docx
51/53
H
H 4
Cc% >H 4
HG i?e 1&. GB
> i?e 4. @B
5'%al > 4&"
Cll'c > / i?e 114 / 4".& GB
ree > / i?e 2&2 / 11!.4 GB
HG ))D dIDA5-kAf-)MFm-rmN!-9)O-G1%-aHsk1
lvdispla$
server1:~# lvdispla$
--- 0'6ical v'lume ---
0H ame /dev/fileserver/share HG ame fileserver
0H ))D bc(!9i-v!p-'$E-Il2-%?-u?7J-4DllO
0H ri%e Cccess read/3ri%e
0H %a%us available
# 'pe( 1
0H i?e 4. GB
-
8/9/2019 LVM Layout.docx
52/53
0H ri%e Cccess read/3ri%e
0H %a%us available
# 'pe( 2
0H i?e 1.& GB
-
8/9/2019 LVM Layout.docx
53/53
%mpfs 7@ 7@ S /dev/shm
/dev/sda1 1!7@ 17@ 114@ 1!S /b''%
/dev/mapper/fileserver-share
4G 177@ !G 1S /var/share
/dev/mapper/fileserver-backup
1G 272; 1G 1S /var/backup
/dev/mapper/fileserver-media
1.&G !!@ 1.&G !S /var/media
$hat*s it; !" you*ve made it until here, you should no% #e used to LVM and LVM on &'!