解决“磁盘已成功扩展。您必须从客户机操作系统内部对磁盘重新进行分区和扩展文件系统”。

解决“磁盘已成功扩展。您必须从客户机操作系统内部对磁盘重新进行分区和扩展文件系统”。

背景环境: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 109 10:50 centos7.0.qcow2
drwx--x--x. 2 root root           6 920 19:00 database
drwx--x--x. 2 root root          42 920 19:10 ISO
-rw-------. 1 root root  5908594688 109 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
解决“磁盘已成功扩展。您必须从客户机操作系统内部对磁盘重新进行分区和扩展文件系统”。_第1张图片

将其挂载到**/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 (让刚刚挂载的生效)

解决“磁盘已成功扩展。您必须从客户机操作系统内部对磁盘重新进行分区和扩展文件系统”。_第2张图片

八、再看一眼

[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

你可能感兴趣的:(Linux系统基本操作,linux,磁盘扩容)