linux磁盘管理,挂载分区管理,磁盘分区扩容缩容管理,详细教程(代码片段)

the丶only the丶only     2023-02-22     253

关键词:

一、Linux磁盘基本信息查看命令

df -h 查看已经在使用或挂载的磁盘信息。查看的是文件系统的大小

ubuntu@ubuntu:~$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               1.9G     0  1.9G   0% /dev
tmpfs                              391M  1.5M  390M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   19G  6.8G   11G  39% /
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/loop1                          71M   71M     0 100% /snap/lxd/21029
/dev/sda2                          976M  107M  803M  12% /boot
/dev/loop0                          62M   62M     0 100% /snap/core20/1242
/dev/loop2                          56M   56M     0 100% /snap/core18/2253
/dev/loop4                          33M   33M     0 100% /snap/snapd/12704
/dev/loop3                          56M   56M     0 100% /snap/core18/2128
/dev/loop5                          43M   43M     0 100% /snap/snapd/14066
/dev/loop6                          68M   68M     0 100% /snap/lxd/21835
tmpfs                              391M     0  391M   0% /run/user/1000
/dev/sdb2                          1.8G  5.6M  1.7G   1% /mnt

关键重要的系统分区挂载:

/dev/mapper/ubuntu--vg-ubuntu--lv   19G  6.8G   11G  39% /
/dev/sda2                          976M  107M  803M  12% /boot

lsblk 查看所有存在的磁盘及分区(不管使用挂载是否),查看的是磁盘的大小
在此sda为默认磁盘,系统也在这块磁盘之中,操作需谨慎在谨慎,尤其是sda3分区。

ubuntu@ubuntu:~$ lsblk 
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0                       7:0    0 61.9M  1 loop /snap/core20/1242
loop1                       7:1    0 70.3M  1 loop /snap/lxd/21029
loop2                       7:2    0 55.5M  1 loop /snap/core18/2253
loop3                       7:3    0 55.4M  1 loop /snap/core18/2128
loop4                       7:4    0 32.3M  1 loop /snap/snapd/12704
loop5                       7:5    0 42.2M  1 loop /snap/snapd/14066
loop6                       7:6    0 67.2M  1 loop /snap/lxd/21835
sda                         8:0    0   20G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
└─sda3                      8:3    0   19G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0   19G  0 lvm  /
sdb                         8:16   0   20G  0 disk 
├─sdb1                      8:17   0   99M  0 part 
└─sdb2                      8:18   0  1.9G  0 part /mnt

lsblk -f查看磁盘分区格式,有格式才能挂载成功。

ubuntu@ubuntu:~$ lsblk -f
NAME                      FSTYPE      LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINT
loop0                     squashfs                                                       0   100% /snap/core20/1242
loop1                     squashfs                                                       0   100% /snap/lxd/21029
loop2                     squashfs                                                       0   100% /snap/core18/2253
loop3                     squashfs                                                       0   100% /snap/core18/2128
loop4                     squashfs                                                       0   100% /snap/snapd/12704
loop5                     squashfs                                                       0   100% /snap/snapd/14066
loop6                     squashfs                                                       0   100% /snap/lxd/21835
sda                                                                                               
├─sda1                                                                                            
├─sda2                    ext4              d5001b8f-61a9-4256-a0b9-a80655679a94    802.7M    11% /boot
└─sda3                    LVM2_member       AHD2gO-JnY7-HtBk-fazX-yTYH-9oBh-venh4n                
  └─ubuntu--vg-ubuntu--lv ext4              e5f6d371-d930-4ff3-a798-b01e0ba04d9a     10.9G    36% /
sdb                                                                                               
├─sdb1                    ext4              ae939992-ca1f-4acc-878e-500f6ce2371b                  
└─sdb2                    ext4              e9278c58-39b8-4825-99f6-d055ca818ad0      1.7G     0% /mnt

分区无格式的,通过以下命令格式化分区格式。

