linux扩容情况分析
linux扩容情况分析
home again硬盘扩容最好先备份数据。服务商通常会提供在线快照功能,也可以先创建快照作备份。一个硬盘要能为系统使用:先给硬盘分区,分区之后再格式化成文件系统,
因为系统和硬盘的所有互动都建立在文件系统之上。所以扩容逻辑也就是理当为:先给分区扩容,在扩展文件系统,如此而已。
一、挂载新加硬盘
扩容的第一种情况就是新加硬盘扩容。
硬盘分区
找到新加硬盘,假设硬盘为/dev/vdb
,依次执行一下命令fdisk /dev/vdb
p #创建分区
1 #分区数量
两次回车选用默认值
w #保存退出格式化
分区完成后,会多出/dev/vdb1 的设备文件,将它格式化。blkid #查看其他分区的格式类型
mkfs.xfs /dev/vdb1 #格式化成xfs/dev/vdb1 就是设备 /dev/vdb 的第一个分区,同理 /dev/vdb2 就是其第二个分区。
挂载
挂载的是分区。将分区挂载到 /data 为例mkdir /data # 创建挂载目录
mount /dev/vdb1 /data # 挂载
mount | grep '/dev/vdb1' # 查看是否挂载如果将分区挂载到一个已经存在的目录下,该目录下的文件有可能会丢失!
自动挂载
mount 挂载会在下一次重启后失效,需要手动再挂载。因此要将挂载写入配置文件,系统启动后会自行读取配置文件实现自动挂载。blkid | grep /dev/vdb1 # 获取分区的UUID
/dev/vdb1: UUID="9c8f967f-9998-43c6-a3da-012b08ce9748" TYPE="ext4"
vim /etc/fstab # 挂载信息写入配置文件
UUID=9c8f967f-9998-43c6-a3da-012b08ce9748 /data xfs defaults 0 0
二、硬盘分区扩容
场景:原先已加了一块硬盘,该硬盘大小 40G,所有容量都分在了一个区: /dev/vdb1,并已经挂载在了 /data 目录。现在要的效果是 /data 目录容量扩容达 50G。等同于要扩容分区 /dev/ddb1。
1.查看分区类型
查看待扩容的硬盘分区类型
fdisk -lu |
根据 Disk label type
或者 System
来判断分区类型:
dos | gpt | Linux | GPT | |
---|---|---|---|---|
Disk label type | MBR分区 | GPT分区 | ||
System | MBR分区 | GPT分区 |
2.MBR分区扩容
set -eu |
安装growpart工具
type growpart || yum install -y cloud-utils-growpart |
扩容分区:运行命令 growpart /dev/vdb 1
LC_ALL=en_US.UTF-8 growpart /dev/vda 1 |
3.GPT分区扩容
type growpart || sudo yum install -y cloud-utils-growpart |
- 如果单盘有多个连续分区的情况,仅能扩容最后一个分区。例如数据盘/dev/vdb有三个分区/dev/vdb1、/dev/vdb2和/dev/vdb3。扩容时,只能扩容最后一个分区/dev/vdb3,即执行growpart /dev/vdb 3命令即可完成数据盘的分区扩容
- 如果您需要扩容的云盘分区是MBR分区表下的扩展分区(通常判断方式是分区号大于等于5),您需要先进行扩展分区扩容后再对逻辑分区进行扩容。
例如您有/dev/vdb1(主分区)、/dev/vdb2(扩展分区)、/dev/vdb5(逻辑分区)三个分区,此时您需要依次执行growpart /dev/vdb 2、growpart /dev/vdb 5完成分区的扩容
4.扩容文件系统
查看目标分区的信息
df -Th |
👆上方信息得出 /dev/vdb1 分区的文件系统类型为 ext4,挂载目录为 /data。
- ext文件系统
resize2fs /dev/vdb1
- xfs文件系统
type xfs_growfs || sudo yum install -y xfsprogs
xfs_growfs /mnt - btrfs文件系统
btrfs filesystem resize max /mnt
使用虚拟卷合并硬盘
如果有多块硬盘,在linux服务器上就会有多个挂载点,参考 windows 系统盘符概念,使用的时候要注意哪个挂载点(盘符)满了,使用并不透明。借助 LVM 逻辑卷管理功能,可以做到linux的磁盘弹性管理,对使用完全透明,再也不用操心有几块硬盘的问题。
1.创建物理卷
硬盘可以先建分区,在分区上创建物理卷;也可以裸硬盘直接创建物理卷。下面以裸硬盘为例:
pvcreate /dev/vdb # 创建物理卷 |
2.创建卷组
创建卷组 vg01
vgcreate vg01 /dev/vdb #创建卷组 |
3.创建逻辑卷
从卷组 vg01中创建逻辑卷
lvcreate -L 25G -n lv01 vg01 #从vg01卷组中划分25G用来创建lv01逻辑卷 |
4.格式化、挂载
接下来将逻辑卷当作一个普通的云盘即可。
格式化 |
5.扩容
以 新加盘/dev/vdc 为例
pvcreate /dev/vdc # 创建物理卷 |
其他
阿里云有系统盘和数据盘的区别,系统盘可以扩容但是上限为500G,数据盘上限为32768G