4.2. 物理卷管理

本小节论述了管理物理卷不同方面的命令。

4.2.1. 创建物理卷

以下小节描述了创建物理卷时使用的命令。

4.2.1.1. 设定分区类型

如果您的物理卷使用整张磁盘设备,该磁盘不得有任何分区表。如果使用 DOS 磁盘分区,则应使用 fdisk 或者 cfdisk 命令或对等的命令将分区 id 设定为 0x8e。如果使用整个磁盘设备,则只需要删除分区表,即彻底破坏该磁盘中的数据即可。可使用以下命令将第一扇区归零,从而删除现有分区:
# dd if=/dev/zero of=PhysicalVolume bs=512 count=1

4.2.1.2. 初始化物理卷

使用 pvcreate 命令初始化要作为物理卷使用的块设备。初始化是模拟格式化文件系统。
以下命令将 /dev/sdd/dev/sde/dev/sdf 作为 LVM 物理卷初始化,以供之后成为 LVM 逻辑卷的一部分使用。
# pvcreate /dev/sdd /dev/sde /dev/sdf
若只是初始化分区而不是整张磁盘,则应在该分区中运行 pvcreate 命令。以下示例将分区 /dev/hdb1 作为 LVM 物理卷初始化,以供之后成为 LVM 逻辑卷的一部分使用。
# pvcreate /dev/hdb1

4.2.1.3. 扫描块设备

可使用 lvmdiskscan 命令扫描要作为物理卷使用的块设备,如下所示。
# lvmdiskscan
  /dev/ram0                    [       16.00 MB]
  /dev/sda                     [       17.15 GB]
  /dev/root                    [       13.69 GB]
  /dev/ram                     [       16.00 MB]
  /dev/sda1                    [       17.14 GB] LVM physical volume
  /dev/VolGroup00/LogVol01     [      512.00 MB]
  /dev/ram2                    [       16.00 MB]
  /dev/new_vg/lvol0            [       52.00 MB]
  /dev/ram3                    [       16.00 MB]
  /dev/pkl_new_vg/sparkie_lv   [        7.14 GB]
  /dev/ram4                    [       16.00 MB]
  /dev/ram5                    [       16.00 MB]
  /dev/ram6                    [       16.00 MB]
  /dev/ram7                    [       16.00 MB]
  /dev/ram8                    [       16.00 MB]
  /dev/ram9                    [       16.00 MB]
  /dev/ram10                   [       16.00 MB]
  /dev/ram11                   [       16.00 MB]
  /dev/ram12                   [       16.00 MB]
  /dev/ram13                   [       16.00 MB]
  /dev/ram14                   [       16.00 MB]
  /dev/ram15                   [       16.00 MB]
  /dev/sdb                     [       17.15 GB]
  /dev/sdb1                    [       17.14 GB] LVM physical volume
  /dev/sdc                     [       17.15 GB]
  /dev/sdc1                    [       17.14 GB] LVM physical volume
  /dev/sdd                     [       17.15 GB]
  /dev/sdd1                    [       17.14 GB] LVM physical volume
  7 disks
  17 partitions
  0 LVM physical volume whole disks
  4 LVM physical volumes

4.2.2. 显示物理卷

可使用以下三个命令显示 LVM 物理卷属性:pvspvdisplaypvscan
pvs 命令以可配置的格式提供物理卷信息,每行显示一个物理卷。pvs 命令提供大量格式控制,供脚本使用。有关使用 pvs 命令自定义输出结果的详情,请查看 第 4.8 节 “LVM 的自定义报告”
pvdisplay 命令为每个物理卷提供详细的多行输出结果。它以固定格式显示物理属性(大小、扩展、卷组等)。
以下是在单一物理卷中使用 pvdisplay 命令显示的输出结果示例。
# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdc1
  VG Name               new_vg
  PV Size               17.14 GB / not usable 3.40 MB
  Allocatable           yes
  PE Size (KByte)       4096
  Total PE              4388
  Free PE               4375
  Allocated PE          13
  PV UUID               Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe
pvscan 命令在系统中为物理卷扫描所有支持的 LVM 块设备。
下面的命令显示所有找到的物理设备:
# pvscan
 PV /dev/sdb2   VG vg0   lvm2 [964.00 MB / 0   free]
 PV /dev/sdc1   VG vg0   lvm2 [964.00 MB / 428.00 MB free]
 PV /dev/sdc2            lvm2 [964.84 MB]
 Total: 3 [2.83 GB] / in use: 2 [1.88 GB] / in no VG: 1 [964.84 MB]
可在 lvm.conf 文件中定义过滤器,以便这个命令可以避免扫描特定物理卷。有关使用过滤器控制要扫描设备的详情,请查看 第 4.5 节 “使用过滤器控制 LVM 设备扫描”

4.2.3. 防止在物理卷中分配

可使用 pvchange 命令防止在一个或多个物理卷的剩余空间中分配物理扩展。如果有磁盘错误或要删除该物理卷时需要这个操作。
以下命令不允许在 /dev/sdk1 中分配物理扩展。
# pvchange -x n /dev/sdk1
还可使用 pvchange 命令的 -xy 参数允许分配之间已禁止分配的扩展。

4.2.4. 重新定义物理卷大小

若出于任何原因需要更改底层块设备的大小,请使用 pvresize 命令使用新大小更新 LVM。可在 LVM 使用物理卷的同时执行这个命令。

4.2.5. 删除物理卷

如果 LVM 不再需要使用某个设备,则可使用 pvremove 命令删除 LVM 标签。执行 pvremove 命令将空白物理卷中的 LVM 元数据归零。
如果要删除的物理卷目前是某个卷组的一部分,则必须使用 vgreduce 命令将其从卷组中删除,如 第 4.3.7 节 “从卷组中删除物理卷” 所述。
# pvremove /dev/ram15
  Labels on physical volume "/dev/ram15" successfully wiped