当前位置: 首页 > article >正文

【linux】如何扩展磁盘容量(VMware虚拟机)-转载

如何扩展磁盘容量(VMware虚拟机)

一、前置准备工作

扩展虚拟机磁盘前,需要先把虚拟机关机才能进行扩展磁盘操作

  • 1.选择虚拟机设置,如下图所示

  • 2.输入你想扩展的磁盘容量,以本次实操为例,我这里输入的30G(具体按照实际容量输入)
  • 3.点击确定
  • 4.启动虚拟机

二、扩展磁盘容量

1.使用root用户登录系统,使用fdisk -l命令查看磁盘分区情况

1

[root@localhost ~]# fdisk -l

2. 使用fdisk命令重新对/dev/sda磁盘进行分区

使用 fdisk /dev/sda后会进入具体实际分区操作页面,以下为参数说明:

常规

  • d   删除分区
  • F   列出未分区的空闲区
  • l   列出已知分区类型
  • n   添加新分区
  • p   打印分区表
  • t   更改分区类型
  • v   检查分区表
  • i   打印某个分区的相关信息

输入m,仅是提示获取帮助,在这里可以看到各个命令具体含义

输入p,打印当前有多少分区表,本例中有两个分区表,分别为/dev/sda1和/dev/sda2

输入n,添加新分区,这里输入n以后会让你选择是对主分区扩展还是对扩展分区扩展,请根据实际情况填写,本例中输入p,选择主分区进行扩展。完成后,会让你输入数字,具体的数字根据你实际的情况来,本例中

输入3,完成后此时出现扇区大小确认,直接用默认值,直接敲2次回车

最后输入w,保存退出

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

# 实际操作如下:

[root@localhost ~]# fdisk /dev/sda

欢迎使用 fdisk (util-linux 2.32.1)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

命令(输入 m 获取帮助):m

帮助:

  DOS (MBR)

   a   开关 可启动 标志

   b   编辑嵌套的 BSD 磁盘标签

   c   开关 dos 兼容性标志

  常规

   d   删除分区

   F   列出未分区的空闲区

   l   列出已知分区类型

   n   添加新分区

   p   打印分区表

   t   更改分区类型

   v   检查分区表

   i   打印某个分区的相关信息

  杂项

   m   打印此菜单

   u   更改 显示/记录 单位

   x   更多功能(仅限专业人员)

  脚本

   I   从 sfdisk 脚本文件加载磁盘布局

   O   将磁盘布局转储为 sfdisk 脚本文件

  保存并退出

   w   将分区表写入磁盘并退出

   q   退出而不保存更改

  新建空磁盘标签

   g   新建一份 GPT 分区表

   G   新建一份空 GPT (IRIX) 分区表

   o   新建一份的空 DOS 分区表

   s   新建一份空 Sun 分区表

命令(输入 m 获取帮助):p

Disk /dev/sda:30 GiB,32212254720 字节,62914560 个扇区

单元:扇区 / 1 * 512 = 512 字节

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x89f751ac

设备       启动    起点     末尾     扇区 大小 Id 类型

/dev/sda1  *       2048  2099199  2097152   1G 83 Linux

/dev/sda2       2099200 41943039 39843840  19G 8e Linux LVM

命令(输入 m 获取帮助):n

分区类型

   p   主分区 (2个主分区,0个扩展分区,2空闲)

   e   扩展分区 (逻辑分区容器)

选择 (默认 p):p

分区号 (3,4, 默认  3): 3

第一个扇区 (41943040-62914559, 默认 41943040):

上个扇区,+sectors 或 +size{K,M,G,T,P} (41943040-62914559, 默认 62914559):

创建了一个新分区 3,类型为“Linux”,大小为 10 GiB。

命令(输入 m 获取帮助):w

分区表已调整。

正在同步磁盘。

[root@localhost ~]#

3.再次使用fdisk -l查看扩展分区情况

1

[root@localhost ~]# fdisk -l

4.reboot重启虚拟机

1

[root@localhost ~]# reboot

5.使用pvcreate命令对新建的分区创建物理分区

1

2

[root@localhost ~]# pvcreate /dev/sda3

  Physical volume "/dev/sda3" successfully created.

6.使用vgs查看虚拟卷组

1

2

3

