导航菜单

Linux命令大全-pvcreate命令

陆兴东 2026-08-11 5 浏览 Linux命令

** 一、简介 **

pvcreate命令是Linux系统中LVM(Logical Volume Manager,逻辑卷管理器)的核心命令之一,用于将物理磁盘分区或整个磁盘初始化为LVM物理卷(Physical Volume,简称PV)。

其中物理卷是LVM架构中的最底层存储单元,它可以是:

1.整个硬盘设备(如 /dev/sdb、/dev/sdc)

2.硬盘上的一个分区(如 /dev/sdb1、/dev/sdc1)

3.RAID 设备

4. 回环设备(loop device)

只有经过pvcreate初始化后的设备,才能加入到卷组(Volume Group,VG)中,最终才能在卷组之上创建逻辑卷(Logical Volume,LV)。

pvcreate会在指定设备的开头写入LVM元数据签名,标记该设备为LVM物理卷。

** LVM三层架构: **

** PV(物理卷): ** 最底层,由pvcreate创建

** VG(卷组): ** 由一个或多个PV组成,存储池

** LV(逻辑卷): ** 从VG中划分,用户最终使用的存储单元

** 二、语法 **

** 语法: ** pvcreate [参数] [设备路径…]

** 常用参数: **

参数说明
-f,--force强制创建物理卷,即使设备上已有文件系统或分区表
-y,--yes对所有询问自动回答 "yes",适合脚本使用
-u,--uuid <UUID>指定物理卷的 UUID(通常用于恢复场景)
-Z,--zero {yn}
--labelsector <sector>指定 LVM 标签写入的扇区位置(默认 0)

** 元数据参数: **

参数说明
-M,--metadatatype <type>指定元数据类型( lvm1 或 lvm2,默认 lvm2)
--metadatasize <size>设置元数据区域的大小(默认 4MiB)
--metadataignore {yn}
--pvmetadatacopies <0-2>元数据副本数量( 0、1 或 2,默认 2)

** 其它参数: **

参数说明
--restorefile <file>从备份文件恢复物理卷元数据
--norestorefile不创建恢复文件
--setphysicalvolumesize <size>设置物理卷的大小(覆盖自动检测)
--reportformat {jsonbasic}
-v,--verbose显示详细执行过程
-h,--help显示帮助信息

** 三、实战 **

1、创建单个物理卷

将/dev/sdb1分区初始化物理卷,先看一下/dev/sdb的分区情况。


 

[root@CentOS7 ~]# lsblk|grep sdbsdb                  8:16   0   10G  0 disk └─sdb1               8:17   0    1G  0 part 

或是使用fdisk -l /dev/sdb进行查看。

lsblk和fdisk的具体使用方法,可以参照:

Linux命令大全-lsblk命令

Linux命令大全-fdisk命令

创建物理卷

    •  

 

[root@CentOS7 ~]# pvcreate /dev/sdb1  Physical volume "/dev/sdb1" successfully created.

** 2、同时创建多个物理卷 **

在日常工作中,如果想一次性创建多个物理卷,可以使用以下方法。


 

[root@CentOS7 ~]# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1  Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdc1" successfully created. Physical volume "/dev/sdd1" successfully created.                                                                 

** 3、对整个磁盘创建PV(不分区) **

如果不想分区把整个磁盘创建一个PV卷,pvcreate也是支持的。如下:

  •  

     

    [root@CentOS7 ~]# pvcreate /dev/sdb                                                            

** 注: ** 用这种方式会覆盖整个磁盘的分区表,适用于专门用作LVM的数据盘情况。

** 4、强制创建(覆盖已有数据) **

如果设备上已有文件系统或其他签名,创建时加上“-f”参数可以进行强制创建:

  •  

     

    [root@CentOS7 ~]# pvcreate -f /dev/sdb1                                                            

** 5、测试模式(不实际写入) **

验证命令是否能成功执行,不修改磁盘:

  •  

     

    [root@CentOS7 ~]# pvcreate --test /dev/sdb1                                                            

** 6、详细输出模式 **

查看完整的创建过程:


 

[root@CentOS7 ~]# pvcreate -v /dev/sdb1    Wiping signatures on new PV /dev/sdb1.    Set up physical volume for"/dev/sdb1" with 2097152 available sectors.    Zeroing start of device /dev/sdb1.    Writing physical volume data to disk "/dev/sdb1".  Physical volume "/dev/sdb1" successfully created.                                                          

** 四、验证与查看 **

创建完物理卷后,如果想查看创建的情况,可以使用以下命令进行查:


 

[root@CentOS7 ~]# pvs  PV         VG     Fmt  Attr PSize  PFree  /dev/sda2  rootvg lvm2 a--  49.53g    0   /dev/sdb1         lvm2 ---   1.00g 1.00g                                                        

这个只是简单的查看,如果想查看更详细的内容,可以使用display进行查看。如下:


 

[root@CentOS7 ~]# pvdisplay  --- Physical volume ---  PV Name               /dev/sda2  VG Name               rootvg  PV Size               49.53 GiB / not usable 3.00 MiB  Allocatable           yes (but full)  PE Size               4.00 MiB  Total PE              12680  Free PE               0  Allocated PE          12680  PV UUID               594n6H-Jdvy-o4de-nhCM-pwBK-Cq2V-meaphI     "/dev/sdb1" is a new physical volume of "1.00 GiB"  --- NEW Physical volume ---  PV Name               /dev/sdb1  VG Name                 PV Size               1.00 GiB  Allocatable           NO  PE Size               0     Total PE              0  Free PE               0  Allocated PE          0  PV UUID               Q7fbKf-DxW5-UOh9-PQu8-DoQ8-3nFr-5s3vRj                                                     

如果想扫描所有的物理卷组(pv)可以使用pcscan进行查看。如下:


 

[root@CentOS7 ~]# pvscan  PV /dev/sda2   VG rootvg          lvm2 [49.53 GiB / 0    free]  PV /dev/sdb1                      lvm2 [1.00 GiB]  Total: 2 [50.53 GiB] / in use: 1 [49.53 GiB] / in no VG: 1 [1.00 GiB]                                                     

** 五、常见问题 **

** 1、设备正在使用中 **

日常工作中创建对应的物理卷时,报:Can't open /dev/sdb1 exclusively. Mounted filesystem?

** 解决方案: **

** 1.检查设备是否挂载 **

mount |grep /dev/sdb1

** 2.检查发现已挂载,需要先卸载 **

umount /dev/sdb1

** 3.反之没有挂载,可以再检查是否能其它进程在占用,或是没有退出挂载点的目录。 **

lsof /dev/sdb1或fuser /dev/sdb1

** 2、设备已有文件系统签名 **

在已创建好的文件系统上再次创建,报: /dev/sdb1: appears to contain an existing filesystem

** 解决方案: **

** 1.确认数据已备份后,使用强制模式 **

pvcreate -f /dev/sdb1

** 2.或是先清空设备签名,再创建 **

wipefs -a /dev/sdb1

pvcreate /dev/sdb1

** 3、权限不足 **

创建时,报:/dev/sdb1: open failed: Permission denied

** 解决方案: **

切换到root用户操作