vmware虚拟机磁盘扩容与挂载

解决工作中遇到vmware虚拟机磁盘容量不足的问题

一、添加新磁盘并将磁盘挂载到空目录

1、关机加硬盘

1)首先,需要将虚拟机关机,然后在虚拟机设置页面进行硬盘添加

2) 默认选择SCSI,点击下一步

3) 保持默认,点击下一步

4) 在虚拟机设置这里可以看到新增的50G的磁盘

扫描二维码关注公众号,回复: 17242289 查看本文章

接下来,开启虚拟机,对新增磁盘进行分区和挂载

2、查看磁盘分区情况

1) 首先,打开终端切换至root权限,然后使用以下命令查看硬盘分区情况

fdisk -l

红框中是我新增的50G硬盘,因为前面在添加磁盘向导中选择了将硬盘拆分成多个文件,所以我的50G硬盘被拆分成了3块。如果不想要被拆分成多块的话,前面添加磁盘时直接选将虚拟磁盘存储为单个文件即可。(此处理解有误)具体参见 XXX我的疑惑与思考部分。

知识点:

  • 怎样知道哪块磁盘是未进行分区的呢?

从上图中可以看到,有/dev/sda、/dev/sdb、/dev/sdc/以及/dev/mapper/vgnew-lvnew四块盘,此处有误,应该是有/dev/sda、/dev/sdb、/dev/sdc三块盘,与/dev/sda、/dev/sdb不同的是,/dev/sdc/及/dev/mapper/vgnew-lvnew盘下放没有/dev/sda1等信息,说明这块盘是没有进行分区操作的。

  • 新加的磁盘各行信息解释:

Disk /dev/sdc: 磁盘名称

32.2 GB,:磁盘大小,不过这个数字并不精确

32212254720 bytes:32212254720/1024/1024/1024=30GB

62914560 sectors: 62914560 个扇区
Units = sectors of 1 * 512 = 512 bytes: 512 bytes (这里一个柱面一个扇区)
Sector size (logical/physical): 512 bytes / 512 bytes:一个扇区是512字节
I/O size (minimum/optimal): 512 bytes / 512 bytes:磁盘I/O操作的最小/最佳单位是512字节

  • 关于磁道、扇区、柱面可参考下面文章:

10分钟学懂磁盘的结构(盘片、磁道、扇区、柱面) - 知乎 (zhihu.com)

2) 除了fdisk -l命令外,也可使用lsblk命令查看磁盘分区情况:

lsblk

其中,TYPE为disk,且下面没有分支的就是没有被划分的磁盘。

3、创建挂载目录

1) 查看磁盘使用情况:

df -h

2) 创建挂载目录(必须是空目录)

mkdir /newdir

4、创建新分区

1) 对30G的新磁盘/dev/sdc进行磁盘分区:

fdisk /dev/sdc
n
p
回车(默认值)
回车(默认值)
回车(默认值)
w

这里输入m可以查看帮助:

n  添加一块新的分区

p  打印出这个分区表

w 将表写进磁盘并退出

2) 创建好,再次使用fdisk -l命令就可以看到/dev/sdc下面新建的一个分区:

5、创建新的物理卷

1) 为刚刚的分区创建物理卷

PVcreate /dev/sdc1

2) 查看当前所有物理卷(或使用pvdisplay命令)

6、创建新卷组

1)  为物理卷/dev/sdc1 创建卷军(vgnew为自定义的卷组名):

vgcreate vgnew1 /dev/sdc1

2)  查看卷组(或使用命令vgdisplay)

vgs

7、创建新的逻辑卷

1)  使用整个卷组vgnew创建一个逻辑卷(lvnew1为自定义的逻辑卷名):

lvcreate -n lvnew1 -l 100%FREE vgnew1

2)  创建逻辑卷时也可使用卷组的部分空间,如50%FREE等,也可以指定存储容量,如下面这条命令

lvcreate -n lvnew1 -L 5G vgnew

3)  查看当前所有逻辑卷(或使用vgdisplay命令)

lvs

8、挂载到空目录

1)  格式化逻辑卷

mkfs.xfs /dev/vgnew1/lvnew1

注:逻辑卷的固定格式为/dev/卷组名/逻辑卷名,具体可通过lvdisplay命令确定。这里是讲逻辑卷格式化为xfs格式,也可以选择格式化ext4或其他格式。/dev/vgnew1/lvnew1是我上面新建的逻辑卷。

2)  将逻辑卷挂载到之前创建的空目录:

mount /dev/vgnew1/lvnew1 /newdir

3)  然后通过df  -h命令可以查看到磁盘的挂载

8.1 我的疑惑与思考

磁盘划分后出现了这个 /dev/mapper/vgnew1-lvnew1

最前面可能理解有误,/dev/mapper/vgnew-lvnew应该是磁盘/dev/sdb下面划分出来的,

所以我觉得最前面可能理解有误

通过lsblk查看磁盘的分区情况来看,/dev/mapper/vgnew-lvnew应该是磁盘/dev/sdb下面划分出来的。

那么问题来了?

我明明加的是50GB的硬盘,选择被拆分成多个文件,怎么只有/dev/sdb和、dev/sdc呢?加起来才40G,另外的10G去哪里了呢?

磁盘划分后会显示为/dev/mapper/卷组名/逻辑卷名,/dev/mapper目录是怎么回事呢?参考下面文章,你会有答案的。

Linux系统/dev/mapper目录浅谈 - amoyzhu - 博客园 (cnblogs.com)

4)  开机自动挂载:

vi /etc/fstab

在文件末尾添加以下内容:

/dev/mapper/vgnew1-lvnew1 /newdir xfs defaults 0 0

5)  立即进行挂载

mount -a

二、挂载到已有目录(磁盘扩容)

1、新建磁盘并创建物理卷

1.1、关机,新加一块磁盘

我加了一块16G的磁盘,可以看到是/dev/sdd

1.2、创建物理卷:

为分区 /dev/sdd1 创建物理卷:

fdisk /dev/sdd
n
p
回车(默认值)
回车(默认值)
回车(默认值)
w

1.3、创建新的物理卷

为分区 /dev/sdd1 创建物理卷:

pvcreate /dev/sdd1

2、扩展已有卷组:

2.1将物理卷添加到已有卷组

vgextend vgnew1 /dev/sdd1

添加之前vgnew1是30G,添加之后变为了44.99G,当然这个数字并不太精确

2.2、扩容已有逻辑卷

将卷组的空余存储空间添加到逻辑卷:

lvextend -l +100%FREE /dev/vgnew1/lvnew1 

更新文件系统:

xfs_growfs /dev/vgnew1/lvnew1

如果需要挂载到根目录或者其他路径,只需根据实际情况修改 vgextend 和 lvextend 的具体卷组和逻辑卷即可,灵活使用。

猜你喜欢

转载自blog.csdn.net/fencecat/article/details/134798587