[root@localhost ~]# vgs

  VG #PV #LV #SN Attr   VSize   VFree

  cl   1   2   0 wz--n- <19.00g    0

7.使用vgextend命令对卷组进行扩容,将新建的/dev/sda3分区加入到上述第6步骤查询出来的卷组中(本例中查询出来的卷组名为cl,实际的卷组名以你们查询出来的为准)

1

2

[root@localhost ~]# vgextend cl /dev/sda3

  Volume group "cl" successfully extended

8.使用df -h查看要扩展的文件系统,本例中文件系统为:/dev/mapper/cl-root

1

2

3

4

5

6

7

8

9

10

[root@localhost ~]# df -h

文件系统             容量  已用  可用 已用% 挂载点

devtmpfs             3.8G     0  3.8G    0% /dev

tmpfs                3.9G     0  3.9G    0% /dev/shm

tmpfs                3.9G  9.8M  3.8G    1% /run

tmpfs                3.9G     0  3.9G    0% /sys/fs/cgroup

/dev/mapper/cl-root   17G   14G  3.4G   81% /

/dev/sda1            976M  144M  766M   16% /boot

tmpfs                779M  1.2M  778M    1% /run/user/42

tmpfs                779M  4.0K  779M    1% /run/user/0

9.使用lvextend命令扩展文件系统,本例中为:/dev/mapper/cl-root,注意,本例中是额外扩展了10G磁盘(没扩展磁盘前是20G),在使用lvextend扩展时,不能完全给10G,要比10G小一点作为预留,本次给9G

1

2

3

[root@localhost ~]# lvextend -L +9G /dev/mapper/cl-root

  Size of logical volume cl/root changed from <17.00 GiB (4351 extents) to <26.00 GiB (6655 extents).

  Logical volume cl/root successfully resized.

10.使用pvdisplay查看创建后的物理分区

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

[root@localhost ~]# pvdisplay

  --- Physical volume ---

  PV Name               /dev/sda2

  VG Name               cl

  PV Size               <19.00 GiB / not usable 3.00 MiB

  Allocatable           yes (but full)

  PE Size               4.00 MiB

  Total PE              4863

  Free PE               0

  Allocated PE          4863

  PV UUID               DwVhNf-XFeN-Pmwn-Sw9L-nhtd-dmxk-q3qcFf

  --- Physical volume ---

  PV Name               /dev/sda3

  VG Name               cl

  PV Size               10.00 GiB / not usable 4.00 MiB

  Allocatable           yes

  PE Size               4.00 MiB

  Total PE              2559

  Free PE               255

  Allocated PE          2304

  PV UUID               oMd2wT-pJ7h-fXxo-XjPE-rLdj-VP5l-fGA4dT

11.再次使用df -h查看磁盘空间,发现磁盘仍然只有20G,并未增加到30G,那是因为还缺少最后一步,需要对文件系统进行扩容

1

2

3

4

5

6

7

8

9

10

[root@localhost ~]# df -h

文件系统             容量  已用  可用 已用% 挂载点

devtmpfs             3.8G     0  3.8G    0% /dev

tmpfs                3.9G     0  3.9G    0% /dev/shm

tmpfs                3.9G  9.8M  3.8G    1% /run

tmpfs                3.9G     0  3.9G    0% /sys/fs/cgroup

/dev/mapper/cl-root   17G   14G  3.3G   81% /

/dev/sda1            976M  144M  766M   16% /boot

tmpfs                779M  1.2M  778M    1% /run/user/42

tmpfs                779M  4.0K  779M    1% /run/user/0

12.查看文件系统/dev/mapper/cl-root格式,此处查询出来是xfs,有的查询出来可能是ext4,具体已实际情况为准

1

[root@localhost ~]# cat /etc/fstab

13. 使用xfs_growfs(红帽、CentOS使用该xfs_growfs命令,其他系统如Ubuntu等自行查阅一下)命令对文件系统进行扩容,如果是ext4格式的,使用resize2fs

1

[root@localhost ~]# xfs_growfs /

注意:xfs_growfs用两种用法

  • 老版xfs_growfs用法:xfs_growfs [文件系统名]
  • 新版xfs_growfs用法:xfs_growfs [挂载点]

如果命令用的不对,会出现如下错误:

1

2

[root@localhost ~]# xfs_growfs /dev/mapper/cl-root

