lvm layout.docx

Upload: sunkumar

Post on 02-Jun-2018

248 views

Category:

Documents


0 download

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 &'!