#格式化/dev/sdb2为ext4格式。
sudo mkfs.ext4 /dev/sdb2
#或者
sudo mkfs -t ext4 /dev/sdb2

二、添加新硬盘直接挂载,或分区后挂载

1:直接挂载整个硬盘

添加一块新硬盘,注:是添加一块新硬盘,不是扩容硬盘。
添加后的硬盘名字信息为:sdb,sbc,sdd…以此类推。
如这里添加一块sdb,没有任何操作,是没法挂载。

ubuntu@ubuntu:~$ lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0                       7:0    0 61.9M  1 loop /snap/core20/1242
loop1                       7:1    0 70.3M  1 loop /snap/lxd/21029
loop2                       7:2    0 55.5M  1 loop /snap/core18/2253
loop3                       7:3    0 55.4M  1 loop /snap/core18/2128
loop4                       7:4    0 32.3M  1 loop /snap/snapd/12704
loop5                       7:5    0 42.2M  1 loop /snap/snapd/14066
loop6                       7:6    0 67.2M  1 loop /snap/lxd/21835
sda                         8:0    0   20G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
└─sda3                      8:3    0   19G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0   19G  0 lvm  /
sdb                         8:16   0   20G  0 disk 

格式化,挂载。

#格式化硬盘
sudo mkfs.ext4 /dev/sdb
#挂载硬盘
sudo mount /dev/sdb /mnt/
#查看挂载信息
df -h
ubuntu@ubuntu:~$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               1.9G     0  1.9G   0% /dev
tmpfs                              391M  1.5M  390M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   19G  6.8G   11G  39% /
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/loop1                          71M   71M     0 100% /snap/lxd/21029
/dev/sda2                          976M  107M  803M  12% /boot
/dev/loop0                          62M   62M     0 100% /snap/core20/1242
/dev/loop2                          56M   56M     0 100% /snap/core18/2253
/dev/loop4                          33M   33M     0 100% /snap/snapd/12704
/dev/loop3                          56M   56M     0 100% /snap/core18/2128
/dev/loop5                          43M   43M     0 100% /snap/snapd/14066
/dev/loop6                          68M   68M     0 100% /snap/lxd/21835
tmpfs                              391M     0  391M   0% /run/user/1000
/dev/sdb                            20G   45M   19G   1% /mnt

最简单的方式,挂载成功,完成。

2:硬盘分区后挂载分区

注:分区前,确保此硬盘没有重要数据,或者数据已备份。

先取消挂载,取消挂载后分区。不取消挂载,也可以分区,但是一旦分区保存完成,此硬盘格式为无格式状态,虽然你还可以在原来挂载目录操作,但机器重启后,挂载自动取消,无法在挂载整个硬盘上去,原整个硬盘数据也全部没有了。分区也只有硬盘取消挂载的情况下,格式化分区才生效,同时才能挂载上去。

sudo umount /mnt/

分区命令为fdiskfdisk -l可查看所有已分区

#对sdb硬盘分区
sudo fdisk /dev/sdb 

相关操作参数输入:

#输入m查看命令操作
Command (m for help): m
#输入n添加新分区
Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
#输入P,类型主分区,只能4个主分区,扩展分区一般作用多为创建逻辑分区。扩展分区无法直接被使用的。
Select (default p): p
#主分区号码,默认即可,从1到4的顺序
Partition number (1-4, default 1): 
#分区开始扇区,默认2048,不要小于2048,否则有些功能异常,不支持2048以下
First sector (2048-41943039, default 2048): 2048
#接受扇区,即多大空间的分区,自己换算,这里20000000大概为9.5G左右。
Last sector, +/-sectors or +/-sizeK,M,G,T,P (2048-41943039, default 41943039): 20000000

Created a new partition 1 of type 'Linux' and of size 9.5 GiB.
#w保存分区
Command (m for help): w
The partition table has been altered.
Syncing disks.
#p打印显示已存在分区
Command (m for help): p
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfc5ea7ec

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdb1        2048 20000000 19997953  9.5G 83 Linux
#q退出

