mysql qcow2_OpenStack云平台RAW、QCOW2格式镜像制作之--centos7

本文介绍了如何在KVM环境下使用qcow2格式创建CentOS7虚拟机,并进行自动化安装配置,包括安装基本软件、设置密码、调整时区、配置阿里YUM源、启用SSH、安装云初始化工具等。随后,将qcow2镜像转换为RAW格式,用于OpenStack云平台,通过glance上传镜像并设置属性,使其可供公共使用。
摘要由CSDN通过智能技术生成

安装KVM环境

#KVM环境

yum install -y kvm virt-* libvirt bridge-utils qemu-img qemu-kvm-tools

创建KVM虚拟机

定义变量:

kvname=centos7.4

ksname=c7op.ks

ISO=CentOS-7-x86_64-DVD-1708.iso

c7op.ks文件的内容:

# centos 7 自动安装脚本

# centos7 CD install ,Auto Mini ,Mady my Elven

# openstack镜像制作,centos7自动安装ks脚本

# 使用实例

install

cdrom

text

keyboard us

lang en_US.UTF-8

authconfig --enableshadow --passalgo=sha512

rootpw LNxinmeiti

skipx

timezone Asia/Shanghai --isUtc

firewall --enabled --port=22:tcp

selinux --disabled

firewall --disabled

#设置网络

bootloader --location=mbr --driveorder=sda,sdb #--append="net.ifnames=0 biosdevname=0"

network --bootproto=dhcp --onboot=yes --nameserver=119.29.29.29

network --hostname=CentOS7

#分区

zerombr

clearpart --all --initlabel

#part /boot --asprimary --fstype="ext4" --size=300 --ondrive=sda

#part swap --fstype="swap" --size=2048

part / --asprimary --fstype=xfs --grow --size=1

reboot

#安装的软件包

%packages

@base

@core

@fonts

net-tools

ntp

tree

wget

vim

openssh

%end

%post

# add user

#useradd -g wheel elven -d/home/elven -m

#echo LNxinmeiti|passwd elven --stdin

%end

创建虚拟机文件

qemu-img create -f qcow2 /data4/kvm/img/$kvname.qcow2 15G

创建虚拟机

virt-install \

--name $kvname \

--ram 1024 --vcpus 1 \

--os-type linux --os-variant rhel7 --arch=x86_64 \

--network network=default,model=virtio \

--disk path=/data4/kvm/img/$kvname.qcow2,format=qcow2 \

--location /data4/kvm/iso/$ISO \

--console pty,target_type=serial \

--initrd-inject=/data4/kvm/iso/$ksname \

--extra-args="console=ttyS0,115200n8 serial ks=file:/$ksname" \

--graphics none

安装完成后,按键 Ctrl + ] 退出kvm虚拟机

virsh destroy $kvname #强制关闭电源

cp /data4/kvm/img/$kvname.qcow2{,.bak} #备份

ls -hl /data4/kvm/img/$kvname*

virsh start $kvname #开启

virsh console $kvname #登录

KVM 虚拟机配置

配置密码

echo LNxinmeiti|passwd root --stdin

时区配置

#centos7

rm -f /etc/localtime

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ll /etc/localtime

配置阿里 yum 源

[[ `uname -r` == *el6* ]] && { Ve=6; } || { Ve=7; }

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup // 重命名原来的源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

// 清理并生成缓存

yum clean all

yum makecache

安装 cloud-int

yum install -y acpid cloud-init cloud-utils jq parted qemu-guest-agent

[[ `uname -r` == *el6* ]] && { yum install -y dracut-modules-growroot; }

cloud-int,开启root密码登录

sed -i 's/disable_root: 1/disable_root: 0/g' /etc/cloud/cloud.cfg

sed -i 's/ssh_pwauth: 0/ssh_pwauth: 1/g' /etc/cloud/cloud.cfg

grub启动项添加console=ttyS0,115200n8,安装kvm时已配置#

echo 'NETWORKING=yes

