Linux硬盘知识(三)-硬盘的扩容与缩减

  提示:Ubuntu Server大部分分区的缩减需要挂载到另一个Ubuntu。

一、Boot或EFI盘的扩容与缩减

  挂载到另一个Ubuntu使用工具gparted对Boot或EFI盘进行操作。

二、LVM逻辑盘扩张与缩减(LVM一般包括"根目录"与"swap"逻辑)

1、扩张

  不需要挂载到另一个Ubuntu;详见:https://blog.csdn.net/qq_36199640/article/details/102611611https://www.cnblogs.com/zq6041/p/6859268.html

2、缩减(这里介绍最难的根分区的缩减

  挂载到另一个Ubuntu,再缩减分区

    apt install lvm2

    sudo pvs

    #1.
    root@ubuntu:/# apt install lvm2
    正在读取软件包列表... 完成
    。。。    
    将会同时安装下列软件:
      dmeventd libaio1 libdevmapper-event1.02.1 liblvm2cmd2.03 libreadline5
      thin-provisioning-tools
    下列【新】软件包将被安装:
      dmeventd libaio1 libdevmapper-event1.02.1 liblvm2cmd2.03 libreadline5 lvm2
      thin-provisioning-tools
      。。。
    您希望继续执行吗? [Y/n] y
    获取:1 http://mirrors.aliyun.com/ubuntu focal/main amd64 libdevmapper-event1.02.1 amd64 2:1.02.167-1ubuntu1 [11.9 kB]
    。。。
    正在处理用于 initramfs-tools (0.136ubuntu6.2) 的触发器 ...
    update-initramfs: Generating /boot/initrd.img-5.4.0-42-generic
    -----
    #2.
    root@ubuntu:/# sudo pvs
      PV         VG                Fmt  Attr PSize   PFree
      /dev/sdb3  XiakeAdbServer-vg lvm2 a--  111.01g    0 
    -----
    #3.
    root@ubuntu:/# sudo lvdisplay XiakeAdbServer-vg或
    直接lvdisplay就行。
    
      --- Logical volume ---
      LV Path                /dev/XiakeAdbServer-vg/root
      LV Name                root
      VG Name                XiakeAdbServer-vg
      LV UUID                VBfWqs-QHyx-4xT5-YwCk-rzxC-7BZK-5pmeKu
      LV Write Access        read/write
      LV Creation host, time XiakeAdbServer, 2016-02-21 02:39:48 -0800
      LV Status              NOT available
      LV Size                107.35 GiB
      Current LE             27482
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
    
      --- Logical volume ---
      LV Path                /dev/XiakeAdbServer-vg/swap_1
      LV Name                swap_1
      VG Name                XiakeAdbServer-vg
      LV UUID                8z2RRy-vsKL-ZUxN-KUq1-yCNj-9dM9-VA0fJm
      LV Write Access        read/write
      LV Creation host, time XiakeAdbServer, 2016-02-21 02:39:48 -0800
      LV Status              NOT available
      LV Size                3.66 GiB
      Current LE             937
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
    -----
    #4.
    root@ubuntu:/# 
    1 sudo mkdir /home/cdrom
    2 sudo mount /dev/XiakeAdbServer-vg/root /home/cdrom
    
    mount /home/root1/cdrom: 特殊设备 /dev/XiakeAdbServer-vg/root 不存在.
    
    (我怎么挂上他的lv盘)
    fdisk -l
    设备       启动    起点      末尾      扇区   大小 Id 类型
    /dev/sdb1          2048   1101037   1098990 536.6M  b W95 FAT32
    /dev/sdb2       1101824   1601535    499712   244M  1 FAT12
    /dev/sdb3       1603584 234418175 232814592   111G  1 FAT12
    
    root@ubuntu:/# lsblk
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    loop0    7:0    0    55M  1 loop /snap/core18/1880
    loop1    7:1    0 255.6M  1 loop /snap/gnome-3-34-1804/36
    loop2    7:2    0  49.8M  1 loop /snap/snap-store/467
    loop3    7:3    0  62.1M  1 loop /snap/gtk-common-themes/1506
    loop4    7:4    0  29.9M  1 loop /snap/snapd/8542
    loop5    7:5    0  55.4M  1 loop /snap/core18/1944
    sda      8:0    0    20G  0 disk 
    ├─sda1   8:1    0   512M  0 part /boot/efi
    ├─sda2   8:2    0     1K  0 part 
    └─sda5   8:5    0  19.5G  0 part /
    sdb      8:16   0   121G  0 disk 
    ├─sdb1   8:17   0 536.6M  0 part 
    ├─sdb2   8:18   0   244M  0 part 
    └─sdb3   8:19   0   111G  0 part 
    sr0     11:0    1  1024M  0 rom
    -----
    root@ubuntu:/# find / -name XiakeAdbServer-vg
    /etc/lvm/backup/XiakeAdbServer-vg
    find: ‘/run/user/1000/doc’: 权限不够
    find: ‘/run/user/1000/gvfs’: 权限不够
    -----
    root@zhang-MS-7B79:/etc# vgchange -a y XiakeAdbServer-vg
      2 logical volume(s) in volume group "XiakeAdbServer-vg" now active
    -----
    root@zhang-MS-7B79:/etc# find / -name XiakeAdbServer-vg
    find: ‘/run/user/1000/doc’: 权限不够
    find: ‘/run/user/1000/gvfs’: 权限不够
    /run/lvm/vgs_online/XiakeAdbServer-vg
    /dev/XiakeAdbServer-vg
    /etc/lvm/backup/XiakeAdbServer-vg
    -----
    sudo mount /dev/XiakeAdbServer-vg/root /home/cdrom
    -----
    确认加载正常
    root@ubuntu:/home/cdrom# ls
    bin   data  etc   lib    lost+found  mnt        opt   root  sbin  sys  usr
    boot  dev   home  lib64  media       nohup.out  proc  run   srv   tmp  var
    -----
    6.确认硬盘信息
    root@ubuntu:/home/cdrom# df -h
    文件系统                             容量  已用  可用 已用% 挂载点
    udev                                 1.9G     0  1.9G    0% /dev
    tmpfs                                391M  1.9M  389M    1% /run
    /dev/sda5                             20G  7.4G   11G   41% /
    tmpfs                                2.0G     0  2.0G    0% /dev/shm
    tmpfs                                5.0M  4.0K  5.0M    1% /run/lock
    tmpfs                                2.0G     0  2.0G    0% /sys/fs/cgroup
    /dev/loop0                            55M   55M     0  100% /snap/core18/1880
    /dev/loop1                           256M  256M     0  100% /snap/gnome-3-34-1804/36
    /dev/loop2                            50M   50M     0  100% /snap/snap-store/467
    /dev/loop3                            63M   63M     0  100% /snap/gtk-common-themes/1506
    /dev/loop4                            30M   30M     0  100% /snap/snapd/8542
    /dev/sda1                            511M  4.0K  511M    1% /boot/efi
    tmpfs                                391M   44K  391M    1% /run/user/1000
    /dev/loop5                            56M   56M     0  100% /snap/core18/1944
    /dev/mapper/XiakeAdbServer--vg-root  106G  1.8G   99G    2% /home/cdrom
    
    7.卸载/home/cdrom(root用户下)
    sudo umount /home/cdrom
    
    umount target is busy对策:
    终止占用进程
    root@ubuntu:/home/cdrom# fuser -mv /home/cdrom
                         用户     进程号 权限   命令
    /home/cdrom:         root     kernel mount /home/cdrom
                         root       3921 ..c.. bash
    kill -9 3921
    -----
    8.检查文件系统( e2fsck )
    root@ubuntu:/home/root1# e2fsck -f /dev/mapper/XiakeAdbServer--vg-root
    e2fsck 1.45.5 (07-Jan-2020)
    第 1 步:检查inode、块和大小
    第 2 步:检查目录结构
    第 3 步:检查目录连接性
    第 4 步:检查引用计数
    第 5 步:检查组概要信息
    /dev/mapper/XiakeAdbServer--vg-root:69604/7036928 文件(0.2% 为非连续的), 945517/28141568 块
    -----
    9.缩小文件系统 ( resize2fs )
    resize2fs -p /dev/mapper/XiakeAdbServer--vg-root 4G(打印已完成的百分比进度条)或者
    resize2fs -f /dev/mapper/XiakeAdbServer--vg-root 4G(强制执行)
    
    root@ubuntu:/home/root1# resize2fs -p /dev/mapper/XiakeAdbServer--vg-root 4G
    resize2fs 1.45.5 (07-Jan-2020)
    将 /dev/mapper/XiakeAdbServer--vg-root 上的文件系统调整为 1048576 个块(每块 4k)。
    开始第 2 步(共 192630 步)
    正在重定位块            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    开始第 3 步(共 859 步)
    正在扫描inode表          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    开始第 4 步(共 10332 步)
    正在更新inode引用       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    /dev/mapper/XiakeAdbServer--vg-root 上的文件系统现在为 1048576 个块(每块 4k)。
    -----
    10.缩小LV大小( lvreduce )
    lvreduce -L 4G /dev/mapper/XiakeAdbServer--vg-root
    
    root@ubuntu:/home/root1# lvreduce -L 4G /dev/mapper/XiakeAdbServer--vg-root
      WARNING: Reducing active logical volume to 4.00 GiB.
      THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce XiakeAdbServer-vg/root? [y/n]: y
      Size of logical volume XiakeAdbServer-vg/root changed from 107.35 GiB (27482 extents) to 4.00 GiB (1024 extents).
      Logical volume XiakeAdbServer-vg/root successfully resized.
    
    11.查看当前 LV 大小-lvs
    
    root@ubuntu:/home/root1# lvs
      LV     VG                Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      root   XiakeAdbServer-vg -wi-a----- 4.00g                                                    
      swap_1 XiakeAdbServer-vg -wi-a----- 3.66g 
    
    12. 重新挂载文件系统,查看
    sudo mount /dev/XiakeAdbServer-vg/root /home/cdrom
    df -h
    oot@ubuntu:/home/root1# df -h
    文件系统                             容量  已用  可用 已用% 挂载点
    udev                                 1.9G     0  1.9G    0% /dev
    tmpfs                                391M  1.9M  389M    1% /run
    /dev/sda5                             20G  7.4G   11G   41% /
    tmpfs                                2.0G     0  2.0G    0% /dev/shm
    tmpfs                                5.0M  4.0K  5.0M    1% /run/lock
    tmpfs                                2.0G     0  2.0G    0% /sys/fs/cgroup
    /dev/loop0                            55M   55M     0  100% /snap/core18/1880
    /dev/loop1                           256M  256M     0  100% /snap/gnome-3-34-1804/36
    /dev/loop2                            50M   50M     0  100% /snap/snap-store/467
    /dev/loop3                            63M   63M     0  100% /snap/gtk-common-themes/1506
    /dev/loop4                            30M   30M     0  100% /snap/snapd/8542
    /dev/sda1                            511M  4.0K  511M    1% /boot/efi
    tmpfs                                391M   48K  391M    1% /run/user/1000
    /dev/loop5                            56M   56M     0  100% /snap/core18/1944
    /dev/mapper/XiakeAdbServer--vg-root  3.9G  1.8G  1.9G   50% /home/cdrom
    
    root@ubuntu:/home/root1# lsblk
    NAME                     MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    loop0                      7:0    0    55M  1 loop /snap/core18/1880
    loop1                      7:1    0 255.6M  1 loop /snap/gnome-3-34-1804/36
    loop2                      7:2    0  49.8M  1 loop /snap/snap-store/467
    loop3                      7:3    0  62.1M  1 loop /snap/gtk-common-themes/1506
    loop4                      7:4    0  29.9M  1 loop /snap/snapd/8542
    loop5                      7:5    0  55.4M  1 loop /snap/core18/1944
    sda                        8:0    0    20G  0 disk 
    ├─sda1                     8:1    0   512M  0 part /boot/efi
    ├─sda2                     8:2    0     1K  0 part 
    └─sda5                     8:5    0  19.5G  0 part /
    sdb                        8:16   0   121G  0 disk 
    ├─sdb1                     8:17   0 536.6M  0 part 
    ├─sdb2                     8:18   0   244M  0 part 
    └─sdb3                     8:19   0   111G  0 part 
      ├─XiakeAdbServer--vg-root
      │                      253:0    0     4G  0 lvm  /home/cdrom
      └─XiakeAdbServer--vg-swap_1
                             253:1    0   3.7G  0 lvm  
    sr0                       11:0    1  1024M  0 rom  
    
    13.卸载 XiakeAdbServer--vg-root
    sudo umount /home/cdrom

14.调整物理分区

1)安装sudo apt-get install gparted,调整物理分区