有些系统需要重启生效,可以不重启生效的命令

#更新内核分区表
sudo partprobe

分区后的名称,以此类推为sdb1,sdb2,sdb3,sdb4…
格式化,挂载分区

sudo mkfs.ext4 /dev/sdb1
sudo mount /dev/sdb1 /mnt/

分区挂载完成,可以操作写入数据了

3:注意事项(扩展)

注:请不要在分区下(如sdb1,sdb2),在创建子分区。虽然创建出来分区有名称类似sdb2p1,sdb2p2,sdb2p3,sdb2p4的名称,保存也成功,但是系统不识别sudo fdisk -l,或者lsblk,都查看不到,没有生效。唯一的作用就是将此分区,格式变成无格式状态,需重新格式化挂载。数据也完了。

本人曾经小白失败经历分享:

一次查看硬盘,觉得sda(主硬盘,系统分区都在这里)下面分区挺大的,尤其是sda3,如下:

sda                         8:0    0   500G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
└─sda3                      8:3    0   499G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0   499G  0 lvm  /

觉得可以从sda3中在分区出来一点空间挂载,sudo fdisk /dev/sda3 然后一顿操作。
重启后,玩完,进不了系统,因为ubuntu–vg-ubuntu–lv根目录 / 被分区后,无法识别了,只能格式化此分区。如果格式化此分区,数据也全没了,关键还进不去系统了。当时一身冷汗,还好此服务器没部署服务。所以重装系统了。

这次经历注意两点:

  • 1:轻易不要操作sda主硬盘下的分区。
  • 2:不要在分区下,在创建子分区。

三、扩展分区与逻辑分区

分区的时候有主分区(primary)和扩展分区(extended),主分区都知道,那扩展分区什么时候用呢?

主分区只能存在4个,无法在创建了,如果想创建多于4个主分区,这时候就需要创建扩展分区,通过扩展分区创建逻辑分区就可以使用了,和主分区使用没啥区别。注:extended无法直接使用,不可格式化,不可挂载,必须创建逻辑分区后才能使用。扩展分区下可创建多个逻辑分区。

创建扩展分区和逻辑分区

#分区
sudo fdisk /dev/sdb 

创建扩展分区,Partition type选择e即可,其他步骤一致。

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): e
Partition number (2-4, default 2): 
First sector (20000001-41943039, default 20000768): 
Last sector, +/-sectors or +/-sizeK,M,G,T,P (20000768-41943039, default 41943039): 30000000

Created a new partition 2 of type 'Extended' and of size 4.8 GiB.
#p查看扩展分区sdb2完成。
Command (m for help): p
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfc5ea7ec

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sdb1           2048 20000000 19997953  9.5G 83 Linux
/dev/sdb2       20000768 30000000  9999233  4.8G  5 Extended

创建逻辑分区,Partition type选择这时只有p和l选择,选择l(逻辑分区),其他步骤一致

Command (m for help): n
Partition type
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l

Adding logical partition 5
First sector (20002816-30000000, default 20002816): 
Last sector, +/-sectors or +/-sizeK,M,G,T,P (20002816-30000000, default 30000000): 

Created a new partition 5 of type 'Linux' and of size 4.8 GiB.
#p查看逻辑分区sdb5完成。
Command (m for help): p
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfc5ea7ec

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sdb1           2048 20000000 19997953  9.5G 83 Linux
/dev/sdb2       20000768 30000000  9999233  4.8G  5 Extended
/dev/sdb5       20002816 30000000  9997185  4.8G 83 Linux

扩展分区默认sdb5开始命名,表示在4个主分区以后。逻辑分区好后,可以格式化挂载了。

sudo mkfs.ext4 /dev/sdb5
sudo mount /dev/sdb5 /mnt/
df -h

查看结果如下,挂载成功,可以使用了。

