华为云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/
- 进行新检查
开机自动挂载
华为云等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