CentOS分区扩容
一.前言
- 操作系统
Linux发行版:CentOS-7-x86_64-DVD-1804.iso
linux 磁盘分区:https://baike.baidu.com/item/linux%E7%A3%81%E7%9B%98%E5%88%86%E5%8C%BA/5203467
Swap 分区:https://baike.baidu.com/item/Swap%E5%88%86%E5%8C%BA/7613378?fr=aladdin
linux 命令手册:http://linux.51yip.com/
分区扩容:https://blog.csdn.net/u011424614/article/details/94669726
CentOS 操作命令:https://blog.csdn.net/u011424614/article/details/94555916
二.扩容准备
1.分区规则
- 1至4个主分区 或者 1至3个主分区和1个扩展分区(扩展分区中可再分区为逻辑分区)
2.分区工具
- fdisk:单个分区最大只能创建2T的空间
- parted:单个分区可超过2T的空间
3.分区类型
分区类型 | 空间分配 | 扩容命令 |
---|---|---|
ext2、ext3、ext4 | 可扩容、可缩容 | resize2fs |
xfs(centos7默认) | 仅扩容 | xfs_growfs |
4.硬盘设备名规则
- SCSI接口:/dev/sd [a-z] ;设备名后追加的数字,表示此设备的第几个分区,例如:/dev/sda1、/dev/sda2
- IDE接口:/dev/hd [a-z]
5.分区说明
- /dev/mapper/centos-root:根分区(根文件系统)
- /dev/mapper/contos-home:用户分区
- /dev/mapper/centos-swap:交换分区(一般设置为物理内存容量的 1 至 2 倍)
三.具体操作
场景说明
- 使用一块 4T 容量的硬盘,硬盘接口是 SCSI,分别对 root、home 和 swap 分区进行扩容
- 两种方案选择:
- 一块硬盘上创建 3 个分区,然后扩容
- 一块硬盘上创建 1 个分区,然后扩容
1.容量分配
- 首先考虑 swap 分区,设置为物理内存容量的 2 倍
- 然后考虑 root 分区和 home 分区,root 分区需要部署项目或软件安装,所以分配多一点空间,而 home 分区,一般放一些用户文件,所以可以分配少一点(如果不确定目录在那个分区,可以使用下方命令查询)
- 最终确定,root 和 home 的分配比例为 7 : 3
#-- 查询目录的所在分区,例如:/opt 在 /dev/mapper/centos-root 分区下
# df -hl /opt
#-- 查看硬盘列表
# lsblk
- 例如:目前服务器中,新插入 4 T 的硬盘,物理内存容量为 64 GB, swap 分区为 32 GB
- swap 分区扩容 = (64 * 2) - 32 = 96 GB
- home 分区扩容 = (4000 - 96) * 0.3 = 1171 GB (取整)
- root 分区扩容 = 4000 - 96 - 1171 = 2733 GB
2.第一种方案
- 一块硬盘上创建 3 个分区,然后扩容
1)分区
- 查看硬盘信息,找到分区的硬盘
#--查看硬盘使用情况
# df -Th
#-- 查看硬盘列表
# lsblk
#--查看硬盘信息
# fdisk -l
- 分区操作,例如:分区硬盘是
/dev/sdb
#-- 使用 parted 工具,操作分区硬盘
# parted /dev/sdb
#-- 打印硬盘和分区信息,Disk /dev/sdb: 4000GB
# p
#-- 将 MBR 磁盘格式化为 GPT
# mklabel gpt
#-- 打印硬盘和分区信息,Partition Table: unknown 变为 Partition Table: gpt
# p
#-- 根据上一步的容量分配,创建三个主分区,期间忽略警告,根据提示输入 Ignore 或 Yes
# mkpart primary 0 96GB
# mkpart primary 96GB 1267GB
# mkpart primary 1266GB 4000GB
#-- 打印硬盘和分区信息,Disk Flags: 分区列表
# p
#-- 退出工具
# quit
- 格式化分区
#-- 查看硬盘信息,找到需要格式化的分区
# fdisk -l
#-- 格式化分区
# mkfs.ext4 /dev/sdb1
# mkfs.ext4 /dev/sdb2
# mkfs.ext4 /dev/sdb3
2)逻辑卷管理(LVM)和扩容
- swap 分区扩容:
/dev/sdb1
#-- 查看硬盘列表
# lsblk
#-- 查看 Volume group 信息,关注 VG Name 和 Free PE / Size
# vgdisplay
#-- 创建 pv,指定分区 (物理硬盘分区初始化为物理卷)
# pvcreate /dev/sdb1
# y
#-- vg 扩容(动态扩展 LVM 卷组)
# vgextend centos /dev/sdb1
#-- lv 扩容(在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问)
# lvextend /dev/mapper/centos-swap /dev/sdb1
#-- 查看 swap 分区的情况
# free -h
#-- 卸载、创建、挂载 swap 分区
# swapoff /dev/mapper/centos-swap
# mkswap /dev/mapper/centos-swap
# swapon /dev/mapper/centos-swap
- home 分区扩容:
/dev/sdb2
#-- 创建 pv,指定分区 (物理硬盘分区初始化为物理卷)
# pvcreate /dev/sdb2
# y
#-- vg 扩容(动态扩展 LVM 卷组)
# vgextend centos /dev/sdb2
#-- lv 扩容(在线扩展逻辑卷的空间大小,且不中断应用程序对逻辑卷的访问)
# lvextend /dev/mapper/centos-home /dev/sdb2
#-- xfs_growfs 扩容
# xfs_growfs /dev/mapper/centos-home
- root 分区扩容:
/dev/sdb3
#-- 创建 pv,指定分区 (物理硬盘分区初始化为物理卷)
# pvcreate /dev/sdb3
# y
#-- vg 扩容(动态扩展 LVM 卷组)
# vgextend centos /dev/sdb3
#-- lv 扩容(在线扩展逻辑卷的空间大小,且不中断应用程序对逻辑卷的访问)
# lvextend /dev/mapper/centos-root /dev/sdb3
#-- xfs_growfs 扩容
# xfs_growfs /dev/mapper/centos-root
3.第二种方案
- 一块硬盘上创建 1 个分区,然后扩容
1)分区
- 查看硬盘信息,找到分区的硬盘
#--查看硬盘使用情况
# df -Th
#-- 查看硬盘列表
# lsblk
#--查看硬盘信息
# fdisk -l
- 分区操作,例如:分区硬盘是
/dev/sdb
#-- 使用 parted 工具,操作分区硬盘
# parted /dev/sdb
#-- 打印硬盘和分区信息,Disk /dev/sdb: 4000GB
# p
#-- 将 MBR 磁盘格式化为 GPT
# mklabel gpt
#-- 打印硬盘和分区信息,Partition Table: unknown 变为 Partition Table: gpt
# p
#-- 创建一个主分区,期间忽略警告,根据提示输入 Ignore
# mkpart primary 0 4000GB
#-- 打印硬盘和分区信息,Disk Flags: 分区列表
# p
#-- 退出工具
# quit
- 格式化分区
#-- 查看硬盘信息,找到需要格式化的分区
# fdisk -l
#-- 格式化分区
# mkfs.ext4 /dev/sdb1
2)逻辑卷管理(LVM)和扩容
- LVM
#-- 查看硬盘列表
# lsblk
#-- 查看 Volume group 信息,关注 VG Name 和 Free PE / Size
# vgdisplay
#-- 创建 pv,指定分区 (物理硬盘分区初始化为物理卷)
# pvcreate /dev/sdb1
# y
#-- vg 扩容(动态扩展 LVM 卷组)
# vgextend centos /dev/sdb1
- swap 分区扩容
#-- lv 扩容(在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问)
# lvextend -L +96G /dev/mapper/centos-swap
#-- 查看 swap 分区的情况
# free -h
#-- 卸载、创建、挂载 swap 分区
# swapoff /dev/mapper/centos-swap
# mkswap /dev/mapper/centos-swap
# swapon /dev/mapper/centos-swap
- home 分区扩容
#-- lv扩容(在线扩展逻辑卷的空间大小,且不中断应用程序对逻辑卷的访问)
# lvextend -L +1171G /dev/mapper/centos-home
#-- xfs_growfs 扩容
# xfs_growfs /dev/mapper/centos-home
- root 分区扩容
#-- lv扩容(在线扩展逻辑卷的空间大小,且不中断应用程序对逻辑卷的访问)
#-- 如果提示空间不足,使用 vgdisplay 命令查看剩余空间 Free PE / Size
# lvextend -L +2733G /dev/mapper/centos-root
#-- xfs_growfs 扩容
# xfs_growfs /dev/mapper/centos-root
四.其它
1.删除分区
- fdisk 删除分区
# fdisk /dev/sdb
# --根据输入 m 的提示,输入 d 可删除分区,如果只有1个分区,自动删除,如果多个分区,需要输入分区数字
Command (m for help): d
#--退出
# quit
- parted 删除分区
# parted /dev/sdb
#--输入 p 显示硬盘信息
# (parted) p
#--删除 1 分区
# (parted) rm 1
#--退出
# quit