sdb                         8:16   0   20G  0 disk 
├─sdb1                      8:17   0  9.5G  0 part 
├─sdb2                      8:18   0    1K  0 part 
└─sdb5                      8:21   0  4.8G  0 part /mnt

四、标准分区扩容(非LVM)

在同一块硬盘下的标准扩容,相对比较简单。步骤为删除需要扩容的分区编号,重新分区编号,重新挂载即可。

这里以sdb1为例,已挂载至/mysql路径,总共有20G,还有将近10G空闲,将空闲的分配给sdb1。

sdb                         8:16   0   20G  0 disk 
└─sdb1                      8:17   0  9.8G  0 part /mysql

为了测试数据完整性,在sdb1创建一个文件test.txt,

cd /mysql/
sudo vim test.txt

内容为test,mysql,12345678。

ubuntu@ubuntu:/$ cat /mysql/test.txt 
test,mysql,12345678

取消挂载

sudo umount /mysql 

重新分区

sudo fdisk /dev/sdb

删除分区,在重新分区

#删除分区,选择所要扩展分区的编号,这里只有1个,默认删除第一个sdb1.
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
#重新分区
Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
#选择主分区
Select (default p): p
#编号1,还是原来的sdb1.
Partition number (1-4, default 1): 
First sector (2048-41943039, default 2048): 

#结束大小不要小于原来的大小,否则容易造成数据改变或丢失,原来时10G,这里改为大概15G
Last sector, +/-sectors or +/-sizeK,M,G,T,P (2048-41943039, default 41943039): 30780000

Created a new partition 1 of type 'Linux' and of size 14.7 GiB.
Partition #1 contains a ext4 signature.

#按 N 保留 xfs 签名,移除的话分区的 UUID 会变更。
Do you want to remove the signature? [Y]es/[N]o: n

Command (m for help): w

The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

扩容完成,注:不需要重新格式化,否则数据丢失,直接挂载使用即可。

挂载查看原来数据是否还在,原来数据还在,没有改变。至于为什么,涉及到磁盘的构成,有柱面,扇区,簇,编号之类的,有兴趣自己可以研究。

ubuntu@ubuntu:/$ sudo mount /dev/sdb1 /mysql/
ubuntu@ubuntu:/mysql$ cat mysql/test.txt 
test,mysql,12345678

lsblk查看大小,sdb1由原来的10G左右,扩容为15G左右。扩容完成

sdb                         8:16   0   20G  0 disk 
└─sdb1                      8:17   0 14.7G  0 part /mysql

五、系统根分区(LVM)扩容

主要扩容系统根分区。如以下的系统的sda3,ubuntu–vg-ubuntu–lv根分区。
需谨慎操作,涉及到系统相关磁盘分区。

sda                         8:0    0   20G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
└─sda3                      8:3    0   19G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0   19G  0 lvm  /

1:物理卷,卷组,逻辑卷

扩展之前。需要了解的三个概率:物理卷,卷组,逻辑卷。引入这个概念,可以解除物理隔离的限制。

  • 物理卷:Physical volume 简称 PV
    物理卷在逻辑卷管理器中属于最底层的,任何的逻辑卷和卷组都必需依靠物理卷来建立,物理卷可以是一个完整的硬盘,也可以是硬盘中的某一个分区。

  • 卷组 - Volume group 简称 VG
    卷组是建立在物理卷之上,一个卷组中可以包含一个或者多个物理卷。

  • 逻辑卷 - Logical volume 简称 LV
    逻辑卷类似于非 LVM 系统中的硬盘分区,在逻辑卷之上可以建立文件系统 (比如 /home 或者 /usr 等)。

加上还有其他元素(有兴趣自己深究),一起构成LVM(Logical Volume Manager)逻辑卷管理。

总结:多个磁盘/分区/raid–>多个物理卷PV–>合成卷组VG–>从VG划分出逻辑卷LV–>格式化LV,挂载使用。

