OpenStack例题:
一、配置YUM源
留意:假如web登录Dashboard仪表盘堕落了请联系管理员刷新,使用https://协议登录乐成,可能跟ssl有关。
例题一、repo编写
在配置httpd.conf文件时,需要修改主目录为opt,这样在网站上打开时才会显示opt目录中的文件
修改以下两处:
<Directory "/opt">
DocumentRoot "/opt"
使用提供的http服务地点,在http服务下,存在centos7.5和iaas的网络yum源,使用该http源作为安装iaas平台的网络源。分别设置controller节点和compute节点的yum源文件http.repo。
- [root@controller yum.repos.d]#cat http.repo
- [centos]
- name=centos
- baseurl=http://IP地址/centos #该IP是提供的http服务地址,练习改成自己的
- gpgcheck=0
- enabled=1
- [iaas]
- name=iaas
- baseurl=http://IP地址/iaas #该IP是提供的http服务地址,练习改成自己的
- gpgcheck=0
- enabled=1
复制代码 二、时间同步配置
例题一、配置时间同步
在controller节点上部署chrony服务器,答应其他节点同步时间,启动服务并设置为开机启动;在compute节点上指定
controller节点为上游NTP服务器,重启服务并设为开机启动。
- [root@controller /]# yum install -y chrony && systemctl enable chronyd
- [root@controller /]# vi /etc/chrony.conf
- allow 192.168.0.0/16 #根据自身IP段进行配置,意为允许广播到的网络范围
- local stratum 10
- [root@controller /]# systemctl start chronyd
- [root@compute /]# yum install -y chrony && systemctl enable chronyd
- [root@compute /]# vi /etc/chrony.conf
- server controller节点IP iburst
复制代码 留意:修改时区-假如时间不是CST时区可以修改回来
留意域名解析服务器,由于是通过主机名解析不是直接通过IP地点,假如域名解析没有配置好,那么时间同步不会乐成,CST:中心标定时区。UTC:天下协调时间。我国为CST+8的时间标准。
- [root@controller /]# date
- 2018年 03月 02日 星期五 14:09:45 CST
- [root@controller /]# tzselect #设置时区
- 时区的设置文件:/etc/timezone
- 时间相关文件:/etc/localtime
- 时间相关的文件:/usr/share/zoneinfo/Asia 这里边放着亚洲主要城市的时间
- 设置时间 rm -rf /etc/localtime
- ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
复制代码 三、数据库利用
例题一、数据库创建插入数据
登录数据库服务,创建库test,并在库test中创建表company(表布局如(id int not null primary key,name varchar(50),addr varchar(255))所示),在表company中插入一条数据(1,"alibaba","china")。
- [root@controller /]#mysql -uroot -p000000
- mysql> create database test;
- mysql> \u test
- mysql> create table company(
- ->id int not null primary key,
- ->name varchar(50),
- ->addr varchar(255)
- ->);
- mysql> insert into company values(1,'alibaba','china');
复制代码 例题二、RabbitMQ用户创建立置权限
使用RabbitMQ服务的相干命令创建用户chinaskill,密码为chinapd,并赋予该用户administrator权限。
- [root@controller /]#rabbitmqctl add_user chinaskill chinapd
- [root@controller /]#rabbitmqctl set_user_tags chinaskill administrator
- [root@controller /]#rabbitmqctl set_permissions chinaskill ".*" ".*" ".*"
复制代码 启动RabbitMQ Web服务检验
- [root@controller /]#rabbitmq-plugins enable rabbitmq-management
- 浏览器输入http://192.168.100.10:15672使用chinaskill登录
复制代码 例题三:主从数据库
主从数据库配置:
- 1、安装数据库mariadb-server(多节点操作):
- [root@node-1 /]# yum install -y mariadb-server
- [root@node-2 /]# yum install -y mariadb-server
- [root@node-3 /]# yum install -y mariadb-server
- 2、主数据库修改配置文件:
- [root@node-1 /]# vi /etc/my.cnf
- [mysqld]
- server-id=1 #各服务器确保ID唯一性
- log-bin=mysql-bin #log-bin不指定默认datadir指向的目录,mysql-bin也是头文件名
- 3、各节点初始化数据库:
- [root@node-1 /]# mysql_install_db --user=mysql
- [root@node-2 /]# mysql_install_db --user=mysql
- [root@node-3 /]# mysql_install_db --user=mysql
- 4、从数据库修改配置文件:
- [root@node-2 /]# vi /etc/my.cnf
- [mysqld]
- server-id=2
- [root@node-3 /]# vi /etc/my.cnf
- [mysqld]
- server-id=3
- 5、启动各节点的数据库,设置开机自启:
- [root@node-1 /]# systemctl start mariadb && systemctl enable mariadb
- [root@node-2 /]# systemctl start mariadb && systemctl enable mariadb
- [root@node-3 /]# systemctl start mariadb && systemctl enable mariadb
- 6、创建主从连接账号与授权:
- [root@node-1 /]# create user '用户名slave'@'%' identified by '密码';
- [root@node-1 /]# grant replication slave on *.* to 'slave'@'%';
- #grant 允许 #replication 同步复制 # slave从权限为*.*全部 账号为'slave'@'主机名'
- [root@node-1 /]# flush privileges;
- [root@node-1 /]# show master status;
- #查看masterlog文件和pos偏移量
- 7、从数据库连接:
- [root@node-2 /]# change master to master_host='IP',master_user='slave',master_password='密码',master_log_file='mysql-logXXX',master_log_pos='570';
- [root@node-2 /]# show slave status\G
- #查看详细信息
复制代码 四、heat模板
例题一、heat-template编写
使用自己搭建的openstack云平台,在/root目录下编写模板server.yaml,创建名为“m1.flavor”、 ID 为 1234、内存为1024MB、硬盘为20GB、vcpu数量为 1的云主机类型。
- [root@controller /]#vi /root/server.yaml
- heat_template_version: 2013-05-23 #模板版本
- resources: #资源,不可少
- m1: #名字随便起
- type: OS::Nova::Flavor #不可少,使用Flavor代表要创建的是主机类型,可以在web中查看所有模板
- properties: #参数,不可少
- ram: 1024
- name: m1.flavor
- flavorid: 1234
- disk: 20
- vcpus: 1
- [root@controller /]#openstack stack create -f yaml -t /root/server.yaml stack2
- *openstack stack create命令执行yaml文件
- *-f指定类型为yaml,可以不写
- *-t指定模板为/root/server.yaml文件
- *stack2为给堆栈起一个名字,自己定义
复制代码 或者使用以下表达方式:
- heat_template_version: '2013-05-23'
- resources:
- m1:
- properties: {disk: 20, flavorid: 1234, name: m1.flavor, ram: 1024, vcpus: 1}
- type: OS::Nova::Flavor
- *yaml写法:每个冒号“:”符号后必须有空格
- *大小写敏感
- *使用缩进表示层级关系,缩进不能用tab只能是空格,缩进空格数目不重要,只要相同等级元素左对齐
复制代码 五、Cinder使用
例题一、使用cinder命令创建云硬盘
留意:若执行命令报ERROR: You must provide ······,请执行source /etc/keystone/admin-openrc.sh
- 一、先创建lvm卷类型
- [root@controller /]#cinder type-create lvm
- 二、创建名为blockvolume大小为2G的云硬盘
- [root@controller /]#cinder create --volume-type lvm --display-name blockvolume 2
- 三、云硬盘扩容
- [root@controller /]#lvdisplay /dev/mapper/cinder--volumes-volume--e8fa3391--867c--4fe0--84db--042498969a83
- *查看卷名称和详细信息
- [root@controller /]#cinder list
- *查看cinder卷名称
- [root@controller /]#cinder extend blockvolume 3
- *扩展到3G
复制代码 六、快照管理
例题一、cinder创建快照并导出
使用自己搭建的openstack云平台,将云主机VM1生存为qcow2格式的快照并生存到controller节点/root/cloudsave目录下,生存名字为csccvm.qcow2。
- 在web中创建快照生成镜像
- glance image-list 查看生成的镜像
- glance image-download --file /root/cloudsave/csccvm.qcow2 239cb73a-f05a-46fd-affe-a28a50341168(imageID) --progress
复制代码 OpenStacka运维题:
例题一、创建镜像
使用自己搭建的openstack云平台,使用http:// /cirros-0.3.4-x86_64-disk.img镜像,使用命令创建一个名为cirros的镜像。
- [root@controller /]#openstack image create --disk-format qcow2 --container-format bare --file /opt/iaas/images/CentOS_7.2_x86_64.qcow2 cirros --public --project admin
- *--disk-format 硬盘格式qcow2
- *--container-format 容器格式为bare
- *--public 公有镜像
- *--project 项目为admin
- *--file 后跟文件(镜像)地址
复制代码 例题二、swift创建容器
在控制节点和计算节点上分别使用iaas-install-swift-controller.sh和iaas-install-swift-compute.sh脚本安装Swift服务并创建test容器。
- [root@controller /]# iaas-install-swift-controller.sh
- [root@controller /]# swift post test
- *使用swift post后跟容器名
复制代码 例题三、实例类型管理
在OpenStack私有云平台上,使用命令创建一个名为Fmin,ID为1,内存为1024 MB,磁盘为10 GB,vcpu数量为1的云主机类型。
- [root@controller /opt/iaas/iaas-repo]# nova flavor-create Fmin 1 1024 10 1
- 格式:nova flavor-create <Name> <ID> <RAW><Disk> <vCPUs>
复制代码 例题四、网络管理
在openstack私有云平台上,使用命令创建云主机外部网络extnet,子网extsubnet,虚拟机浮动 IP 网段为172.18.x.0/24(其中x是考位号), 网关为172.18.x.1,网络使用vlan模式。
- (1)首先创建外部网络
- [root@controller /opt/iaas/iaas-repo]# openstack network create --project admin --provider-network-type vlan --provider-physical-network provider --external extnet
- (2)创建外部网络子网
- [root@controller /opt/iaas/iaas-repo]# openstack subnet create --network extnet --subnet-range 172.18.X.0/24 --gateway 172.18.X.1 --allocation-pool start=172.18.X.10,end=172.18.X.200 --dhcp extsubnet
复制代码 例题五、网络管理
在openstack私有云平台上,通过使用命令创建云主机内网intnet,子网intsubnet,虚拟机子网 IP 网段为10.10.x.0/24(其中x是考位号),网关为10.10.x.1。
- (1)首先创建内部网络
- [root@controller /opt/iaas/iaas-repo]# openstack network create --internal intnet
- (2)创建内部网络子网
- [root@controller /opt/iaas/iaas-repo]# openstack subnet create --subnet-range 10.10.x.0/24 --gateway 10.10.x.1 --dhcp --network intnet intsubnet
复制代码 例题六、网络管理
添加名为 ext-router 的路由器,配置路由接口地点,完成内网子网intsubnet和外部网络extnet的连通。
- [root@controller /opt/iaas/iaas-repo]# openstack router create ext-router
- [root@controller /opt/iaas/iaas-repo]# openstack router add subnet ext-subnet intsubnet
- [root@controller /opt/iaas/iaas-repo]# openstack router set --enbale --enable-snat --external-gateway extnet ext-router
复制代码 例题七、创建实例
在openstack私有云平台上,基于“cirros” 镜像、1vCPU/1G /10G 的flavor、 intsubnet的网络,绑定浮动IP,使用命令创建一台虚拟机VM1,启动VM1,并使用PC机能远程登录到VM1。
- [root@controller /opt/iaas/iaas-repo]# openstack flavor create --ram 1024 --disk 10 --vcpus 1 flavor
- [root@controller /opt/iaas/iaas-repo]# nova boot --flavor flavor --image cirros --nic net-name=intnet --security-groups default VM1
- (1) 创建浮动IP地址
- [root@controller /opt/iaas/iaas-repo]# neutron floatingip-create extent
- [root@controller /opt/iaas/iaas-repo]# neutron floatingip-list
- (2)绑定浮动IP
- [root@controller /opt/iaas/iaas-repo]# neutron floatingip-list
- [root@controller /opt/iaas/iaas-repo]# neutron port-list
- [root@controller /opt/iaas/iaas-repo]# neutron floatingip-associate --fixed-ip-address 10.10.x.3 9fb1f908-167c-4f48-9113-1d061136eff1(floatingip的ID) 2c773859-32cb-47f3-80c2-79432bd8e6e3(内网prot的ID)
- 连接上去需要修改安全组规则,如果可以使用图形化界面可以到Web删除
- [root@controller /opt/iaas/iaas-repo]#Openstack help security
- [root@controller /opt/iaas/iaas-repo]#Openstack security group list
- [root@controller /opt/iaas/iaas-repo]#Opensatck security group rule list
- [root@controller /opt/iaas/iaas-repo]#Openstack security group rule delete ID
- [root@controller /opt/iaas/iaas-repo]#Openstack help security group rule create
- [root@controller /opt/iaas/iaas-repo]#Openstack security group rule create --egress --ethertype IPv4 安全组ID 放行所有IPv4流量出去
- [root@controller /opt/iaas/iaas-repo]#Openstack security group rule create --ingress --ethertype IPv4 安全组ID 放行所有IPv4流量进入
- [root@controller /opt/iaas/iaas-repo]#Openstack security group rule create --ingress --protocol icmp 安全组ID 允许ICMP流量进去
- [root@controller /opt/iaas/iaas-repo]#Openstack security group rule create --egress --protocol icmp/udp 安全组ID 允许ICMP出口
复制代码 例题八、卷管理
在openstack私有云平台上,创建一个名为“lvm”的卷类型,创建1块卷类型为lvm的40G云盘,并附加到虚拟机VM1上。
- [root@controller /opt/iaas/iaas-repo]# openstack volume type create lvm
- [root@controller /opt/iaas/iaas-repo]# openstack volume create --type lvm --size 40 v1
- [root@controller /opt/iaas/iaas-repo]# openstack server add volume VM1 v1
复制代码 例题九、RAID磁盘阵列
在虚拟机VM1上,使用附加的云盘,划分为4个10G的分区,创建一个raid 5,其中1个分区作为热备。
- [root@controller /opt/iaas/iaas-repo]# fdisk /dev/vdb #输入m可以查看fdisk帮助,创建4个分区
- [root@controller /opt/iaas/iaas-repo]# Mdadm -Cv /dev/md5 -l 5 -n 3 -x 1 /dev/vdb{1,2,3,4}
- 或者使用一下命令指定热备盘:
- [root@controller /opt/iaas/iaas-repo]# Mdadm -Cv /dev/md5 -l 5 -n 3 /dev/vdb{1,2,3} --spare-devices=1 /dev/vdb4
复制代码 例题十、Shell脚本释放实例
在Controller节点中编写/root/openstack/deletevm.sh的shell脚本,释放虚拟机VM1,执行脚本完成实例释放。
- [root@controller /opt/iaas/iaas-repo]# source /etc/keystone/admin-openrc.sh
- [root@controller /opt/iaas/iaas-repo]# vi /root/openstack/deletevm.sh
- openstack server stop vm1
- openstack server delete vm1
- [root@controller /opt/iaas/iaas-repo]# chmod 755 /root/openstack/deletevm.sh #给脚本执行权限
- [root@controller /root/openstack]# ./deletevm.sh #执行脚本
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |