文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>LVM文件系统

LVM文件系统

时间:2010-09-30  来源:fzguon

 

一、总体介绍

  LVM就是将几个物理分区通过软件组合在一起,看起来像是独立的大磁盘。

  整个LVM的处理流程与各组件直接的相关性,如下所示:

   * Physical Volume(物理卷),简称PV:这就是物理磁盘。我们必须将原来的磁盘,使用fdisk这类软件将它的ID改为LVM(8e)。补充:ID83是Linux分区,82是swap

   * Volume Group(卷组),简称VG:其实LVM主要的目的就是要建立VG。它将一个或多个PV组合成为一个大磁盘。这个大磁盘以后可以分区。这个大磁盘的容量最大值与PE有关

   * Physical Extend(物理扩展),简称PE:PE其实有点像VG的块,块的大小直接影响到VG的最大值。PE默认为4MB,则VG最大容量就是256GB

   * Logical Volume(逻辑卷):简称LV:LV就是最后载入到文件系统的分区

   如此一来,我们就可以使用LV来进行系统的载入。而LVM的写入机制有两种方式:

   线性模式:就是在/dev/hda1写完后,再写/dev/hda2(LVM默认是该模式)

   交错模式:就是将一份数据拆成两分,分别写入/dev/hda1和/dev/hda2(类似raid 0模式)

二、制作LVM磁盘的流程

  1.建立磁盘的ID

  说明:磁盘的ID号,83表示Linux代号,82表示swap代号,8e是LVM的代号

  [root@redflag ~]# fdisk /dev/sdb

  Command (m for help): t

  Partition number (1-4): 1

  Hex code (type L to list codes): 8e

  Changed system type of partition 1 to 8e (Linux LVM)

  Command (m for help): t

  Partition number (1-4): 2

  Hex code (type L to list codes): 8e

  Changed system type of partition 2 to 8e (Linux LVM)

  Command (m for help): w

  The partition table has been altered!

  Calling ioctl() to re-read partition table.

  Syncing disks.

 [root@redflag ~]# partprobe      #该命令可让核心立刻读取最新的分区表,不需重启

  2.创建PV

 [root@redflag ~]# pvcreate /dev/sdb1

   Physical volume "/dev/sdb1" successfully created

 [root@redflag ~]# pvcreate /dev/sdb2

   Physical volume "/dev/sdb2" successfully created

 [root@redflag ~]# pvscan

   PV /dev/sdb1         lvm2 [101.94 MB]

   PV /dev/sdb2         lvm2 [101.97 MB]

   Total: 2 [203.92 MB] / in use: 0 [0   ] / in no VG: 2 [203.92 MB]

 [root@redflag ~]# pvdisplay

   --- NEW Physical volume ---

   PV Name               /dev/sdb1

   VG Name              

   PV Size               101.94 MB

   …………

  3.创建VG

 [root@redflag ~]# vgcreate -s 8m datavg /dev/sdb1 /dev/sdb2

   Volume group "datavg" successfully created

 说明:把PE定义为8M,实际中应根据情况设置,其决定最大的VG大小

 [root@redflag ~]# vgscan

   Reading all physical volumes.  This may take a while...

   Found volume group "datavg" using metadata type lvm2

 [root@redflag ~]# vgdisplay

   --- Volume group ---

   VG Name               datavg

   System ID            

   Format                lvm2

   Metadata Areas        2

   Metadata Sequence No  1

   ………………

   VG Size               192.00 MB

   ………………

  4.创建LV

[root@redflag ~]# lvcreate -L 192M -n datalv datavg

Logical volume "datalv" created

[root@redflag ~]# lvscan

ACTIVE            '/dev/datavg/datalv' [192.00 MB] inherit

[root@redflag ~]# lvdisplay

 --- Logical volume ---

LV Name                /dev/datavg/datalv

VG Name                datavg

…………

…………

  5.挂载LV

 [root@redflag ~]# mkfs.ext3 /dev/datavg/datalv

[root@redflag ~]# mkdir /mnt/disk 

[root@redflag ~]# mount /dev/datavg/datalv /mnt/disk/

三、 对LVM容量扩展

[root@redflag ~]# umount /mnt/disk/

[root@redflag ~]# fdisk /dev/sdb

   Command (m for help): t

   Partition number (1-4): 3

   Hex code (type L to list codes): 8e

   Changed system type of partition 3 to 8e (Linux LVM)

   Command (m for help): w

   The partition table has been altered!

   …………

[root@redflag ~]# partprobe

