制作linux云主机镜像
制作linux云主机镜像
1、物理机环境准备
使用一台物理机来配置 kvm 环境,需要 cpu 支持 intel VT 等硬件虚拟化功能。
建议安装CentOS 7操作系统,确保网络及软件源配置正确。
判断是否支持虚拟化功能命令:确认有结果输出。则表示该机器支持或已配置 intel VT vmx(intel)或 svm(AMD) 支持虚拟技术。
# 判断是否有已经支持虚拟化
cat /proc/cpuinfo | grep vmx
安装虚拟机化相关的软件包
yum install libvirt qemu-kvm virt-install bridge-utils qemu-img libguestfs -y
启动虚拟化服务
systemctl start libvirtd
2、安装kvm虚拟机
准备ISO镜像
/tmp/CentOS-7-x86_64-Minimal-1810.iso
创建一块raw格式的硬盘
# 根据镜像中软件多少决定镜像大小
# 尽可能使用较小的 disk,小的镜像可以适配更大的 flavor
# 通常 Linux 基础镜像 4G 即可
qemu-img create -f raw /tmp/centos-7.6.raw 4G
启动kvm虚拟机
virt-install --virt-type kvm --name centos-7.6 --ram 1024 \
--disk /tmp/centos-7.6.raw,format=raw \
--network network=ovs-external \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=linux --os-variant=rhel7 \
--location /tmp/CentOS-7-x86_64-Minimal-1810.iso\
--extra-args 'console=ttyS0,115200n8 serial'
# console=ttyS0,115200n8 serial 这个参数,为了使用virsh console 连接虚拟机;无此参数,将不能使用virsh console 去连接
--disk 指定format格式,将虚拟硬盘制作成raw格式的。
# 查看当前虚机
virsh list --all
# 使用 virsh 从 console 登入机器
virsh console centos-7.6
# 启动虚拟机
virsh start centos-7.6
# 查看vnc端口
virsh vncdisplay centos-7.6
# 使用vnc viewer 软件去连接
3、操作虚拟机
安装软件包
# 安装NetworkManager,用于网卡的自动发现及管理
# 安装acpid,用于虚拟机的电源管理
# 安装epel-release,添加epel源
yum install NetworkManager acpid epel-release
# 开机启动服务
systemctl enable acpid
systemctl enable NetworkManager
####################################################
# 安装cloud-init,用于注入密码/密钥和主机名
# 安装qemu-guest-agent,用于在面板更新密码/密钥
# 安装cloud-utils,用于更改虚拟机根分区大小(可选安装,需要启用epel源)
yum install cloud-init qemu-guest-agent cloud-utils
# 开机启动服务(有的linux发行版默认不开机自启这些服务,需要手动设置开机自启)
systemctl enable cloud-init
systemctl enable cloud-init-local
systemctl enable cloud-config
systemctl enable cloud-final
systemctl enable qemu-guest-agent # CENTOS6 为qemu-qa
或者
systemctl enable cloud-init cloud-init-local cloud-config cloud-final qemu-guest-agent
修改配置文件
disable_root: 0
ssh_pwauth: 1
locale_configfile: /etc/sysconfig/i18n
mount_default_fields: [~, ~, 'auto', 'defaults,nofail', '0', '2']
resize_rootfs_tmp: /dev
ssh_deletekeys: 0
ssh_genkeytypes: ~
syslog_fix_perms: ~
datasource_list: ['ConfigDrive','Ec2','NoCloud']
datasource:
Ec2:
timeout: 2
max_wait: 5
cloud_init_modules:
- migrator
- seed_random
- bootcmd
- write-files
- growpart
- resizefs
- set_hostname
- update_hostname
- update_etc_hosts
- ca-certs
- rsyslog
- users-groups
- ssh
cloud_config_modules:
- mounts
- locale
- set-passwords
- timezone
- puppet
- chef
- salt-minion
- mcollective
- disable-ec2-metadata
- runcmd
cloud_final_modules:
- rightscale_userdata
- scripts-per-once
- scripts-per-boot
- scripts-per-instance
- scripts-user
- ssh-authkey-fingerprints
- keys-to-console
- phone-home
- final-message
system_info:
distro: rhel
default_user:
name: cloud-user
paths:
cloud_dir: /var/lib/cloud
templates_dir: /etc/cloud/templates
ssh_svcname: sshd
禁用默认的zero conf route
echo "NOZEROCONF=yes" >> /etc/sysconfig/network
修改linux 16所在行行尾,添加console字段
console=ttyS0,115200n8 console=tty0
关闭selinux服务
#修改 /etc/selinux/config 中 SELINUX 行
SELINUX=disabled
关闭开机启动服务
systemctl disable iptables
systemctl disable postfix
删除特征性文件
# 清理临时文件和日志
yum clean all
rm -rf /var/log/yum.log
rm -rf /var/lib/yum/*
rm -rf /root/install.log
rm -rf /root/install.log.syslog
rm -rf /root/anaconda-ks.cfg
rm -rf /var/log/anaconda*
history -c
poweroff
4、在物理机上处理镜像
初始化kvm虚拟机
virt-sysprep -d centos-7.6
删除虚拟机
virsh undefine centos-7.6
5、拷贝制作好的raw格式的镜像
/tmp/centos-7.6.raw
6、发布镜像到云平台
[root@overcloud-controller-0 ~]# openstack image create \
--container-format bare \
--disk-format raw \
--file a4230bd2-eac6-4769-beab-9ee06b08a248.raw \
--public \
--property hw_qemu_guest_agent=yes \
--property image_type=distribution \
--property os_admin_user=root \
--property image_name_order=120 \
--property image_label_order=100 \
--property os_distro=centos \
--property os_version="7.5-64bit" \
--property image_build_version="2018-05-14-lnmp" \
"CentOS 7.5 64bit 20180514 lnmp"
#######
hw_qemu_guest_agent=yes , 开启qemu_guest_agent
制作linux云主机镜像的更多相关文章
- Linux云主机安全入侵排查步骤
导语 经常有用户报障系统被植入恶意程序,如挖矿软件.ddos攻击病毒.syn映射攻击病毒等,可以按照以下流程为用户排查入侵病毒类型: 一.定位病毒进程 对于用户反馈云主机性能卡顿,CPU和内存占用较高 ...
- linux云主机怎么安装WDCP
linux云主机 教你成功安装WDCP的2个方法(第一个不成功就试第2个) 工具/原料 Xshell 云服务器 方法/步骤 1 先用Xshell连接你的服务器 2 输入一下代码 wget ...
- Linux云主机安装JDK,配置hadoop的详细方式
云主机我使用的是青云的,还有好多其他品牌,比如阿里云 unitedstack 等等. 注册完青云后,会有试用券发到账户,可以利用此券试用其服务. 1 首先创建好一个主机,按照提示选择好系统,创建好一个 ...
- OpenStack平台上,linux云主机可以使用xshell连接,但是无法xftp连接
笔者在OpenStack云平台上创建了CentOS6.6的云主机,用了一段时间后,发现xshell可以连接,但是xftp却连接不上. 于是进行伟大的百度操作,检查网络设置.ssh服务设置等,均正常,否 ...
- 挂载Linux云主机硬盘到本地计算机
现在移动硬盘已经是每个人的生活必需品了,当然网络也是我们生活的必需品,我们现在就是要用网络存储代替硬盘存储,当然再实际使用过程中需要考虑到以下两个问题: 网络延迟 云主机磁盘IO 以上两个关键 ...
- Linux云主机 监控方案浅析
1.为何需要监控 监控是运维工程师的眼睛,它可帮助运维工程师第一时间发现系统的问题. 对于服务器的整个生命周期,都要和监控打交道: 当有服务器上架,都需要加入比如CPU负载.内存.网络.磁盘等基础监控 ...
- 本地为Windows,使用Xshell登录Linux云主机
以某东的云主机为实例 1. 下载并安装远程登录软件 下载Xshell软件 下载后双击xshell5_5.0.1332.exe进行安装 2. 安装完成,打开Xshell,并点击新建,根据要求输入相应参数 ...
- linux云主机小技巧
微信服务器安装 安装库 python 3.5环境下 pip安装web.py时 会报错 "no module named "utils" 等问题 更换命令为“pip ins ...
- Azure Linux 云主机使用Root超级用户登录
Azure的Linux虚拟机是可以灵活使用root超级用户的管理员权限的: 1:使用sudo passwd root指令设置超级用户root密码: 使用创建Linux时设置的用户名和密码登陆,使用su ...
随机推荐
- 数据结构之AVL
简介: 一棵AVL树有如下必要条件: 条件一:它必须是二叉查找树.(左<根<右) 条件二:每个节点的左子树和右子树的高度差至多为1. AVL相关概念: 平衡因子:将二叉树上节点的左子树高度 ...
- MATLAB学习(十)实现文件、图像读写
t=1:5; s1=sin(t); s2=cos(t); s=[t;s1;s2]; fid1=fopen('test.dat','wt'); fprintf(fid1,'\nThis is a For ...
- 代码托管至Github
昨天突然之间觉得作为一个iOS程序员,没有在github上提交过自己的代码真是一大遗憾,不管是自己写的优秀的代码还是刚开始学习,用来学习练手的项目.然后我就很想要学习怎么往github上提交代码,很不 ...
- Springboot入门5-项目打包部署(转载)
前言 本文主要介绍SpringBoot的一些打包事项和项目部署以及在其中遇到一些问题的解决方案. SpringBoot打包 在SpringBoot打包这块,我们就用之前的一个web项目来进行打包.首先 ...
- MBProgressHUD长时间加载无法取消的解决方法
使用MBProgressHUD时,加载网路数据,或者等待webview加载完毕,长时间的等待导致体验不佳,这时候希望点击屏幕取消加载动画效果: // MBProgressHUD.h @protocol ...
- android#boardcast#发送自定义广播
广播主要分为两种类型,标准广播和有序广播,通过实践的方式来看下这两种广播具体的区别. 一.发送标准广播 在发送广播之前,我们还是需要先定义一个广播接收器来准备接收此广播才行,不然发出去也是白发.因此新 ...
- 快速搭建WordPress博客
博主在看了朋友的博客后 决定也搭建一个wordPress 博客 思路 1.购买服务器 2.Cenots环境配置 3.安装wordpress 工具 推荐使用 Xshell 6,当然也可以用其他 服务器推 ...
- [机器学习理论] 降维算法PCA、SVD(部分内容,有待更新)
几个概念 正交矩阵 在矩阵论中,正交矩阵(orthogonal matrix)是一个方块矩阵,其元素为实数,而且行向量与列向量皆为正交的单位向量,使得该矩阵的转置矩阵为其逆矩阵: 其中,为单位矩阵. ...
- 【VS开发】CreateThread给线程函数传递的参数
CreateThread给线程函数传递的参数 HANDLE WINAPI CreateThread ( __in_opt LPSECURITY_ATTRIBUTES lpThreadAttribu ...
- 关于mac配置vs code的C++环境问题
在配置完成后,编译通过了但是在终端输出一直不出现很奇怪,求问大家这是啥问题 以下是我的配置