Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VMWARE 虚拟机导入腾讯云-CentOS 篇

VMWARE 虚拟机导入腾讯云-CentOS 篇

原创
作者头像
本地专用集群CDC
修改于 2023-03-14 05:25:26
修改于 2023-03-14 05:25:26
5K00
代码可运行
举报
文章被收录于专栏:CDC上云实践CDC上云实践
运行总次数:0
代码可运行

范围

本次测试覆盖 CentOS 6.7、7.2、7.4、7.6、7.9 版本

准备

  • 账号切换到 管理员权限,包括使用 root 账号。
  • 开通对象存储服务,创建存储桶。存储桶所在可用区与要镜像要导入的可用区一致,存储桶权限设置为 公有读私有写。(在创建存储桶的界面可以选择权限。如果但是没有设置,可以进入存储桶的详情页面中,在左侧找到 权限管理 -> 存储桶访问权限 的页面进行设置。)

1. 检查 Virtio 驱动

1.1. 检查是否支持 Virtio

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grep -i virtio /boot/config-$(uname -r)
  • 如果在返回结果中CONFIG_VIRTIO_BLK参数和CONFIG_VIRTIO_NET参数取值为y,表示该操作系统包含了 Virtio 驱动,检查通过。
  • 如果返回结果中CONFIG_VIRTIO_BLK参数和CONFIG_VIRTIO_NET参数取值为m,请继续往下执行。
  • 如果在返回结果中没有CONFIG_VIRTIO_BLK参数和CONFIG_VIRTIO_NET参数的信息,需要下载和编译内核,相关指导见https://cloud.tencent.com/document/product/213/9929#DownloadCompileKernel。

本次验证的几个系统,参数值都显示 m ,继续往下执行。

1.2. 检查临时文件系统是否包含 Virtio 驱动

CentOS 6、7 的系统执行如下命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lsinitrd /boot/initramfs-$(uname -r).img | grep virtio
  • 6.7、7.9 版本中查看,initramfs已经包含了virtio_blk驱动,以及其所依赖的virtio.kovirtio_pci.kovirtio_ring.ko,检查通过。
  • 7.2~7.6 版本中查询结果都为空,需要继续往下执行。

1.3. 重新配置临时文件系统

CentOS 6、7 的系统执行如下命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkinitrd -f --allow-missing --with=xen-blkfront --preload=xen-blkfront --with=virtio_blk --preload=virtio_blk --with=virtio_pci --preload=virtio_pci --with=virtio_console --preload=virtio_console /boot/initramfs-$(uname -r).img $(uname -r)

执行后再重新执行步骤1.2,可以看到驱动和依赖都有了,检查通过。

2. 安装 cloud-init(7.2~7.9 版本)

2.1. 使用软件源安装 cloud-init

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install cloud-init

2.2. 修改 cloud-init 配置文件

代码语言:txt
AI代码解释
复制
# 进 /etc/cloud 目录,备份原来的 cloud.cfg 文件
cd /etc/cloud
mv cloud.cfg cloud.cfg.bak
# 下载腾讯云对应的 cloud.cfg 文件
wget https://cloudinit-1251783334.cos.ap-guangzhou.myqcloud.com/centos/cloud.cfg

2.3. 检查 cloud-init 配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 检查配置是否成功
cloud-init init --local

显示类似于如下信息表示已经成功。

Cloud-init v. 19.4 running 'init-local' at Sun, 09 Oct 2022 14:51:20 +0000. Up 144.72 seconds.99

2.4. 删除 cloudinit 的缓存记录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rm -rf /var/lib/cloud

执行后关机,不要再启动,否则该操作需要再次执行。

2. 安装 cloud-init(6.7 版本)

centos6.7 版本通过 yum 源安装的 cloud-init 版本低,虽然可以正常导入,但是生成的虚拟机无法获取网络配置。因此需要用腾讯云提供的绿色版进行安装。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 下载 cloud-init 安装包
wget https://image-tools-1251783334.cos.ap-guangzhou.myqcloud.com/greeninit-x64-beta.tgz
# 解压缩
tar xvf greeninit-x64-beta.tgz
# 进入 cloud-init 目录
cd greeninit
# 安装 cloud-init
sh install.sh

安装成功后不要执行其他操作,关机。

如果安装后执行了 cloud-init 命令,需要执行以下命令清理缓存。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rm -rf /var/lib/cloud

