磁盘文件管理第二部

                          磁盘文件管理(第二部)

 

接下来学习

->LVM逻辑卷的创建和管理

->磁盘配额的设置方法

                                   

先看理论

         许多Linux使用者在安装系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初当初估计不准确,一旦分区不够使用时可能不得不备份,删除相关的数据,甚至被迫重新规划分区并重新安装操作系统,以满足应用系统需要。

    本小结将通过LVM逻辑卷管理机制的学习,掌握动态调整Linux分区容量的方法。

LVMLinux系统中对磁盘分区进行管理的一种逻辑机制,它建立在硬盘和分区之上,文件系统之下的一个逻辑层,能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘的管理的灵活性。

 

 

1.1  PVPhysicalVolume,物理卷

         物理卷是LVM机制的基本存储设备,通常对应一个普通分区或整个硬盘,创建物理卷时,会在分区或硬盘的头部创建一个保留区块(PEPhysical  Extent     从而构成物理卷。(物理卷一般直接使用设备文件名称。如/dev/sdb1/dev/sdb2/dev/sdd..

对于转换成物理卷的普通分区,建议先使用fdisk工具,将分区类型的ID号改为“8e”。若是整个硬盘,可以将所有磁盘空间划分一个主分区后在作相应调整

 

1.2 VG(Volume Group,卷组)

         是由一个或多个物理卷组成一个整体,既称为卷组,在卷组中可以动态添加或移出物理卷,

 

1.3 LV (Logical Volume逻辑卷)

         逻辑卷是建立在卷组之上,与物理卷没有直接关系,对于逻辑卷来说,每个卷组就是一个整体,从这个整体中 "切出" 一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。(使用mkfs等分区工具在逻辑卷上创建文件系统以后,就可以挂载到Linux系统中的目录下使用。)    

 

通过上述对物理卷,卷组,逻辑卷的解释可以看出,建立LVM分区管理机制的过程就是,首先将普通分区或整个硬盘创建为物理卷,接下,将物理卷上比较分散的各个物理卷的存储空间组成组成一个逻辑整体,卷组:最后,基于卷组这个整体,分割不同的数据存储空间,形成逻辑卷,逻辑卷才是最终用户可以格式化并且挂载使用的存储单位。

 

LVS的管理命令

         为了便于理解,先用fdisk工具现在磁盘设备"/dev/sdb"中划分三个主分区 sdb1 sdb2

 sdb3,每个磁盘大小为20G ,将ID号改为8e。若是分区已被挂载,必须先进行卸载,在进行分区调整操作。

 

功能              PV管理命令            VG管理命令                     LV管理命令

Scan扫描                  Pvscan                        vgscan                                           lvscan

Create建立              pvcreate                     vgcreate                                       lvcreate

Display显示             pvdisplay                    vgdisplay                                       lvdisplay

Remove移出            pvremove                   vgremove                                     lvremove

Extend扩展                                                   vgextend                                       lvextend

Reduce减少                                                  vgreduce                                       lvreduce

 

fdisk /dev/sdb

Command (m for help): n

Command action

  e   extended

  p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-7832, default 1):

Using default value 1

Last cylinder, +cylinders or +size{K,M,G}(1-7832, default 7832): +20000M

 

Command (m for help): n

Command action

  e   extended

  p   primary partition (1-4)

p

Partition number (1-4): 2

First cylinder (2552-7832, default 2552):

Using default value 2552

Last cylinder, +cylinders or +size{K,M,G}(2552-7832, default 7832): +20000M

 

Command (m for help): n

Command action

  e   extended

  p   primary partition (1-4)

p

Partition number (1-4): 3

First cylinder (5103-7832, default 5103):

Using default value 5103

Last cylinder, +cylinders or +size{K,M,G}(5103-7832, default 7832): +20000M

 

Command (m for help): p

 

Disk /dev/sdb: 64.4 GB, 64424509440 bytes

255 heads, 63 sectors/track, 7832 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes

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

I/O size (minimum/optimal): 512 bytes / 512bytes

Disk identifier: 0xa53c58e2

 

  Device Boot      Start         End      Blocks  Id  System

/dev/sdb1               1        2551   20490876   83  Linux

/dev/sdb2            2552        5102   20490907+  83  Linux

/dev/sdb3            5103        7653   20490907+  83  Linux

 

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): 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): p