功能PV管理命令VG管理命令LV管理命令
scan 扫描pvscanvgscanlvscan
create 创建pvcreatevgcreatelvcreate
display 显示pvdisplayvgdisplaylvdisplay
remove 移除pvremovevgremovelvremove
extend 扩展vgextendlvextend
reduce 减少vgreducelvreduce

举个通俗例子:多个磁盘/分区就是多袋小麦,创建物理卷(PV)就是分别磨成面粉,合成卷组(VG)就是把面粉和成一大团面团,逻辑卷(LV)就是分出去的一个个小坨小面团分别做包子饺子之类其他功能的。想要扩容给小面团(LV),就需要从大面条(VG)里面取出来补。需要扩容的根分区就是那一坨小面团。

2:同一块硬盘扩容根分区

如下:总磁盘30G大小,根分区20G,有10G空闲需要分配给ubuntu–vg-ubuntu–lv根分区。

sda                         8:0    0   30G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
└─sda3                      8:3    0   19G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0   19G  0 lvm  /

从根分区的逻辑卷管理(lvm)的名称可以看出,已存在的卷组(VG)为ubuntu–vg,和逻辑卷(LV)为ubuntu–lv,所有想要扩容,只要增加卷组(VG)的空间,然后分配给逻辑卷(LV)即可。
2.1:查看卷组(VG)和逻辑卷(LV)信息
也可以自行查看存在的卷组(VG)和逻辑卷(LV)。

#查看卷组,Free PE 为空闲可分配的空间。
ubuntu@ubuntu:~$ sudo vgdisplay 
[sudo] password for ubuntu: 
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <19.00 GiB
  PE Size               4.00 MiB
  Total PE              4863
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               Gvpatz-SSYp-qfrV-5AGf-BXAD-aVC7-XZlewX
#查看逻辑卷  
ubuntu@ubuntu:~$ sudo lvdisplay 
  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/ubuntu-lv
  LV Name                ubuntu-lv
  VG Name                ubuntu-vg
  LV UUID                XND7LS-kWJL-LISf-HmrN-eK7S-X8ea-2Lazo7
  LV Write Access        read/write
  LV Creation host, time ubuntu-server, 2021-11-27 09:39:38 +0000
  LV Status              available
  # open                 1
  LV Size                <19.00 GiB
  Current LE             4863
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

2.2:创建分配分区(获取小麦原材料)
为了给增加卷组(VG)的空闲可用空间,先创建一个分区,将剩下的分配给分区。

sudo fdisk /dev/sda

n分区,全部默认回车即可,记住主分区为4,即sda4。

Command (m for help): n
Partition number (4-128, default 4): 
First sector (41940992-62914526, default 41940992): 
Last sector, +/-sectors or +/-sizeK,M,G,T,P (41940992-62914526, default 62914526): 

Created a new partition 4 of type 'Linux filesystem' and of size 10 GiB.

Command (m for help): p
Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 0EC75B7E-5AD4-4971-B452-57826F74E4FD

Device        Start      End  Sectors Size Type
/dev/sda1      2048     4095     2048   1M BIOS boot
/dev/sda2      4096  2101247  2097152   1G Linux filesystem
/dev/sda3   2101248 41940991 39839744  19G Linux filesystem
/dev/sda4  41940992 62914526 20973535  10G Linux filesystem

Command (m for help): w
The partition table has been altered.
Syncing disks.

2.3:创建物理卷PV(磨成面粉)

sudo pvcreate /dev/sda4

显示如下:

ubuntu@ubuntu:~$ sudo pvcreate /dev/sda4 
  Physical volume "/dev/sda4" successfully created.

注意:老的Linux在创建PV时,需要将分区类型改为Linux
LVM(8e)。但新的系统已经非常智能,即使默认的Linux分区(83),也可以创建PV。具体过程是fdisk 过程中,选择参数
l:查看所有分区类型代码,及 t:修改分区类型代码,选择代码8e类型即可。

