无法在根分区上创建新逻辑卷

无法在根分区上创建新逻辑卷

问题是 :

如何在下面的系统上创建新的 3GB 逻辑卷或分区?

我尝试了很多很多次但都没有成功...

没有提供现场 CD,因为这是用于考试的。

我尝试了很多次,在尝试在 /dev/sda2 上创建 3GB 分区时遇到相同的错误。

有日志和屏幕截图显示重新启动期间的错误消息。

[root@resize2 ~]# lsblk


NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 29.5G 0 part
├─vggroup-swap 253:0 0 2G 0 lvm [SWAP]
├─vggroup-root 253:1 0 22.7G 0 lvm /
└─vggroup-home 253:2 0 4.9G 0 lvm /home
sr0 11:0 1 6.6G 0 rom /run/media/marc/CentOS 7 x86_64
[root@resize2 ~]#
[root@resize2 ~]# df -Th


Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vggroup-root ext4 23G 3.3G 18G 16% /
devtmpfs devtmpfs 912M 0 912M 0% /dev
tmpfs tmpfs 921M 84K 921M 1% /dev/shm
tmpfs tmpfs 921M 8.7M 912M 1% /run
tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/sda1 ext4 477M 95M 353M 22% /boot
/dev/mapper/vggroup-home ext4 4.7G 51M 4.4G 2% /home
/dev/sr0 iso9660 6.6G 6.6G 0 100% /run/media/marc/CentOS 7 x86_64
[root@resize2 ~]#
[root@resize2 ~]# pvdisplay


--- Physical volume ---
PV Name /dev/sda2
VG Name vggroup
PV Size 29.50 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 7550
Free PE 0
Allocated PE 7550
PV UUID fbhnuB-wTks-mkMy-9nfX-7ISJ-3MOi-E3IPhV

[root@resize2 ~]#
[root@resize2 ~]# vgdisplay


--- Volume group ---
VG Name vggroup
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 29.49 GiB
PE Size 4.00 MiB
Total PE 7550
Alloc PE / Size 7550 / 29.49 GiB
Free PE / Size 0 / 0
VG UUID ajso7W-2IyX-fE0A-16Jf-buut-O6x4-S4ySY3

[root@resize2 ~]#
[root@resize2 ~]# lvdisplay


--- Logical volume ---
LV Path /dev/vggroup/root
LV Name root
VG Name vggroup
LV UUID eUA7Mk-zekT-LNx4-0GTX-LaKk-0TxC-fCbZ0S
LV Write Access read/write
LV Creation host, time localhost, 2017-12-28 12:33:13 +0000
LV Status available
# open 1
LV Size 22.66 GiB
Current LE 5800
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1

--- Logical volume ---
LV Path /dev/vggroup/swap
LV Name swap
VG Name vggroup
LV UUID xoQkXQ-csCo-0MWt-poDC-pwQk-NcWe-fZDwVH
LV Write Access read/write
LV Creation host, time localhost, 2017-12-28 12:33:16 +0000
LV Status available
# open 2
LV Size 1.95 GiB
Current LE 500
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0

--- Logical volume ---
LV Path /dev/vggroup/home
LV Name home
VG Name vggroup
LV UUID 7UAzWG-i8CH-ywMV-4MMq-tsiJ-rUeI-Conb3u
LV Write Access read/write
LV Creation host, time localhost, 2017-12-28 12:33:17 +0000
LV Status available
# open 1
LV Size 4.88 GiB
Current LE 1250
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2

[root@resize2 ~]#
[root@resize2 ~]#
[root@resize2 ~]# parted /dev/sda print free


Model: ATA QEMU HARDDISK (scsi)
Disk /dev/sda: 32.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
32.3kB 1049kB 1016kB Free Space
1 1049kB 525MB 524MB primary ext4 boot
2 525MB 32.2GB 31.7GB primary lvm
32.2GB 32.2GB 16.8MB Free Space

[root@resize2 ~]#
[root@resize2 ~]#
[root@resize2 ~]# fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0009cecd

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 62881791 30927872 8e Linux LVM

Disk /dev/mapper/vggroup-swap: 2097 MB, 2097152000 bytes, 4096000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/vggroup-root: 24.3 GB, 24326963200 bytes, 47513600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/vggroup-home: 5242 MB, 5242880000 bytes, 10240000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

[root@resize2 ~]#
[root@resize2 ~]# fdisk /dev/sda2
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xc924a0b7.

Command (m for help): p

Disk /dev/sda2: 31.7 GB, 31670140928 bytes, 61855744 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xc924a0b7

Device Boot Start End Blocks Id System

Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
First sector (2048-61855743, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-61855743, default 61855743): +3G
Partition 1 of type Linux and of size 3 GiB is set

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@resize2 ~]#
[root@resize2 ~]# partprobe
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.
[root@resize2 ~]#
[root@resize2 ~]#
[root@resize2 ~]# systemctl reboot

在此输入图像描述

在此输入图像描述

有谁知道为什么我会收到此错误以及如何修复它以便在该系统上创建 3GB 分区或 3GB 逻辑卷?

感谢您的帮助

更新#1

我之前尝试过使用 fdisk /dev/sda,但在尝试创建 3 GB 分区时收到错误消息“值超出范围”。

[root@resize2 ~]# lsblk
NAME             MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                8:0    0   30G  0 disk
├─sda1             8:1    0  500M  0 part /boot
└─sda2             8:2    0 29.5G  0 part
  ├─vggroup-swap 253:0    0    2G  0 lvm  [SWAP]
  ├─vggroup-root 253:1    0 22.7G  0 lvm  /
  └─vggroup-home 253:2    0  4.9G  0 lvm  /home
sr0               11:0    1  6.6G  0 rom  /run/media/marc/CentOS 7 x86_64
[root@resize2 ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0009cecd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    62881791    30927872   8e  Linux LVM

Command (m for help): n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p):
Using default response p
Partition number (3,4, default 3):
First sector (62881792-62914559, default 62881792):
Using default value 62881792
Last sector, +sectors or +size{K,M,G} (62881792-62914559, default 62914559): +3G
Value out of range.
Last sector, +sectors or +size{K,M,G} (62881792-62914559, default 62914559):

我实际上不需要 3 GB 分区,而是需要 3 GB 逻辑卷。

由于可用空间不足,如何在卷组中创建这个 3 GB 逻辑卷?

答案1

首先,下面这行是错误的:

fdisk /dev/sda2 

/dev/sda2 是一个分区,而不是整个磁盘。您应该将 /dev/sda 作为输入传递给 fdisk,然后在 fdisk 中操作主分区 2。

请注意,您的 sda2 是 29.5G,它包含的逻辑分区总和为 2+22.7+4.9 =~ 29.5G,因此 sda2 似乎已满。要添加 3GB 分区,您需要使用 HD 上未分配的空间,或者调整 sda2 的大小(使用 fdisk 无法做到这一点)

答案2

您需要lvcreate创建一个新的 LV,而不是fdisk.但是,当然,您需要 VG 中当前没有的可用空间。

引导问题可能是由于 initrd 不包含 LVM 所需的模块造成的。

相关内容