当前位置:首页>Linux>Linux命令大全-pvcreate命令

Linux命令大全-pvcreate命令

  • 2026-09-20 13:00:21
Linux命令大全-pvcreate命令

点击蓝字,关注我们

一、简介

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 {y|n}

是否将设备前 4 个扇区清零(默认为 y),n 可保留数据

--labelsector <sector>

指定 LVM 标签写入的扇区位置(默认 0)

元数据参数:

参数

说明

-M,--metadatatype <type>

指定元数据类型(lvm1 或 lvm2,默认 lvm2)

--metadatasize <size>

设置元数据区域的大小(默认4MiB)

--metadataignore {y|n}

是否忽略此物理卷的元数据(默认n)

--pvmetadatacopies <0-2>

元数据副本数量(0、1 或 2,默认 2)

其它参数:

参数

说明

--restorefile <file>

从备份文件恢复物理卷元数据

--norestorefile

不创建恢复文件

--setphysicalvolumesize <size>

设置物理卷的大小(覆盖自动检测)

--reportformat {json|basic}

输出格式(json 或 basic,默认 basic)

-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

lsof和fuser的具体使用方法,可以参照:

Linux命令大全-lsof命令

Linux命令大全-fuser命令

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用户操作

喜欢古诗词的同学们,欢迎移步「纸间有糖」,愿这里的文字甜到你心里。

最新文章

随机文章