如何正确“扩展”一个Linux设备映射器分区?

我错过了一些与Linux磁盘pipe理的概念,我有一个单一的物理卷上的自由空间,我想扩展一个ext4文件系统,这是一个逻辑卷。

我看fdisk -l – 这是一个GPT(警告)

Disk /dev/sda: 299.4 GB, 299439751168 bytes 255 heads, 63 sectors/track, 36404 cylinders, total 584843264 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 identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sda1 1 584843263 292421631+ ee GPT 

我看看物理卷:

 root@node-29:/home# pvs PV VG Fmt Attr PSize PFree /dev/sda4 os lvm2 a-- 62.00g 4.00m /dev/sda5 logs lvm2 a-- 10.00g 4.00m /dev/sda6 mysql lvm2 a-- 20.00g 4.00m /dev/sda7 narcine lvm2 a-- 11.00g 4.00m 

这增加了93GB,是一个交换分区和一些其他人,但是,我有很多的自由空间

我看着分手,因为他们是GPT分区 – 我想看到可用空间:

 root@node-29:/home# parted /dev/sda print free Model: DELL PERC H710 (scsi) Disk /dev/sda: 299GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 17.4kB 1049kB 1031kB Free Space 1 1049kB 26.2MB 25.2MB primary bios_grub 26.2MB 27.3MB 1049kB Free Space 2 27.3MB 237MB 210MB primary 237MB 238MB 1049kB Free Space 3 238MB 448MB 210MB ext2 primary 448MB 449MB 1049kB Free Space 4 449MB 67.1GB 66.6GB primary 67.1GB 67.1GB 1049kB Free Space 5 67.1GB 77.9GB 10.8GB primary 77.9GB 77.9GB 1049kB Free Space 6 77.9GB 99.4GB 21.5GB primary 99.4GB 99.4GB 1049kB Free Space 7 99.4GB 111GB 11.9GB primary 111GB 111GB 1049kB Free Space 8 111GB 111GB 21.0MB ext2 primary 111GB 299GB 188GB Free Space 

所有卷上都有一个可用的空间,但最后一行还有我想要的空间

 Number Start End Size File system Name Flags 111GB 299GB 188GB Free Space 

在LVM中,我看到设备在/ dev / mapper中,我看着dmsetup

 root@node-29:/home# dmsetup info Name: narcine-nartemp State: ACTIVE Read Ahead: 256 Tables present: LIVE Open count: 1 Event number: 0 Major, minor: 252, 0 Number of targets: 1 UUID: LVM-eDmr02vsptbjvAdvX9c7VZGuI3drAkuMqYAIwCAy6EEZ2GTAopLlD96o6CmOtszP Name: os-swap State: ACTIVE Read Ahead: 256 Tables present: LIVE Open count: 2 Event number: 0 Major, minor: 252, 4 Number of targets: 1 UUID: LVM-hMIdqpNc1W6paxT044lNpBcPUfWGA2kESL4f6dB9OJu14mKzLvnOzKMeNM6zV4SK Name: os-root State: ACTIVE Read Ahead: 256 Tables present: LIVE Open count: 1 Event number: 0 Major, minor: 252, 3 Number of targets: 1 UUID: LVM-hMIdqpNc1W6paxT044lNpBcPUfWGA2kEcIBDlsTce6uqieEfh6ehzYfLxJwaIoEe Name: mysql-root State: ACTIVE Read Ahead: 256 Tables present: LIVE Open count: 1 Event number: 0 Major, minor: 252, 1 Number of targets: 1 UUID: LVM-rYCHA1YXEPa6jDTS8NIHRvTXllf7jeNhT5d7pulT4efAq4TMll6ndWVuyiDYgGbs Name: logs-log State: ACTIVE Read Ahead: 256 Tables present: LIVE Open count: 1 Event number: 0 Major, minor: 252, 2 Number of targets: 1 UUID: LVM-npxUm7C9dQX7fIrLeAGyfJxrDWKzmb9rVfJS8FEspobIPK8bnuOnDzLNdQtsY4jE 

我应该如何着手扩展? 什么是命令(parted,lvm,dmsetup?) – parted告诉我设备分区是循环的 – 这是什么意思?

 Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/os-root: 53.7GB Sector size (logical/physical): 512B/512B Partition Table: loop Number Start End Size File system Flags 1 0.00B 53.7GB 53.7GB ext4 Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/os-swap: 12.9GB Sector size (logical/physical): 512B/512B Partition Table: loop Number Start End Size File system Flags 1 0.00B 12.9GB 12.9GB linux-swap(v1) Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/logs-log: 10.7GB Sector size (logical/physical): 512B/512B Partition Table: loop Number Start End Size File system Flags 1 0.00B 10.7GB 10.7GB ext4 Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/mysql-root: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: loop Number Start End Size File system Flags 1 0.00B 21.5GB 21.5GB ext4 Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/narcine-nartmp: 11.8GB Sector size (logical/physical): 512B/512B Partition Table: loop Number Start End Size File system Flags 1 0.00B 11.8GB 11.8GB xfs 

我希望pvsan -vv能够在/ dev / sda上向我显示免费的PEfree – 为什么不呢?

什么扔我是dmcreate它看起来像这样的命令,没有必要创build“传统”分区 – 是正确的?

谢谢。

如何扩展LVM

 cfdisk /dev/sda # create new partition, using all free space pvcreate /dev/sdaX # initialize partition for use with LVM vgdisplay # to find VG name vgextend /dev/vgname /dev/sdaX # this extends the volume group lvextend -l +100%FREE /dev/vgname/root # this extends the LVM resize2fs /dev/vgname/root # this extends the filesystem 

LVM的解释

LVM不关心分区。 LVM具有以下层次结构:

  1. 文件系统
  2. 理想的价格
  3. 财富集团
  4. 体育价格
  5. (分区)
  6. 硬件

让我们从下往上。

在底部你有硬件。 大惊喜。 最重要的是,你有PVs。 现在这里变得混乱。 你可以有一个PV是驱动器本身还是一个分区 。 LVM不需要分区。 您可以将原始块设备添加为PV。 但是,很多人反过来创build分区。 这件事情是由很多原因导致的。 例如,向后兼容预期分区的工具或人员。 如果一个系统pipe理员不知道布局,并看到一个“空”的磁盘,他可能会认为磁盘是空的,虽然它是一个PV! 这就是为什么你有时使用分区作为PV的原因。

这就是你在你的例子中看到的,无论是谁设置服务器,每个VG创build一个分区,显然。

接下来是卷组。 VG是一个或多个PV。 这是容纳所有事情的容器。 由于PV可以是磁盘,来自RAID控制器,分区等的虚拟磁盘,VG可以跨越任何数量的这些东西。

在VG之上你有LV。 这是你实际上把你的文件系统的顶部。 你可以看看LV的一种分区。 你可以在这里find它们:

 /dev/VGName/LVname 

所以LV总是属于一个VG,但是每个VG可以有多个LV。

最后,在LV之上,你把你的文件系统。

为什么循环

循环难题:没有循环设备! Parted在LVM上找不到分区表(因为它应该是这样),所以它只是显示'loop'而已。