NOZEROCONF=yes'>/etc/sysconfig/network

ssh配置

sed -i 's/^PasswordAu.*$/PasswordAuthentication yes/' /etc/ssh/sshd_config

sed -i 's/^GSSAPIAuthentication yes/GSSAPIAuthentication no/' /etc/ssh/sshd_config

sed -i 's/^#UseDNS.*$/UseDNS no/' /etc/ssh/sshd_config

[[ $Ve = 6 ]] && { service sshd restart; } || { systemctl restart sshd; }

开机自启

[[ $Ve = 6 ]] && {

chkconfig acpid on

chkconfig cloud-init on

chkconfig qemu-ga on

sed -i 's/timeout=5/timeout=2/g' /boot/grub/grub.conf

} || {

systemctl enable acpid cloud-init qemu-guest-agent

sed -i 's/timeout=5/timeout=2/g' /boot/grub2/grub.cfg

}

根据需求,安装配置其它服务

# =================================

# ===========安装nginx=============

# =================================

yum install -y nginx

systemctl enable nginx.service

systemctl start nginx.service

systemctl stop nginx.service

# =================================

# ===========安装mariaDB===========

# =================================

yum install mariadb mariadb-server

systemctl enable mariadb.service

systemctl start mariadb.service

mysql_secure_installation

#配置 mariaDB root 账户远程登录

use mysql;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'xinmeiti13579' WITH GRANT OPTION;

flush privileges;

systemctl stop mariadb.service

# =================================

# ===========安装PHP7==============

# =================================

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

# 安装php7

yum install php70w php70w-opcache

# 安装php扩展

yum install php70w-bcmath php70w-cli php70w-common php70w-dba php70w-devel php70w-embedded php70w-enchant php70w-fpm php70w-gd php70w-imap php70w-interbase php70w-intl php70w-ldap php70w-mbstring php70w-mcrypt php70w-mysql php70w-odbc php70w-opcache php70w-pdo php70w-pdo_dblib php70w-pear php70w-pecl-apcu php70w-pecl-imagick php70w-pecl-memcached php70w-pecl-redis php70w-pecl-xdebug php70w-pgsql php70w-phpdbg php70w-process php70w-pspell php70w-recode php70w-snmp php70w-soap php70w-tidy php70w-xml php70w-xmlrpc libjpeg* php70w-mhash

# 启动php-fpm

systemctl enable php-fpm

systemctl start php-fpm

php -v

systemctl status php-fpm

systemctl stop php-fpm

# =================================

# ===========安装zabbix============

# =================================

rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

yum install zabbix-agent -y

systemctl enable zabbix-agent.service

systemctl start zabbix-agent.service

# =================================

# ======安装Linux开发常用软件======

# =================================

yum -y install gcc gcc-c++ cmake autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel ncurses ncurses-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel gzip gzip-devel curl curl-devel libjpeg libjpeg-devel e2fsprogs e2fsprogs-devel libidn libidn-devel libmcrypt-devel libmcrypt wget

清理

yum clean all

rm -rf /tmp/*

rm -rf /root/*

rm -f /var/log/wtmp /var/log/btmp

>/var/log/cloud-init.log

删除网卡信息

sed -i '/HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth*

sed -i '/UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth*

>/etc/udev/rules.d/7*.rules

清空历史记录

history -c

关机

poweroff

镜像操作

# 显示所有虚拟机

virsh list --all

# 执行清理任务

virt-sysprep -d $kvname

#压缩

cd /data4/kvm/img/

virt-sparsify --compress $kvname.qcow2 $kvname-.qcow2

ls -hl $kvname*

# 把镜像转换成RAW格式

qemu-img convert -f qcow2 -O raw centos7.4-.qcow2 centos7.4-LNMP.raw

拷贝镜像到控制节点

上传glance镜像

openstack image create "centos7.4-LNMP" \

--file centos7.4-LNMP.raw \

--disk-format raw --container-format bare \

--property hw_qemu_guest_agent=yes \

--public

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值