一、常规操作
1、查看系统版本信息
[root@server ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)
2、查看现有的磁盘空间使用情况,以及需要扩容目录的信息
[root@server ~]# df -Th 文件系统 类型 容量 已用 可用 已用% 挂载点 devtmpfs devtmpfs 898M 0 898M 0% /dev tmpfs tmpfs 910M 0 910M 0% /dev/shm tmpfs tmpfs 910M 9.6M 901M 2% /run tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup /dev/mapper/centos-root xfs 17G 3.5G 14G 21% / /dev/sda1 xfs 1014M 151M 864M 15% /boot tmpfs tmpfs 182M 0 182M 0% /run/user/0
3、查看新添加磁盘信息(磁盘分区信息)
[root@server ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 10G 0 disk ## 新磁盘 sr0 11:0 1 4.4G 0 rom
从这儿可以看出,sdb是新加的磁盘,没有挂在任何目录
4、查看详细的磁盘分区信息
fdisk -l
上面就是我们需要扩容的磁盘
5、使用fdisk进行磁盘分区
[root@server ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0xde489b47 创建新的 DOS 磁盘标签。 命令(输入 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 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1):1 起始 扇区 (2048-20971519,默认为 2048):回车默认 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):回车默认 将使用默认值 20971519 分区 1 已设置为 Linux 类型,大小设为 10 GiB 命令(输入 m 获取帮助):w # 保存 The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。
我们将/dev/sdb这块儿磁盘直接划为了10GB的主分区
6、刷新分区规则,查看现在分区信息
[root@server ~]# partprobe /dev/sdb [root@server ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 10G 0 disk └─sdb1 8:17 0 10G 0 part sr0 11:0 1 4.4G 0 rom
可以看到,新的分区已经划好了
fdisk -l
从这可以看到sdb1的具体信息
7、创建物理卷
[root@server ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created.
pvs ## 查看物理卷信息
8、添加到卷组
[root@server ~]# vgextend centos /dev/sdb1 Volume group "centos" successfully extended
9、添加到/逻辑卷
[root@server ~]# lvextend -l+100%FREE /dev/mapper/centos-root Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to 26.99 GiB (6910 extents). Logical volume centos/root successfully resized.
10、同步到文件系统
[root@server ~]# xfs_growfs /dev/mapper/centos-root meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=1113856 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=4455424, 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 4455424 to 7075840
若文件系统是ext4,则使用resize2fs /dev/mapper/centos-root
11、验证是否成功
df -Th
发现现在根目录从14G扩容到了24G。
二、非常规操作
假如我们的系统盘符不能扩容,可以换个思路,把他挂载一个别的目录 然后让数据目录软连接过去
1、进行磁盘分区和文件系统格式化
lsblk查看新磁盘是否在系统中
使用fdisk对sdc进行分区,创建一个或多个分区,例如/dev/sdc1
[root@server /]# fdisk /dev/sdc 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0xcdb04868 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1):1 起始 扇区 (2048-4194303,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303): 将使用默认值 4194303 分区 1 已设置为 Linux 类型,大小设为 2 GiB 命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。 [root@server /]# [root@server /]# pvcreate /dev/sdc1 Physical volume "/dev/sdc1" successfully created. [root@server /]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 27G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 10G 0 disk └─sdb1 8:17 0 10G 0 part └─centos-root 253:0 0 27G 0 lvm / sdc 8:32 0 2G 0 disk └─sdc1 8:33 0 2G 0 part sr0 11:0 1 4.4G 0 rom
对新分区创建文件系统(格式化)。我们选择XFS
文件系统
mkfs.xfs -f /dev/sdc1
2、挂载点创建
创建一个目录作为/dev/sdc1的挂载点
mkdir /mnt/sdc1
将分区/dev/sdc1挂载到目录/mnt/sdc1下
mount /dev/sdc1 /mnt/sdc1
查看磁盘挂载与磁盘使用空间
df -Th
3、软连接目录到生产数据的目录下
使用ln -s
命令创建软链接,将/data
链接到新的挂载点
ln -s /mnt/sdc1 /data **编辑`/etc/fstab`**:为确保每次系统重启后文件系统自动挂载
4、开机自动挂载设置
编辑/etc/fstab:为确保每次系统重启后文件系统自动挂载
vim /etc/fstab
mount -a # 自动挂载