您的位置:首页 > 运维架构 > Linux

Linux CentOS 7扩展根目录磁盘空间(使用LVM)

2020-06-04 06:22 453 查看

关于Linux系统扩展sda4额外空间

最近博主在架设一台新的Linux系统的时候遇见了空间不足的情况,而博主先增加了sda3的10G空间,奈何已经将sda3的空间分给了根目录,而又不能够重新安装系统和格式化现有sda3的磁盘空间,那么怎么整??
没办法了,只能再增加一块sda4的分区磁盘,再让根目录获取sda4的空间,来扩展

哎呀,非常的惆怅。这仅存的一点点都硬挤不出我需要的空间了。
算了,还是再从我的主机上扩张10G的空间给Linux系统吧!
给硬件添加硬盘后进入系统

[root@localhost ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

命令(输入 m 获取帮助):m
命令操作
a   toggle a bootable flag
b   edit bsd disklabel
c   toggle the dos compatibility flag
d   delete a partition
g   create a new empty GPT partition table
G   create an IRIX (SGI) partition table
l   list known partition types
m   print this menu
n   add a new partition
o   create a new empty DOS partition table
p   print the partition table
q   quit without saving changes
s   create a new empty Sun disklabel
t   change a partition's system id
u   change display/entry units
v   verify the partition table
w   write table to disk and exit
x   extra functionality (experts only)

再fdisk内输入:

n

再输入
p

因为我本身之前就添加了sda3这个分区了,所以linux主动就给选择了4这个 标号。
两次回车默认剩余空间分配后就创建成功了sda4这个分区。
需要将这个新创建的sda4分区给变成LVM券:

[root@localhost ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

命令(输入 m 获取帮助):m
命令操作
a   toggle a bootable flag
b   edit bsd disklabel
c   toggle the dos compatibility flag
d   delete a partition
g   create a new empty GPT partition table
G   create an IRIX (SGI) partition table
l   list known partition types
m   print this menu
n   add a new partition
o   create a new empty DOS partition table
p   print the partition table
q   quit without saving changes
s   create a new empty Sun disklabel
t   change a partition's system id
u   change display/entry units
v   verify the partition table
w   write table to disk and exit
x   extra functionality (experts only)
命令(输入 m 获取帮助):t
分区号 (1-4,默认 4):4
Hex 代码(输入 L 列出所有代码):L

0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris
1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx
5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据
6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具
8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt
9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问
a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O
b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor
c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs
e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT
f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要
16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep
1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT
1e  隐藏的 W95 FAT1 80  旧 Minix
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):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)
正在同步磁盘。

再查看分区都是LVM了:

[root@localhost ~]# fdisk -l

磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c4165

设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM
/dev/sda3        41943040    62914559    10485760   8e  Linux LVM
/dev/sda4        62914560    83886079    10485760   8e  Linux LVM

磁盘 /dev/mapper/centos-root:28.7 GB, 28668067840 字节,55992320 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@localhost ~]# reboot
Connection closing...Socket close.

Connection closed by foreign host.

Disconnected from remote host(192.168.67.132:22) at 09:30:20.

