Openstack从入门到放弃

这篇博客详细记录了OpenStack的入门过程,从基础的KVM命令使用,到云技术基础架构服务平台的搭建,包括glance镜像服务、nova计算服务、neutron网络服务的安装与配置,以及cinder块存储服务的设置。还涵盖了虚拟机的管理操作,如快照、克隆、热迁移等,并介绍了cloud-init在虚拟机初始化定制中的应用。
摘要由CSDN通过智能技术生成

@

云计算归档:

1.了解:

linux 网卡bond

2.KVM命令:

1.日常管理:
virsh list  
virsh list --all
virsh start centos7         #启动服务器
virsh shutdown centos7      #关机比较慢
virsh destroy centos7       #强制关机
virsh reboot centos7        #重启
virsh undefine centos7_1    #删除的是系统的配置文件
virsh define vm_centos7.xml  #导入配置文件
virsh edit centos7          #修改配置文件
virsh suspend web01         #挂起虚拟机
virsh resume web01          #恢复虚拟机
virsh vncdisplay web01      #查看服务器的端口号
virsh autostart web01       #开机自启动服务器
virsh autostart --disable web01     #取消开机启动
ll /etc/libvirt/qemu/autostart/     #开机启动软链接地址

#配置服务器console:
grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
reboot  重启
virsh console web01     #console实现控制台登录

sysctl -a |grep ipv4|grep ip_forward    #开启内核转发参数
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p   #立即生效


qemu-img info test.qcow2        #查看虚拟磁盘的信息
qemu-img info /opt/web01.raw    #查看raw格式的磁盘
qemu-img create -f qcow2 test.qcow2 1G  #创建一块qcow2格式的虚拟磁盘
qemu-img resize test.qcow2 +2G      #扩容磁盘容量
time qemu-img convert -f raw -O qcow2 test.raw test.qcow2   #转换磁盘格式(raw-->qcow2)
2.快照管理:
virsh snapshot-create-as web02 --name clean_system  #创建快照
virsh snapshot-list web02   #查看快照
virsh snapshot-revert web02 --snapshotname clean_system #还原快照
virsh snapshot-delete web02 --snapshotname clean_system #删除快照
3.虚拟机克隆
4.1完整克隆
virt-clone --auto-clone -o web01 -n web02   
4.2手动完整克隆
cp web01.qcow2 web02.qcow2
virsh dumpxml web01 >web02.xml
vim web02.xml
#修改虚拟机的名字
#删除虚拟机uuid
#删除mac地址
#修改磁盘路径
virsh define web02.xml
virsh start web02
4.3链接克隆
qemu-img create -f qcow2 -b web02.qcow2 web03.qcow2 #生成虚拟机磁盘文件
virsh dumpxml web01 >/etc/libvirt/qemu/web03.xml    #生成配置文件
#修改虚拟机的名字
#删除虚拟机uuid
#删除mac地址
#修改磁盘路径
virsh define /etc/libvirt/qemu/web03.xml    #导入虚拟机
virsh start web03   #启动虚拟机
brctl show  #查看交换设备
4.桥接网卡
5.1创建桥接网卡
virsh iface-bridge eth0 br0
5.2取消桥接网卡
virsh iface-unbridge br0
5.热添加
6.1临时添硬盘
virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2
6.2永久添加
virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2 --config
6.3临时剥离硬盘
virsh detach-disk web01 vdb
6.4永久剥离硬盘
virsh detach-disk web01 vdb --config
6.5临时热添加内存
virsh setmem web04 1024M 
6.6永久增大内存 
virsh setmem web04 1024M --config
6.7调整虚拟机内存最大值
virsh setmaxmem web04 4G
6.热迁移
7.1临时迁移
virsh migrate --live --verbose web04 qemu+ssh://10.0.0.11/system --unsafe

7.2永久迁移
virsh migrate --live --verbose web03 qemu+ssh://10.0.0.100/system --unsafe --persistent --undefinesource

3.云技术基础架构服务平台搭建

3.1基础环境搭建:

1.准备两台内存为8G的服务器,以及挂载光盘镜像[都做]
1.1全部做hosts解析
10.0.0.11   controller
10.0.0.31   compute1

1.2挂载光盘
mount /dev/cdrom /mnt
echo "mount /dev/cdrom /mnt" >>/etc/rc.local 
chmod +x /etc/rc.local

