KVM虚拟机管理工作二(虚拟机磁盘优化,Centos进入dracut模式,报 /dev/centos/swap does not exist,如何恢复)

简介: KVM虚拟机管理工作二(虚拟机磁盘优化,Centos进入dracut模式,报 /dev/centos/swap does not exist,如何恢复)

前言:


  • KVM虚拟机的安装其实不是一个简单的事情,为什么要这么说呢?因为,KVM虚拟机在安装完毕后,我们可能会有很多定制化的需求,比如,更改虚拟机的root密码,安装一些常用软件,或者常用的软件环境。也会有扩容,缩容,增加逻辑盘以及打快照等等扩展需求。
  • 那么,KVM虚拟机的操作系统安装一般是什么要求呢?
  • 我想,第一,是需要最小化安装,这里最小化安装是为了降低KVM镜像的大小,使得镜像轻量化。第二,是关闭swap,因为很多环境是不能有swap的,相对于生产服务器来说,通常swap都是一个鸡肋的存在,并且像k8s这样的软件是禁止swap的,而关于swap 这就要求我们需要从底层开始设计操作系统了。第三,适当的内核优化。第四,KVM镜像安装的时候不能也不应该划分多个分区,应该是只划分一个根分区,这里的原因在于,扩容操作的时候只会从最后一个分区号后开始,而我们扩容通常是想扩容根分区,如果,根分区不是最后一个分区序号,那么,是无法扩容成功的(比如,一个KVM镜像会认为第一个磁盘是vda,而划分多个分区后,可能根分区是vda1,还存在其它分区,比如vda2,vda3,扩容操作的时候,将只能扩容vda3,扩容vda1或者2并不会成功的。)。

问题复现:


一,

安装操作系统的时候安装程序强制要求划分swap分区,因此,划分了一个swap分区,并且该分区是lvm格式的,导致后期想扩容根分区的时候扩容失败。

KVM虚拟机的分区划分如下:

image.png

现在的情况就是,vda1根目录并不是顺位最后一个而是swap分区,并且该swap分区还是lvm格式,因此,希望将该swap分区卸载。

二,

卸载lvm格式的swap分区的步骤:

(1)

首先,我们通过三个命令得到lvm格式的swap详细信息,三个命令分别是lsblk,blkid和cat  /etc/fsatab

第一个命令知道了swap分区名字是/dev/vda2,第二个命令知道了这个lvm的pv名字是 /dev/mapper/centos-swap,挂载时使用的时pv名称,default模式挂载的。

image.png

(2)

开始卸载了,卸载步骤如下:

  • 卸载swap挂载

swapoff 卸载swap分区,通过free命令验证。

image.png

  • 删除lv

先查询出lv的名字,然后删除,中间需要输入y确认一下。

image.png

  • 删除vg

同样的步骤,先查询vg的名字,然后删除vg

image.png

  • 删除pv

同样的配方,先查询出pv的名字,然后删除之。

image.png

  • 通过fdisk彻底删除分区

先查出磁盘分区情况,然后使用fdisk删除/dev/vda2,最后partprobe刷新磁盘状态,reboot。

95ccc7e07d48452c91d71f50f7c11a60.png

好了,恭喜你,即将进入dracut模式啦(重启时间比较长,5 6分钟吧)。报错如下图:

7c38684e76d0468390ebc9aa02e62dd1.png

WAIT!!!/etc/fstab里的挂载没有去掉的原因?

(3)

挂载根目录,找到 /etc/fsata文件注释掉最后那一行,这该OK了吧?

image.png

其实是年轻啦,reboot后并没有卵用。WHY???因为grub里还有swap哦。重启后,仍然建立一个tmps ,仍然挂载根目录到此新目录上。

image.png

image.png

image.png

45abf3547b1740e989df9a8d70297cee.png

 这三个文件都修改完了,就可以愉快的重启啦,速度非常快的就进入系统啦。在重申一次,这三个文件的路径是 /tmps/etc/fstab ,   /tmps/default/grub   ,            /tmps/boot/grub2/grub.cfs

vim /boot/grub2/grub.cfg 
 vim /etc/default/grub 
vim /etc/fstab 

至此,lvm格式的swap就彻底删除了,当然了,不管任何时候删除前都需要查询清楚,我的分区很可能是和你的不一样的(根本原因在于,我安装KVM镜像的时候,是先划分的根分区,然后划分的swap分区,如果次序对调,根分区应该是/dev/vda2,而swap分区应该是/dev/vda1, 说人话就是分区的序号是和安装手法有关!!!!!!!!!!)


目录
相关文章
|
11天前
|
关系型数据库 MySQL Linux
通过虚拟机进行安装Centos7.0并且安装MySQL
通过虚拟机进行安装Centos7.0并且安装MySQL
29 0
|
2月前
|
Linux KVM 数据库
服务器数据恢复—服务器误删除KVM虚拟机数据恢复案例
服务器数据恢复环境: 一台服务器安装Linux操作系统+EXT4文件系统。服务器上运行数台KVM虚拟机,每台虚拟机包含一个qcow2格式的磁盘文件和一个raw格式的磁盘文件。 服务器故障: 工作人员操作失误删除了服务器上的3台KVM虚拟机,虚拟机中运行数据库,需恢复误删除虚拟机中raw格式的磁盘文件。
服务器数据恢复—服务器误删除KVM虚拟机数据恢复案例
|
2月前
|
关系型数据库 MySQL Linux
一次虚拟机centos7系统崩溃恢复记录
一次虚拟机centos7系统崩溃恢复记录
49 0
|
13天前
|
安全 Linux 网络安全
NAT模式下主机连接虚拟机
NAT模式下主机连接虚拟机,VMware虚拟机系统以CentOS7为例。
42 0
|
27天前
|
存储 安全 测试技术
网络奇谭:虚拟机中的共享、桥接与Host-Only模式解析
网络奇谭:虚拟机中的共享、桥接与Host-Only模式解析
29 0
|
2月前
|
Linux Docker 容器
本地虚拟机centos7空间扩展10G记录
本地虚拟机centos7空间扩展10G记录
32 1
|
2月前
|
网络安全
虚拟机三种网络模式
虚拟机三种网络模式
|
2月前
|
弹性计算 Shell KVM
快速克隆KVM 虚拟机
【4月更文挑战第29天】
29 3
|
2月前
|
NoSQL Linux Redis
本地虚拟机centos7通过docker安装主从redis3.2
本地虚拟机centos7通过docker安装主从redis3.2
61 0
|
2月前
|
关系型数据库 MySQL Linux
本地虚拟机centos7通过docker安装主从mysql5.7.21
本地虚拟机centos7通过docker安装主从mysql5.7.21
69 0