背景环境:centos7 图形化界面,以及解决拷贝磁盘镜像文件时,报images卷容量不足的问题。(非lvm)
(建议先了解一下lvm逻辑卷管理器以及磁盘的相关信息)
一、用df -Th我们可以看到对于我们新加的30G,sdb没有显示
[root@azhan ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 894M 0 894M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 47G 5.2G 42G 11% /
/dev/sdb1 xfs 20G 20G 60K 100% /var/lib/libvirt/images
/dev/sda1 xfs 1014M 186M 829M 19% /boot
tmpfs tmpfs 182M 28K 182M 1% /run/user/0
/dev/sr0 iso9660 4.5G 4.5G 0 100% /run/media/root/CentOS 7 x86_64
二、编辑sdb
[root@azhan libvirt]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xd50178df
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 83 Linux
/dev/sdb2 41943040 104857599 31457280 8e Linux LVM
命令(输入 m 获取帮助):d
分区号 (1,2,默认 2):1
分区 1 已删除
命令(输入 m 获取帮助):d
已选择分区 2
分区 2 已删除
命令(输入 m 获取帮助):2
2: unknown command
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xd50178df
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):
命令(输入 m 获取帮助):
命令(输入 m 获取帮助):
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-104857599,默认为 2048):1
值超出范围。
起始 扇区 (2048-104857599,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-104857599,默认为 104857599):
将使用默认值 104857599
分区 1 已设置为 Linux 类型,大小设为 50 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
(因为sdb1不是lvm,所以我们不能直接扩容它)
所以我们先给images备个份,因为我们要删掉sdb的所有分区再重新创建,再要把sdb1的挂载点删了
[root@azhan ~]# cd /var/lib/libvirt/images
[root@azhan images]# ll
总用量 16257732
-rw-------. 1 root root 10739318784 10月 9 10:50 centos7.0.qcow2
drwx--x--x. 2 root root 6 9月 20 19:00 database
drwx--x--x. 2 root root 42 9月 20 19:10 ISO
-rw-------. 1 root root 5908594688 10月 9 11:18 vm2.img
[root@azhan images]# cd ..
[root@azhan libvirt]# cp -a images/ ~/
[root@azhan libvirt]# umount /var/lib/libvirt/images
三、然后用pvdisplay将物理分区初始化为物理卷
①[root@azhan libvirt]# pvcreate /dev/sdb1
WARNING: Device for PV mdbNoI-VYP4-295p-85K1-OtQA-Ztfv-mkRqCF not found or rejected by a filter.
WARNING: Device for PV mdbNoI-VYP4-295p-85K1-OtQA-Ztfv-mkRqCF not found or rejected by a filter.
WARNING: Device for PV B23y4Y-Z1Ol-sC7S-LWpk-fBCS-iMPU-UGIyZ1 not found or rejected by a filter.
Couldn't find device with uuid B23y4Y-Z1Ol-sC7S-LWpk-fBCS-iMPU-UGIyZ1.
Can't open /dev/sdb1 exclusively. Mounted filesystem?
Can't open /dev/sdb1 exclusively. Mounted filesystem?
我们会发现出现报错
②[root@azhan libvirt]# pvscan(扫描系统中所有硬盘的物理卷列表)
WARNING: Device for PV mdbNoI-VYP4-295p-85K1-OtQA-Ztfv-mkRqCF not found or rejected by a filter.
WARNING: Device for PV B23y4Y-Z1Ol-sC7S-LWpk-fBCS-iMPU-UGIyZ1 not found or rejected by a filter.
Couldn't find device with uuid B23y4Y-Z1Ol-sC7S-LWpk-fBCS-iMPU-UGIyZ1.
PV /dev/sda2 VG centos lvm2 [<49.00 GiB / 4.00 MiB free]
PV [unknown] VG centos lvm2 [<30.00 GiB / <30.00 GiB free]
Total: 2 [78.99 GiB] / in use: 2 [78.99 GiB] / in no VG: 0 [0 ]
依旧会报错
③[root@azhan libvirt]# vgdisplay (列出所有卷组信息)
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <49.00 GiB
PE Size 4.00 MiB
Total PE 12543
Alloc PE / Size 12542 / 48.99 GiB
Free PE / Size 1 / 4.00 MiB
VG UUID OvMwRL-OvVK-IqAI-1vel-brvw-TVS0-xsGgza
④接下来我们要解决上面这个报错:
上面的pv unkonw device即需要卸载的物理卷,所以直接卸载。卸载命令:vgreduce –removemissing vg (vg即为centos)
[root@azhan libvirt]# vgreduce --removemissing centos
Volume group "centos" is already consistent.
⑤blkid
复制**/dev/mapper/libvirt-disk01**的UUID
将其挂载到**/var/lib/libvirt/images**上
(详细看磁盘挂载那篇)
echo “UUID=23012212-8eb4-4e19-9781-03d3602c39a0” /var/lib/libvirt/images xfs defaults 0 2 >> /etc/fstab
PS:/dev/mapper/libvirt-disk01
mapper,虚拟的磁盘设备或者非直接使用的磁盘设备,的设备文件路径
libvirt,自定义的逻辑卷卷组名 (vgs查看)
disk01,自定义的逻辑分区(卷)名
⑥我们再重复刚刚报错的命令
[root@azhan ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <49.00g 4.00m
[root@azhan ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size <49.00 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 12543
Free PE 1
Allocated PE 12542
PV UUID gJ7JnD-Fv8S-BNf9-z2NX-fM0s-59Qx-xJ5VUJ
[root@azhan ~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <49.00 GiB
PE Size 4.00 MiB
Total PE 12543
Alloc PE / Size 12542 / 48.99 GiB
Free PE / Size 1 / 4.00 MiB
VG UUID OvMwRL-OvVK-IqAI-1vel-brvw-TVS0-xsGgza
[root@azhan ~]# pvcreate /dev/sdb1
WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sdb1.
Physical volume "/dev/sdb1" successfully created.
这时已经没有报错了
四、扩展VG,把我们刚刚的物理卷加到VG里
[root@azhan ~]# vgcreate libvirt /dev/sdb1
Volume group "libvirt" successfully created
五、然后将VG里多余的空间加到libvirt里
[root@azhan ~]# lvcreate libvirt -l 12799 -n disk01
Logical volume "disk01" created.
六、查看
[root@azhan ~]# fdisk -l
磁盘 /dev/sda:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000d9f95
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 104857599 51379200 8e Linux LVM
磁盘 /dev/sdb:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xd50178df
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 104857599 52427776 8e Linux LVM
磁盘 /dev/mapper/centos-root:50.5 GB, 50457477120 字节,98549760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/libvirt-disk01:53.7 GB, 53682896896 字节,104849408 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
七、最后看一眼挂载文件的配置
[root@azhan ~]# blkid /dev/mapper/libvirt-disk01
/dev/mapper/libvirt-disk01: UUID="23012212-8eb4-4e19-9781-03d3602c39a0" TYPE="xfs"
[root@azhan ~]# vi /etc/fstab
[root@azhan ~]# mount -a (让刚刚挂载的生效)
八、再看一眼
[root@azhan ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 894M 0 894M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 47G 26G 22G 54% /
/dev/sda1 xfs 1014M 186M 829M 19% /boot
tmpfs tmpfs 182M 12K 182M 1% /run/user/42
tmpfs tmpfs 182M 0 182M 0% /run/user/0
/dev/mapper/libvirt-disk01 xfs 50G 33M 50G 1% /var/lib/libvirt/images