「pvcreate(8)」-

  LINUX MANUAL PAGES

初始化由LVM使用的物理卷

命令语法格式

pvcreate PV …

[ -f|–force ]

[ -M|–metadatatype lvm2|lvm1 ]

[ -u|–uuid String ]

[ -Z|–zero y|n ]

[ –dataalignment Size[k|UNIT] ]

[ –dataalignmentoffset Size[k|UNIT] ]

[ –bootloaderareasize Size[m|UNIT] ]

[ –labelsector Number ]

[ –[pv]metadatacopies 0|1|2 ]

[ –metadatasize Size[m|UNIT] ]

[ –metadataignore y|n ]

[ –norestorefile ]

[ –setphysicalvolumesize Size[m|UNIT] ]

[ –reportformat basic|json ]

[ –restorefile String ]

[ COMMON_OPTIONS ]

pvcreate position_args [ option_args ]

命令描述

命令pvcreate初始化PV,以使其被识别,并属于LVM,并允许PV在VG中使用。 PV可以是磁盘分区,整个磁盘,元设备,回环文件。

对于DOS磁盘分区,应使用fdisk(8),cfdisk(8)或等效软件将分区ID设置为0x8e。 对于GUID分区表(GPT),id为E6D6D379-F507-44C2-A23C-238F2A3DF928。 对于整个磁盘设备,只需擦除分区表,这将有效地破坏该磁盘上的所有数据。 这可以通过将第一个扇区清零来完成:

# dd if=/dev/zero of=PhysicalVolume bs=512 count=1

使用vgcreate(8)在PV上创建新的VG,或使用vgextend(8)将PV添加到现有VG。

选项force将创建PV而无需确认。重复强制选项(-ff)将强制创建PV,覆盖通常会阻止它的检查,例如,如果PV已经在VG中。

命令支持的选项及含义

–bootloaderareasize Size[m|UNIT]
除PV的数据区域外,创建一个指定大小的单独引导加载程序区域。 引导加载程序区域是PV上的保留空间区域,LVM不会从该区域分配任何范围,并且保持不变。 这主要是为了与引导加载程序一起使用来嵌入自己的数据或元数据。 引导加载程序区域的起始始终是对齐的,另请参阅–dataalignment和–dataalignmentoffset。 引导加载程序区域大小最终可能会因对齐而最终增加,但它永远不会小于请求的大小。 要查看引导加载程序区域的开始和现有PV的大小,请使用pvs -o +pv_ba_start,pv_ba_size

–dataalignment Size[k|UNIT]
将数据的开头对齐此数字的倍数。 在创建VG时也请指定适当的PE大小。 要查看现有PV的第一个PE的位置,请使用pvs -o +pe_start。 另外,它可以由对准偏移进行移动。 请参阅lvm.conf/data_alignment_offset_detection和–dataalignmentoffset。

–dataalignmentoffset Size[k|UNIT]
将数据区域的起点移动此附加偏移量。

-f|–force …
覆盖各种检查,确认和保护。 使用时要格外小心。

–labelsector Number
默认情况下,PV在其第二个扇区(sector 1)中标有LVM2标识符。该选项使您可以在磁盘起点附近使用不同的扇区(介于0和3之间 – 请参阅源中的LABEL_SCAN_SECTORS)。 小心使用。

–metadataignore y|n
指定PV的metadataignore属性。 如果y,则忽略PV上的元数据区域,并且lvm将不会把元数据存储在PV的元数据区域中。 如果n,lvm将在PV上存储元数据。

–metadatasize Size[m|UNIT]
每个VG元数据区域使用的大致空间量。参数Size可以四舍五入。

-M|–metadatatype lvm2|lvm1
指定要使用的磁盘上元数据的类型。 lvm2(或只是2)是当前的标准格式。 lvm1(或只是1)是一种可用于访问旧数据的历史格式。

–norestorefile
与–uuid结合使用时,可以指定uuid,而无需提供元数据备份。

–[pv]metadatacopies 0|1|2
在PV上用于存储VG元数据的元数据区域的数量。 当2时,VG元数据的一个副本存储在PV的前面,而第二个副本存储在最后。 当1时,VG元数据的一个副本存储在PV的前面(从第5个扇区开始)。 为0时,不会在给定PV上存储VG元数据的副本。 这在包含许多PV的VG中可能很有用(这限制了以后使用vgsplit的能力。)

–reportformat basic|json
覆盖报告的当前输出格式,该格式由lvm.conf中的report/output_format设置全局定义。 basic是包含列和行的原始格式。 如果每个命令有多个报告,则每个报告都以报告名称为前缀进行标识。 json以JSON格式生成报告输出。 有关更多信息,请参阅lvmreport(7)。

–restorefile String
与–uuid一起,它读取文件(由vgcfgbackup生成),提取PV上数据的位置和大小,并确保程序生成的元数据与文件的内容一致,即PE将位于相同位置,不会被新元数据覆盖。 这提供了一种升级元数据格式,或添加/删除元数据区域的机制。 小心使用。

–setphysicalvolumesize Size[m|UNIT]
覆盖自动检测到的PV大小。小心使用,或在减小设备的物理尺寸之前使用。

