用 fdisk 创建 4 个分区,然后创建 PV,发现错误如下:
[root@DB lvm]# pvcreate /dev/sda{7,8,9,10}
Device /dev/sda7 not found (or ignored by filtering).
Device /dev/sda8 not found (or ignored by filtering).
Device /dev/sda9 not found (or ignored by filtering).
Device /dev/sda10 not found (or ignored by filtering).
查了一下资料,说要先执行 dd if=/dev/urandom 把/dev/sda覆盖分区块,也就是擦除分区
[root@DB lvm]# dd if=/dev/urandom of=/dev/sda7 bs=512 count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00416541 s, 7.9 MB/s
······省······
[root@DB lvm]# dd if=/dev/urandom of=/dev/sda10 bs=512 count=64
64+0 records in
64+0 records out
32768 bytes (33 kB) copied, 0.00416541 s, 7.9 MB/s
[root@DB lvm]# pvcreate /dev/sda7
Physical volume "/dev/sda7" successfully created.
[root@DB lvm]# pvcreate /dev/sda{8,9,10}
Can't open /dev/sda8 exclusively. Mounted filesystem?
发现 /dev/sda7 可以创建 PV,但是 /dev/sda{8,9,10} 提示 Mounted filesystem? 我的磁盘是新分割出来的啊?
赶紧看看 /dev/sda{8,9,10} 有没有被挂载
[root@DB ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 10190136 5686280 3979568 59% /
/dev/sda1 999320 130800 799708 15% /boot
/dev/mapper/centos00-home 5029504 283860 4467116 6% /home
/dev/sr0 4414592 4414592 0 100% /run/media/CentOS 7 x86_64
······省······
[root@DB lvm]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 25G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 10G 0 part /
├─sda3 8:3 0 5G 0 part
│ └─centos00-home 253:0 0 5G 0 lvm /home
├─sda4 8:4 0 512B 0 part
├─sda5 8:5 0 2G 0 part [SWAP]
├─sda6 8:6 0 1M 0 part
├─sda7 8:7 0 1G 0 part
├─sda8 8:8 0 1G 0 part
│ └─md0 9:0 0 3G 0 raid5
├─sda9 8:9 0 1G 0 part
│ └─md0 9:0 0 3G 0 raid5
└─sda10 8:10 0 1G 0 part
└─md0 9:0 0 3G 0 raid5
用 df 指令没有发现异常,但是用 lsblk 确实发现 /dev/sda{8,9,10} 已经挂载到了 raid。
[root@DB tmp]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sda8[1] sda10[5] sda9[2]
3142656 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [_UUU]
unused devices: <none>
我之前的确用 /dev/sda{7,8,9,10} 做了raid5 实验,但是已经停掉,
并且分区也是重新删了再创建一遍,为什么还会挂载上呢?难道是错误的操作导致的?
尝试再次关闭 raid
[root@DB tmp]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0
[root@DB tmp]# mdadm --zero-superblock /dev/sda{8,9,10}
mdadm: Unrecognised md component device - /dev/sda8
mdadm: Unrecognised md component device - /dev/sda9
mdadm: Unrecognised md component device - /dev/sda10
[root@DB tmp]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sda8[1] sda10[5] sda9[2]
3142656 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [_UUU]
unused devices: <none>
但是问题还是没有解决。但发现 /dev/md0 的挂载目录 /mnt/raid 还在
[root@DB mnt]# ls -l
drwxr-xr-x. 2 root root 4096 Nov 21 17:57 raid
尝试删除 raid 目录
[root@DB mnt]# rm -rf raid
[root@DB tmp]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 25G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 10G 0 part /
├─sda3 8:3 0 5G 0 part
│ └─centos00-home 253:0 0 5G 0 lvm /home
├─sda4 8:4 0 512B 0 part
├─sda5 8:5 0 2G 0 part [SWAP]
├─sda6 8:6 0 1M 0 part
├─sda7 8:7 0 1G 0 part
├─sda8 8:8 0 1G 0 part
├─sda9 8:9 0 1G 0 part
└─sda10 8:10 0 1G 0 part
这下清净了。
重新创建 PV
[root@DB tmp]# pvcreate /dev/sda{8,9,10}
Physical volume "/dev/sda8" successfully created.
Physical volume "/dev/sda9" successfully created.
Physical volume "/dev/sda10" successfully created.
总结:
/dev/sda{7,8,9,10} 之前做过 raid 实验,应该是我的错误操作,导致 raid 没有完整卸载,同一分区当然同时用来做 raid 和 LVM。