在Amazon EC2 Ubuntu服务器上使用Linux LVM

时间:2020-03-21 11:47:29  来源:igfitidea点击:

本文介绍Linux LVM的基础知识:初始化物理分区,创建卷组,在新创建的卷组中创建逻辑卷,构建和挂载文件系统,添加到fstab以便在引导时自动挂载。

安装

我们今天正在与Ubuntu Saucy Salamander合作:

# cat /etc/issue
Ubuntu 13.10 \n \l

安装LVM套件:

# apt-get update && apt-get install lvm2

我们已经准备好分区(类型设置为0x8e):

# fdisk -l 2>/dev/null | grep dev.*LVM
 /dev/xvdg1 2048 20971519 10484736 8e Linux LVM
 /dev/xvdh1 2048 41943039 20970496 8e Linux LVM
 /dev/xvdi1 2048 62914559 31456256 8e Linux LVM

配置

初始化LVM的物理卷

初始化供LVM使用的分区:

# pvcreate /dev/xvdg1 /dev/xvdh1 /dev/xvdi1
  Physical volume "/dev/xvdg1" successfully created
  Physical volume "/dev/xvdh1" successfully created
  Physical volume "/dev/xvdi1" successfully created

检查物理卷的属性:

# pvdisplay
  "/dev/xvdg1" is a new physical volume of "10.00 GiB"
  --- NEW Physical volume --
  PV Name               /dev/xvdg1
  VG Name               
  PV Size               10.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               kcRHJq-zPTP-0Vld-J3Ut-AAYl-MY62-J0R0Dq

  "/dev/xvdh1" is a new physical volume of "20.00 GiB"
  --- NEW Physical volume --
  PV Name               /dev/xvdh1
  VG Name               
  PV Size               20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               LWHp3K-9IwJ-WfYC-Jr6X-TeTw-yyRm-MMaIS5

  "/dev/xvdi1" is a new physical volume of "30.00 GiB"
  --- NEW Physical volume --
  PV Name               /dev/xvdi1
  VG Name               
  PV Size               30.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               wQ2CwT-EiRp-uHEq-epjd-v49t-3o0e-nkrmb4

创建卷组

我们将使用名为卷组的proftpd:

# vgcreate proftpd /dev/xvdg1 /dev/xvdh1 /dev/xvdi1
  Volume group "proftpd" successfully created

检查proftpd卷组的属性:

# vgdisplay
  --- Volume group --
  VG Name               proftpd
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               59.99 GiB
  PE Size               4.00 MiB
  Total PE              15357
  Alloc PE/Size       0/0   
  Free  PE/Size       15357/59.99 GiB
  VG UUID               zFMSvn-fd92-OZKx-1rxp-7JBq-16pg-oD5UQX
# vgdisplay -s
  "proftpd" 59.99 GiB [0         used/59.99 GiB free]
# vgscan
  Reading all physical volumes.  This Jan take a while...
  Found volume group "proftpd" using metadata type lvm2

创建逻辑卷

现在,我们将在proftpd卷组中创建3个逻辑卷:数据(40GB),匿名(10GB)和备份(2GB):

# lvcreate --name ftpdata --size 40G proftpd
  Logical volume "ftpdata" create
# lvcreate --name anon --size 10G proftpd
  Logical volume "anon" created
# lvcreate --name backup --size 2G proftpd
  Logical volume "backup" created

检查逻辑卷的属性:

# lvdisplay
  --- Logical volume --
  LV Path                /dev/proftpd/ftpdata
  LV Name                ftpdata
  VG Name                proftpd
  LV UUID                xJkNq4-nIrf-EevW-i73u-MV5s-PpFO-yDR1MU
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2014-04-26 17:29:56 +0000
  LV Status              available
  # open                 0
  LV Size                40.00 GiB
  Current LE             10240
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume --
  LV Path                /dev/proftpd/anon
  LV Name                anon
  VG Name                proftpd
  LV UUID                xodYjm-1tVo-lChO-R1FU-otIC-QAr3-CK7esb
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2014-04-26 17:30:23 +0000
  LV Status              available
  # open                 0
  LV Size                10.00 GiB
  Current LE             2560
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

  --- Logical volume --
  LV Path                /dev/proftpd/backup
  LV Name                backup
  VG Name                proftpd
  LV UUID                mjMAPZ-VSPZ-XYtu-Prkg-4bjx-0DKw-eOgkGX
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2014-04-26 17:30:45 +0000
  LV Status              available
  # open                 0
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2
# lvdisplay -C
  LV      VG      Attr      LSize  Pool Origin Data%  Move Log Copy%  Convert
  anon    proftpd -wi-a---- 10.00g                                           
  backup  proftpd -wi-a----  2.00g                                           
  ftpdata proftpd -wi-a---- 40.00g
# lvscan
  ACTIVE            '/dev/proftpd/ftpdata' [40.00 GiB] inherit
  ACTIVE            '/dev/proftpd/anon' [10.00 GiB] inherit
  ACTIVE            '/dev/proftpd/backup' [2.00 GiB] inherit

创建文件系统和挂载点

在所有逻辑卷上创建ext4文件系统:

# mkfs.ext4 /dev/proftpd/ftpdata
# mkfs.ext4 /dev/proftpd/anon
# mkfs.ext4 /dev/proftpd/backup

创建安装点:

# mkdir -p /ftp/ftpdata /ftp/anon /ftp/backup

挂载逻辑卷:

# mount /dev/proftpd/ftpdata /ftp/ftpdata
# mount /dev/proftpd/anon /ftp/anon
# mount /dev/proftpd/backup /ftp/backup

查看:

# df -h | grep ftp
/dev/mapper/proftpd-ftpdata   40G   48M   38G   1% /ftp/ftpdata
/dev/mapper/proftpd-anon     9.8G   23M  9.2G   1% /ftp/anon
/dev/mapper/proftpd-backup   2.0G  3.0M  1.8G   1% /ftp/backup

将逻辑卷添加到/etc/fstab

我们希望在系统启动时自动安装逻辑卷:

# echo "/dev/proftpd/ftpdata /ftp/ftpdata ext4 defaults 0 0" >>/etc/fstab
# echo "/dev/proftpd/anon /ftp/anon ext4 defaults 0 0" >>/etc/fstab
# echo "/dev/proftpd/backup /ftp/backup ext4 defaults 0 0" >>/etc/fstab