Disk identifier: 0xa53c58e2

 

  Device Boot      Start         End      Blocks  Id  System

/dev/sdb1               1        2551   20490876   8e Linux LVM

/dev/sdb2            2552        5102   20490907+  8e  Linux LVM

/dev/sdb3            5103        7653   20490907+  8e  Linux LVM

 

1.  PV物理卷管理

pvscan 命令用于扫描系统中的说有物理卷,并输出相关信息

pvscan

  PV/dev/sdb1                      lvm2[19.54 GiB]

  PV/dev/sdb2                      lvm2[19.54 GiB]

  PV/dev/sdb3                      lvm2[19.54 GiB]

 Total: 3 [58.62 GiB] / in use: 0 [0  ] / in no VG: 3 [58.62 GiB]

 

 pvcreate命令用于分区或整个硬盘转换成物理卷。主要是添加LVM属性信息并划分PE存储单位。例如将/dev/sdb1  /dev/sdb2  /dev/sdb3转换成物理卷。

 

pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3

  Physical volume"/dev/sdb1" successfully created

  Physical volume "/dev/sdb2"successfully created

  Physical volume "/dev/sdb3"successfully created

        

   pvdisplay用于显示物理卷的详细信息,需要指定物理卷作为命令参数。例如pvdisplay  /dev/sdb3 命令可以查看物理卷/dev/sdb3的详细信息。

 

pvdisplay  /dev/sdb3

 "/dev/sdb3" is a new physical volume of "19.54 GiB"

  ---NEW Physical volume ---

  PVName               /dev/sdb3

  VGName              

  PVSize               19.54 GiB

 Allocatable           NO

  PESize               0  

 Total PE              0

 Free PE               0

 Allocated PE          0

  PVUUID              1b0U7f-dXic-7pgx-CYX0-JU44-9xTT-UzKexG

 

pvremove命令用于将物理卷还原成普通分区或磁盘,不在用于LVM体系,被移出的物理卷将无法pvscan识别,例如"pvremove /dev/sdb3"命令可以将物理卷/dev/sdb3LVM体系中移出。

 

pvremove /dev/sdb3

         /dev/cdrom:openfailed : 只读文件系统

         Attemptto close device '/dev/cdrom' which is not open.

         Lableson physical volume "/dev/sdb3" successfully woped

创建时不要做这步

 

2.  VG卷组管理

vgscan命令用于扫描系统中以建立的LVM卷组及相关信息。

 

vgscan

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

  Found volume group "VG" usingmetadata type lvm2

 

vgcreate 命令用于将一个或多个物理卷创建为一个卷组,第一个命令参数用于设置新卷组的

名称,其后依次指定需要加入到该卷组的物理卷做为参数。例如:

 

vgcreateVG /dev/sdb1 /dev/sdb2

  Volume group "VG" successfullycreated

 

 

vgdisplay命令用于显示系统中各卷的详细信息。

 

 

vgdisplayVG

  --- Volume group ---

  VG Name               VG

  System ID            

  Format                lvm2

  Metadata Areas        2

  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                2

  Act PV                2

  VG Size               39.08 GiB

  PE Size               4.00 MiB

  Total PE              10004

  Alloc PE / Size       0 / 0  

  Free PE / Size       10004 / 39.08 GiB

  VG UUID              Cr7Pai-Sk8C-9iD0-akCQ-9Qjz-sY40-eVuFwn

 

vgremove命令用于删除指定的卷组,指定卷组名称作为参数既可。

 

vgremove  VG

Volumegroup "VG" successfully removed

 

 

  vgextend命令用于扩展卷组的磁盘空间。当创建了新的物理卷,并需要将其添加到已有卷组中时,就可以使用vgextend命令。该命令的第一个参数为需要扩展容量的卷组名称,其后为需要添加到该卷组的各物理卷。例如,一下操作将重新创建卷组VG,之包含物理卷"/dev/sdb1",然后通过vgextend命令将物理卷"/dev/sdb2"添加到卷组VG中。

 

 

