把ISO镜像导入Oracle VM VirtualBox 里创建虚机 必须要做 然后部署完找到VMDK文件
Centos6 CentOS7 Ubantu UOS都必须要做的
centos7制作
yum install qemu-guest-agent
yum install cloud-init
cloud-init-18.2+6.g6ef08548-1.el7.noarch.rpm ##把包放进去
yum remove cloud-init
yum clean all
yum install epel-release -y
yum install cloud-utils-growpart
yum install cloud-utils-growpart
把拉进来的包解压
yum install -y cloud-init-18.2+6.g6ef08548-1.el7.noarch.rpm
vim /etc/ssh/sshd_config
UseDNS no ##修改
systemctl restart sshd
vim /etc/yum.conf
exclude=cloud-init ##添加
清理数据 清理.1, .2,有日期这种后缀的日志
cd /var/log/
rm -rf /root/.viminfo
for i in `find /var/log/ -type f`; do cat /dev/null >$i; done
rm -f /var/lib/dhclient/*
echo > /root/.bash_history
rm -rf /var/log/cloud-init*
rm -rf /var/lib/cloud
passwd -d root 清空root密码
passwd -l root 锁定root账号 -u是解锁
rm -rf /root/.bash_history
history -c
centos6制作 跟CentOS7的步骤差不多需要改点东西
安装阿里源和epel源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo
安装epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum install -y lrzsz gcc gcc-c++
yum install cloud-init ##如果安装失败看一下源 ,卸载remove清空clean
剩下的和CentOS7的步骤一样
UOS或者是Ubantu制作
系统无法远程登录请修改
如果最新的版本镜像ssh修改不能解决问题的话可以把前一个版本的ssh文件放进去替换
sudo vim /etc/ssh/sshd_config ##取消注释并修改
LoginGreaceTime 200 第31行
PermitRootLogin yes 第32行
StrictModes yes 第33行
/etc/init.d/ssh restart 重启ssh服务
开始制作
apt-get install qemu-guest-agent
apt-get update
apt-get install python-pip
pip install --upgrade pip
然后把qihoo-cloud-init.gz拉进去解压
tar xf qihoo-cloud-init.gz
cd cloud-init/
pip install -r requirements.txt
apt-get install cloud-guest-utils -y
python setup.py build
python setup.py install --init-system systemd
ln -s /usr/local/bin/cloud-init /usr/bin/cloud-init
systemctl unmask cloud-init-local.service
systemctl enable cloud-init-local.service
systemctl unmask cloud-init.service
systemctl enable cloud-init.service
systemctl unmask cloud-config.service
systemctl enable cloud-config.service
systemctl unmask cloud-final.service
systemctl enable cloud-final.service
清理数据 把带有日期字样的删掉
cd /var/log/
ls
rm -rf Xorg.0.log
rm -rf /root/.viminfo
for i in `find /var/log/ -type f`; do cat /dev/null >$i; done
rm -f /var/lib/dhclient/*
echo > /root/.bash_history
rm -rf /var/log/cloud-init*
rm -rf /var/lib/cloud
rm -rf /etc/network/interfaces.d/50-cloud-init.cfg
vim /etc/network/interfaces
source /etc/network/interfaces.d/* ##原来的注释掉这个加进去
锁定root账号
passwd -d root ##清空
passwd -l root ##-u是解锁
history -c
安装监控端 centos6 centos7 uos ubantu有需要都可以装
wget http://pub-shbt.s3.360.cn/v2s3/moon-agent-offline-v1.7.1.tar.gz -O /root/moon-agent-offline.tar.gz && \
cd /root && \
tar xzvf moon-agent-offline.tar.gz
cd /root/moon-agent-offline && \
./moon-agent-offline.sh [your_moon_master_ip]
cd /root/moon-agent-offline
./moon-agent-offline.sh 127.0.0.1
systemctl 开机自启 moon-agent
systemctl start moon-agent
制作镜像上传镜像
Centos6 CentOS7 Ubantu UOS 镜像转换上传 步骤通用
找到虚机机的vmdk文件,然后把vmdk放到部署有ceph的虚机机器里
找一台虚拟机拉进去进行转换qcow2格式
qemu-img convert -p -f vmdk -O qcow2 liuyongLinux.vmdk liuyongLinux.qcow2
然后把转换好的镜像拉出来放到部署ceph的机器里
cp liuyongLinux.qcow2 /opt/RegionOne/files/ ##路径是相对路径
docker exec -it kolla bash ##进入这个容器 这个不是绝对的根据环境而定
cd /opt/RegionOne/ ##进入这个目录 相对路径 不是绝对根据环境而定
source admin-openrc.sh ##刷新环境变量 这个必须要做
##注意名称 云盘操作 必须有ceph存储才能这么干 如果是windows下面把Centos和Linux改为Windows就行
openstack image create "liuyongLinux" \
--disk-format raw --container-format bare \
--public --min-disk 51 \
--property hw_disk_bus=scsi --property hw_scsi_model=virtio-scsi \
--property hw_video_model=qxl --property vm_mode=hvm \
--property os_distro=centos \
--property os_type=linux \
--property hw_qemu_guest_agent=yes
ceph -c ceph.conf -s|grep id|awk '{print $2}' ##上传镜像
openstack image list|grep 'liuyongLinux'|awk '{print $2}'
qemu-img convert -f qcow2 -O raw -p files/liuyongLinux.qcow2 rbd:sata_pool1/liuyongLinux.raw:conf=./ceph.conf ##这个命令是把镜像转换为raw格式传到ceph里
##qemu-img convert -f qcow2 -O raw -p
##files/liuyongLinux.qcow2 ##相对路径##rbd:sata_pool1/liuyongLinux.raw:conf=./ceph.conf##ceph文件相对路径
rbd snap create sata_pool1/liuyongLinux.raw@snap ##注意名称和镜像名称
rbd snap protect sata_pool1/liuyongLinux.raw@snap ##注意名称
openstack image list ##查看镜像id
openstack image show a5ec04ee-f184-4974-9a28-3e1d0c60c64d ##查看对应的镜像id并找到ceph的id
glance location-add --url rbd://d180d174-842e-4722-b12a-23310903c276/sata_pool1/liuyongLinux.raw/snap d9d1e39d-4375-4cb0-b77b-175c73763b5a
前面是ceph的id 后面是镜像的id
openstack image list ##查看 active状态则为成功
Windows镜像制作
http://wiki01v.cloud.bjyt.qihoo.net:8090/pages/viewpage.action?pageId=6926439 ##镜像制作windows
上传镜像和转换
openstack image create "a5c19abf-cfb6-44dc-a303-0e378abec974" \
--disk-format raw --container-format bare \
--public --min-disk 51 \
--property hw_disk_bus=scsi --property hw_scsi_model=virtio-scsi \
--property hw_video_model=qxl --property vm_mode=hvm \
--property os_distro=windows \
--property os_type=windows \
--property hw_qemu_guest_agent=yes
把镜像上传到ceph里
qemu-img convert -f qcow2 -O raw -p c29bbf8a-e3e4-4ac2-b3d6-7603e7559cb5.qcow2 rbd:sata_pool1/c29bbf8a-e3e4-4ac2-b3d6-7603e7559cb5.raw:conf=/etc/ceph/ceph.conf
qemu-img convert -f qcow2 -O raw -p 相对路径/+ 镜像名.qcow2 rbd:sata_pool1/c29bbf8a-e3e4-4ac2-b3d6-7603e7559cb5.raw(镜像名.raw):conf=/etc/ceph/ceph.conf(指向ceph的目录)
rbd snap create sata_pool1/c29bbf8a-e3e4-4ac2-b3d6-7603e7559cb5.raw@snap
rbd snap protect sata_pool1/c29bbf8a-e3e4-4ac2-b3d6-7603e7559cb5.raw@snap
openstack image list
glance image-list
openstack image list
openstack image show id
glance location-add --url rbd://c17a147e-edfb-4553-9903-b9187d40951a/sata_pool1/a5c19abf-cfb6-44dc-a303-0e378abec974.raw/snap 07f5cf28-5831-4192-8b98-76a5f112abfa
如果页面无法正常显示执行这个命令
openstack server set --property order_state=success 3f8cac47-d383-4a7c-ae4f-587f5003df31 ##后面是对应页面虚机的id
卸载硬盘的命令 如果卸载不掉的时候这么操作 后面是虚机的id
cinder list --all | grep e31346fa-66a8-42d4-b3c9-a172520a49fe
cinder reset-state --state available e31346fa-66a8-42d4-b3c9-a172520a49fe
cinder list --all | grep e31346fa-66a8-42d4-b3c9-a172520a49fe
升级套餐也可以改脚本
openstack flavor create ecs.small3_L --vcpus 1 --ram 2048 --disk 200 --property trait:CUSTOM_LOCAL_DISK=required --property use_for=server --property bandwidth=-1
##ecs.small3_L 名称不能有重复
## --disk 200 是给系统盘的大小
上传本地盘的命令
glance image-create --name "CentOS_7.5_64bit" --file CentOS_7.5_64bit.qcow2 --disk-format qcow2 --container-format bare --visibility public --min-disk 50 --property hw_disk_bus=scsi --property hw_scsi_model=virtio-scsi --property hw_video_model=qxl --property is_available=True --property os_distro=centos --property os_type=linux --progress
## --name "CentOS_7.5_64bit"你要的镜像名称自定义
##--file CentOS_7.5_64bit.qcow2 要转换的镜像
##--min-disk 50 系统盘的大小
##--property os_distro=centos --property os_type=linux 如果是windows就写windows是什么系统镜像就写什么
如果是集群的话在一台机器上执行就可以
/data/docker/volumes/glance/_data/ ##看看有没有这个目录里面有没有东西 如果是集群的话都有查看