-u|–uuid String
为设备指定UUID。 如果没有此选项,则会生成随机UUID。 在将LVM元数据备份还原到替换设备之前,需要此选项;见vgcfgrestore(8)。 因此,除非使用–norestorefile,否则必须使用–restorefile。 所有PV必须具有唯一的UUID,如果看到多个设备具有相同的UUID,LVM将阻止某些操作。 有关更多信息,请参阅vgimportclone(8)。

-Z|–zero y|n
控制是否擦除设备的前4个扇区(2048字节)。 除非指定了–restorefile或–uuid中的任何一个或两个,否则默认是擦除这些扇区。

用于lvm的公共选项

-y|–yes
不要以交互方式提示确认,但总是假设答案是肯定的。 使用时要格外小心。 (对于自动no,请参阅-qq。)

-v|–verbose …
设置详细级别。 重复1到4次以增加发送到标准输出和标准错误的消息的详细信息。

-t|–test
在测试模式下运行。 命令不会更新元数据。 这是通过禁用所有元数据写入,但仍然将成功返回到调用函数来实现的。 如果工具依赖于读回它认为已更改但尚未更改的元数据,则可能会在多阶段操作中导致异常错误消息。

-q|–quiet …
抑制输出和日志消息。 覆盖–debug和–verbose。 重复一次也可以通过回答“no”来抑制任何提示。

-h|–help
显示帮助信息。

-d|–debug …
设置调试级别。 重复1到6次以增加发送到日志文件和/或syslog(如果已配置)的消息的详细信息。

–version
显示版本信息并退出。

–profile String
选项–commandprofile或–metadataprofile的别名,具体取决于命令。

–longhelp
显示长帮助文本。

–driverloaded y|n
如果设置为no,则该命令不会尝试使用device-mapper。 用于测试和调试。

–config String
配置命令的设置。 这些覆盖lvm.conf设置。参数String使用与lvm.conf相同的格式,或者可以使用section/field语法。 有关config的更多信息,请参阅lvm.conf(5)。

–commandprofile String
用于命令配置的命令配置文件。 有关配置文件的更多信息,请参阅lvm.conf(5)。

命令行参数

PV
物理卷名称,在/dev下的设备路径。 对于管理PE的命令,PV位置参数通常接受指示物理范围(PE)的范围(或多个范围)的后缀。 省略第一个PE时,默认为设备的起始位置,省略最后一个PE时,默认为结束。

开始和结束范围(包括在内):PV[:PE-PE]…
开始和长度范围(从0开始计算):PV [:PE+PE]…

String
有关String的内容的信息,请参阅选项说明。

Size[UNIT]
参数Size是接受可选单位UNIT的输入数字。 无论大小写如何,输入单位UNIT始终被视为基数两个值,例如 ‘k’和’K’都指1024。默认输入单位由字母指定,后跟|UNIT。

参数UNIT代表其他可能的输入单位:bBsSkKmMgGtTpPeE。 b|B是字节,s|S是512字节的扇区,k|K是千字节,m|M是兆字节,g|G是千兆字节,t|T是太字节,p|P是petabytes,e|E是exabytes。 (这不应该与输出控制–units混淆,大写字母表示1000的倍数。)

相关环境变量

有关lvm使用的环境变量的信息,请参阅lvm(8)。 例如,LVM_VG_NAME通常可以替换所需的VG参数。

使用示例

初始化分区和完整设备:

# pvcreate /dev/sdc4 /dev/sde

如果设备是补偿窗口分区的4KiB扇区驱动器(扇区7是最低对齐的逻辑块,则4KiB扇区从LBA -1开始,因此扇区63在4KiB边界上对齐),如果由LVM使用,则在初始化时手动计数:

# pvcreate –dataalignmentoffset 7s /dev/sdb

如上示例。

相关手册

lvm(8) lvm.conf(5) lvmconfig(8)

pvchange(8) pvck(8) pvcreate(8) pvdisplay(8) pvmove(8) pvremove(8) pvresize(8) pvs(8) pvscan(8)

vgcfgbackup(8) vgcfgrestore(8) vgchange(8) vgck(8) vgcreate(8) vgconvert(8) vgdisplay(8) vgexport(8) vgextend(8) vgimport(8) vgimportclone(8) vgmerge(8) vgmknodes(8) vgreduce(8) vgremove(8) vgrename(8) vgs(8) vgscan(8) vgsplit(8)

lvcreate(8) lvchange(8) lvconvert(8) lvdisplay(8) lvextend(8) lvreduce(8) lvremove(8) lvrename(8) lvresize(8) lvs(8) lvscan(8)

lvm-fullreport(8) lvm-lvpoll(8) lvm2-activation-generator(8) blkdeactivate(8) lvmdump(8)

dmeventd(8) lvmetad(8) lvmpolld(8) lvmlockd(8) lvmlockctl(8) clvmd(8) cmirrord(8) lvmdbusd(8)

lvmsystemid(7) lvmreport(7) lvmraid(7) lvmthin(7) lvmcache(7)

参考文献

  • man 8 pvcreate, Version 2.02.176-4.1

更新日志

  • 11/21/2018 创建文章