1. 程式人生 > >#openstack centos6 centos7 kvm鏡像制作

#openstack centos6 centos7 kvm鏡像制作

查看 history out lin default vm 虛擬機 res tty tps

#openstack centos6 centos7 kvm 鏡像制作

openstack pike 集群高可用 安裝部署 匯總 http://www.cnblogs.com/elvi/p/7613861.html

#openstack centos6 centos7 鏡像制作

####################################
#KVM環境 yum install -y kvm virt-*  libvirt  bridge-utils qemu-img qemu-kvm-tools

#創建KVm虛擬機
########centos7 mini, ks
kvname=centos6.9
ksname=c6op.ks
ISO=CentOS-6.9-x86_64-bin-DVD1.iso

# kvname=centos7.4
# ksname=c7op.ks
# ISO=CentOS-7-x86_64-DVD-1708.iso

qemu-img create -f qcow2 /kvm/img/$kvname.qcow2 2G
 virt-install --name $kvname --ram 1024 --vcpus 1 --os-type linux --os-variant rhel6 --arch=x86_64 --network network=default,model=virtio --disk path=/kvm/img/$kvname.qcow2,format=qcow2 --location /kvm/iso/$ISO --console pty,target_type=serial --initrd-inject=/kvm/iso/$ksname --extra-args="console=ttyS0,115200n8 serial ks=file:/$ksname" --graphics none

#安裝完成後,按鍵Ctrl + ] 退出kvm虛擬機

virsh destroy $kvname #強制關閉電源
cp /kvm/img/$kvname.qcow2{,.bak} #備份
ls -hl /kvm/img/$kvname*
virsh start   $kvname #開啟
virsh console $kvname #登錄

# #KS文件實例
# http://elven.vip/ks/openstack/c6op.ks
# http://elven.vip/ks/openstack/c7op.ks

####################################
#kvm 虛擬機配置

#更改root密碼
echo 123321|passwd root --stdin

# #時區配置#
# #centos7
# rm -f /etc/localtime
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# ll /etc/localtime
# #centos6
# echo ‘ZONE="Asia/Shanghai"‘>/etc/sysconfig/clock

#使用阿裏源#
[[ `uname -r` == *el6* ]] && { Ve=6; } || { Ve=7; }
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-$Ve.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-$Ve.repo
sed -i ‘/aliyuncs.com/d‘ /etc/yum.repos.d/*.repo #刪除阿裏內網地址#
yum clean all

#安裝
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
#sed -i ‘s/name: centos/name: root/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
 }

#根據需求,安裝配置其它服務#

#清理#
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/sysconfig/network-scripts/ifcfg-eth*
>/etc/udev/rules.d/7*.rules

#清空歷史記錄
history -c

poweroff #關機

####################################
#yum  install libvirt libguestfs-tools

#virsh destroy kvm
#顯示kvm所有虛擬機
virsh list --all

#執行清理任務
virt-sysprep -d $kvname

#壓縮
#cd /kvm/img/
virt-sparsify --compress $kvname.qcow2 $kvname-.qcow2
ls -hl /kvm/img/$kvname*

####################################
# #拷貝鏡像

#上傳glance鏡像
#centos7
openstack image create "centos7.4"   --file centos7.4-.qcow2   --disk-format qcow2 --container-format bare   --property hw_qemu_guest_agent=yes   --public
#
#centos6
openstack image create "centos6.9"   --file centos6.9-.qcow2   --disk-format qcow2 --container-format bare   --property hw_qemu_guest_agent=yes   --public

####################################
#kvm還原

virsh destroy $kvname 
rm -f $kvname.qcow2 $kvname-.qcow2
cp $kvname.qcow2.bak $kvname.qcow2
ls -hl $kvname*

virsh start $kvname
virsh console $kvname

####################################

#提示
#openstack創建虛擬機後,重啟VM根目錄才自動擴容
lsblk #查看分區

#制作的鏡像分享
#鏈接:https://pan.baidu.com/s/1nuPm75v 密碼:3iu0
####################################

  

#openstack centos6 centos7 kvm鏡像制作