Type `help' to learn how to use Xshell prompt.
[D:\~]$

重启完了linux再登陆看一下目前的根目录大小:

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   27G   24G  3.0G   90% /
devtmpfs                 473M     0  473M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  7.2M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1               1014M  161M  854M   16% /boot
tmpfs                     98M  8.0K   98M    1% /run/user/42
tmpfs                     98M     0   98M    0% /run/user/0
[root@localhost ~]# fdisk -l

磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c4165

设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM
/dev/sda3        41943040    62914559    10485760   8e  Linux LVM
/dev/sda4        62914560    83886079    10485760   8e  Linux LVM

磁盘 /dev/mapper/centos-root:28.7 GB, 28668067840 字节,55992320 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

格式化sda4 LVM券:

[root@localhost ~]# mkfs.ext4 /dev/sda4
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2151677952
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

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

[root@localhost ~]#

此时我们是无法将空间附加给根目录的:

[root@localhost ~]# lvextend -L +9G /dev/centos/root
Insufficient free space: 2304 extents needed, but only 75 available

查看一下目前的LVM组名

[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name               centos
System ID
Format                lvm2
Metadata Areas        2
Metadata Sequence No  7
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               28.99 GiB
PE Size               4.00 MiB
Total PE              7422
Alloc PE / Size       7347 / <28.70 GiB
Free  PE / Size       75 / 300.00 MiB
VG UUID               rCglT6-H9zg-h0uh-yIig-9DnB-qzXe-g8GJVR

[root@localhost ~]#

看到目前的 Alloc PE / Size 还是在30GiB之内,需要让LVM的Alloc大于目前的28GiB:

[root@localhost ~]# pvcreate /dev/sda
/dev/sda2  /dev/sda3
[root@localhost ~]# pvcreate /dev/sda4
WARNING: ext4 signature detected on /dev/sda4 at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/sda4.
Physical volume "/dev/sda4" successfully created.
[root@localhost ~]# pvdisplay
--- Physical volume ---
PV Name               /dev/sda2
VG Name               centos
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               bS79Tb-k39t-fGMr-qGw7-ehNo-Q1zN-259IXu

--- Physical volume ---
PV Name               /dev/sda3
VG Name               centos
PV Size               10.00 GiB / not usable 4.00 MiB
Allocatable           yes
PE Size               4.00 MiB
Total PE              2559
Free PE               75
Allocated PE          2484
PV UUID               BOeoTi-0Efs-2uLn-eidG-jRmV-3B4F-Ze1bNW

"/dev/sda4" is a new physical volume of "10.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/sda4
VG Name
PV Size               10.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               Ab0LSv-MAXo-l1on-hIZP-QSdY-JvW8-lvwJgM

[root@localhost ~]#

新创建了个PV物理券,将新创建的sda4这个PV卷给根目录root使用:

[root@localhost ~]# vgextend centos /dev/sda4
Volume group "centos" successfully extended
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name               centos
System ID
Format                lvm2
Metadata Areas        3
Metadata Sequence No  8
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                2
Open LV               2
Max PV                0
Cur PV                3
Act PV                3
VG Size               <38.99 GiB
PE Size               4.00 MiB
Total PE              9981
Alloc PE / Size       7347 / <28.70 GiB
Free  PE / Size       2634 / <10.29 GiB
VG UUID               rCglT6-H9zg-h0uh-yIig-9DnB-qzXe-g8GJVR

[root@localhost ~]#

发现了Free PE / Size 有了个小于10GiB的大小。
再取出可用的9G大小给目前的root根目录:

[root@localhost ~]# lvextend -L +9G /dev/centos/
/dev/centos/root  /dev/centos/swap
[root@localhost ~]# lvextend -L +9G /dev/centos/root
Size of logical volume centos/root changed from <26.70 GiB (6835 extents) to <35.70 GiB (9139 extents).
Logical volume centos/root successfully resized.
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   27G   24G  3.0G   90% /
devtmpfs                 473M     0  473M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  7.2M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1               1014M  161M  854M   16% /boot
tmpfs                     98M   12K   98M    1% /run/user/42
tmpfs                     98M     0   98M    0% /run/user/0
[root@localhost ~]#

发现给了根目录还是可用3G的大小,需要同步一下空间:

[root@localhost ~]# xfs_growfs /dev/centos/root
meta-data=/dev/mapper/centos-root isize=512    agcount=7, agsize=1113856 blks
=                       sectsz=512   attr=2, projid32bit=1
=                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=6999040, 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 6999040 to 9358336
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   36G   24G   12G   67% /
devtmpfs                 473M     0  473M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  7.2M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1               1014M  161M  854M   16% /boot
tmpfs                     98M   12K   98M    1% /run/user/42
tmpfs                     98M     0   98M    0% /run/user/0
[root@localhost ~]#

现在我的根目录已经扩展到了12G的可用空间了,应该能够支撑我这次的使用空间大小了。
查看一下我的根目录文件是不是没有因为这次的引用而丢失文件或文件夹:

[root@localhost ~]# ll /home/oracle/
.bash_history                .cache/                      .oracle_jre_usage/
.bash_logout                 .config/                     oradb/
.bash_profile                linuxx64_12201_database.zip  .viminfo
.bashrc                      .mozilla/                    .Xauthority
[root@localhost ~]# ll /home/oracle/oradb/
database/                    linuxx64_12201_database.zip
[root@localhost ~]# ll /home/oracle/oradb/
database/                    linuxx64_12201_database.zip
[root@localhost ~]# ll /home/oracle/oradb/database/
install/      rpm/          sshsetup/     welcome.html
response/     runInstaller  stage/
[root@localhost ~]#

目前貌似没有影响。
使用Linux的LVM扩展可以在避免重装系统的情况下扩展系统的空间。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: