openstack平台运维
2021-6-6补充
web界面启动不了,需要执行下列操作
openstack-service status openstack-service status | grep failed # 会发现有失败的服务,所以需要重启 openstack-service restart openstack-service status | grep neutron # 可能是因为neutron导致 openstack restart httpd memcached# 重启一下httpd和memcached服务
1.keystone服务运维
source /etc/keystone/admin-openrc.sh
(1).创建用户
# 查询用户 openstack user list # 查看用户列表 openstack user show username # 查看用户详细信息 # 帮助 openstack --help | grep user openstack help user create # 创建用户 openstack user create --domain xiandian --project admin --password 000000 test
(2).创建项目
openstack project create --domain demo acme openstack project list openstack project show acme
(3).创建角色
openstack role create compute-user openstack role list openstack role show compute-user
(4).绑定用户和项目权限
openstack role add --user alice --project acme compute-user
2.glance服务运维
(1).创建镜像
glance image-create --name "cirros" --disk-format qcow2 --container-format bare --progress < /root/cirros-0.3.3-x86_64-disk.img
(2).查看镜像列表
glance image-list # 查看镜像列表 glance image-show 镜像id # 查看镜像详细信息
(3).更改镜像
glange image-update --min-disk=1 # 镜像id
(4).删除镜像
glance image-delete 镜像id
3.nova服务运维
3.1安全组管理
(1).创建安全组
nova secgroup-create test
(2).查看安全组
nova secgroup-list
(3).查看安全组内的规则
nova secgroup-list-rules default
(4).添加安全组规则
nova secgroup-add-rule test udp 1 65535 0.0.0.0/0 nova secgroup-add-rule test tcp 1 65535 0.0.0.0/0 nova secgroup-add-rule test icmp -1 -1 0.0.0.0/0
(5).删除安全组
nova secgroup-delete secgroup_name
3.2创建云主机类型
# 使用命令创建一个名为test,ID为6,内存为2048MB,磁盘为20GB,vcpu数量为2的云主机类型 nova flavor-create test 6 2048 20 2 nova flavor-show test
3.3nova实例管理
nova --flavor m1.tiny --image 镜像id --nic net-id=内网子网id
4.Neutron服务运维
(1).查看网络服务
neutron agent-list -c binary
(2).查看网络详细信息
neutron net-list neutron net-show 网络id neutron subnet-list neutron subnet-show 子网id
(3).创建网络
# 外网 neutron net-create public --route:external=True # 子网 neutron subnet-create --gateway 192.168.200.2 --enable-dhcp --name out-sub public 192.168.200.0/24 # 内网 neutron net-create int-net # 子网 neutron subnet-create --gateway 172.16.1.1 --enable-dhcp --dns-nameserver 8.8.8.8 --name int-sub int-net 172.16.1.0/24
(4).创建路由
# 创建路由 neutron router-create route2 # 连接外网 neutron router-gateway-set route2 public # 链接内网 neutron router-interface-add route2 int-sub
(5).删除路由
neutron router-list # 清除外网网关 neutron router-gateway-clean # 清除内网子网接口 neutron router-interface-delete # 清除路由 neutron router-delete 或者name
5.Cinder服务运维
(1).创建云硬盘
cinder create --name extend-demo 2
(2).查看云硬盘信息
cinder list
(3).创建云硬盘卷类型
cinder type-create lvm
(4).创建带标识云硬盘
cinder create --name type_test_demo --volume-type lvm 1 # 查看 cinder show type_test_demo cinder delete type_test_demo
6.Swift服务运维
(1).创建容器
swift post test
(2).查询容器
swift list test
(3).上传文件至容器
swift upload test file/ swift upload test/file one.txt
(4).下载文件
swift download test file/three.png
(5).删除文件
swift delete test file/three.png
(6).查看容器服务状态
swift stat
7.创建云主机
(1).创建类型
# 创建云主机类型,名称为m1.test id为7 内存为2048 硬盘大小为2G vcpu为1颗 nova flavor-create m1.test 7 2048 2 1
(2).上传镜像
# glance image-create --name "CentOS7.5" --disk-format qcow2 --container-format bare --progress < /opt/images/CentOS_7.5_x86_64_XD.qcow2
(3).创建网络
# 外网: neutron net-create public --router:external=True # 子网: neutron subnet-create --gateway 192.168.200.2 --enable-dhcp --name out-subnet public 192.168.200.0/24 # 内网: neutron net-create int-net # 子网: neutron subnet-create --gateway 172.16.1.1 --enable-dhcp --dns-nameserver 8.8.8.8 --name int-subnet 172.16.1.0/24
(4).创建路由
neutron router-create route2 # 连接外网 neutron router-gateway-set route2 public # 连接内网 neutron router-interface-add route2 int-subnet
(5).创建安全组
nova secgroup-create test 'test the nova command about the rules' nova secgroup-add-rule test icmp -1 -1 0.0.0.0/0 nova secgroup-add-rule test tcp 1 65535 0.0.0.0/0 nova secgroup-add-rule test udp 1 65535 0.0.0.0/0
(6).启动云主机
nova boot --flavor m1.test --image cirros --security-group test --nic net-name=int-net server nova get-vnc-console server novnc # 获取云主机的vnc_url
(7).创建云硬盘
# 创建一块大小为1G名为vol1的硬盘 inder create --display-name vol1 1 # 将创建好的云硬盘链接到云主机 nova volume-attach server 云主机id
(8).绑定浮动ip
nova floating-ip-create public nova floating-ip-associate server 20.0.0.4 nova get-vnc-console server novnc
(9).测试
CRT连接外网IP进行测试 浏览器novnc测试
openstack平台运维?
old
openstack创建网络部分 openstack network create --share --external --provider-physical-network privider --provider-network-type vlan extnet #创建公网 openstack subent create --network extnet [--gateway 192.168.200.1] -subnet-range 192.168.200.0/24 extsubnet #创建公网子网 oepnstack network create --share --provider-physical-network provider --provider-network-type vlan intnet #创建私网 openstack subnet create --network intnet [--gateway 192.168.100.1] -subnet-range 192.168.100.0/24 intsubnet #创建私网子网 openstack router create ext-router #创建路由 openstack router set --external-gateway extnet ext-router #添加外部网关 openstack router add subnet ext-router intsubnet #添加内部网络接口 openstack创建虚拟机部分 glance image-create --name "cirros" --disk-format qcow2 --container-format bare --progress --property hw_disk_bus=ide hw_vif_model=e1000 < /opt/iamges/cirros.qcow2 #命令行传镜像 openstack flavor create --id 1 --vcpus 2 --ram 1024 --disk 10 small #创建按虚拟机类型 创建云主机之前先使用 openstack network list #查看网络 nova boot --flavor small --image cirros --nic net-id=intnet的ID [--security-group default] --poll vm1 #创建按虚拟机 neutron floatingip-create extnet #创建浮动IP nova add-floating-ip vm1 192.168.168.1.5 #将浮动IP绑定到vm1 cinder type-create lvm #创建卷类型 cinder create --name vdisk --volume_type lvm 40 #创建卷 nova volume-attach vm1 云盘uuid #将云盘与主机进行连接 nova volume-detach vm1 云盘uuid #将云盘与主机进行分离
1. 做raid5
将一个40G云盘划分为4个10G的分区,创建一个raid5,其中1个分区作为热备。
disk /dev/vdb #分区 mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/vdb1 /dev/vdb2 /dev/vdb3 /dev/vdb4 #创建raid5分区 mdadm -D /dev/md0 #查看/dev/md0状态 mdadm -D -s > /etc/mdadm.conf #使raid设备每次重启都生效 mkfs -t xfs /dev/md0 #格式化raid分区 mount -t xfs /dev/md0 /mnt/ df -Th
2. 主从数据库
iangyum -y install mariadb mariadb-server systemctl start mariadb systemctl enable mariadb mysql_sercure_installation 在两个节点中编辑数据库配置文件/etc/my.cnf,其中id不能相同 [mysqld] log_bin = mysql-bin binlog_ignore_db = mysql server_id = 9 datadir=/ver/lib/mysql socket=/var/lib/mysql/mysql.sock systemctl restart mariadb 在master节点赋予权限 mysql -uroot -p123456 grant all privileges on *.* to root@'%' identified by "123456"; grant all privileges on *.* to user@'mysql2' identified by "123456"; 在slave节点更改指向的主数据库 mysql -uroot -p123456 change master_host='mysql1',master_user='root',master_password='123456'; start slave; show slave status\G
3. 添加controller节点到云平台
vi /etc/xiandian/openrc.sh 将HOST_IP_NODE改为controller节点的IP,将HOST_NAME_NODE改为controller 在控制节点安装计算服务 iaas-install-nove-compute.sh
4. 编写shell脚本,释放云主机
vi /root/openstack/deletevm.sh #!/bin/bash nova stop vm1 nvoa delete vm1 if [ $? ] then echo Successfully delete! else echo fail to delete! fi nova list
5. 主机迁移
添加控制节点到云计算平台
vi /etc/xiandian/openrc.sh 将HOST_IP_NODE改为controller节点的IP,将HOST_NAME_NODE改为controller 在controller节点安装计算服务 iaas-install-nova-compute.sh nova list #查看虚拟机,记住要迁移的虚拟机IP nova stop vm1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
上传文件到容器中分段存储
swift post Chinaskill #新建容器 swift auth chinaskill #查询路径 swift upload Chinaskill --segment-size 10M cirros-***.img