LV逻辑卷管理

 

lvscan命令使用

 

 

lvcreate命令用于从指定的卷组中分割空间。例如:从VG卷组中建立一个新的逻辑卷,容量为10G,名称为benet

lvcreate-L 10G -n benet VG

  Logical volume "benet" created

 

lvdisplay命令用于显示逻辑卷相许信息,需要指定逻辑卷的设备文件作为参数也可以使用卷组名作为参数,以显示该卷组中所有逻辑卷的信息,例如:!!!

 

lvdisplay/dev/VG/benet

  --- Logical volume ---

  LV Path                /dev/VG/benet

  LV Name                benet

  VG Name                VG

  LV UUID               u3CPkX-4Kci-7Ah9-I5Ci-31ND-PdSB-LUEnhT

  LV Write Access        read/write

  LV Creation host, time Centos, 2015-09-0504:05:28 +0800

  LV Status              available

  # open                 0

  LV Size                10.00 GiB

  Current LE             2560

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     256

  Block device           253:0

 

 

lvextend命令用于动态扩展逻辑卷的空间,当前使用的逻辑卷空间不足时,可以从所在的卷组中分割额外的空间进行扩展。

 

lvextend-L +5G /dev/VG/benet

  Extending logical volume benet to 15.00 GiB

  Logical volume benet successfully resized

 

lvdisplay/dev/VG/benet

  --- Logical volume ---

  LV Path                /dev/VG/benet

  LV Name                benet

  VG Name                VG

  LV UUID               u3CPkX-4Kci-7Ah9-I5Ci-31ND-PdSB-LUEnhT

  LV Write Access        read/write

  LV Creation host, time Centos, 2015-09-0504:05:28 +0800

  LV Status              available

  # open                 0

  LV Size                15.00 GiB

  Current LE             3840

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     256

  Block device           253:0

 

 

lvremove命令用于删除指定的逻辑卷直接使用逻辑的设备文件作为参数即可,例如:!!!

 

lvremove/dev/VG/benet

         Do you really want to remove acticvelogical volume 'benet'?[y/n ]y

                   Logical volume"benet" successfully remove

 

 

LVM应用实例:

 

1.关闭服务器主机,打开机箱,正确挂载两块SCSI新硬盘。

2.开启服务器主机,并执行"fdisk -l" 命令进行查看,确认已识别新增的硬盘(sdbsdc)。

3.在新磁盘中进行分区,将每块硬盘的所有空间划分一个独立的主分区,并将分区类型更改文件8e 。分好区后使用"fdisk -l" 命令查看,确认结果如下。

 

disk -l/dev/sdb /dev/sdc

Diskidentifier: 0xa53c58e2

 

   Device Boot      Start         End      Blocks  Id  System

/dev/sdb1               1        2551   20490876   8e  Linux LVM

/dev/sdb2            2552        5102   20490907+  8e  Linux LVM

/dev/sdb3            5103        7653   20490907+  8e  Linux LVM

 

4. /devsdb1/dev/sdc1 分区转换为物理卷。

pvcreate  /dev/sdb1/dev/sdc1

         Physical volume "/dev/sdc1"successfully created

 

5. 将上述两个物理卷整合,创建名为VG的卷组

vgcreateVG /dev/sdb1 /dev/sdc1

Volumegroup "VG" successfully created

 

6. VG卷组中创建一个名为benet的逻辑卷,容量为120G

lvreate-L 120G -n benet VG

Logicalvolume "benet" created

 

7.使用mkfs命令对逻辑卷benet进行格式化,创建EXT3文件系统,并挂载/mailbox目录下。

mkfs -text3 /dev/VG/benet

mkdir/dtylt

mount/dev/VG/benet /dtylt

df -hT/dtylt

Filesystem           Type Size  Used Avail Use% Mounted on

/dev/mapper/VG-benetext3   15G  166M  14G   2% /dtylt

 


本文出自 “阿杜” 博客,谢绝转载!

你可能感兴趣的:(磁盘文件管理第二部)