web-dev-qa-db-ja.com

pvcreate:デバイス/ dev / sdXXが見つかりません(またはフィルタリングによって無視されます)

新しいボリューム(SANストレージによってプロビジョニングされた)をホストのLVMボリュームのPhysicalVolumeとしてプロビジョニングできません)を追加できません。エラーメッセージは次のとおりです:

#Sudo pvcreate /dev/sdc1 -v
  Device /dev/sdc1 not found (or ignored by filtering).

OS:Ubuntu 14.04.2 LTS(GNU/Linux 3.16.0-30-generic x86_64)

fdisk:

#Sudo fdisk /dev/sdc -l

Disk /dev/sdc: 2198.0 GB, 2197999845376 bytes
237 heads, 20 sectors/track, 905689 cylinders, total 4292968448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 1048576 bytes
Disk identifier: 0x00031fdb

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048  4292968447  2146483200   8e  Linux LVM

別れ:

#Sudo parted /dev/sdc
GNU Parted 2.3
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: HP MSA 2040 SAN (scsi)
Disk /dev/sdc: 2198GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  2198GB  2198GB  primary               lvm

フィルター(コメント化されていない行のみ):

filter = [ "a/.*/" ]
global_filter = [ "a|loop0|", "a|loop1|", "a|sda5|", "r|.*|" ]

パーツプローブ:

Sudo partprobe -s
/dev/sda: msdos partitions 1 2 <5>
/dev/sdb: msdos partitions 1 2
/dev/sdc: msdos partitions 1
/dev/sdd: msdos partitions 1
/dev/mapper/devstack--vg-swap_1: loop partitions 1
/dev/mapper/devstack--vg-root: loop partitions 1

これまでに試したこと:

  • fdisk/dev/sdc n、p、1、ENTER 2回、t、8e、w(parted) mklabel msdos
  • (別売)mklabel gpt
  • (parted)mklabelループ
  • / dev/sdcの最初のセクターをゼロで埋めた
  • ゼロで埋められた/ dev/sdc
  • パーツプローブ
  • partprobe/dev/sdc
  • リブート
5
weeix

問題はglobal_filter設定etc/lvm/lvm.confDevstack インストールによって生成されました。

この行をコメントアウトしたところ、pvcreateを通常どおり使用できるようになりました。

 #global_filter = [ "a|loop0|", "a|loop1|", "a|sda5|", "r|.*|" ]  # from devstack

指摘してくれた@MichaelHamptonに感謝します。

4
weeix

行全体をコメント化するのではなく、追加したいディスクパーティションを追加することができます。私の場合、/ dev/sdc1も追加したかったので、行を次のように変更しました。

global_filter = [ "a|loop0|", "a|loop1|", "a|sda5|", "a|sdb5|", "a|sdc1|", "r|.*|" ]  # from devstack

その後、pvcreateコマンドは正常に動作しました。再起動は必要ありません。

ただし、元の投稿と回答に感謝します-その情報がなければ、私はまだ何が起こっているのかを理解しようとしています。

2

Debian 8でも同様の問題がありました

> lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.7 (jessie)
Release:        8.7
Codename:       jessie

> vgextend vg_data /dev/sdc
  Device /dev/sdc not found (or ignored by filtering).
  Unable to add physical volume '/dev/sdc' to volume group 'vg_data'.

オープニングポストとの違いは、私のglobal_filterがデフォルトでコメント化されており、内部にコンテンツがないため、そのままにしました。

# global_filter = []

このシステムには3つのボリュームグループがあり、2つはインストールで作成されたものです。その後、vg_dataはエラーなしでsdd(以下のsdcと同じコントローラー)から作成され、ディスク全体がRAWとして作成されました。

私は最終的に次のステップに行きました:

> parted /dev/sdc
GNU Parted 3.2
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) mklabel gpt
Warning: The existing disk label on /dev/sdc will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes

(parted) mkpart primary ext4 1049kB 6000GB
(parted) p
Model: AMCC 9650SE-12M DISK (scsi)
Disk /dev/sdc: 6000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  6000GB  6000GB  ext4         primary

(parted) quit
Information: You may need to update /etc/fstab.

> partprobe /dev/sdc
> partprobe /dev/sdc1

Lvmがパーティションを上書きしてディスクをRAWとして使用することを望んでいましたが...

> vgextend vg_data /dev/sdc
  Device /dev/sdc not found (or ignored by filtering).
  Unable to add physical volume '/dev/sdc' to volume group 'vg_data'.

だから最後にはパーティションを使って...

> vgextend vg_data /dev/sdc1
  Physical volume "/dev/sdc1" successfully created
  Volume group "vg_data" successfully extended

ついにvg_dataが拡張されました

1
Khelendil

別の考えられる理由:デバイスにRAIDスーパーブロックがある可能性があります。その場合(file -s /dev/sdXNそのためだけにmdadmをインストールしたくない場合は、dd if=/dev/zero bs=1k count=10 of=/dev/sdXN

いいえ、--forcepvcreateへのオプションでは不十分です。それについてバグを報告します。

0