我已删除 2 个本地磁盘上的所有分区,并在这两个磁盘上设置 LVM。我已在 上成功创建了物理卷/dev/sda
,但这样做/dev/sdb
失败了,如下所述。我正在使用 linux mint USB 安装程序(例如,两个磁盘都没有安装)。
尝试创建物理卷:
mint ~ # pvcreate /dev/sdb
Device /dev/sdb not found (or ignored by filtering).
确认没有分区
mint ~ # fdisk /dev/sdb
Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 785CAD57-8930-43D2-A61E-572453B74805
Command (m for help): q
看看/proc/partitions
- 这是我尝试遵循的故障排除指南中所要求的。
mint ~ # cat /proc/partitions
major minor #blocks name
7 0 1799560 loop0
8 0 125034840 sda
8 16 976762584 sdb
8 32 1966080 sdc
8 33 1966030 sdc1
从评论中添加了详细信息:
无输出:
grep -n '^[^#]*filter' /etc/lvm/lvm*.conf
错误消息附近的 Strace 结果(输出很长):
strace pvcreate /dev/sdb
stat("/dev/sdb", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 16), ...}) = 0
open("/dev/sdb", O_RDONLY|O_DIRECT|O_NOATIME) = 4
fstat(4, {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 16), ...}) = 0
ioctl(4, BLKBSZGET, [4096]) = 0
ioctl(4, BLKPBSZGET, [512]) = 0
lseek(4, 0, SEEK_SET) = 0
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
close(4) = 0
write(2, " ", 2 ) = 2
write(2, "Device /dev/sdb not found (or ig"..., 52Device /dev/sdb not found (or ignored by filtering).) = 52
答案1
在详细阅读一些文档时找到了答案:
https://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/physvol_create.html
dd if=/dev/zero of=/dev/sdb bs=512 count=1
从上面引用的文档中:
4.2.1.1.设置分区类型
如果您的物理卷使用整个磁盘设备,则该磁盘必须没有分区表。对于 DOS 磁盘分区,应使用 fdisk 或 cfdisk 命令或等效命令将分区 ID 设置为 0x8e。对于整个磁盘设备,只需擦除分区表,这将有效地破坏该磁盘上的所有数据。您可以通过使用以下命令将第一个扇区清零来删除现有分区表:
运行该命令后,我能够创建物理卷。