xfs_growfs: /dev/mapper/cl-root is not a mounted XFS filesystem

VMware Linux(Centos)虚拟机扩容根目录磁盘空间

1、编辑虚拟机设置,点击[硬盘],选择[扩展] 填写大小
2、启动虚拟机操作系统Centos,查看磁盘情况

$ fdisk -l

显示如下:

    Disk /dev/sda: 32.2 GB, 32212254720 bytes
    255 heads, 63 sectors/track, 3916 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00094582

    Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          64      512000   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              64        2611    20458496   8e  Linux LVM

    Disk /dev/mapper/vg_rxf-lv_root: 18.9 GB, 18865979392 bytes
    255 heads, 63 sectors/track, 2293 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000


    Disk /dev/mapper/vg_rxf-lv_swap: 2080 MB, 2080374784 bytes
    255 heads, 63 sectors/track, 252 cylinders
    Units = cylinders of 16065 * 512 = 8225280 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          64      512000   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              64        2611    20458496   8e  Linux LVM
3、创建分区sda3

$ fdisk /dev/sda

根据命令提示创建分区


    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
            switch off the mode (command 'c') and change display units to
            sectors (command 'u').

    Command (m for help): n  #输入n表示创建新分区
    Command action
    e   extended
    p   primary partition (1-4)
    p       #输入p
    Partition number (1-4): 3 #输入3,表示sda3,前面已经有2个了
    First cylinder (2611-3916, default 2611): #回车,默认值
    Using default value 2611
    Last cylinder, +cylinders or +size{K,M,G} (2611-3916, default 3916):   #回车,默认值
    Using default value 3916

    Command (m for help): w #输入w保存,退出
    The partition table has been altered!

    Calling ioctl() to re-read partition table.

    WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
    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.

再查看分区情况

$ fdisk -l

情况如下:

    Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          64      512000   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              64        2611    20458496   8e  Linux LVM
    /dev/sda3            2611        3916    10483750   83  Linux

这时分区已经变成3个了,但是还没有挂载,还不能用。

4、重启操作系统

$ reboot

5、格式化新分区ext3

$ mkfs -t ext3 /dev/sda3

    mke2fs 1.41.12 (17-May-2010)
    文件系统标签=
    操作系统:Linux
    块大小=4096 (log=2)
    分块大小=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    655360 inodes, 2620937 blocks
    131046 blocks (5.00%) reserved for the super user
    第一个数据块=0
    Maximum filesystem blocks=2684354560
    80 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

    正在写入inode表: 完成                            
    Creating journal (32768 blocks): 完成
    Writing superblocks and filesystem accounting information: 完成

    This filesystem will be automatically checked every 29 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
6、将物理硬盘分区初始化为物理卷,以便LVM使用,输入指令

$ lvs

    LV      VG     Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
    lv_root vg_rxf -wi-ao---- 17.57g                                             
    lv_swap vg_rxf -wi-ao----  1.94g  

输入指令:

$ pvcreate /dev/sda3

Physical volume "/dev/sda3" successfully created
7、向卷组中添加物理卷来增加容量

输入df -h 查看lvm组名

$ df -h

    Filesystem                  Size  Used Avail Use% Mounted on
    /dev/mapper/vg_rxf-lv_root   18G   18G  112M 100% /
    tmpfs                       931M  4.0K  931M   1% /dev/shm
    /dev/sda1                   485M   35M  425M   8% /boot

其中vg_rxf为根所在组名.
输入指令,增加卷组的容量

$ vgextend vg_rxf /dev/sda3

  Volume group "vg_rxf" successfully extended
8、查看可以扩展的空间大小

$ vgdisplay

    --- Volume group ---
    VG Name               vg_rxf
    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               29.50 GiB
    PE Size               4.00 MiB
    Total PE              7553
    Alloc PE / Size       4994 / 19.51 GiB
    Free  PE / Size       2559 / 10.00 GiB
    VG UUID               KFyuD1-cj5n-cukx-z1Zf-Gg2T-IQLT-v6BD4N

Free PE / Size 就是可以提供分配的自由空间,最多10.00 GiB,在扩展时输入小于该值

9、扩充磁盘空间

$ lvextend -L+9G /dev/mapper/vg_rxf-lv_root /dev/sda3

    Extending logical volume lv_root to 26.57 GiB
    Logical volume lv_root successfully resized
