在VirtualBox中的Linux(CentOS 7)上添加虚拟磁盘以增加可用空间的方法

我将介绍如何在VirtualBox上的Linux(CentOS7)中增加虚拟磁盘以扩大可用空间。

CentOS7的默认设置是使用LVM(逻辑卷管理器)来管理磁盘。
LVM(逻辑卷管理器)是一种用于管理硬盘(卷)的工具,可以将跨多个硬盘和分区的存储空间处理成一个磁盘一样的磁盘管理功能。
您可以在”【Linux基础知识】了解LVM”页面上找到有关LVM的易于理解的说明。

LVM的构成要素大致有以下三个。

    • PV(Physical volume):LVMに登録する物理的なディスク領域です。

 

    • VG(Volume group):PVを集めたものです。複数のPVをひとつのディスク領域の様に扱うことが可能です。

 

    LV(Logical volume):VGから割り当てたディスク領域で作成した論理的なパーティションです。これにファイルシステムを作成しマウントして利用可能です。

这里是一种方法来扩大”/”下的可用空间:
1. 在VirtualBox中创建虚拟磁盘
2. 创建分区
3. 创建PV(物理卷)
4. 将创建的PV(物理卷)添加到VG(卷组)
5. 从VG扩展现有的LV(逻辑卷)
6. 扩展文件系统(xfs)
(还可以使用其他方法,例如创建新的LV并将其挂载到文件系统上。)

环境

    OS:CentOS Linux release 7.7.1908
[root@CENTOS7 ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@CENTOS7 ~]#

步骤

1. 使用VirtualBox创建虚拟磁盘。

01.png
02.png
00.png
03.png
04.png
05.png
06.png
07.png
08.png
09.png
10.png

2. 创建分区

您可以使用以下命令查看已连接磁盘的列表。

列出已连接的SCSI设备。

[root@CENTOS7 ~]# lsscsi
[0:0:0:0]    cd/dvd  VBOX     CD-ROM           1.0   /dev/sr0
[1:0:0:0]    cd/dvd  VBOX     CD-ROM           1.0   /dev/sr1
[2:0:0:0]    disk    ATA      VBOX HARDDISK    1.0   /dev/sda
[3:0:0:0]    disk    ATA      VBOX HARDDISK    1.0   /dev/sdb
[root@CENTOS7 ~]#

请使用以下命令来查询已识别的磁盘。

列出/dev/sd*的详细信息。

[root@CENTOS7 ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0  9月 29 22:22 /dev/sda
brw-rw---- 1 root disk 8,  1  9月 29 22:22 /dev/sda1
brw-rw---- 1 root disk 8,  2  9月 29 22:22 /dev/sda2
brw-rw---- 1 root disk 8, 16  9月 29 22:22 /dev/sdb
[root@CENTOS7 ~]#

使用fdisk命令向”/dev/sdb”添加新分区。

使用fdisk命令对/dev/sdb进行分区。

[root@CENTOS7 ~]# fdisk /dev/sdb
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 0x32eaedf2.

コマンド (m でヘルプ):

请输入”M”并查看帮助。

コマンド (m でヘルプ): m
コマンドの動作
   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并确认当前分区。

コマンド (m でヘルプ): p

Disk /dev/sdb: 34.4 GB, 34359738368 bytes, 67108864 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x32eaedf2

デバイス ブート      始点        終点     ブロック   Id  システム

コマンド (m でヘルプ):

因为现在是初始状态,所以没有任何分区。

输入n,创建一个新的分区。

コマンド (m でヘルプ): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):

输入p并创建主分区。

Select (default p): p
パーティション番号 (1-4, default 1):

输入默认的1作为分区号。

パーティション番号 (1-4, default 1): 1
最初 sector (2048-67108863, 初期値 2048):

在最初的sector中输入2048。

最初 sector (2048-67108863, 初期値 2048): 2048
Last sector, +sectors or +size{K,M,G} (2048-67108863, 初期値 67108863):

