阿里云ECS虚拟机磁盘扩容过程
背景
公司同事将很早之前的一个虚拟机重新开机.
就好将一套demo环境安装进这个ECS虚拟机里面
这个机器系统盘只有40G的空间. 导致磁盘空间不足.
其实一开始我不知道虚拟机其实还有为加载的磁盘.
这里想总结一下, 一方面记录这个事项, 另一方面也是加深一下记忆
必须多执行命令进行勘察, 而不是随意就下结论.
机器信息获取
ECS的系统盘只有40G的空间.
df -Th 就可以得出具体的结论.
但是实际上这个机器购买了数据盘. 但是未进行初始化. 也没有人告知我.
我这边就疏忽了.
其实拿到虚拟机前几步必须要干的:
1. df -Th 查看已经挂载的磁盘空间.
2. fdisk -l 查看磁盘设备信息.
3. timedatactl 查看时区
4. date 查看时间.
5. free 查看内存
6. lscpu 查看CPU信息.
7. 验证网络是否可以联通网络.
8. 查看系统版本以及内核版本等.
LVM的知识总结
PD->PV->VG->LV->mkfs->mount->fstab
PD physical disk 物理磁盘 对应 /dev/vdb /dev/vdc /dev/vda等.
PD 需要进行 fidks /dev/vdb 的处理.来报账可以被使用
可以使用 lsblk进行查看
PV
PD的下一层是PV physical volume 物理卷
需要使用pvcreate /dev/vdb1 的方式进行创建. 注意 1 是fdisk p 命令创建处理来.
VG
多个PV来组成一个VG volume group ,可以通过group的方式提高存储的性能.
感觉这种VG其实有RAID0的效果.增加了一定的异常概率.
vgcreate vg_name pv01 pv02
LV
VG的下一层是LV,一个VG可以有多个LV. 反着我没验证.
lvcreate -L size -n lvname vgname
mkfs
LV需要创建文件系统才能够进行下一步的挂载
mkfs.xfs /dev/vgname/lvname
mount
mount /dev/datadisk/data /diskdata/
fstab的方式进行固化.
挂载磁盘
fdisk -l
简要信息:
Disk /dev/vda:40 GiB,
Disk /dev/vdb:208 GiB,
Disk /dev/vdc:208 GiB,
其实第一反应是将vdb和vdc进行初始化挂载到特定路径就可以了.
但是想到lvm可以将读写分散到多个物理磁盘上面会提高很多性能
于是规划使用lvm的方式进行挂载
df -TH 查看一下文件系统
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 16G 0 16G 0% /dev
tmpfs tmpfs 16G 0 16G 0% /dev/shm
tmpfs tmpfs 16G 628K 16G 1% /run
tmpfs tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/vda1 xfs 40G 27G 14G 67% /
看跟分区的挂载方式基本上就明确没有使用 lvm的格式 需要自己进行lvm的创建处理
挂载磁盘
- 第一步初始化磁盘
fdisk /dev/vdb
注意第一步选择:
n 新建一个分区
p 创建一个主分区
其他都默认就可以.
w 写入住分区
同样的进行
fdisk /dev/vdc的处理
挂载磁盘
- 创建物理卷
pvcreate /dev/vdb1
pvcreate /dev/vdc1
可以通过pvdisplay的方式进行查看.
- 创建虚拟VG
vgcreate datadisk /dev/vdb1 /dev/vdc1
可以通过
vgdisplay的方式进行查看
注意有可以通过:
lsblk的方式查看具体的信息.
- 创建lv
逻辑卷的创建为:
lvcreate -L 415G -n data datadisk
需要注意
-L 后面指定了磁盘的大小
-n 指定了lv 的名称
datadisk 是vg虚拟磁盘组的名称.
- 挂载目录
因为已经有了一个data目录
所以这次我创建了一个 diskdata的目录
mkdir /diskdata/
进行区分.
第一步创建文件系统:
mkfs.xfs /dev/datadisk/data
进行挂载
mount /dev/datadisk/data /diskdata/
- 进行新检查
df -Th
结果为:
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 16G 0 16G 0% /dev
tmpfs tmpfs 16G 0 16G 0% /dev/shm
tmpfs tmpfs 16G 628K 16G 1% /run
tmpfs tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/vda1 xfs 40G 27G 14G 67% /
tmpfs tmpfs 3.2G 0 3.2G 0% /run/user/0
/dev/mapper/datadisk-data xfs 415G 30G 385G 8% /diskdata
开机自动挂载
阿里云等ECS的虚拟机其实建议使用UUID的方式进行自动挂载磁盘.
首先第一步需要获取磁盘的UUID
blkid
结果为:
/dev/vda1: UUID="edf839fd-8e1a-4373-946a-xxxxxxxx" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="319ba3a3-01"
/dev/vdb1: UUID="oT7DgP-LIdD-wOIv-OoH2-nwYr-xxxxxxxx" TYPE="LVM2_member" PARTUUID="65ff64a3-01"
/dev/vdc1: UUID="AjNLqb-eHgf-4zi5-dqy2-FHx5-xxxxxxxx" TYPE="LVM2_member" PARTUUID="32347fd3-01"
/dev/mapper/datadisk-data: UUID="7fa17092-ce23-48af-bce1-xxxxxxxx" BLOCK_SIZE="512" TYPE="xfs"
注意这个命令会将所有的块存储设备都展示出来
注意type 为文件格式 为下面一个命令的挂载进行协同.
vim /etc/fstab 增加上对应的一行内容.
UUID=7fa17092-ce23-48af-bce1-xxxxxxxx /diskdata xfs defaults 0 0
重启机器验证
注意数据库我放到了
/diskdata/mysql
应用服务器我放到了
/diskdata/xxcloud
并且编写一个自动启动脚本
放到/deploy/init 里面中 设置开机自动启动
标签:虚拟机,16G,dev,ECS,挂载,磁盘,tmpfs
From: https://www.cnblogs.com/jinanxiaolaohu/p/16786240.html