2)拖动调整后,报错:

错误信息:cannot resize to 1962 extents as later ones are allocated.

说明我们去掉的分区里有数据

    root@ubuntu:/home/root1# sudo pvs
    PV VG Fmt Attr PSize PFree
    /dev/sdb3 XiakeAdbServer-vg lvm2 a-- 111.01g 103.35g

    root@ubuntu:/home/root1# sudo pvs -v --segments /dev/sdb3
    PV VG Fmt Attr PSize PFree Start SSize LV Start Type PE Ranges
    /dev/sdb3 XiakeAdbServer-vg lvm2 a-- 111.01g 103.35g 0 1024 root 0 linear /dev/sdb3:0-1023
    /dev/sdb3 XiakeAdbServer-vg lvm2 a-- 111.01g 103.35g 1024 26458 0 free
    /dev/sdb3 XiakeAdbServer-vg lvm2 a-- 111.01g 103.35g 27482 937 swap_1 0 linear /dev/sdb3:27482-28418

可以看出:free空闲分区在root与swap_1之间,我们需要swap_1移到前面去:

  sudo pvmove --alloc anywhere /dev/sdb3:27482-28418

等半分钟,sudo pvs -v --segments /dev/sdb3如果是下面的情况

  oot@ubuntu:/home/root1# sudo pvs -v --segments /dev/sdb3
  PV         VG                Fmt  Attr PSize   PFree  Start SSize LV        Start Type   PE Ranges                                
  /dev/sdb3  XiakeAdbServer-vg lvm2 a--  111.01g 99.69g     0  1024 root          0 linear /dev/sdb3:0-1023                         
  /dev/sdb3  XiakeAdbServer-vg lvm2 a--  111.01g 99.69g  1024   937 [pvmove0]     0 mirror /dev/sdb3:27482-28418 /dev/sdb3:1024-1960
  /dev/sdb3  XiakeAdbServer-vg lvm2 a--  111.01g 99.69g  1961 25521               0 free                                            
  /dev/sdb3  XiakeAdbServer-vg lvm2 a--  111.01g 99.69g 27482   937 [pvmove0]     0 mirror /dev/sdb3:27482-28418 /dev/sdb3:1024-1960

