之所以要只有根分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容。无需人工介入
 
在原来的物理机10.40.41.1的CentOS 6.7上制作镜像。(当然如果你的制作镜像的宿主机是CentOS7也是一样的)
宿主机坱要安装KVM相关软件:
yum groupinstall Virtualization "Virtualization Client" -y
yum install libvirt libguestfs-tools qemu virt-manager virt-viewer qemu-kvm virt-install bridge-utils -y
service libvirtd start
chkconfig libvirtd on
 
材料有
CentOS-7-x86_64-DVD-1503-01.iso-----CentOS官网上有得下载 1503代表的是7.1版   1511是7.2版本
 
上传至10.40.41.1的物理机上的/home目录下
 
10.40.41.1所在的网段不一定要先配DHCP。
 
在10.40.41.1上
mkdir /mnt/sdd1/CentOS7-1
cd /mnt/sdd1/CentOS7-1
qemu-img create -f qcow2 CentOS7-1.qcow2 20G
 
传统KVM创建虚拟机命令
CentOS6.7宿主机上的执行命令
virt-install --name=Centos7-1 --ram=4096 --vcpus=2 --disk path=/mnt/sdd1/CentOS7-1/CentOS7-1.qcow2,format=qcow2,device=disk,bus=virtio  --os-type=linux --accelerate --network bridge=kvmbr0,model=e1000  --location=/home/CentOS-7-x86_64-DVD-1503-01.iso --vnc --vncport=5951 --vnclisten=0.0.0.0
 
CentOS7.2宿主机上的执行命令
virt-install --name test-centos7 --ram 4096 --vcpus 2 --network bridge=kvmbr0 --disk=/mnt/sde1/test/test.raw,size=20 --location=/home/CentOS-7-x86_64-DVD-1511.iso  --graphics vnc,listen=0.0.0.0,port=5901  --noautoconsole 
 
在win7的电脑上使用VNC连接
 

 

 
 
界面长这样
 
 

 

 
 
 
这里我们要更改xfs文件格式变成ext4,直接点完成
 

 
 
 
分区结束
 
配置网络IP
 
 

 
 
 
让网卡开机自启,然后点完成
 

开始安装
 

设置root密码
 

设置密码:venic8888,然后点2次完成(因为密码太弱,它会提示2次完成)
 

等它安装完毕

 
 
安装 完成 后,宿 主机会把其关机,我们需要在宿主机10.40.41.1上再将其打开
virsh start Centos7-1
 
接下来我们直接ssh上这台服务器
 
ssh 10.40.41.161
 
 
 
vi /etc/ssh/sshd_config,修改以下2处配置
 
UseDNS no
GSSAPIAuthentication no
 
vi /etc/ssh/ssh_config 修改1处,加2行,添加禁止加host_know和认证
        GSSAPIAuthentication no
        StrictHostKeyChecking no
        UserKnownHostsFile /dev/null
 
 
保存退出,重启ssh
service sshd restart
 
 
由于我们是使用VNC安装,console界面默认没有开启,虽然openstack使用的是VNC连接,但它的开机的console 日志我们是需要记录看到的。所以我们把它开起来
 
vi /etc/default/grub
 
GRUB_CMDLINE_LINUX="console=ttyS0,115200"
 
启用并刷新grub
grub2-mkconfig -o /boot/grub2/grub.cfg
 
设置2张网卡为dhcp并onboot=yes,使得虚拟机能自动获取IP地址;(本来一张网卡就足句,但为了适应将来可能会有2个网段的架机,我们配2张以将来不时之需)
 
 
vi /etc/sysconfig/network-scripts/ifcfg-eth0
 
TYPE=Ethernet
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
NM_CONTROLLED=no
NOZERCONF=yes
 
vi /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=dhcp
NM_CONTROLLED=no
NOZERCONF=yes
 
 
删除我们一开始系统读到的ens3网卡配置,是它读宿主机的网卡信息得到的。当前留着也不会影响,我习惯把它删掉,但下次再将这台虚拟机从这台宿主机启动时,还要再把它配回来,不然后它没有网络
rm -rf /etc/sysconfig/network-scripts/ifcfg-ens3
 
