Skip to content

linux 磁盘空间扩展

说明

LVM 管理工具

功能物理卷管理卷组管理逻辑卷管理
扫描pvscanvgscanlvscan
创建pvcreatevgcreatelvcreate
显示pvdisplayvgdisplaylvdisplay
删除pvremovevgremovelvremove
扩展vgextendlvextend

1, 查看磁盘空间

bash
[root@localhost ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             7.6G     0  7.6G    0% /dev
tmpfs                7.6G     0  7.6G    0% /dev/shm
tmpfs                7.6G   35M  7.6G    1% /run
tmpfs                7.6G     0  7.6G    0% /sys/fs/cgroup
/dev/mapper/cl-root   70G  6.9G   64G   10% /
/dev/sda2           1014M  313M  702M   31% /boot
/dev/mapper/cl-home  121G  908M  120G    1% /home
/dev/sda1            599M  7.3M  592M    2% /boot/efi
tmpfs                1.6G   44K  1.6G    1% /run/user/1000

2,卸载/home

说明

  • 为了安全起见,先卸载/home

  • /home 里面是用户的数据,卸载后,用户的数据就会丢失

  • 如果不想丢失数据,可以先备份数据,然后再卸载

  • 如果有人正在使用/home,卸载会失败

  • w命令可以查看有哪些用户在线

bash
[root@localhost ~]# w
21:29:01 up 42 days, 20:52,  2 users,  load average: 0.06, 0.02, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
admin    tty2     tty2             121月23 42days  2:44m  0.01s /usr/libexec/gsd-disk-utility-notify
root     pts/0    192.168.0.177    21:16    0.00s  0.10s  0.03s w
  • 强制退出某个用户 pkill -kill -t tty2
bash
[root@localhost ~]# umount /home

3,删除/home 逻辑卷

/home 的逻辑卷是在 /dev/mapper/cl-home

bash

[root@localhost ~]# lvremove /dev/mapper/cl-home
Do you really want to remove active logical volume cl/home? [y/n]: y
  Logical volume "home" successfully removed.

4,扩展 /root 逻辑卷

/root 的逻辑卷是在 /dev/mapper/cl-root

bash

[root@localhost /]# lvextend -L +30G /dev/mapper/cl-root
  Size of logical volume cl/root changed from 70.00 GiB (17920 extents) to 100.00 GiB (25600 extents).
  Logical volume cl/root successfully resized.

5,扩展 /root 文件系统

#使用xfs_growfs命令扩展xfs文件系统,如果是ext4文件系统,则使用resize2fs /dev/mapper/cl-root

bash

[root@localhost /]# xfs_growfs /dev/mapper/cl-root
meta-data=/dev/mapper/cl-root    isize=512    agcount=4, agsize=4587520 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=18350080, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=8960, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 18350080 to 26214400

6,查看磁盘空间

已经扩展到 100G

bash
[root@localhost /]# df -Th
文件系统            类型      容量  已用  可用 已用% 挂载点
devtmpfs            devtmpfs  7.6G     0  7.6G    0% /dev
tmpfs               tmpfs     7.6G     0  7.6G    0% /dev/shm
tmpfs               tmpfs     7.6G   35M  7.6G    1% /run
tmpfs               tmpfs     7.6G     0  7.6G    0% /sys/fs/cgroup
/dev/mapper/cl-root xfs       100G  7.1G   93G    8% /
/dev/sda2           xfs      1014M  313M  702M   31% /boot
/dev/sda1           vfat      599M  7.3M  592M    2% /boot/efi
tmpfs               tmpfs     1.6G   16K  1.6G    1% /run/user/42

7,查看物理卷

可以看到,/dev/sda3 的空间还有 90G,用于创建新的逻辑卷

bash

[root@localhost /]# pvs
  PV         VG Fmt  Attr PSize   PFree  
  /dev/sda3  cl lvm2 a--  198.41g <90.71

8, 创建新的逻辑卷

创建新的逻辑卷,大小为 90G

bash

[root@localhost /]# lvcreate -L 90G -n newhome cl
  Logical volume "newhome" created.

9,查看逻辑卷

bash

[root@localhost /]# lvs
  LV      VG Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  newhome cl -wi-a-----  90.00g                                                    
  root    cl -wi-ao---- 100.00g                                                    
  swap    cl -wi-ao----   7.70g

10,查看 newhome 逻辑卷信息

可以看到,newhome 逻辑卷的路径是 /dev/cl/newhome

bash

[root@localhost /]# lvdisplay 
  ...
  --- Logical volume ---
  LV Path                /dev/cl/newhome
  LV Name                newhome
  VG Name                cl
  LV UUID                eaHeN9-w5O4-VJoo-KAQR-LqKF-6lA0-b3NSFQ
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2023-02-23 21:56:20 -0500
  LV Status              available
  # open                 0
  LV Size                90.00 GiB
  Current LE             23040
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

11,格式化 newhome 逻辑卷

格式化为 xfs 文件系统

bash

[root@localhost /]# mkfs.xfs /dev/cl/newhome
meta-data=/dev/cl/newhome        isize=512    agcount=4, agsize=5898240 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=23592960, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=11520, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

12,创建挂载点

bash

[root@localhost /]# mkdir /home

13,挂载 newhome 逻辑卷

bash

[root@localhost /]# mount /dev/cl/newhome /home

14,修改系统文件 /etc/fstab

添加 /home 的挂载信息

bash


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

/dev/mapper/cl-root /                       xfs     defaults        1 1
UUID=3f0d9f0a-3b5f-4b5a-9b5a-8b5a8b5a8b5a /boot                   xfs     defaults        1 2
UUID=3f0d9f0a-3b5f-4b5a-9b5a-8b5a8b5a8b5a /boot/efi               vfat    umask=0077      0 2
/dev/mapper/cl-swap swap                    swap    defaults        0 0
/dev/cl/newhome /home xfs defaults 0 0

15,保存后,重启系统

bash

[root@localhost /]# reboot

16,查看挂载信息

可以看到,/home 已经挂载到 /dev/cl/newhome

bash

[root@localhost ~]# df -h
文件系统                容量  已用  可用 已用% 挂载点
devtmpfs                7.6G     0  7.6G    0% /dev
tmpfs                   7.6G     0  7.6G    0% /dev/shm
tmpfs                   7.6G   18M  7.6G    1% /run
tmpfs                   7.6G     0  7.6G    0% /sys/fs/cgroup
/dev/mapper/cl-root     100G  7.1G   93G    8% /
/dev/mapper/cl-newhome   90G  675M   90G    1% /home
/dev/sda2              1014M  341M  674M   34% /boot
/dev/sda1               599M  7.3M  592M    2% /boot/efi
tmpfs                   1.6G   44K  1.6G    1% /run/user/

杨利伟的博客