首页 > 代码库 > 测试测
测试测
安装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沟通下,确定个结果,然后那个做事的人也就不会出力不讨好了
测试测