操作完不用重启网卡
 
 
 
查看SELinux状态:
/usr/sbin/sestatus -v
SELinux status: enabled
enabled表示SELinux为开启状态
关闭SELinux:
vi /etc/selinux/config
设置"SELINUX=disabled"。
 
 
查看和关闭firewalld
最新的CentOS7/REHL7防火墙已经更新为firewalld。不是iptables
 
systemctl stop firewalld.service        #停止firewall
systemctl disable firewalld.service    #禁止firewall开机启动
 
 
关闭NetworkManager功能
service NetworkManager stop
chkconfig NetworkManager off
yum remove NetworkManager -y
 
5.安装cloud-init以远程访问:
安装EPEL库
 
这个7-8的版本将来会随着时间推移而更新而打不开链接,哪果将来有谁做镜像时发现这个链接404时,可以先访问 http://dl.fedoraproject.org/pub/epel/7/x86_64/e/先上去看看版本多少,将链接复制下来即可。
 
接着安装cloud-init和parted 和acpid
 
yum install cloud-utils cloud-init parted acpid -y
 
让电源开关acpid开机自启
systemctl enable acpid
 
 
清空 /etc/udev/rules.d/70-persistent-ipoib.rules 文件中的内容,清网卡生成信息,
echo > /etc/udev/rules.d/70-persistent-ipoib.rules
 
修改元数据在启动下的下发配置,以下贴出生产环境的全部配置。部分是修改过的,比如允许root登录,注入DNS服务器地址等等
vi /etc/cloud/cloud.cfg
users:
 - default
 
disable_root:
ssh_pwauth:   
 
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: ~
 
cloud_init_modules:
 - migrator
 - bootcmd
 - write-files
 - growpart
 - resizefs
 - set_hostname
 - rsyslog
 - users-groups
 - resolv-conf
 
cloud_config_modules:
 - mounts
 - locale
 - set-passwords
 - yum-add-repo
 - package-update-upgrade-install
 - 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:
  default_user:
    name: centos
    lock_passwd: true
    gecos: Cloud User
    groups: [wheel, adm, systemd-journal]
    sudo: ["ALL=(ALL) NOPASSWD:ALL"]
    shell: /bin/bash
  distro: rhel
  paths:
    cloud_dir: /var/lib/cloud
    templates_dir: /etc/cloud/templates
  ssh_svcname: sshd
 
# vim:syntax=yaml
 
 
 
 
都安装一些基础包
yum install -y telnet chrony zip unzip ntp lsof net-tools
建议更新一下GCC和openssl软件,因为服务器如果对外的话,低版本的openssl的攻击的太常见了,
yum install -y gcc gcc-c++ pcre pcre-devel openssl openssl-devel
还有zabbix-agent和salt-minion等等
设置chrony时钟同步服务器,让其开机自启
 
另外一些linux内核特性的配置和文件句柄ulimit的优化,可以参考《linux学习》笔记中的<镜像制作注意点(已迭代到镜像的第4版本)>
 
 
 
(9)在宿主机上关机: virsh destroy Centos7-1
善后操作
 
(1)再次清除网络相关硬件生成信息 virt-sysprep -d Centos7-1
(2)压缩镜像 virt-sparsify --compress CentOS7-1.qcow2 CentOS7-1-cloud.qcow2
镜像制作到此结束,将压缩后的镜像上传去openstack平台测试开机2台,是否正常访问外网,MAC地址是否相同,测试调整云主机大小是否自动扩容根分区无需人工介入等等,迁移后是否正常。

