码迷,mamicode.com
首页 > 其他好文 > 详细

gitlab9.2维护参考

时间:2018-01-18 20:44:58      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:lock   授权   UI   51cto   config   nba   sel   tool   命令   

gitlab9.2备份报错

今天无意中发现gitlab已经有10天不能正常备份了,报错:

[root@tools-gitlab gitlab_backups]# /usr/bin/gitlab-rake  gitlab:backup:create

Dumping database ... 
Dumping PostgreSQL database gitlabhq_production ... pg_dump: [archiver (db)] connection to database "gitlabhq_production" failed: FATAL:  remaining connection slots are reserved for non-replication superuser connections
[FAILED]
Backup failed

检查gitlab的状态check

#gitlab-rake gitlab:check
或者使用sudo gitlab-ctl tail postgresql 查看postgresql日志也可以。

hooks directories in repos are links: ... rake aborted!
PG::ConnectionBad: FATAL:  remaining connection slots are reserved for non-replication superuser connections
/opt/gitlab/embedded/service/gitlab-rails/app/models/project.rb:234:in `block in <class:Project>‘
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/check.rake:469:in `check_repos_hooks_directory_is_link‘
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/check.rake:345:in `block (3 levels) in <top (required)>‘
/opt/gitlab/embedded/bin/bundle:22:in `load‘
/opt/gitlab/embedded/bin/bundle:22:in `<main>‘
Tasks: TOP => gitlab:check => gitlab:gitlab_shell:check
(See full trace by running task with --trace)

登陆postgresql数据库查看连接

确定是数据库连接总数太少,总共200个,其中当前连接已经达到197,其中3个连接是保留给非用户的。

#登陆数据库,默认是没有密码的
gitlab-psql -d gitlabhq_production
#当前总共正在使用的连接数
postgres=# select count(1) from pg_stat_activity;
#显示系统允许的最大连接数
postgres=# show max_connections;
#显示系统保留的用户数
postgres=# show superuser_reserved_connections ;

更改gitlab的postgresql数据库最大连接数

vim /etc/gitlab/gitlab.rb
添加如下内容

postgresql[‘max_connections‘] = 500

更新配置,重启gitlab

gitlab-ctl reconfigure
gitlab-ctl restart

ok,问题处理完毕。下面是常用的命令,其他版本未试过。

运维常用命令

# 修改默认的配置文件
sudo vim /etc/gitlab/gitlab.rb
# 查看版本
sudo cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
# 检查gitlab
gitlab-rake gitlab:check SANITIZE=true --trace
gitlab-rake gitlab:check
gitlab-rake gitlab:check SANITIZE=true
# 查看日志
gitlab-ctl tail

# 数据库关系升级
gitlab-rake db:migrate
# 清理缓存
gitlab-rake cache:clear
# 更新gitlab包
yum update gitlab-ce
# 升级gitlab
yum install gitlab-ce
# 升级数据命令
gitlab-ctl pg-upgrade

服务管理
gitlab-ctl start # 启动所有 gitlab 组件:
gitlab-ctl stop  # 停止所有 gitlab 组件:
gitlab-ctl stop postgresql # 停止所有 gitlab postgresql 组件:
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl restart # 重启所有 gitlab 组件:
gitlab-ctl restart gitlab-workhorse # 重启所有 gitlab gitlab-workhorse 组件:
gitlab-ctl status # 查看服务状态
gitlab-ctl reconfigure # 生成配置启动服务

日志查看
sudo gitlab-ctl tail # 查看日志
sudo gitlab-ctl tail redis # 检查redis的日志
sudo gitlab-ctl tail postgresql       # 检查postgresql的日志
sudo gitlab-ctl tail gitlab-workhorse # 检查gitlab-workhorse的日志
sudo gitlab-ctl tail logrotate # 检查logrotate的日志
sudo gitlab-ctl tail nginx    # 检查nginx的日志
sudo gitlab-ctl tail sidekiq  # 检查sidekiq的日志
sudo gitlab-ctl tail unicorn  # 检查unicorn的日志

重置管理员密码

sudo gitlab-rails console production

#查询用户的email,用户名,密码等信息,id:1 表示root账号
user = User.where(id: 1).first

#重新设置密码
user.password = ‘新密码‘
user.password_confirmation = ‘新密码‘ 

#保存密码
user.save!

备份保留七天

单位为秒,我算了好几次了。

# /etc/gitlab/gitlab.rb 配置文件 修改下面这一行
gitlab_rails[‘backup_keep_time‘] = 604800  

启用禁用账户验证防护

修改下面的配置项控制Rack Attack:

gitlab_rails[‘rack_attack_git_basic_auth‘] = {
  ‘enabled‘ => true, # 启用/禁用 Rack Attack
  ‘ip_whitelist‘ => ["127.0.0.1"], # 白名单地址,多个IP用","隔开
  ‘maxretry‘ => 10, # 限制每个IP尝试登陆的次数为10次。
  ‘findtime‘ => 60, # 60秒后重置每IP的授权计数器
  ‘bantime‘ => 3600 # 对多次错误登陆的IP封禁1小时(3600秒)
}

上篇文章是:
centos7.x搭建gitlab9.2.2

gitlab9.2维护参考

标签:lock   授权   UI   51cto   config   nba   sel   tool   命令   

原文地址:http://blog.51cto.com/yanconggod/2062591

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!