zoukankan      html  css  js  c++  java
  • 021-制作OpenStack镜像官方文档

    可参考官方文档:https://docs.openstack.org/image-guide/

     制作centos7 :https://docs.openstack.org/image-guide/centos-image.html

    手动创建OpenStack镜像:
    
    上传centos7.iso 到/tmp下
    
    1.创建虚拟磁盘
    qemu-img create -f qcow2 /tmp/centos.qcow2 10G
    
    2.创建虚拟机

      

    virt-install --virt-type kvm --name Centos7-x86_64 --ram 1024 
    --cdrom=/tmp/CentOS-7-x86_64-DVD-1810.iso 
    --disk path=/tmp/centos.qcow2 
    --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
    

      

    如果不能创建的 类型换成 qemu
    
    如报错:ERROR    主机不支持 任意虚拟化选项
    原因是没有安装qemu-kvm软件包,安装即可
    yum -y install qemu-kvm
    
    创建虚拟机:网络如果选择默认:network=default  就要有虚拟桥接网卡,也就是如下:virbr0与virbr0-nic 是按装libvirt 自动创建的。
    
    
    [root@linux-node1 ~]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master brqecad9a89-d0 state UP group default qlen 1000
        link/ether 00:0c:29:d1:eb:67 brd ff:ff:ff:ff:ff:ff
        inet6 fe80::20c:29ff:fed1:eb67/64 scope link 
           valid_lft forever preferred_lft forever
    3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
        link/ether 52:54:00:7c:7b:42 brd ff:ff:ff:ff:ff:ff
        inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
           valid_lft forever preferred_lft forever
    4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
        link/ether 52:54:00:7c:7b:42 brd ff:ff:ff:ff:ff:ff
    5: tap676e4377-48@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master brqecad9a89-d0 state UP group default qlen 1000
        link/ether 66:1e:88:49:1e:ab brd ff:ff:ff:ff:ff:ff link-netnsid 0
    6: brqecad9a89-d0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
        link/ether 00:0c:29:d1:eb:67 brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.230/24 brd 192.168.1.255 scope global brqecad9a89-d0
           valid_lft forever preferred_lft forever
        inet6 fe80::9472:d0ff:fe29:dcc5/64 scope link 
           valid_lft forever preferred_lft forever
    
    
    如果没有虚拟网络就改成如下:bridge=brqecad9a89-d0 即可
    virt-install --virt-type kvm --name centos --ram 1024 
      --disk /tmp/centos.qcow2,format=qcow2 
      --network bridge=brqecad9a89-d0 
      --graphics vnc,listen=0.0.0.0 --noautoconsole 
      --os-type=linux --os-variant=centos7.0 
      --location=/tmp/CentOS-7-x86_64-DVD-1810.iso
    
    注意:虚拟机不分交换分区
    
    3.启动虚拟机并用vnc链接
    virsh list --all
    virsh start centos
    
    4.安装默认需要的软件
    配置虚拟机网络,删除UUID,ONBOOT=yes,如果不用ipv6的话就删掉,PEERNDS=yes要删掉,因为他是默认使用NetworkManager来管理的,删掉PEERROUTES=yes,删掉DEFROUNT=yes
    systemctl stop NetworkManager
    systemctl disable NetworkManager
    systemctl start network
    vim /etc/resolv.conf
    ping www.baidu.com
    
    关闭selinux,防火墙,postfix
    yum install acpid
    systemctl enable acpid
    

      

    yum install net-tools tree screen wget git vim salt-minion zabbix-agent
    内部yum源
    内部DNS
    等
    
    设置key,编写脚本
    vim /opt/init.sh
    #!/bin/bash
    
    set_key(){
    if [ ! -d /root/.ssh ]; then
    	mkdir -p /root/.ssh
    	chmod 700 /root/.ssh
    fi
    
    # Fetch public key using HTTP
    for ((i=1;i<=5;i++)); do
        if [ ! -f /root/.ssh/authorized_keys ]; then
    		curl -f http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/metadata-key 2>/dev/null
    		if [ $? -eq 0 ]; then
    			cat /tmp/metadata-key >> /root/.ssh/authorized_keys
    			chmod 0600 /root/.ssh/authorized_keys
    			restorecon /root/.ssh/authorized_keys
    			rm -f /tmp/metadata-key
    			echo "Successfully retrieved public key from instance metadata"
    			echo "*****************"
    			echo "AUTHORIZED KEYS"
    			echo "*****************"
    			cat /root/.ssh/authorized_keys
    			echo "*****************"
    		fi
    	fi
    done
    }
    
    set_hostname(){
        PRE_HOSTNAME=$(curl -s http://169.254.169.254/2009-04-04/meta-data/hostname)
        #echo $PRE_HOSTNAME > /etc/hostname
    	hostnamectl set-hostname `echo $PRE_HOSTNAME`
    }
    
    set_static_ip(){
        PRE_IP=$(curl -s http://169.254.169.254/2009-04-04/meta-data/local-ipv4)
    	NET_FILE=/etc/sysconfig/network-scripts/ifcfg-eth0
    	echo "TYPE=Ethernet" > $NET_FILE
    	echo "BOOTPROTO=none" >> $NET_FILE
    	echo "NAME=eth0" >> $NET_FILE
    	echo "ONBOOT=yes" >> $NET_FILE
    	echo "DEVICE=eth0" >> $NET_FILE
    	echo "IPADDR=${PRE_IP}" >> $NET_FILE
    	echo "PREFIX=24" >> $NET_FILE
    	echo "GATEWAY=192.168.1.1" >> $NET_FILE
    	#echo "DNS1=192.168.1.1" >> $NET_FILE
    }
    #如果需要挂载数据云盘可编写 main(){ set_key; set_hostname; set_static_ip; echo > /opt/init.sh reboot }
    main
    chmod +x init.sh chmod +x /etc/rc.d/rc.loca vim /etc/rc.d/rc.loca /bin/bash /tmp/init.sh poweroff 5.上传镜像: openstack image create "Centos-7-x86_64" --file /tmp/centos.qcow2 --disk-format qcow2 --container-format bare --public https://www.cnblogs.com/linuxk/p/9455206.html
    http://blogs.studylinux.net/?p=3481

      

  • 相关阅读:
    团队博客----用户需求调研报告
    结对开发----买书问题
    团队开发----NABC分析
    js 中中括号,大括号使用详解
    FileZilla Server 防火墙端口开启设置 windows 2008 win
    在其他的电脑上配置绿色Jre+tomcat运行环境
    工资发给平庸,高薪给予责任。奖金发给成绩,股权分给态度,荣誉颁给理想!
    SSH框架(四) struts2+spring3.0的登陆示例
    SSH框架(三) struts2的登陆示例
    SSH (Struts2+Spring3.0+Hibernate3)框架(二) 框架的配置
  • 原文地址:https://www.cnblogs.com/xuefy/p/11146678.html
Copyright © 2011-2022 走看看