系统盘扩容
重点注意:
1.如果出现ping不同或者ssh链接不上,解决办法,直接把/etc/fstab文件还原成默认就可以了(随便操作,退路以为你们留好)
2.分区后挂在会出现问题我这边分享个链接,不分区挂载,手动重启服务器,服务正常运转,阿里帮助文档:https://help.aliyun.com/document_detail/25426.html
话不多说,直接进入正题
1.首先进入云服务ECS-》存储与快照-》更多-》云盘扩容
2.选择在线扩容-》输入扩容后的容量大小-》勾选服务条款-》支付
3.点击扩容文件系统Linux/windows-》会获取到帮主文档
4.根据操作系统安装growpart或者xfsprogs扩容格式化工具
Aliyun Linux、CentOS 7:
yum install cloud-utils-growpart
yum install xfsprogs
Ubuntu 14、Ubuntu 16、Ubuntu 18、Debian 9:
apt install cloud-guest-utils
apt install xfsprogs
5.运行fdisk -l命令查看现有云盘大小
以下示例返回云盘(/dev/vda)容量是100GiB
fdisk -l
6.运行df -Th命令查看云盘分区大小和文件系统类型。
以下示例返回分区(/dev/vda1)容量是40GiB,文件系统类型为ext4
df -Th
7.运行growpart 命令扩容分区。
示例命令表示扩容系统盘的第一个分区(/dev/vda1)
注意:vda和1之间有空格
growpart /dev/vda 1
若运行命令后报以下错误,您可以运行LANG=en_US.UTF-8切换ECS实例的字符编码类型
LANG=en_US.UTF-8
8.扩展文件系统
根据文件系统类型选择以下扩展方式,如何查看文件系统类型请参见步骤2。
ext*文件系统(例如ext3和ext4):运行resize2fs 命令。
示例命令表示为扩容系统盘的/dev/vda1分区的文件系统。
resize2fs /dev/vda1
9.xfs文件系统:运行xfs_growfs 命令。
示例命令表示为扩容系统盘的/dev/vda1分区的文件系统。其中根目录(/)为/dev/vda1的挂载点。
xfs_growfs /
执行后结果:
meta-data=/dev/vda1 isize=512 agcount=13, agsize=1310656 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=1, sparse=1, rmapbt=0= reflink=1
data = bsize=4096 blocks=15728379, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log 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 15728379 to 20971259
10.运行df -h命令查看云盘分区大小。
返回分区(/dev/vda1)容量是100GiB,表示已经成功扩容。
df -h
添加数据盘
1.进入云服务ECS-》存储与快照-》选择创建云盘
2.选择在线挂载-》选择需要挂载的实例-》输入云盘大小-》支付
3.执行fdisk -l查看磁盘信息
fdisk -l
因为默认是一个分区,所以我这边要重新分区:
执行fdisk /dev/vdb
注意:我的数据盘是vdb,根据自己的实际磁盘自己替换名称
fdisk /dev/vdb
按m查看命令选项
输入p,查看当前硬盘分区情况
输入d,删除分区,默认会选择最后一个,因为只有1个,所以默认是1
再次输入p,查看硬盘分区,发现分区已经没有了
这里退出去查看一下发现新磁盘确实没有了分区
输入fdisk /dev/vdb
输入n创建分区,回车
输入分区开始值和结束值,这个根据自己的磁盘分配大小设置
输入p,查看已经有一个分区了
输入n,再次创建分区
输入开始数和结束数
输入p查看,已经有两个分区了
格式化分区
两个命令实现mkfs.ext4或者mke2fs(默认格式化成ext4格式)都可以。
mke2fs /dev/vdb1
挂载磁盘
1.在新分区上创建一个文件系统。
根据您的需求运行以下任一命令,创建文件系统。
创建一个ext4文件系统。
mkfs -t ext4 /dev/vdb1
[root@ecshost~ ]# mkfs -t ext4 /dev/vdb1mke2fs 1.43.5 (04-Aug-2017)
Creating filesystem with 5242624 4k blocks and 1310720 inodes
Filesystem UUID: 884e1a06-1481-43d6-b1a3-8bccaa03****
Superblock backups stored on blocks:32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,4096000Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
2.向/etc/fstab写入新分区信息,启动开机自动挂载分区。
运行命令cp /etc/fstab /etc/fstab.bak,备份etc/fstab。
运行命令echo blkid /dev/vdb1 | awk '{print $2}' | sed 's/\"//g'
/mnt ext4 defaults 0 0 >> /etc/fstab,向/etc/fstab里写入新分区信息。
如果要把数据盘单独挂载到某个文件夹,例如单独用来存放网页,则将命令中/mnt替换成所需的挂载点路径。
cp /etc/fstab /etc/fstab.bak
echo `blkid /dev/vdb1 | awk '{print $2}' | sed 's/\"//g'` /mnt ext4 defaults 0 0 >> /etc/fstab
3.运行cat /etc/fstab命令查看/etc/fstab中的新分区信息。
[root@ecshost~ ]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Dec 12 07:53:08 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=d67c3b17-255b-4687-be04-f29190d4**** / ext4 defaults 1 1
UUID=a4c73111-3a33-4569-a90c-b6d2e953**** /mnt ext4 defaults 0 0
4.运行mount /dev/vdb1 /mnt命令挂载文件系统。
如果运行df -h命令后出现新建文件系统的信息,表示文件系统挂载成功。
mount /dev/vdb1 /mnt
df -h
[root@ecshost~ ]# mount /dev/vdb1 /mnt
[root@ecshost~ ]# df -hFilesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 1.6G 36G 5% /
devtmpfs 234M 0 234M 0% /dev
tmpfs 244M 0 244M 0% /dev/shm
tmpfs 244M 484K 244M 1% /run
tmpfs 244M 0 244M 0% /sys/fs/cgroup
tmpfs 49M 0 49M 0% /run/user/0
/dev/vdb1 20G 45M 19G 1% /mnt
取消挂载
umount /mnt/vdb1