openstack私有云布署实践【16.1 CentOS7.1 只有根分区镜像制作】的更多相关文章

  1. openstack私有云布署实践【16.2 Ubuntu1404 只有根分区镜像制作】

    之所以要只有根分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入   在原来的物理机10.40.41.1的CentOS 6.7上制作镜像. 宿主机坱要安装KVM相关软件: ...

  2. openstack私有云布署实践【16.3 Windows Server2008 R2 只有C盘分区镜像制作】

    之所以要只有C盘分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入   参考http://www.iyunv.com/thread-45149-1-1.html的灵感   ...

  3. openstack私有云布署实践【12.2 网络Neutron-controller节点配置(办公网环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

  4. openstack私有云布署实践【12.1 网络Neutron-controller节点配置(科兴环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

  5. openstack私有云布署实践【0 前言】

    管理控制层面示图: 其实在修改这个布署文档是,我发现当时生产中的布署已经严重偏离了openstack高可用的指导思想.我们自己实践的高可用其实是适应自己的架构而做的调整,因为我们现实手头上中没有比较符 ...

  6. openstack私有云布署实践【9.3 主从controller单向同步glance-image目录】

    采用Rysnc单向同步,而不用双方实时同步,原因是在历史的运行过程中,我们发现,有些镜像包太大,当在主用的glance将镜像保存时,并不是一时半会就把镜像保存好,当主用在保存时,备用节点又在实时同步那 ...

  7. openstack私有云布署实践【15 创建租户网络+实例】

    这里以办公网测试环境为例,   (一)创建租户demo的网络   使用admin用户 source admin-openrc.sh 创建public公网 neutron net-create 1040 ...

  8. openstack私有云布署实践【19 通过python客户端 创建实例VM指定IP地址】

    还有一种创建方式 是使用py开发工具,调用openstackclient的方法进行创建实例 ,好处就是可随意指定我们要的虚拟机IP地址,需求的场景就是,某天我们需要主动分配一个比较熟知的IP用作某个服 ...

  9. openstack私有云布署实践【11.3 计算nova - compute节点-nova用户免密登录(用于云主机冷迁移+扩展云主机大小)】

    云主机迁移+扩展云主机大小 ,官方说它依赖nova用户之间的免密登录.确保每个resion区域的compute节点服务器他们可以相互SSH免密   compute1-7     他们相互SSH免密 k ...

随机推荐

  1. CSS3效果收集

    收集一些 CSS3 效果 1. 闪烁字效果 原效果>>

  2. 常见sql语句

    1.去最新插入表数据与当前时间差额 select  *,(TIME_TO_SEC(SYSDATE())-TIME_TO_SEC(t.cre_time)) from t_sms_flow t where ...

  3. Java学习笔记-Thread-线程

    //2015年5月5日16:55:00 //Main package com.alfredsun.thread; public class Main { public static void main ...

  4. github从上传代码到发布静态网站

    1.上传代码 第一步:建立git仓库 cd到你的本地项目根目录下,执行git命令 git init 第二步:将项目的所有文件添加到仓库中 git add . 如果想添加某个特定的文件,只需把.换成特定 ...

  5. Tweak 中系统方法写入文件到根目录下面失败

    Tweak 中系统方法写入文件到根目录下面失败 失败原因: Error Domain=NSCocoaErrorDomain Code=513 "The operation couldn’t ...

  6. class.forname()方法的学习(转)

    Class.forName(xxx.xx.xx) 返回的是一个类 首先你要明白在java里面任何class都要装载在虚拟机上才能运行.这句话就是装载类用的(和new 不一样,要分清楚). 至于什么时候 ...

  7. 在ubuntu14.04上安装openstack mitaka

    最近在工作环境安装部署了juno版本,在GE口测试网络性能不太满意,发现mitaka版本支持ovs-dpdk,于是抽时间安装实验一番. 参考官网的安装文档,先准备将mitaka版本安装好再配置ovs. ...

  8. 敏捷开发(七)- SCRUM评估会议

    本文主要是为了检测你对SCRUM 评估会议的了解和使用程度, 通过本文你可以检测一下     1.你们的SCRUM 评估会议的过程和步骤    2.SCRUM 评估的输出结果一.会议目的      1 ...

  9. openstack私有云布署实践【10.1 计算nova - kxcontroller节点配置(科兴环境)】

    一.首先登录kxcontroller1创建kx_nova数据库,并赋于远程和本地访问的权限.     mysql -u root -p   CREATE DATABASE kx_nova; GRANT ...

  10. HTTP 错误 404.8 - Not Found

    HTTP 错误 404.8 - Not Found请求筛选模块被配置为拒绝包含 hiddenSegment 节的 URL 中的路径. 详细错误信息模块 RequestFilteringModule 通 ...