10、使用e2fsck指令查看检测文件系统错误

$ e2fsck -a /dev/mapper/vg_rxf-lv_root

    /dev/mapper/vg_rxf-lv_root is mounted.
    e2fsck: 无法继续, 中止.
11、查看分区文件系统

$ df -T

    文件系统                类型        1K-块     已用     可用 已用% 挂载点
    devtmpfs                devtmpfs   751236        0   751236    0% /dev
    tmpfs                   tmpfs      763080        4   763076    1% /dev/shm
    tmpfs                   tmpfs      763080     9756   753324    2% /run
    tmpfs                   tmpfs      763080        0   763080    0% /sys/fs/cgroup
    /dev/mapper/centos-root xfs      37734400 16848316 20886084   45% /
    /dev/sda1               xfs       1038336   166076   872260   16% /boot
    tmpfs                   tmpfs      152620        0   152620    0% /run/user/0

若为xfs系统

$ xfs_growfs /dev/mapper/centos-root

    meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=1113856 blks
            =                       sectsz=512   attr=2, projid32bit=1
            =                       crc=1        finobt=0 spinodes=0
    data     =                       bsize=4096   blocks=4455424, 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 4455424 to 9436160

否则

$ resize2fs /dev/mapper/vg_rxf-lv_root

    Filesystem at /dev/mapper/vg_rxf-lv_root is mounted on /; on-line resizing required
    old desc_blocks = 2, new_desc_blocks = 2
    Performing an on-line resize of /dev/mapper/vg_rxf-lv_root to 6965248 (4k) blocks.
    The filesystem on /dev/mapper/vg_rxf-lv_root is now 6965248 blocks long.
12、查看扩展空间后的结果

$ df -h

    devtmpfs                 734M     0  734M    0% /dev
    tmpfs                    746M  4.0K  746M    1% /dev/shm
    tmpfs                    746M  9.6M  736M    2% /run
    tmpfs                    746M     0  746M    0% /sys/fs/cgroup
    /dev/mapper/centos-root   36G   17G   20G   45% /
    /dev/sda1               1014M  163M  852M   16% /boot
    tmpfs                    150M     0  150M    0% /run/user/0

可以看到,磁盘已扩展成功!


http://www.kler.cn/a/399419.html

相关文章:

  • STM32设计井下瓦斯检测联网WIFI加Zigbee多路节点协调器传输
  • Nginx server_name配置错误导致路由upstream超时问题
  • 李秀贤主演警匪片《蓝色霹雳火》
  • 【操作系统实验课】Makefile与编译
  • 24-Ingest Pipeline Painless Script
  • Scratch 014生日贺卡(上)
  • SpringMVC学习笔记(一)
  • 23种设计模式的Flutter实现第一篇创建型模式(一)
  • 号卡分销系统,号卡系统,物联网卡系统源码安装教程
  • Tomcat 与 Servlet 的关系:传统与 Spring Boot 中的差异
  • 「人眼视觉不再是视频消费的唯一形式」丨智能编解码和 AI 视频生成专场回顾@RTE2024
  • Kafka 与 RabbitMQ 的联系
  • 基于YOLOv8深度学习的智慧城市管理井盖状态检测系统(PyQt5界面+数据集+训练代码)
  • Python 网络爬虫入门教程
  • 15分钟学 Go 实战项目五 :简单电子商务网站(3W字完整例子)
  • 足球青训俱乐部管理后台系统(程序+数据库+报告)
  • Spring Boot 2.x 和 Druid 多数据源整合 dm
  • 【C语言】科技要闻。
  • 构建SSH僵尸网络
  • 什么是 C++ 内联函数?它的作用是什么?内联函数与普通函数有什么区别?如何定义和使用内联函数?
  • QSS 设置bug
  • 【资料】网络安全风险评估报告,风险管理报告,网络安全风险管理计划,网络安全网络安全能力验证报(Word原件)
  • 当API遇上“交通堵塞”:处理API限制的艺术
  • C++ 编程基础(7)内存模型 | 7.1、内存类型
  • Go语言24小时极速学习教程(五)Go语言中的SpringMVC框架——Gin
  • 已有账号,重装系统激活office后发现没有ppt,word,excel等