2.4:添加到卷组VG中(大面团)
将物理卷PV添加到卷组VG中(面粉加到大面团中),卷组VG这里已有,上面查询得知名称为ubuntu-vg

sudo vgextend ubuntu-vg /dev/sda4

显示如下:

ubuntu@ubuntu:~$ sudo vgextend ubuntu-vg /dev/sda4
  Volume group "ubuntu-vg" successfully extended

再次查看卷组VG,Free PE / Size 已经有了10G的空闲空间可分配了。

ubuntu@ubuntu:~$ sudo vgdisplay 
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               28.99 GiB
  PE Size               4.00 MiB
  Total PE              7422
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       2559 / <10.00 GiB
  VG UUID               Gvpatz-SSYp-qfrV-5AGf-BXAD-aVC7-XZlewX

2.5:分配空间给逻辑卷根LV(小面团)
从卷组VG分配空间给逻辑卷根LV目录(从大面团取出可用的给需要的小面团),上面可查询可知,LV名称为ubuntu-lv,扩容命令及参数参考如下:

#分配10G ,-L	指定逻辑卷的大小,单位为“kKmMgGtT”字节
sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv
#或者100%空闲分配, -l	指定逻辑卷的大小(LE数)
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
#或者逻辑卷扩展至30G
sudo lvextend -L 30G /dev/ubuntu-vg/ubuntu-lv
   
#以上都可以加上参数-r ,将逻辑卷的文件系统扩展(如:房子建好了,需要装修,不需要指定大小)    

刚开始不够10G,多少有点误差,所有分配9.9G就可以了。显示successfully成功,显示如下:

ubuntu@ubuntu:~$ sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv
  Insufficient free space: 2560 extents needed, but only 2559 available