在”Last sector”字段中输入完整的”67108863″。

Last sector, +sectors or +size{K,M,G} (2048-67108863, 初期値 67108863): 67108863
Partition 1 of type Linux and of size 32 GiB is set

コマンド (m でヘルプ):

请输入P并再次确认分区。

コマンド (m でヘルプ): p

Disk /dev/sdb: 34.4 GB, 34359738368 bytes, 67108864 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x32eaedf2

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1            2048    67108863    33553408   83  Linux

コマンド (m でヘルプ):

确认是否已创建新分区「/dev/sdb1」。

输入w并写入分区。

コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。
[root@CENTOS7 ~]#

确认文件系统中是否已添加了”/dev/sdb1″。

查看 /dev/sd* 的详细信息。

[root@CENTOS7 ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0  9月 29 22:22 /dev/sda
brw-rw---- 1 root disk 8,  1  9月 29 22:22 /dev/sda1
brw-rw---- 1 root disk 8,  2  9月 29 22:22 /dev/sda2
brw-rw---- 1 root disk 8, 16  9月 29 23:46 /dev/sdb
brw-rw---- 1 root disk 8, 17  9月 29 23:46 /dev/sdb1
[root@CENTOS7 ~]#

3. 创造物理卷(PV)。

使用pvcreate命令创建名为「/dev/sdb1」的物理卷。

创建物理卷于/dev/sdb1。

[root@CENTOS7 ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
[root@CENTOS7 ~]#

使用pvdisplay命令确认已创建物理卷(PV)。

列出物理卷使用情况

[root@CENTOS7 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               <15.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              3839
  Free PE               0
  Allocated PE          3839
  PV UUID               bKwnMo-BTE9-BWlx-iXu2-cC6H-Dj0r-8bOowr

  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               centos
  PV Size               <32.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              8191
  Free PE               0
  Allocated PE          8191
  PV UUID               874u5U-1pDD-OpBx-dswz-n4fa-l05i-B4Cf2K

[root@CENTOS7 ~]#

可以确认已创建了「/dev/sdb1」。

4. 将创建的物理卷(PV)添加到卷组(VG)中。

使用vgdisplay命令来确认卷组(Volume group)的名称(VG Name)。

vgdisplay 可以被翻译为“卷组展示”。

[root@CENTOS7 ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  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               <15.00 GiB
  PE Size               4.00 MiB
  Total PE              3839
  Alloc PE / Size       3839 / <15.00 GiB
  Free  PE / Size       0 / 0
  VG UUID               DpKrR4-ksQz-HctA-1NeF-SaVx-7bm6-FcC4Di

[root@CENTOS7 ~]#

我发现 VG Name 是“centos”。

使用vgextend命令,将PV(/dev/sdb1)添加到VG(centos)中。

使用vgextend命令将/dev/sdb1设备添加到centos卷组中。

[root@CENTOS7 ~]# vgextend centos /dev/sdb1
  Volume group "centos" successfully extended
[root@CENTOS7 ~]#

使用vgdisplay命令再次确认VG。

[root@CENTOS7 ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               46.99 GiB
  PE Size               4.00 MiB
  Total PE              12030
  Alloc PE / Size       3839 / <15.00 GiB
  Free  PE / Size       8191 / <32.00 GiB
  VG UUID               DpKrR4-ksQz-HctA-1NeF-SaVx-7bm6-FcC4Di

[root@CENTOS7 ~]#

确认VG大小已增加到”46.99 GiB”。

5. 通过VG来扩展现有的LV(逻辑卷)。

使用lvdisplay命令来确认当前的「LV路径」「LV名称」和「LV大小」。

显示lv信息

[root@CENTOS7 ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                hzKez7-P7zQ-eGFj-ByQd-6I9z-Z8Fv-EXBirC
  LV Write Access        read/write
  LV Creation host, time centos7, 2019-10-12 17:03:32 +0900
  LV Status              available
  # open                 2
  LV Size                1.60 GiB
  Current LE             410
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                ZCpYbq-N8Jm-Wlei-iN5X-TVYs-CEFc-XL9XvV
  LV Write Access        read/write
  LV Creation host, time centos7, 2019-10-12 17:03:32 +0900
  LV Status              available
  # open                 1
  LV Size                13.39 GiB
  Current LE             3429
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

[root@CENTOS7 ~]#

使用lvextend命令来扩展root的LV(LV路径:/dev/centos/root,LV名称:root)。

使用lvresize命令,将/dev/centos/root文件系统的大小扩展到100%的空闲空间。

[root@CENTOS7 ~]# lvextend -l +100%FREE /dev/centos/root
  Size of logical volume centos/root changed from 13.39 GiB (3429 extents) to 45.39 GiB (11620 extents).
  Logical volume centos/root successfully resized.
[root@CENTOS7 ~]#

使用lvdisplay命令再次确认LV。

[root@CENTOS7 ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                hzKez7-P7zQ-eGFj-ByQd-6I9z-Z8Fv-EXBirC
  LV Write Access        read/write
  LV Creation host, time centos7, 2019-10-12 17:03:32 +0900
  LV Status              available
  # open                 2
  LV Size                1.60 GiB
  Current LE             410
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                ZCpYbq-N8Jm-Wlei-iN5X-TVYs-CEFc-XL9XvV
  LV Write Access        read/write
  LV Creation host, time centos7, 2019-10-12 17:03:32 +0900
  LV Status              available
  # open                 1
  LV Size                45.39 GiB
  Current LE             11620
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

[root@CENTOS7 ~]#

「root」的「LV Size」增加到了45.39 GiB。

6. 文件系统(xfs)的扩展

让我们尝试使用 df -T 命令确认文件系统的类型。

列出当前文件系统的类型。

(Note: The translation provided is in simplified Chinese.)

[root@CENTOS7 ~]# df -T
ファイルシス            タイプ   1K-ブロック     使用  使用可 使用% マウント位置
devtmpfs                devtmpfs      490768        0  490768    0% /dev
tmpfs                   tmpfs         507380        0  507380    0% /dev/shm
tmpfs                   tmpfs         507380     7588  499792    2% /run
tmpfs                   tmpfs         507380        0  507380    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs         14034944 12479804 1555140   89% /
/dev/sda1               xfs          1038336   218388  819948   22% /boot
tmpfs                   tmpfs         101480       12  101468    1% /run/user/42
tmpfs                   tmpfs         101480        0  101480    0% /run/user/0
[root@CENTOS7 ~]#

使用xfs_growfs命令来扩展挂载点为“/”的文件系统(xfs)。

扩展xfs文件系统大小:

[root@CENTOS7 ~]# xfs_growfs /
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=877824 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=3511296, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 3511296 to 11898880
[root@CENTOS7 ~]#

我再次使用df -T命令来确认文件系统的类型。

[root@CENTOS7 ~]# df -T
ファイルシス            タイプ   1K-ブロック     使用   使用可 使用% マウント位置
devtmpfs                devtmpfs      490768        0   490768    0% /dev
tmpfs                   tmpfs         507380        0   507380    0% /dev/shm
tmpfs                   tmpfs         507380     7588   499792    2% /run
tmpfs                   tmpfs         507380        0   507380    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs         47585280 12480312 35104968   27% /
/dev/sda1               xfs          1038336   218388   819948   22% /boot
tmpfs                   tmpfs         101480       12   101468    1% /run/user/42
tmpfs                   tmpfs         101480        0   101480    0% /run/user/0
[root@CENTOS7 ~]#

根目录(”/”)的大小增加了,使用率减少了。

请提供更具体的内容或句子以便我可以为您进行翻译。

【Linux基础知识】什么是LVM?来了解一下LVM!
尝试使用CentOS 7的LVM添加硬盘并扩展分区。(备忘录)


以上 – this (or the above)

广告
将在 10 秒后关闭
bannerAds