制作linux云主机镜像
发布时间:2020-12-14 00:22:37 所属栏目:Linux 来源:网络整理
导读:目录 制作linux云主机镜像 1、物理机环境准备 2、安装kvm虚拟机 3、操作虚拟机 4、在物理机上处理镜像 5、拷贝制作好的raw格式的镜像 制作linux云主机镜像 1、物理机环境准备 使用一台物理机来配置 kvm 环境,需要 cpu 支持 intel VT 等硬件虚拟化功能。 建
目录
制作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 去连接
# 查看当前虚机 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 修改配置文件 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |