首页 > 代码库 > 测试测

测试测

安装centos7基础操作系统

本篇概要

  • 安装操作系统并配置网络
  • 安装本地源,epel源和openstack的yum源
  • 安装MariaDB数据库服务,安装RabbitMQ消息服务

安装centos7操作系统,目前的环境都是在我的笔记本当中完成,官方也写了在不要求性能的情况下,可以在虚拟机当中进行配置,虚拟机下配置环境一般比较好的就是:

  • 方便控制主机,机器出现异常状况,可以随时重启,并且硬件可以添加网卡,可以增加磁盘
  • 支持快照,进行环境的回滚,在做不确定的操作时候,或者需要重复验证的操作的时候,进行快照

目前我的运行环境为win10开发者预览版,由于win10开发者预览版上安装VMware 10后虚拟机网卡有问题,搜了一下解决方案,发现需要将VMware也升级到开发者预览版,目前来说除了在做大文件拷贝并中断的时候出现了系统蓝屏,其他情况下使用都还挺不错的,顺带说一句,使用xshell5的分屏功能,非常不错,现在每天都是对着两个屏幕,然后把xshell分成四五个小块块进行操作,相比以前要方便太多了,电脑里面已经是一堆的beta版本软件,当然如果你能够接受软件的bug再去尝试更换版本


安装的过程中模式选择Infrastructure Server,这里没有了centos6的时候Base server选项,暂时选择这个感觉比较类似的选项了

修改主机名:

centos的主机名文件(centos7里面这个文件默认是空文件了)

[root@stack ~]# vim /etc/sysconfig/network

添加:

hostname stack
修改网卡名称:

查看网卡名,这个跟centos6也有变化,以前的大部分的linux发行版是会默认eth0,现在这个版本是个随机编号了,之所以这样是为了引入一种新的网络设备命名方式–一致网络设备命名,这样的名称自动识别,带来的好处是,更换硬件的时候,能够解决以前出现的设备名称跳的问题,带来的坏处就是名称不好记了,当然这里还是想办法将网卡名固定下

[root@stack ~]# ifconfig 
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.198  netmask 255.255.0.0  broadcast 192.168.255.255
        inet6 fe80::20c:29ff:fe0c:43b2  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:0c:43:b2  txqueuelen 1000  (Ethernet)
        RX packets 260  bytes 26544 (25.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 250  bytes 42693 (41.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

修改grub文件:

vim /etc/sysconfig/grub

在“GRUB_CMDLINE_LINUX=”这行最后
添加 net.ifnames=0 biosdevname=0

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto  vconsole.keymap=us rhgb quiet net.ifnames=0 biosdevname=0"

然后执行:

grub2-mkconfig -o /boot/grub2/grub.cfg

然后修改 /etc/sysconfig/network-scripts/ifcfg-*
为想要的名称 ifcfg-eth0 ,修改配置文件里面的名称 NAME=eth0

重启操作系统,即可将网卡名称修改为 eth0

重启网络命令

centos7新版本命令

[root@stack ~]# systemctl restart network.service

兼容老版本的命令(两个都行)

[root@stack ~]# /etc/init.d/network restart
[root@stack ~]# service network restart
增加本地源和epel源

导入认证

[root@stack ~]# rpm --import  /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 
[root@stack ~]# yum makecache
[root@stack ~]# yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
[root@stack ~]# yum makecache
添加openstack的源
[root@stack ~]# yum install https://repos.fedorapeople.org/repos/openstack/openstack-juno/rdo-release-juno-1.noarch.rpm
[root@stack ~]# yum makecache

安装openstack-selinux,centos默认开启的SElinux,安装这个来接管操作系统的selinux,一般情况下,安装完操作系统都会把系统的selinux关了

yum install openstack-selinux
安装MariaDB数据库

openstack支持MariaDB或者MySQL以及PostgreSQL,mysql稍微熟悉些,mariadb实际是mysql的分支,全兼容的,这个是当初mysql创始人将mysql卖给oracle以后,避免mysql闭源的风险,来单独开了一个分支,这样的做法也算很奇特的了

执行下面命令安装:

yum install mariadb mariadb-server MySQL-python

安装完成后修改mariadb的配置文件

在/etc/my.cnf中添加(设置UTF-8字符集)

[mysqld]
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = ‘SET NAMES utf8‘
character-set-server = utf8

启动服务,并且添加自启动

[root@stack ~]# systemctl enable mariadb.service
[root@stack ~]# systemctl start mariadb.service
初始化数据库(设置数据库的密码)
[root@stack ~]# mysql_secure_installation

安装完成了后,开启的mysql的远程访问发现还是没法远程访问,原来新的centos7已经不用iptables做访问控制了,添加了一个新的访问控制措施,一个名字为firewalld的服务,关闭后就能够远程访问了

开启mysql的远程访问,在mysql中执行语句

GRANT ALL ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘100200‘ WITH GRANT OPTION;
FLUSH PRIVILEGES;

关闭防火墙,并且关闭自启动

[root@stack ~]# systemctl stop firewalld.service
[root@stack ~]# systemctl disable firewalld.service
安装消息服务

消息服务是用来协调操作和信息之间交互的服务,消息服务通常运行在控制节点上,openstack支持多种消息服务的,包括RabbitMQ, Qpid, and ZeroMQ,每个版本的openstack都支持一些特定的版本的消息服务,RabbitMQ是每个版本都可以支持的,那么就安装这个版本

[root@stack ~]# yum install rabbitmq-server

开启服务并开启自启动(enable是自启动)

[root@stack ~]# systemctl enable rabbitmq-server.service
[root@stack ~]# systemctl start rabbitmq-server.service

这里需要注意了,安装完操作系统后,我没有在我的主机的/etc/hosts里面加入主机名的对应关系,所以启动服务没法启动,RabbitMQ应该是依赖主机名的服务,因此需要在hosts文件里面127.0.0.1后面加入自己的主机名,然后就可以启动了,可以用下面的命令来进行状态的查询

[root@stack ~]# systemctl status rabbitmq-server.service

默认安装完成以后会自动生成一个用户名和密码,guest,用户名密码都是这个,建议修改下密码

[root@stack ~]# rabbitmqctl change_password guest 123456
Changing password for user "guest" ...
...done.

openstack服务太多了,需要设置很多的密码,为了方便,都设置为123456,生产环境下的密码要求就严格一些

下一篇将是认证服务的相关内容了


结尾吐槽一下,是嘎嘎遇到的事情,我们都可能遇到:
当你的工作属于A,B两个人管的时候,一个第三方C需要你来做一件事,来找A,A说不管并且按常理就是可以不管的,然后C通过自己的个人关系找到B,让B给你施压,让你做,并且B没有去和A做任何沟通,然后自己再去做这件事,就里外不是人了,这样的事情在工作中生活中都有可能碰到,也许我们都有可能是中间的A,B,C,当然都是想的去把事情完成,只想说一下,当某天我们成为这个B角色的时候,是否能去为那个做事的人着想下,去跟那个A沟通下,确定个结果,然后那个做事的人也就不会出力不讨好了

测试测