2.搭建本地Yum仓库[都做]
[root@controller yum.repos.d]# cat openstack.repo 
[openstack]
name=openstack
baseurl=file:///opt/repo
gpgcheck=0

[local]
name=local
baseurl=file:///mnt
gpgcheck=0

3.时间同步
controller节点配置ntp服务端:
vim /etc/chrony.conf
allow 10.0.0.0/24

systemctl restart chronyd
systemctl enable chronyd

4.其他节点配置ntp客户端:
vim /etc/chrony.conf
server 10.0.0.11 iburst
systemctl restart chronyd

5.所有节点安装openstack客户端
yum install python-openstackclient -y

6.控制节点安装数据库并配置
yum install mariadb mariadb-server python2-PyMySQL -y

vi /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 10.0.0.11
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

systemctl start mariadb
systemctl enable mariadb

mysql_secure_installation
先回车,选择N,剩下的一路y

7.控制节点安装消息队列
yum install rabbitmq-server -y

systemctl start rabbitmq-server.service 
systemctl enable rabbitmq-server.service

rabbitmqctl add_user openstack RABBIT_PASS
rabbitmqctl set_permissions openstack ".*" ".*" ".*"

8.控制节点安装memcache并配置
yum install memcached python-memcached -y

vim /etc/sysconfig/memcached
OPTIONS="-l 0.0.0.0"

systemctl start memcached.service 
systemctl enable memcached.service

9.控制节点安装keystone服务
a:准备数据库
mysql>
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
  IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
  IDENTIFIED BY 'KEYSTONE_DBPASS';

b:安装keystone相关软件包
yum install openstack-keystone httpd mod_wsgi -y

c:配置keystone
vi  /etc/keystone/keystone.conf 
[DEFAULT]
admin_token = ADMIN_TOKEN
[assignment]
[auth]
[cache]
[catalog]
[cors]
[cors.subdomain]
[credential]
[database]
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
[domain_config]
[endpoint_filter]
[endpoint_policy]
[eventlet_server]
[eventlet_server_ssl]
[federation]
[fernet_tokens]
[identity]
[identity_mapping]
[kvs]
[ldap]
[matchmaker_redis]
[memcache]
[oauth1]
[os_inherit]
[oslo_messaging_amqp]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_middleware]
[oslo_policy]
[paste_deploy]
[policy]
[resource]
[revoke]
[role]
[saml]
[shadow_users]
[signing]
[ssl]
[token]
provider = fernet
[tokenless_auth]
[trust]

#MD5校验
[root@controller opt]# md5sum /etc/keystone/keystone.conf
d5acb3db852fe3f247f4f872b051b7a9  /etc/keystone/keystone.conf

d:同步数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone

e:初始化fernet
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

f:配置httpd
echo "ServerName controller" >>/etc/httpd/conf/httpd.conf
echo 'Listen 5000
Listen 35357

<VirtualHost *:5000>
    WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
    WSGIProcessGroup keystone-public
    WSGIScriptAlias / /usr/bin/keystone-wsgi-public
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    ErrorLogFormat "%{cu}t %M"
    ErrorLog /var/log/httpd/keystone-error.log
    CustomLog /var/log/httpd/keystone-access.log combined

    <Directory /usr/bin>
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:35357>
    WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
    WSGIProcessGroup keystone-admin
    WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    ErrorLogFormat "%{cu}t %M"
    ErrorLog /var/log/httpd/keystone-error.log
    CustomLog /var/log/httpd/keystone-access.log combined

    <Directory /usr/bin>
        Require all granted
    </Directory>
</VirtualHost>' >/etc/httpd/conf.d/wsgi-keystone.conf

g:启动httpd
systemctl start httpd
systemctl enable httpd

h:初始化keystone
export OS_TOKEN=ADMIN_TOKEN
export OS_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3

###千万不能重复!!!
openstack service create --name keystone --description "OpenStack Identity" identity
openstack endpoint create --region RegionOne  identity public http://controller:5000/v3
openstack endpoint create --region RegionOne  identity internal http://controller:5000/v3
openstack endpoint create --region RegionOne  identity admin http://controller:35357/v3

##创建域,项目,用户,角色
openstack domain create --description "Default Domain" default
openstack project create --domain default --description "Admin Project" admin
openstack user create --domain default  --password ADMIN_PASS admin
openstack role create admin
openstack role add --project admin --user admin admin

openstack project create --domain default --description "Service Project" service

unset OS_TOKEN OS_URL
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值