[root@redflag ~]# pvcreate /dev/sdb3

   Physical volume "/dev/sdb3" successfully created

[root@redflag ~]# vgextend datavg /dev/sdb3

   Volume group "datavg" successfully extended

[root@redflag ~]# vgdisplay

  --- Volume group ---

  VG Name               datavg

  System ID            

  Format                lvm2

  Metadata Areas        3

  …………

  Alloc PE / Size       24 / 192.00 MB

  Free  PE / Size       12 / 96.00 MB

  VG UUID               kjvbzp-Rw7P-9ZNn-gCgp-XMic-lEke-M3l0mD

[root@redflag ~]# lvextend -L +96M /dev/datavg/datalv

  Extending logical volume datalv to 288.00 MB

  Logical volume datalv successfully resized

[root@redflag ~]# lvdisplay

   --- Logical volume ---

   LV Name                /dev/datavg/datalv

   VG Name                datavg

   ………………

[root@redflag ~]# resize2fs -f /dev/datavg/datalv

   resize2fs 1.39 (29-May-2006)

   Resizing the filesystem on /dev/datavg/datalv to 294912 (1k) blocks.

   The filesystem on /dev/datavg/datalv is now 294912 blocks long.

  说明:在最初规划时ext3主要信息已经写入超级块,同时inode与块数量又是固定的,所以,这个容量大小当然不会有变化。因此需要使用resize2fs对原来分区的大小进行调整。

[root@redflag ~]# mount /dev/datavg/datalv /mnt/lvm/

[root@redflag ~]# df /mnt/lvm/

 文件系统                      1K-块        已用     可用   已用%   挂载点

 /dev/mapper/datavg-datalv     285599      6168    267635   3%    /mnt/lvm

四、 卸载LVM分区

[root@redflag ~]# umount /mnt/lvm/

[root@redflag ~]# lvremove /dev/datavg/datalv

  Do you really want to remove active logical volume "datalv"? [y/n]: y

Logical volume "datalv" successfully removed

[root@redflag ~]# vgchange -an datavg

 0 logical volume(s) in volume group "datavg" now active

[root@redflag ~]# vgremove datavg

  Volume group "datavg" successfully removed

[root@redflag ~]# pvremove /dev/sdb1

  Labels on physical volume "/dev/sdb1" successfully wiped

[root@redflag ~]# pvremove /dev/sdb2

  Labels on physical volume "/dev/sdb2" successfully wiped

[root@redflag ~]# pvremove /dev/sdb3

   最后要用fdisk将磁盘ID改回83

五、其他命令

  1、备份

  VG的信息非常重要,故应及时备份相关信息,以防万一:

[root@redflag ~]# vgcfgbackup

Volume group "datavg" successfully backed up.

  2、禁用及激活

[root@redflag ~]# umount /mnt/lvm

[root@redflag ~]# lvchange -an /dev/datavg/datav01

[root@redflag ~]# lvscan

 inactive          '/dev/datavg/datav01' [992.00 MB] inherit

[root@redflag ~]# lvchange -ay /dev/datavg/datav01

[root@redflag ~]# lvscan

  ACTIVE            '/dev/datavg/datav01' [992.00 MB] inherit

 

  3、搬迁VG

  这是说的搬迁,是指迁移卷组到其他机器(Linux):

[root@redflag ~]# umount /mnt/lvm

[root@redflag ~]# lvchange -an /dev/datavg/datav01

[root@redflag ~]# vgchange -an datavg

 0 logical volume(s) in volume group "datavg" now active

导出:

[root@redflag ~]# vgexport datavg

  Volume group "datavg" successfully exported

导入:

[root@redflag ~]# pvscan

 PV /dev/sdb1   VG datavg   lvm2 [496.00 MB / 0    free]

 PV /dev/sdb2   VG datavg   lvm2 [496.00 MB / 0    free]

 PV /dev/lsdb3   VG datavg   lvm2 [496.00 MB / 496.00 MB free]

 Total: 3 [1.45 GB] / in use: 3 [1.45 GB] / in no VG: 0 [0   ]

[root@redflag ~]# vgimport datavg /dev/loop[123]

 Volume group "datavg" successfully imported

相关阅读 更多 +
排行榜 更多 +
火柴人战争复仇打击最新版下载

火柴人战争复仇打击最新版下载

飞行射击 下载
猎梦保卫战免广告下载

猎梦保卫战免广告下载

休闲益智 下载
植物大战僵尸新指导版下载

植物大战僵尸新指导版下载

策略塔防 下载