ubuntu@ubuntu:~$ sudo lvextend -L +9.9G /dev/ubuntu-vg/ubuntu-lv
  Rounding size to boundary between physical extents: 9.90 GiB.
  Size of logical volume ubuntu-vg/ubuntu-lv changed from <19.00 GiB (4863 extents) to <28.90 GiB (7398 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.

2.6:resize2fs重新计算磁盘大小
执行之后并不会立马生效需要执行,需要重新计算磁盘大小。这时候只能查看lsblk磁盘已增大,但是df -h里面文件系统没有变化,所以需要操作这一步生效。

resize2fs命令是用来增大或者收缩未加载的“ext2/ext3/ext4”文件系统的大小。

sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

显示如下成功:

ubuntu@ubuntu:~$ sudo resize2fs /dev/ubuntu-vg/ubuntu-lv 
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 4
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 7575552 (4k) blocks long.

2.7:查看磁盘大小
df -h或者lsblk可查看,已经扩容成功为30G.

df -h
/dev/mapper/ubuntu--vg-ubuntu--lv   29G  6.8G   21G  26% /

lsblk
sda                         8:0    0   30G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
├─sda3                      8:3    0   19G  0 part 
│ └─ubuntu--vg-ubuntu--lv 253:0    0 28.9G  0 lvm  /
└─sda4                      8:4    0   10G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0 28.9G  0 lvm  /

3:添加硬盘扩容根分区

3.1:添加新硬盘sdb
lsblk查看已显示磁盘

sdb                         8:16   0   20G  0 disk 

3.2:创建物理卷PV
你可以分区后创建物理卷,也可以整块硬盘创建物理卷PV,这里直接将整块创建PV,将所有空间给系统根分区扩容。

sudo pvcreate /dev/sdb

下面步骤与上面添加类似
3.3:添加到卷组VG

sudo vgextend ubuntu-vg /dev/sdb
#查看free PE时候添加成功。
sudo vgdisplay 

3.4:分配空间给逻辑卷根LV

sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv

3.5:重新计算磁盘,分配给系统文件

sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

3.6:查看磁盘大小
df -h 和 lsblk 查看大小

ubuntu@ubuntu:~$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               1.9G     0  1.9G   0% /dev
tmpfs                              391M  1.5M  390M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   39G  6.9G   30G  19% /
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/loop0                          56M   56M     0 100% /snap/core18/2128
/dev/loop2                          71M   71M     0 100% /snap/lxd/21029
/dev/loop1                          62M   62M     0 100% /snap/core20/1242
/dev/sda2                          976M  107M  803M  12% /boot
/dev/loop3                          43M   43M     0 100% /snap/snapd/14066
/dev/loop4                          68M   68M     0 100% /snap/lxd/21835
/dev/loop5                          56M   56M     0 100% /snap/core18/2253
/dev/loop6                          33M   33M     0 100% /snap/snapd/12704
tmpfs                              391M     0  391M   0% /run/user/1000
ubuntu@ubuntu:~$ lsblk 
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0                       7:0    0 55.4M  1 loop /snap/core18/2128
loop1                       7:1    0 61.9M  1 loop /snap/core20/1242
loop2                       7:2    0 70.3M  1 loop /snap/lxd/21029
loop3                       7:3    0 42.2M  1 loop /snap/snapd/14066
loop4                       7:4    0 67.2M  1 loop /snap/lxd/21835
loop5                       7:5    0 55.5M  1 loop /snap/core18/2253
loop6                       7:6    0 32.3M  1 loop /snap/snapd/12704
sda                         8:0    0   30G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
├─sda3                      8:3    0   19G  0 part 
│ └─ubuntu--vg-ubuntu--lv 253:0    0   39G  0 lvm  /
└─sda4                      8<

磁盘管理-lvm介绍

4.10:lvm介绍: 1、lvm是linux系统对磁盘分区管理的机制,方便磁盘的扩容和缩容,提高磁盘分区管理的灵活性,对磁盘分区来创建物理卷---->划分为卷组--->划分为逻辑卷---->格式化,挂载,扩容。基本逻辑图如下:2、lv... 查看详情

linux扩容磁盘分区容量

...考技术A环境:centos7一、首先在vmwareESXI管理界面扩容主机磁盘容量,原来是500G库容至700G,扩容后需要重启系统,否则认不到磁盘容量;二、查看当前分区情况,卸载当前挂载目录三、用fidsk-l删除分区表、重建分区;四、扩容系... 查看详情

磁盘管理之挂载扩容交换分区及其dd命令

一、磁盘挂载回忆小结  1、挂载磁盘可用的方法1)设备名进行挂载    2)卷标挂载    3)UUID挂载(此方法常用,UUID为随机生成,唯一性确保挂载成功)  2、文件挂载配置文件详解 /et... 查看详情

linux磁盘分区(代码片段)

磁盘分区磁盘命名分区管理磁盘创建分区创建文件系统挂载交换分区增加交换分区准备分区格式化挂载逻辑卷创建LVMVG管理LV扩容磁盘命名kernel对不同硬盘命名方式CentOS7:1、SATA(单口)/dev/sda/dev:设备文件目录;s:sata单口;d:磁盘;a... 查看详情

linux磁盘分区(代码片段)

磁盘分区磁盘命名分区管理磁盘创建分区创建文件系统挂载交换分区增加交换分区准备分区格式化挂载逻辑卷创建LVMVG管理LV扩容磁盘命名kernel对不同硬盘命名方式CentOS7:1、SATA(单口)/dev/sda/dev:设备文件目录;s:sata单口;d:磁盘;a... 查看详情

linux挂载磁盘以及扩容主分区(代码片段)

...行挂载和扩容主分区以解决问题。本文主要介绍linux系统磁盘分区、挂载以及扩容主分区的具体操作步骤。linux挂载磁盘以及扩容主分区*:first-childmargin-top:0!important;body>*:last-child 查看详情

linux磁盘挂载和扩容(1)