找不到swap_1,但是出现了两个[pvmove0]的盘,说明还在移动。当出现:

  root@ubuntu:/home/root1# sudo pvs -v --segments /dev/sdb3
  PV         VG                Fmt  Attr PSize   PFree   Start SSize LV     Start Type   PE Ranges          
  /dev/sdb3  XiakeAdbServer-vg lvm2 a--  111.01g 103.35g     0  1024 root       0 linear /dev/sdb3:0-1023   
  /dev/sdb3  XiakeAdbServer-vg lvm2 a--  111.01g 103.35g  1024   937 swap_1     0 linear /dev/sdb3:1024-1960
  /dev/sdb3  XiakeAdbServer-vg lvm2 a--  111.01g 103.35g  1961 26458            0 free                      

说明移动完成。

3)再次执行‘1)’

4)完成

 

三、参照:

  https://jingyan.baidu.com/article/eb9f7b6d801daf869364e83a.html

  https://www.cnblogs.com/zq6041/p/6859268.html

  https://www.cnblogs.com/useradd/p/10005207.html等文章

四、补充:

Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 4.2.0-27-generic x86_64)

启动项root@XServer:~# sudo ls -al /sbin | grep init

-rwxr-xr-x 1 root root 265848 7月 18 2014 init

-rwxr-xr-x 1 root root 193512 7月 18 2014 initctl

lrwxrwxrwx 1 root root 7 7月 18 2014 reload -> initctl

lrwxrwxrwx 1 root root 7 7月 18 2014 restart -> initctl

lrwxrwxrwx 1 root root 7 7月 18 2014 start -> initctl

lrwxrwxrwx 1 root root 7 7月 18 2014 status -> initctl

lrwxrwxrwx 1 root root 7 7月 18 2014 stop -> initctl

-rwxr-xr-x 1 root root 104728 7月 18 2014 telinit

硬盘:

fd -h

udev 1.9G 4.0K 1.9G 1% /dev

tmpfs 383M 648K 382M 1% /run

/dev/dm-0 106G 2.3G 98G 3% /

none 4.0K 0 4.0K 0% /sys/fs/cgroup

none 5.0M 0 5.0M 0% /run/lock

none 1.9G 4.0K 1.9G 1% /run/shm

none 100M 0 100M 0% /run/user

/dev/sda2 237M 49M 177M 22% /boot

/dev/sda1 536M 3.4M 533M 1% /boot/efi

现在:

  略(迁移到博客园前的原文件找不到这段了)

posted @ 2023-04-16 13:16  ꧁执笔小白꧂  阅读(238)  评论(0编辑  收藏  举报