Linux 扩容根目录

查看磁盘大小以及格式

df -hT
➜  ~ df -hT
文件系统                          类型      容量  已用  可用 已用% 挂载点
udev                              devtmpfs  433M     0  433M    0% /dev
tmpfs                             tmpfs      96M  1.3M   95M    2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4       29G  5.5G   22G   20% /
tmpfs                             tmpfs     477M     0  477M    0% /dev/shm
tmpfs                             tmpfs     5.0M     0  5.0M    0% /run/lock
tmpfs                             tmpfs     477M     0  477M    0% /sys/fs/cgroup
/dev/nvme0n1p2                    ext4      976M  202M  708M   23% /boot
/dev/loop1                        squashfs   68M   68M     0  100% /snap/lxd/21545
/dev/loop0                        squashfs   62M   62M     0  100% /snap/core20/1169
/dev/loop4                        squashfs   33M   33M     0  100% /snap/snapd/13640
/dev/loop3                        squashfs   56M   56M     0  100% /snap/core18/2128
/dev/loop5                        squashfs   56M   56M     0  100% /snap/core18/2246
/dev/loop6                        squashfs   33M   33M     0  100% /snap/snapd/12704
/dev/loop7                        squashfs   68M   68M     0  100% /snap/lxd/21835
tmpfs                             tmpfs      96M     0   96M    0% /run/user/0

由以上信息:根目录 / 格式为 ext4(下面会用到这个参数),大小为 60GB,路径为 /dev/mapper/ubuntu--vg-ubuntu--lv (逻辑卷路径,下面会用到这个参数)

查看未使用的磁盘信息

lsblk
➜  ~ lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0                       7:0    0 61.9M  1 loop /snap/core20/1169
loop1                       7:1    0 67.3M  1 loop /snap/lxd/21545
loop3                       7:3    0 55.4M  1 loop /snap/core18/2128
loop4                       7:4    0 32.5M  1 loop /snap/snapd/13640
loop5                       7:5    0 55.5M  1 loop /snap/core18/2246
loop6                       7:6    0 32.3M  1 loop /snap/snapd/12704
loop7                       7:7    0 67.2M  1 loop /snap/lxd/21835
sr0                        11:0    1 1024M  0 rom  
nvme0n1                   259:0    0   60G  0 disk 
├─nvme0n1p1               259:1    0    1M  0 part 
├─nvme0n1p2               259:2    0    1G  0 part /boot
└─nvme0n1p3               259:3    0   59G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0 29.5G  0 lvm  /
nvme0n2                   259:4    0   60G  0 disk

由以上信息:根目录 / 所在磁盘为 nvme0n1,类型为 ext4,nvme0n2 为新挂载未格式化的数据盘 60GB

查看分区信息

fdisk -l
➜  ~ fdisk -l
Disk /dev/loop0:61.85 MiB,64835584 字节,126632 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/loop1:67.26 MiB,70516736 字节,137728 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/loop3:55.45 MiB,58130432 字节,113536 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/loop4:32.45 MiB,34017280 字节,66440 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/loop5:55.51 MiB,58191872 字节,113656 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/loop6:32.3 MiB,33865728 字节,66144 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/loop7:67.25 MiB,70508544 字节,137712 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/nvme0n1:60 GiB,64424509440 字节,125829120 个扇区
Disk model: VMware Virtual NVMe Disk
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:BF757F1D-75C3-4C0D-A220-AF7FA91A4A6A

设备              起点      末尾      扇区 大小 类型
/dev/nvme0n1p1    2048      4095      2048   1M BIOS 启动
/dev/nvme0n1p2    4096   2101247   2097152   1G Linux 文件系统
/dev/nvme0n1p3 2101248 125827071 123725824  59G Linux 文件系统

Disk /dev/nvme0n2:60 GiB,64424509440 字节,125829120 个扇区
Disk model: VMware Virtual NVMe Disk
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/mapper/ubuntu--vg-ubuntu--lv:29.51 GiB,31675383808 字节,61865984 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

