zoukankan      html  css  js  c++  java
  • gitlab 存储仓库目录设置及数据迁移

    注:一开始没有考虑到把gitlab划分好存储目录,占用系统磁盘,由于gitlab是默认安装的,随着公司代码越来越多,导致gitlab数据目录空间不足

    磁盘空间:

    [root@gitlab ~]# df -hT
    Filesystem     Type      Size  Used Avail Use% Mounted on
    /dev/vda1      ext4       40G   25G   13G  67% /
    

    注:因为使用的阿里云服务,所以考虑另挂载一块磁盘专用于gitlab存储。
    ······ 云盘挂载,磁盘分区就直接略过。

    设置存储仓库数据

    默认情况下omnibus-gitlab 将仓库数据存储在 /var/opt/gitlab/git-data目录下,仓库存放在子目录 repositories里面。 以可以通过修改/etc/gitlab/gitlab.rb 的这一行来自定义 git-data 的父目录

    [root@gitlab ~]#  vim /etc/gitlab/gitlab.rb 
    # 把注释取消然后指定新的仓库存储位置
    git_data_dirs({ "default" => { "path" => "/data/git-data" } })

    注: /data/git-data 是我新挂载的目录,
    注意 :目标路径和其子路径必须不能为软链接。

    使设置生效

    1.1 ,在没有数据的情况下

    [root@gitlab ~]#  gitlab-ctl stop
    [root@gitlab ~]# gitlab-ctl reconfigure //使修改生效

    1.2,如果 /var/opt/gitlab/git-data 目录已经存在Git仓库数据, 你可以用下面的命令把数据迁移到新的位置:

    # 准备迁移之前要停止GitLab服务,防止用户写入数据。
    [root@gitlab ~]# gitlab-ctl stop
    
    # 注意 'repositories'后面不带斜杠,而
    # '/data/git-data'后面是有斜杠的。
    [root@gitlab ~]# rsync -av /var/opt/gitlab/git-data/repositories /data/git-data
     # 如果需要修复权限设置, # 可运行下面的命令进行修复。
    [root@gitlab ~]# gitlab-ctl reconfigure # 再次检查下
    /data/git-data 的目录. 正常情况应该有下面这个子目录: # repositories

    [root@gitlab ~]# ls
    /data/git-data
    repositories # 完工! 启动GitLab,验证下是否能 # 通过web访问Git仓库。 
    [root@gitlab ~]# gitlab-ctl start

    设置存储仓库数据的备用目录

    注意的是:自GitLab 8.10开始,可以通过在/etc/gitlab/gitlab.rb文件中添加下面的几行配置, 来增加多个 git 数据存储目录。

    git_data_dirs({
      "default" => { "path" => "/var/opt/gitlab/git-data" },  //默认存储目录
      "alternative" => { "path" => " /data/git-data" }     //备用存储目录
    })
  • 相关阅读:
    周鸿祎笔录
    set multiset 集合实现众数的统计
    栈实现 汉诺塔 操作是否符合规范
    优先队列----解决排序问题
    字符串的应用(续一)
    优先队列 的实例(未完----待续)
    字符串的应用
    栈实现括号
    Jave垃圾回收算法
    Java 按代回收垃圾以及回收算法
  • 原文地址:https://www.cnblogs.com/zhehan/p/10716800.html
Copyright © 2011-2022 走看看