基于Openstack的Linux镜像制作

  • 格式:pdf
  • 大小:200.96 KB
  • 文档页数:6

1.centos镜像制作1.1.下载iso```下载地址:/centos-vault/请选择对应版本,例如centos7.1下载:1、window系统直接在浏览器内输入/centos-vault/7.1.1503/isos/x86_64/CentOS-7-x86_64-Minimal-1503-01.iso2、linux系统使用以下命令下载wget /centos-vault/7.1.1503/isos/x86_64/CentOS-7-x86_64-Minimal-1503-01.iso```1.1.安装系统```上传镜像iso,创建镜像磁盘qemu-img create -f qcow2 centos71.qcow2 20G启动虚拟机virt-install --virt-type kvm --name mysql57-centos75 --ram 2048 --cdrom=/data/images/CentOS-7-x86_64-Minimal-1804.iso --disk /data/images/mysql57-centos75.qcow2,format=qcow2 --network network=default --graphics vnc,listen=0.0.0.0,port=5912 --os-type=linux连接VNC安装部署系统装系统过程参照CentOS7.1系统安装手册# 注意:1. 时区选择asia shanghai2. 磁盘分区boot 500M 其他全分给/ 根分区/使用lvm+ext4格式3. 帐号密码默认为root/tstack@123```1.2.标准化定制1.2.1.修改网卡配置```修改eth0的配置echo "TYPE=EthernetBOOTPROTO=dhcpDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noNAME=eth0DEVICE=eth0ONBOOT=yes" > /etc/sysconfig/network-scripts/ifcfg-eth0修改eth1echo "TYPE=EthernetBOOTPROTO=dhcpDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noNAME=eth1DEVICE=eth1ONBOOT=yes" > /etc/sysconfig/network-scripts/ifcfg-eth1以此类推```1.2.2.关闭防火墙+selinux```关闭防火墙systemctl stop firewalldsystemctl disable firewalld关闭selinuxsetenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config```### 安装基础软件```yum install vim net-tools lrzsz unzip dos2unix telnet sysstat iotop pciutils lsof tcpdump psmisc bc -y#注意:如没有网络YUM源可以上传完整版iso做本地源```1.2.3.安装配置QGA```安装yum -y install qemu-guest-agent#注意:如没有网络YUM源可以下载安装包做本地源#下载地址:https:///download/qemu-guest-agent#请下载64位(x86_64)安装包启动并设置开机启动systemctl start qemu-guest-agentsystemctl enable qemu-guest-agent#注意:上传镜像至glance的时候需要添加元数据hw_qemu_guest_agent=yes用于通知nova 此镜像需要启用QGA```1.2.4.安装配置cloudinit```安装cloudinityum install cloud-init#注意:如果没有网络YUM源,请自行下载安装包做本地YUM源yum install cloud-init --downloadonly --downloaddir=/下载目录/修改cloud init配置vi /etc/cloud/cloud.cfg设置开放root密码远程登录并开启root用户的ssh权限。

以CentOS 6.7系列操作系统为例,配置文件中的disable_root字段为1表示为禁用,为0表示不禁用(部分OS的Cloud-init配置使用true表示禁用,false表示不禁用)。

设置disable_root值为0,ssh_pwauth为1,lock_passwd设置为false,false表示不锁住用户密码。

users:- default- name: rootlock_passwd: Falsedisable_root: 0ssh_pwauth: 1添加以下配置禁用Cloud-init接管网络network:config: disabled添加以下配置防止系统长时间卡在“Waiting for cloudResetPwdAgent”状态manage_etc_hosts: true避免用户更新机器名后重启服务器被还原。

注释或删除- update_hostname语句,并将-ssh选项移至第一位,提高虚拟机ssh登陆速度cloud_init_modules:- ssh #将此选项移动到第一位- migrator- bootcmd- write-files- growpart- resizefs- set_hostname#- update_hostname #注释或删除此行- update_etc_hosts- rsyslog- users-groups目前cloud-init还不能读取openstack传进来的admin_pass数据,所以得扩展一下修改/usr/lib/python2.7/site-packages/cloudinit/config/cc_set_passwords.py b/cloudinit/config/cc_set_passwords.py文件,增加以下内容:1.2.5.修改ssh配置vi etc/ssh/sshd_config找到PasswordAuthentication 设置为yesPasswordAuthentication yes重启sshsystemctl restart sshd执行以下命令,无错误发生,说明Cloud-init配置成功。

cloud-init init --local正确安装的Cloud-init会显示Cloud-init的版本详细信息,并且无任何错误信息。

例如,正确安装的情况下,不含有缺少文件的提示信息。

清理需要清理cloud目录下内容,由于其下有信号量,cloudinit检测到信号量则不再执行rm –rf /var/lib/cloud/*```1.2.6.安装配置监控AGENT```1.2.6.1.上传agent包1.2.6.2.安装前提* 请先在操作系统上使用提供的安装包安装python* 请确认collector已部署安装并且对应的服务端口已通* 请确认salt-master已部署安装并且对应的服务端口已通* 修改Linux_agent_minion文件夹下sh文件为可执行文件“chmod +x *.sh”1.2.6.3.安装步骤1. 手工编辑config.ini,server_ip为本机IP,uuid为本机基础云中分配id(物理机、母机为cmdb初始化的值,需保证一致)collectorIp为上报数据的服务器ip,端口默认为18880;master_ip为部署salt-master所在服务器ip,端口默认为4505、45062. 直接执行`bash install.sh`命令进行安装1.2.6.4.其它脚本* 执行`bash check.sh'可检查collector、salt-master服务的前置条件* 执行`bash status.sh'可检查cagent_app、rpt_main、salt-minion的运行状况* 执行`bash stop.sh'可停止cagent_app、rpt_main、salt-minion服务* 执行`bash start.sh'可启动cagent_app、rpt_main、salt-minion服务* 执行`bash uninstall.sh'可卸载cagent_app、rpt_main、salt-minion* collector、salt-master服务连接信息发生变化,可修改`config.ini`后,执行`bash config.sh`即可应用新的配置```1.2.7.清理记录与日志,关机```清理记录echo > /var/log/wtmpecho > /var/log/btmpecho > ~/.bash_historyhistory -c关机init 0```。