由以上信息:根目录 / 所在磁盘为 nvme0n1,磁盘标签类型: gpt;nvme0n2 所在路径为 /dev/nvme0n2

添加逻辑卷

由上面信息知道分区是 gpt,使用工具 gdisk;如果分区是 mbr,使用工具 fdisk

gdisk /dev/nvme0n2 
➜  ~ gdisk /dev/nvme0n2 
GPT fdisk (gdisk) version 1.0.5

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries in memory.

Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-125829086, default = 2048) or {+-}size{KMGTP}: 
Last sector (2048-125829086, default = 125829086) or {+-}size{KMGTP}: 
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): p
Disk /dev/nvme0n2: 125829120 sectors, 60.0 GiB
Model: VMware Virtual NVMe Disk
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): A73C7A1B-22DA-40A2-A10A-A12B1489A828
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 125829086
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048       125829086   60.0 GiB    8300  Linux filesystem

Command (? for help): t
Using 1
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/nvme0n2.
The operation has completed successfully.

查看新建分区后的磁盘信息

fdisk -l
➜  ~ fdisk -l
Disk /dev/loop0:61.85 MiB,64835584 字节,126632 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/loop1:67.26 MiB,70516736 字节,137728 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/loop3:55.45 MiB,58130432 字节,113536 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/loop4:32.45 MiB,34017280 字节,66440 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/loop5:55.51 MiB,58191872 字节,113656 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/loop6:32.3 MiB,33865728 字节,66144 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/loop7:67.25 MiB,70508544 字节,137712 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/nvme0n1:60 GiB,64424509440 字节,125829120 个扇区
Disk model: VMware Virtual NVMe Disk
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:BF757F1D-75C3-4C0D-A220-AF7FA91A4A6A

设备              起点      末尾      扇区 大小 类型
/dev/nvme0n1p1    2048      4095      2048   1M BIOS 启动
/dev/nvme0n1p2    4096   2101247   2097152   1G Linux 文件系统
/dev/nvme0n1p3 2101248 125827071 123725824  59G Linux 文件系统

Disk /dev/nvme0n2:60 GiB,64424509440 字节,125829120 个扇区
Disk model: VMware Virtual NVMe Disk
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:A73C7A1B-22DA-40A2-A10A-A12B1489A828

设备            起点      末尾      扇区 大小 类型
/dev/nvme0n2p1  2048 125829086 125827039  60G Linux 文件系统

Disk /dev/mapper/ubuntu--vg-ubuntu--lv:29.51 GiB,31675383808 字节,61865984 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

由上面信息发现多了一个分区路径 /dev/nvme0n2p1,这个路径下面格式化会用到

格式化磁盘

因为根目录是 ext4 格式,/dev/nvme0n2p1(这个参数在点击跳转获取)

mkfs -t ext4 /dev/nvme0n2p1
➜  ~ mkfs -t ext4 /dev/nvme0n2p1
mke2fs 1.45.5 (07-Jan-2020)
创建含有 15728379 个块(每块 4k)和 3932160 个inode的文件系统
文件系统UUID:49ff51fe-b635-4880-9708-b96215eb09cd
超级块的备份存储于下列块: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424

正在分配组表: 完成                            
正在写入inode表: 完成                            
创建日志(65536 个块) 完成
写入超级块和文件系统账户统计信息: 已完成 

创建物理卷

/dev/nvme0n2p1 (这个参数在点击跳转获取)

pvcreate /dev/nvme0n2p1
➜  ~ pvcreate /dev/nvme0n2p1
WARNING: ext4 signature detected on /dev/nvme0n2p1 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/nvme0n2p1.
  Physical volume "/dev/nvme0n2p1" successfully created.

查看卷组

vgdisplay
➜  ~ vgdisplay 
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  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               <59.00 GiB
  PE Size               4.00 MiB
  Total PE              15103
  Alloc PE / Size       7552 / 29.50 GiB
  Free  PE / Size       7551 / <29.50 GiB
  VG UUID               upx2M2-D30c-REdO-uaIg-eiAr-YkzO-eDIzc1

由上面信息得知: 系统分区的卷组名称为 ubuntu-vg(这个参数下面会用到)

