Linux运维Python运维与数据分析

重新构建KVM虚拟机基础镜像

2024-03-18  本文已影响0人  菩提老鹰
WechatIMG1322.jpeg

今天这篇文章属于旧知识复习,以前是在别人的基础之上直接使用定制好的基础镜像。
本次在运维平台建设过程中避免因为DHCP导致IP冲突的问题需要重新构建一个新的KVM镜像。

知识点

通过这篇文章你将收获以下知识点:

1、如何修改qcow2镜像密码

2、了解KVM虚拟机创建的基础知识

3、使用 qemu-img 如何创建新的模板和新增数据盘


KVM基础环境搭建

一般我们是在物理机上安装部署KVM环境,基于物理机进行虚拟化。

先安装 相关的依赖包

yum install -y qemu-kvm libvirt virt-install bridge-utils

成功安装之后,常用的都是 virshvirt-xx 相关的命令

知识点二: 了解KVM虚拟机创建的基础知识


类似的 virsh 命令也可以用来管理虚拟机,比如

virsh 除了做基本的虚拟机管理,它的功能更加强大,比如可以 监控虚拟机、管理网络接口、管理设备Device等。

具体可以使用 virsh --help 来查看,这里不做太多细节描述

构建自己的KVM镜像

构建基础镜像也是基于Centos官方基础镜像的基础上,个性化附加自己的一些基础建设

Centos官方镜像源下载地址 https://cloud.centos.org/centos/7/images/。本篇文章是基于 CentOS-7-x86_64-GenericCloud-2211.qcow2 来构建自己的基础镜像

下载镜像之后,使用可以使用如下命令创建虚拟机

在创建虚拟机之前,先使用如下命令启动libvirtd 服务

systemctl enable libvirtd.service
systemctl start libvirtd.service

然后创建虚拟机

virt-install --hvm --virt-type kvm --os-type=linux --os-variant rhel7.4 --name devops-baseimage-vm --vcpus=2 --ram 4096 --disk path=/data/images/devops-baseimage-centos7-br0.qcow2,bus=virtio --network bridge=br0,model=virtio --noautoconsole --import

其中参数说明如下:

基于centos官方的基础镜像创建的主机之后,使用 virsh console xxx 进行连接登录之后最后会出现如下提示

CentOS Linux 7 (Core)
Kernel 3.10.0-1160.80.1.el7.x86_64 on an x86_64

localhost login: 

让你输入账号密码,但是基础镜像,官方没有提供账号密码(网上查,有人说是centos/centos但是不对,实际登录之后也没有这个账号)


知识点一、如何修改qcow2镜像密码

1、先使用openssl 加密一个密码 (注意这里是数字 1 而不是字符l)

[root@192 root]# openssl passwd -1 Ksc123456
$1$eSdqsn.f$MDZv/xxxxxxxxxxxxxxx

2、 然后使用 guestfish 命令加载 qcow2 文件

[root@192 root]# guestfish --rw -a Centos7-baseimage.qcow2 

Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.

Type: ‘help’ for help on commands
      ‘man’ to read the manual
      ‘quit’ to quit the shell

><fs>

3、 然后在这个交互界面进行如下操作进行密码修改

><fs> run
 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
><fs> list-filesystems 
/dev/sda1: xfs
><fs> mount /dev/sda1 /
><fs> vi /etc/shadow  # 使用上面的密码进行配置修改
><fs> quit

然后我们再次连接到虚拟机使用root账号和刚修改的密码进行登录,发现成功。


然后我们就可以在改虚拟机内部配置一些个性化的东西

比如

然后退出虚拟机。

第三个知识点: 使用 qemu-img 如何创建新的模板和新增数据盘

使用如下命令把刚才的虚拟机保存为新的 镜像模板

qemu-img convert -f qcow2 -O qcow2 Centos7-baseimage.qcow2 centos7-baseimage-br0-vm.qcow2

然后就可以使用新的基础镜像centos7-baseimage-br0-vm.qcow2 创建新的虚拟机, 创建的虚拟机中就包括了前面我们所得所有的初始化和定制化的内容

使用如下命令定义数据盘及大小(100GB)

qemu-img create -f qcow2 -o preallocation=metadata test-xxxx-01-100G.qcow  100G

如果是新增虚拟机的同时把数据盘添加进去,使用如下命令

virt-install --hvm ... ... \
--disk path=/data/images/test-zhangjialin-01-vm.qcow,bus=virtio \
--disk path=/data/images/test-zhangjialin-01-100G.qcow,bus=virtio \
... ...

和加载系统镜像一样

如果是已经创建虚拟机之后,在额外扩增数据盘,可以使用如下命令把数据盘添加进去

virsh attach-disk test-xxxx-01-vm \
/data/images/test-xxxx-01-100G.qcow vdb \
--subdriver=qcow2 --config --live

好了,关于KVM虚拟机 环境部署、如何创建、如何管理,以及如何添加额外的数据盘等今天就给大家介绍大搜这里。

如果你觉得有所收获,欢迎关注"菩提老鹰"进行点赞和喜欢哦~

一起交流,分享知识,快乐生活,我是老鹰,我们下一期见~

上一篇下一篇

猜你喜欢

热点阅读