3. 导入镜像

3.1. 上传镜像

将 CentOS 系统对应的 vmdk 镜像文件上传到存储桶中。如果虚拟机的硬盘文件拆分成了多个 vmdk,需要先做合并。

3.2. 导入镜像

  • 在腾讯云控制台,云服务器模块中,找到 镜像 菜单,切换到自定义镜像页面。
  • 点击 导入镜像 按钮,导入镜像系统选择 linux ,勾选 我已做好准备 ,点击 下一步。
  • 按照页面内容填写,注意地域选择要使用的可用区。操作系统类型、版本与实际一致,导入方式并选择 正常导入 。
  • 点击下一步,点击开始导入,等待导入结果。

4. 验证

验证内容:

  • 使用自定义镜像创建虚拟机,重装系统都成功。
  • 新建的虚拟机时设置的密码有效。
  • 虚拟机能正确的获取到 IP 地址。

验证结果:

  • centos7.2、7.4、7.6、7.9 版本均验证正常。
  • centos6.7 版本初次登录密码没有修改,需要再执行一次“rm -rf /var/lib/cloud”并重启才能生效。

5. Q&A

5.1. 如果没有安装cloud-init会怎么样

如果没有安装cloud-init,无法进行初始化。最直观的问题是无法修改密码、无法配置IP。

可以在迁移前,在 /etc/sysconfig/network-scripts/ 文件夹中创建配置文件 ifcfg-eth0,输入一下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
BOOTPROTO=dhcp     #自动获取 IP 地址
DEVICE=eth0        # 填写需配置的弹性网卡名
ONBOOT=yes
PERSISTENT_DHCLIENT=yes
TYPE=Ethernet
USERCTL=no

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Mysql主从同步架构配置
一、mysql主从介绍: MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的。也就是说,当你在A机器写入一个表,再次查看B机器也会同步一个表。 1.1 MySQL主从是基于binlog的,主上须开启binlog才能进行主从。 主从过程大致有3个步骤: 主将更改操作记录到binlog里。 从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里。 从根据relaylog里面的sql语句按顺序执
老七Linux
2018/05/09
3.8K0
MySQL 管理
-e选项可以在Mysql客户端执行SQL语句,而不用连接到MySQL数据库再执行,对于一些批处理脚本,这种方式尤其方便。
用户9615083
2022/12/25
1.4K0
MySQL 管理
设置mysql用户密码(5.6/5.7)、远程连接数据库、常用命令
首次直接使用mysql会提示‘该命令不存在’,原因是还没有将该命令加入环境变量,如果要使用该命令,需要使用其绝对路径:/usr/local/mysql/bin/mysql,为了方便,先将其加入系统环境变量:
阿dai学长
2019/04/03
3.7K0
MySQL 主从同步架构中你不知道的“坑”
结论:此种模式下此配置对默认的库进行不同步数据库,需要增加相关表的参数,最后测试得出不加replicate-ignore-db = mysql参数,同样对默认的库生效,
民工哥
2020/09/16
8140
MySQL 主从同步架构中你不知道的“坑”
MySQL 数据库简单操作
    对于想要从事或爱好mysql相关工作的童鞋们,有必要掌握在命令行下对mysql实现一些简单的操作。本文从描述了如何登录到mysql数据库服务器,如何在mysql提示符下发布命令,创建数据库,以及执行一些简单的DML操作。