加入卷组

物理卷 /dev/nvme0n2p1 这个参数在点击跳转获取 加入卷组 ubuntu-vg(这个参数在点击跳转获取)

vgextend ubuntu-vg /dev/nvme0n2p1
➜  ~ vgextend ubuntu-vg /dev/nvme0n2p1
  Volume group "ubuntu-vg" successfully extended

查看卷组信息

vgdisplay
➜  ~ vgdisplay
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  3
  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               118.99 GiB
  PE Size               4.00 MiB
  Total PE              30462
  Alloc PE / Size       7552 / 29.50 GiB
  Free  PE / Size       22910 / 89.49 GiB
  VG UUID               upx2M2-D30c-REdO-uaIg-eiAr-YkzO-eDIzc1

由以上信息得知: Free PE / Size22910 / 89.49 GiB,22910(等会下面用到这个参数)用于拓展

逻辑卷扩容

逻辑卷扩容,扩容 /dev/mapper/ubuntu--vg-ubuntu--lv(这个参数在点击跳转获取) + 22910(这个参数在点击跳转获取)

lvextend -l +22910 /dev/mapper/ubuntu--vg-ubuntu--lv
➜  ~ lvextend -l +22910 /dev/mapper/ubuntu--vg-ubuntu--lv
  Size of logical volume ubuntu-vg/ubuntu-lv changed from 29.50 GiB (7552 extents) to 118.99 GiB (30462 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.

查看逻辑卷大小

lvdisplay
➜  ~ lvdisplay 
  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/ubuntu-lv
  LV Name                ubuntu-lv
  VG Name                ubuntu-vg
  LV UUID                28ISao-1q5A-fhRL-eH7X-vSz9-mXJ4-cTWUqR
  LV Write Access        read/write
  LV Creation host, time ubuntu-server, 2021-08-15 18:34:19 +0000
  LV Status              available
  # open                 1
  LV Size                118.99 GiB
  Current LE             30462
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

由以上信息得知: LV Size 已经变成 118.99 GiB

扩容文件系统

如果文件系统是 xfs 格式用 xfs_growfs ,我这里是 ext4 格式用resize2fs

扩容 /dev/mapper/ubuntu--vg-ubuntu--lv (这个参数在点击跳转获取)

resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
➜  ~ resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
resize2fs 1.45.5 (07-Jan-2020)
/dev/mapper/ubuntu--vg-ubuntu--lv 上的文件系统已被挂载于 /;需要进行在线调整大小
old_desc_blocks = 4, new_desc_blocks = 15
/dev/mapper/ubuntu--vg-ubuntu--lv 上的文件系统现在为 31193088 个块(每块 4k)

查看扩容结果

df -hT
➜  ~ df -hT
文件系统                          类型      容量  已用  可用 已用% 挂载点
udev                              devtmpfs  433M     0  433M    0% /dev
tmpfs                             tmpfs      96M  1.3M   95M    2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4      117G  5.5G  107G    5% /
tmpfs                             tmpfs     477M     0  477M    0% /dev/shm
tmpfs                             tmpfs     5.0M     0  5.0M    0% /run/lock
tmpfs                             tmpfs     477M     0  477M    0% /sys/fs/cgroup
/dev/nvme0n1p2                    ext4      976M  202M  708M   23% /boot
/dev/loop1                        squashfs   68M   68M     0  100% /snap/lxd/21545
/dev/loop0                        squashfs   62M   62M     0  100% /snap/core20/1169
/dev/loop4                        squashfs   33M   33M     0  100% /snap/snapd/13640
/dev/loop3                        squashfs   56M   56M     0  100% /snap/core18/2128
/dev/loop5                        squashfs   56M   56M     0  100% /snap/core18/2246
/dev/loop6                        squashfs   33M   33M     0  100% /snap/snapd/12704
/dev/loop7                        squashfs   68M   68M     0  100% /snap/lxd/21835
tmpfs                             tmpfs      96M     0   96M    0% /run/user/0

你可能感兴趣的:(Linux 扩容根目录)