参考技术A本章我们先介绍Linux服务器磁盘挂载,下期介绍Linux磁盘扩容问题。Linux磁盘挂载有两种情况1.小于2T磁盘挂载2.大于2T磁盘挂载下面我们分别介绍两种情况的挂载方式以下磁盘名称都以/dev/sdc为例挂载小于2T的磁盘也分两... 查看详情

vmware下linux非lvm管理的根目录扩容(代码片段)

...,在安装软件时候发现提示空间不足,通过查看磁盘容量,根分区只有8Gb的空间容量,导致空间满了,无法正常安装,此时需要将虚拟机硬盘从20Gb调整到40G,然后再把根分区扩大到30Gb,以下是扩容... 查看详情

vmware下linux非lvm管理的根目录扩容(代码片段)

...,在安装软件时候发现提示空间不足,通过查看磁盘容量,根分区只有8Gb的空间容量,导致空间满了,无法正常安装,此时需要将虚拟机硬盘从20Gb调整到40G,然后再把根分区扩大到30Gb,以下是扩容... 查看详情

linux磁盘管理——分区+挂载(fdisk+gdisk+mount+lsblk+df)(代码片段)

文章目录一、硬盘基础知识1.硬盘命名方式2.磁盘设备的命名3.硬盘的分区方式二、基本分区管理1.磁盘划分思路2.lsblk命令3.df命令4.fdisk1)进入分区2)新建分区3)查看分区信息4)查看分区情况5)刷新分区表信... 查看详情

linux入门之磁盘管理/etc/fstab与交换分区

Linux入门之磁盘管理(4)/etc/fstab与交换分区在linux通过挂载命令可以使用各种选项进行不同文件系统的设备文件进行挂载,当然不仅限于块设备,但是无论怎么挂载,一般默认新建的文件系统进行挂载开机是不会自动挂载的,每次... 查看详情

centos7磁盘管理-分区扩容-使用gparted图形化工具或系统命令

参考技术A2.进行分区扩容,把挂载点为centos的物理分区sda2扩大(图形化操作不在赘述)2.重载2.交互操作,建立新分区PV7.重载 查看详情

linux磁盘lvm在线扩容

...对硬盘分区的动态调整。LVM常用的命令在虚拟机添加一块磁盘通过lsblk查看到添加的磁盘对新添加的磁盘进行分区使用fdisk/dev/sdb输入p查看分区;(新加的硬盘是没有分区的,如果有数据的情况,输入d删除)输入n创建新分区;输... 查看详情

挂载磁盘分区大小

参考技术AWindows如何挂载磁盘分区?右击“我的电脑--管理--存储--磁盘管理”,进入“计算机管理”界面。磁盘管理:[4]Windows如何挂载磁盘分区以“娱乐(F)”为例,右击“娱乐(F)--更改驱动器号和路径(C)...”。磁盘管理:[4]Windows... 查看详情

计算机磁盘管理

...别手动挂载到/db1和/sdb2目录上,查看挂载的分区​在添加磁盘创建第三个分区大小5G,将第三个分区转换为swap分区,进行格式化扩展swap空间,查看扩展后的swap分区​修改/etc/fstab文件设置自动挂载sdb1、sdb2、sdb3三个分区文件系统... 查看详情

linux系统的磁盘管理(代码片段)

Linux系统的磁盘管理一、环境介绍1.Linux系统版本2.系统磁盘情况二、磁盘介绍1.磁盘分区理解2.MBR分区方案2.GPT分区分区方案三、分区工具fidsk使用1.查看磁盘和分区信息2.查看指定设备信息3.对新磁盘进行分区4.格式化文件系统四、... 查看详情

磁盘管理之分区格式化及其挂载

一、磁盘管理总体分类 1)磁盘结构 2)分区类型 3)管理分区4)管理文件系统 5)挂载设备6)管理虚拟内存………………………………………………………………………………………………………………………重... 查看详情

centos7下使用lvm给系统硬盘扩容(代码片段)

...盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分... 查看详情