Leshami
2018/08/13
1.7K0
MySQL 切换数据库、用户卡死:“You can turn off this feature to get a quicker startup with -A“处理方法
实战演示: 我演示的数据库就是一个数据量很大的数据库,切换数据库时半天也没有好。
小蓝枣
2020/09/24
1.5K0
Linux基础(day54)
13.1 设置更改root密码 设置更改root密码目录概要 /usr/local/mysql/bin/mysql -uroot 更改环境变量PATH,增加mysql绝对路径 mysqladmin -uroot password '123456' mysql -uroot -p123456 密码重置 vi /etc/my.cnf//增加skip-grant 重启mysql服务 /etc/init.d/mysqld restart mysql -uroot use mysql; update user set
运维小白
2018/02/06
8980
mysqldump全量备份+mysqlbinlog二进制日志增量备份
日常的数据备份及恢复测试,是DBA工作重中之重的事情,所以要做好备份及测试,日常的备份常见有mysqldump+binlog备份、xtrabackup+binlog备份,无论那一种,几乎都少不了对binlog的备份,说明了binlog在数据恢复中的重要性,下面做个小测试,是工作中不少运维或者新人DBA容易犯的错。
大龄老码农-昊然
2021/04/22
1.3K0
mysqldump全量备份+mysqlbinlog二进制日志增量备份
学习笔记0521----mysql管理
MySQL的安装路径为:/usr/local/mysql/,可执行文件在bin目录下,此目录并未添加到系统的环境变量中,所以要使用mysql命令,需要把 /usr/local/mysql/bin/ 目录添加到系统的环境变量中。
嘻哈记
2020/11/24
1.1K0
MySQL客户端连接工具 mysql
MySQL 版本信息: [root@db02 ~]# mysql --version mysql Ver 14.14 Distrib 5.6.36, for Linux (x86_64) using EditLine wrapper Usage:      mysql [OPTIONS] [database] 选项  -u, --user=name 指定用户名 -p, --password[=pwd] 指定密码 -h, --host=ip 指定服务器IP或者域名 -
醉生萌死
2018/11/05
10.5K0
MySQL主从复制及读写分离
还有一个半同步复制,他在协议中添加了一个同步步骤,这意味着主节点在提交时需要等待从节点确认它已经接收到事务。只有这样,主节点才能继续提交操作。
黑马金牌编程
2022/05/01
5280
CentOS 7.4下MySQL 5.7.20主从环境搭建(M-S)
一,master记录二进制日志,在每个事务更新数据完成之前,master在二进制日志中记录这些改变、mysql将事务写入二进制日志,即使事务中的语句都是交叉执行的。在事件写入二进制日志完成后,master通知存储引擎提交事务。
星哥玩云
2022/08/16
3880
CentOS 7.4下MySQL 5.7.20主从环境搭建(M-S)
CentOS7.4 源码编译安装MySQL8.0
MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能!
萧晚歌
2020/08/19
2.3K0
初识mysql语句
mysql> update mysql.user set authentication_string =password('root') where User='root';
py3study
2018/08/03
2.5K0
mysql基本操作
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。
胡齐
2019/09/23
2.2K0
mysql基本操作
MySQL主从复制(一主一从)部署
①当Master节点进行insert、update、delete操作时,会按顺序写入到binlog中。
Alone-林
2023/03/17
2.5K0
MySQL主从复制(一主一从)部署
MySQL数据安全保障实战指南:备份与恢复技术详解
在数据库运维中,备份是一项基础且重要的工作。本文将详细介绍如何使用mysqldump工具进行不同场景下的数据库备份和恢复操作,从单表备份到全库备份,一步步带您掌握这个重要的技能。
神秘泣男子
2025/01/03
2030
MySQL数据安全保障实战指南:备份与恢复技术详解
13.3 mysql常用命令
mysql常用命令目录概要 查询库 show databases; 切换库 use mysql; 查看库里的表 show tables; 查看表里的字段 desc tb_name; 查看建表语句 show create table tb_name\G; 查看当前用户 select user(); 查看当前使用的数据库 select database(); 创建库 create database db1; 创建表 use db1; create table t1(id int(4), name char(40
运维小白
2018/02/06
5330
Mysql常用基础指令
一、设置更改mysql的root密码 1.1 初次使用mysql的密码为空 /usr/local/mysql/bin/mysql -uroot 但是这样极度的不安全,我们需要修改一下密码! mysqladmin -uroot password '123456' 有时候我们不想使用/usr/local/mysql/bin/mysql 这种方式去登陆。我们需要直接mysql -uroot这种方式,由于mysql不在咱们的环境变量中,所以我们需要添加一下: export PATH=$PATH:/usr/local
老七Linux
2018/05/09
1.2K0
基础SQL-DCL语句-创建用户-授权用户-撤销授权-查看权限-删除用户-修改用户密码
我们一般默认使用的都是root用户,超级管理员,拥有全部的权限。但是,一个公司里面的数据库服务器上面可能同时运行着很多个项目的数据库。所以,我们应该可以根据不同的项目建立不同的用户,分配不同的权限来管理和维护数据库。
Devops海洋的渔夫
2022/01/17
1.5K0
基础SQL-DCL语句-创建用户-授权用户-撤销授权-查看权限-删除用户-修改用户密码
推荐阅读
相关推荐
Mysql主从同步架构配置
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验