擴展帶LVM分區的amazon EBS實踐

使用AMAZON上的CentOS-6.5-base-20150305 (ami-0e80db66)的IAM啓動了一個EC2實例,配置EBS存儲200G。進入系統後,使用df查看存儲空間如下:

[ec2-user@s1 ~]$ df -h

Filesystem                                    Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root   14G  2.4G   11G  19%    /

tmpfs                                             7.3G     0     7.3G   0%    /dev/shm

 

/dev/xvda1                                   477M   73M  379M  17%  /boot

很明顯,這裏只顯示了IAM默認加載的大約20G空間,我的EBS有200G,還有180G沒有掛載。這是什麼情況呢?使用lsblk來看看:

[ec2-user@s1 ~]$ lsblk

NAME                                                MAJ:MIN RM     SIZE     RO TYPE MOUNTPOINT

xvda                                                   202:0       0      200G       0    disk 

├─xvda1                                           202:1       0      500M       0    part    /boot

├─xvda2                                           202:2       0     15.5G       0    part 

     ├─VolGroup-lv_root (dm-0)       253:0       0     13.9G       0    lvm     /

    └─VolGroup-lv_swap (dm-1)     253:1       0     1.6G         0    lvm     [SWAP]

 

可以看出,xvda被分成了2個分區,第一個分區500M掛載了/boot目錄,第二個分區是個lvm分區,掛載了/和swap目錄。接下來,我要把這180G空間掛載到 / 目錄,也就是擴展 VolGroup-lv_root到195G左右。

第一步,這是一個root EBS,所以無法在當前實例執行硬盤分區操作。將這個EBS從當前實例斷開,同時掛載到另外一個工具實例(我使用了一個免費的Amazon Linux AMI 2015.09.1 (HVM), SSD Volume Type - ami-60b6c60a實例)。注意:由於此時新實例有2個root EBS,此時不能對工具實例做重啓之類的操作,否則無法正確加載root EBS。然後使用parted分區工具對此EBS做分區操作,產生一個新的物理分區xvda3,大小爲剩下的180G。操作如下:

[ec2-user@s1~]$ sudo parted /dev/xvda

GNU Parted 2.1

使用 /dev/xvda

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) unit s                                                           

(parted) print                                                            

Model: Xen Virtual Block Device (xvd)

Disk /dev/xvda: 419430400s

Sector size (logical/physical): 512B/512B

Partition Table: msdos

 

Number  Start      End         Size        Type     File system  標誌

 1      2048s      1026047s    1024000s    primary  ext4         啓動

 

 2      1026048s   33554431s   32528384s   primary               lvm

(parted) mkpart primary 33554432s 100%

(parted) print

Model: Xen Virtual Block Device (xvd)

Disk /dev/xvda: 419430400s

Sector size (logical/physical): 512B/512B

Partition Table: msdos

 

Number  Start      End         Size        Type     File system  標誌

 1      2048s      1026047s    1024000s    primary  ext4         啓動

 2      1026048s   33554431s   32528384s   primary               lvm

 

 3      33554432s  419430399s  385875968s  primary  ext4

(parted) quit

這樣就產生了一個新的物理分區,再次使用lsblk查看:

[ec2-user@s1 ~]$ lsblk

NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

xvda                        202:0    0  200G  0 disk 

├─xvda1                     202:1    0  500M  0 part /boot

├─xvda2                     202:2    0 15.5G  0 part 

│ ├─VolGroup-lv_root (dm-0) 253:0    0 13.9G  0 lvm  /

│ └─VolGroup-lv_swap (dm-1) 253:1    0  1.6G  0 lvm  [SWAP]

 

└─xvda3                     202:3    0  184G  0 part 

 

分區操作完成,斷開EBS,重新掛到原來的實例上。

 

第二步,調整LVM分區。 進入EC2實例,查看LVM的分區情況:

[ec2-user@s1 ~]$ sudo vgdisplay

  --- Volume group ---

  VG Name               VolGroup

  System ID             

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  3

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                2

  Open LV               2

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               15.51 GiB

  PE Size               4.00 MiB

  Total PE              3970

  Alloc PE / Size       3970 / 15.51 GiB

  Free  PE / Size       0 / 0   

 

  VG UUID               4431gC-stvB-LEil-fhM7-WT2F-y4DG-36Uf6w

 

[ec2-user@s1 ~]$ sudo lvdisplay

  --- Logical volume ---

  LV Path                /dev/VolGroup/lv_root

  LV Name                lv_root

  VG Name                VolGroup

  LV UUID                UTPDa9-4C6b-S0Yk-npmP-HMOM-ZGs0-TctA1e

  LV Write Access        read/write

  LV Creation host, time localhost.localdomain, 2015-03-05 19:27:09 +0900

  LV Status              available

  # open                 1

  LV Size                13.91 GiB

  Current LE             3561

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     256

  Block device           253:0

   

  --- Logical volume ---

  LV Path                /dev/VolGroup/lv_swap

  LV Name                lv_swap

  VG Name                VolGroup

  LV UUID                vlCsmT-W0HL-q3wo-3tWf-jL2A-e2mB-C6zAGl

  LV Write Access        read/write

  LV Creation host, time localhost.localdomain, 2015-03-05 19:27:36 +0900

  LV Status              available

  # open                 1

  LV Size                1.60 GiB

  Current LE             409

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     256

 

  Block device           253:1

 

當前卷組VolGroup有2個LV,把新的分區xvda3轉換爲物理卷:

pvcreate /dev/xvda3    /dev/xvda3

擴展卷組,將物理卷xvda3添加到已存在的卷組VolGroup

vgextend VolGroup /dev/xvda3

 

增大邏輯卷lv_root大小

 lvextend -L +180G /dev/VolGroup/lv_root

再查看存儲結構:

[ec2-user@s1 ~]$ lsblk

NAME                        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

xvda                        202:0    0   200G  0 disk 

├─xvda1                     202:1    0   500M  0 part /boot

├─xvda2                     202:2    0  15.5G  0 part 

│ ├─VolGroup-lv_root (dm-0) 253:0    0 197.9G  0 lvm  /

│ └─VolGroup-lv_swap (dm-1) 253:1    0   1.6G  0 lvm  [SWAP]

└─xvda3                     202:3    0   184G  0 part 

 

  └─VolGroup-lv_root (dm-0) 253:0    0 197.9G  0 lvm  /

 

根目錄已經增加到近198G,成功擴展。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章