虚拟机环境,linux系统下新添加了一块硬盘
1. 虚拟机--设置--添加,选择硬盘添加
2. 首先为磁盘创建文件系统:mkfs.ext3 /dev/sdb
3. 创建挂载点:mkdir /mnt/sdb
4. 挂载:mount /dev/sdb /mnt/sdb
5. fdisk -l
发现有问题:
Disk /dev/sdb doesn't contain a valid partition table
6. fdisk /dev/sdb
跟着向导一步步做下去(如果不知道该输入什么,就输入“m”并回车,可以打印出菜单):
Command (m for help):m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
(后面的菜单省略,太长了)
这里我们要添加一个新的分区,所以输入“n”:
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4):1
First cylinder (1-14098, default 1):(此处直接回车)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-14098, default 14098): (此处直接回车)
Using default value 14098
Command (m for help):p
Disk /dev/sdb: 115.9 GB, 115964116992 bytes
255 heads, 63 sectors/track, 14098 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 14098 113242153+ 83 Linux
现在可以写入分区表了,所以输入“w”:
Command (m for help):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
现在再fdisk -l,结果正常。
最后修改磁盘名称
(适用于NTFS)
sudo ntfslabel /dev/sda2 data5
(适用于ext2或ext3)
sudo e2label /dev/sda2 data5
转自:http://blog.csdn.net/launch_225/article/details/7771859
其他问题:
格式化磁盘报“/dev/sdb is apparently in use by the system; will not make a filesystem here!”解决办法
[root@fedora18_1 armstrong]# mkfs.ext4 /dev/sdb
mke2fs 1.42.5 (29-Jul-2012)
/dev/sdb is entire device, not just one partition!
无论如何也要继续? (y,n) y
/dev/sdb is apparently in use by the system; will not make a 文件系统 here!
[root@fedora18_1 armstrong]#
[root@fedora18_1 armstrong]#
系统提示/dev/sdb磁盘正在被系统使用。
开始怀疑是否是KVM的bug,经过对磁盘进行dd读写时,发现磁盘读写都正常,因此需要排查出现上述现象的原因。
使用fuser命令查看磁盘被系统中那个进程使用,如图所示:
[root@fedora18_1 armstrong]#
[root@fedora18_1 armstrong]# fuser -v /dev/sdb
用户 进程号 权限 命令
/dev/sdb: root 522 F.... multipathd
[root@fedora18_1 armstrong]#
发现其正在被multipathd(多路径软件)使用。
查看sd设备产生的id名称:
[root@fedora18_1 armstrong]# ll /dev/disk/by-id/
总用量 0
lrwxrwxrwx. 1 root root 9 6月 17 12:11 ata-QEMU_DVD-ROM_QM00003 -> ../../sr0
lrwxrwxrwx. 1 root root 9 6月 17 12:11 ata-QEMU_HARDDISK_QM00001 -> ../../sda
lrwxrwxrwx. 1 root root 10 6月 17 12:11 ata-QEMU_HARDDISK_QM00001-part1 -> ../../sda1
lrwxrwxrwx. 1 root root 10 6月 17 12:11 ata-QEMU_HARDDISK_QM00001-part2 -> ../../sda2
lrwxrwxrwx. 1 root root 9 6月 17 12:11 ata-QEMU_HARDDISK_QM00002 -> ../../sdb
lrwxrwxrwx. 1 root root 10 6月 17 12:11 dm-name-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0 -> ../../dm-3
lrwxrwxrwx. 1 root root 10 6月 17 12:11 dm-name-fedora-root -> ../../dm-1
lrwxrwxrwx. 1 root root 10 6月 17 12:11 dm-name-fedora-swap -> ../../dm-0
lrwxrwxrwx. 1 root root 10 6月 17 12:11 dm-name-QEMU_HARDDISK_QM00002 -> ../../dm-2
lrwxrwxrwx. 1 root root 10 6月 17 12:11 dm-uuid-LVM-EMigyZZDHUj2J15jjJN7UFno9M7REfPg8JZ06CRrZ60ABXzFbvUgVrsnfM8z1a7b -> ../../dm-1
lrwxrwxrwx. 1 root root 10 6月 17 12:11 dm-uuid-LVM-EMigyZZDHUj2J15jjJN7UFno9M7REfPgFEvsjHqiOhimtN4v9fcGzTEsQVZ8zorm -> ../../dm-0
lrwxrwxrwx. 1 root root 10 6月 17 12:11 dm-uuid-mpath-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0 -> ../../dm-3
lrwxrwxrwx. 1 root root 10 6月 17 12:11 dm-uuid-mpath-QEMU_HARDDISK_QM00002 -> ../../dm-2
lrwxrwxrwx. 1 root root 9 6月 17 12:11 scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0 -> ../../sdc
[root@fedora18_1 armstrong]#
同时查看其dmsetup生成的table表
[root@fedora18_1 armstrong]# dmsetup table
fedora-swap: 0 4128768 linear 8:2 2048
fedora-root: 0 28393472 linear 8:2 4130816
0QEMU_QEMU_HARDDISK_drive-scsi0-0-0: 0 4194304 multipath 0 0 1 1 service-time 0 1 2 8:32 1 1
QEMU_HARDDISK_QM00002: 0 2097152 multipath 0 0 1 1 service-time 0 1 2 8:16 1 1
[root@fedora18_1 armstrong]#
[root@fedora18_1 armstrong]# ll /dev/mapper/
总用量 0
lrwxrwxrwx. 1 root root 7 6月 17 12:11 0QEMU_QEMU_HARDDISK_drive-scsi0-0-0 -> ../dm-3
crw-------. 1 root root 10, 236 6月 17 12:11 control
lrwxrwxrwx. 1 root root 7 6月 17 12:11 fedora-root -> ../dm-1
lrwxrwxrwx. 1 root root 7 6月 17 12:11 fedora-swap -> ../dm-0
lrwxrwxrwx. 1 root root 7 6月 17 12:11 QEMU_HARDDISK_QM00002 -> ../dm-2
[root@fedora18_1 armstrong]#
[root@fedora18_1 armstrong]#
[root@fedora18_1 armstrong]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 6月 17 12:11 /dev/sda
brw-rw----. 1 root disk 8, 1 6月 17 12:11 /dev/sda1
brw-rw----. 1 root disk 8, 2 6月 17 12:11 /dev/sda2
brw-rw----. 1 root disk 8, 16 6月 17 12:11 /dev/sdb
brw-rw----. 1 root disk 8, 32 6月 17 12:11 /dev/sdc
[root@fedora18_1 armstrong]#
发现系统中的使用的sdb和sdc使用的主次设备号分别是8:16和8:32,在/dev/目录下查看,发现multipath在/dev/sdb和/dev/sdc之上又创建了一个dm设备,其名称分别为QEMU_HARDDISK_QM00002和0QEMU_QEMU_HARDDISK_drive-scsi0-0-0
由此可见,在本文开始时调用mkfs.ext4格式化文件系统时失败主要是因为multipath软件正在使用sdb和sdc。因此停止掉multipathd进程,移除dm设备后,应该就能正常格式化文件系统。
[root@fedora18_1 armstrong]#
[root@fedora18_1 armstrong]# service multipathd stop
Redirecting to /bin/systemctl stop multipathd.service
[root@fedora18_1 armstrong]# dmsetup remove_all
[root@fedora18_1 armstrong]#
[root@fedora18_1 armstrong]# ll /dev/mapper/
总用量 0
crw-------. 1 root root 10, 236 6月 17 12:11 control
lrwxrwxrwx. 1 root root 7 6月 17 12:11 fedora-root -> ../dm-1
lrwxrwxrwx. 1 root root 7 6月 17 12:11 fedora-swap -> ../dm-0
[root@fedora18_1 armstrong]#
可见由multipathd生成的dm设备已经被移除,下面就可以正常的进行格式化文件系统了。
[root@fedora18_1 armstrong]#
[root@fedora18_1 armstrong]# mkfs.ext4 /dev/sdb
mke2fs 1.42.5 (29-Jul-2012)
/dev/sdb is entire device, not just one partition!
无论如何也要继续? (y,n) y
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@fedora18_1 armstrong]#
问题解决。
写在后面的话:其实单纯对mkfs操作来说,使用multipath生成的dm设备也可以进行格式化,但是无法使用sdb和sdc进行pvcreate相关的操作,因为lvm在其配置文件lvm.conf中默认过滤的是sd设备,针对本文这种multipath存在情况的话,pvcreate可能会失败,因此必须对其进行处理。