在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创建虚拟磁盘。
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)