web-dev-qa-db-ja.com

再利用されたディスク-Linuxblkidコマンドが誤った情報を返す

VMwareESXiのインストールから削除されたSSDドライブを使用しています。既存のLinuxインストール(CentOS 6.2)でディスクを再利用しようとしています。ドライブはHPSmart Array P410 RAIDコントローラーの背後にあり、個別の論理ドライブとして構成されています。

私が最初にディスクのフォーマットを試みたとき、私は以下を受け取りました:

[root@poot ~]# fdisk -l

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.

Disk /dev/sdb: 240.0 GB, 240021504000 bytes
255 heads, 63 sectors/track, 29180 cylinders

ここの手順 に従って、gdiskを使用してGUIDパーティションテーブルを削除しました。

[root@poot ~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.2   

***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format.
THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if
you don't want to convert your MBR partitions to GPT format!
***************************************************************


Warning! Secondary partition table overlaps the last partition by
33 blocks!
You will need to delete this partition or resize it in another utility.

Command (? for help): x

Expert command (? for help): z
About to wipe out GPT on /dev/sdb. Proceed? (Y/N): y
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Blank out MBR? (Y/N): y

ドライブ上のXFSファイルシステムをfdisk、次にmkfs.xfsに進みました。私は通常ディスクラベルを使用してマウントしますが、EL6以降、UUIDマウントを採用し始めています。ただし、このディスクでは、ラベルによるマウントは失敗します。 UUIDを取得しようとしましたが、blkidコマンドがUUID_SUBおよびTYPE = "VMFS_volume_member"を使用して不良または古いデータを返しています。

[root@poot ~]# mkfs.xfs -f -L /data -d agcount=50 -l size=1024m,version=2 /dev/sdb1
meta-data=/dev/sdb1              isize=256    agcount=50, agsize=1171975 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=58598744, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=262144, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@poot ~]# mount /data/
mount: special device LABEL=/data does not exist

[root@poot ~]# blkid       
/dev/sda1: UUID="7406b992-4aab-4164-bfa1-1920f97658c7" TYPE="ext4" 
/dev/sda5: UUID="2390f2aa-d671-430d-b286-c6eca7c073a6" TYPE="swap" 
/dev/sda7: UUID="3c6f94d5-3898-4f36-be16-a33cf175d2ca" TYPE="xfs" 
/dev/sdb1: UUID_SUB="4eb0c035-4fe6b2d8-77ed-00265583f46d" UUID="4eb0c035-4b5714b0-b987-00265583f46d" TYPE="VMFS_volume_member" 

私はこれまでこのようなものを見たことがありません。

/etc/blkid/blkid*を削除してみました。再起動後も持続しているようです。このデータをクリアしてクリーンなUUIDを取得するにはどうすればよいですか?

5
ewwhite

この場合、古いVMFSスーパーブロックを強制終了するには、1MiB以上を消去する必要があります。

dd if=/dev/zero of=/dev/sdb1 bs=4M count=1

Blkidの情報源によると、VMFSボリュームメンバーのスーパーブロックはパーティションの開始から1024 KiBのオフセットにあり、VMFSファイルシステムのスーパーブロックは2048 KiBのオフセットにあるため、念のため4MiBを消去してください。

7
Sergey Vlasov

dd if=/dev/zero of=/dev/hdX bs=1M count=16 GPTをクリアし、fdiskまたはその他の必要なパーティション/スライスシステムを使用できるようにする必要があります。

警告:他の人にとっては、それが完全に明らかでない場合、これは現在ディスク上にあるものをすべて破壊します。

1
Chris S